1..NET Architecture Based on slides by Joe Hummel.

Slides:



Advertisements
Similar presentations
Introduction to .NET Framework
Advertisements

Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
Henrico Dolfing Business Segment Partners. Océ Document Technologies GmbH2 June, NET Framework Version 3.0.
.NET Technology.
What is.NET?. The Clients of.NET a) A new generation of connected application b) Microsoft.NET Framework managed execution c) Allows PCs and other smart.
ISYS 512 Business Application Design and Development with.Net David Chao.
Programming Our First Java Program Yingcai Xiao. What to Do Set up for Java Programming Write our first Java Program with IDE Write our first Java Program.
CSE3030Lecture 11 Know Your User The First Slogan.
ISYS 512 Business Application Design and Development with.Net David Chao.
Programming A Historic Perspective on Code Reuse Yingcai Xiao.
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
.NET’s CLR How does it really work? 7/2/20151Bhavani Sankar Ikkurthi CS 795 Presentation.
2. Developing in.NET and C#. 2 Microsoft Objectives “Microsoft.NET development is based on an underlying framework of tools and classes. These tools and.
DotNET A Developer’s Perspective Mike Litzkow University of Wisconsin - MadisonOne.
.NET On A Shoe String By: Patrick Brannen Lead Developer iDevCo, Inc.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
ISYS 350 Business Application Development
Computer Science 317 Database Management Introduction to Web Access to Databases.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
ISYS 512 Business Application Design and Development with.Net David Chao.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
1 Program Execution in the 21 st Century Modern Software Development in.NET and C# A webcast series for C++, Java, and VB6 developers – Part 1 of 15: [
© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott COMP6325 Advanced Web Technologies Dr. Paul Walcott The University.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Session 1 - Introduction and Data Access Layer
C# A 1 CSC 298 Introduction to C#. C# A 2 What to expect in this class  Background: knowledge of an object oriented language of the C++, Java, … family.
CIS NET Applications1 Chapter 2 –.NET Component- Oriented Programming Essentials.
Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a library for.
Mono Development for Win32 Programmers Francisco “Paco” Martníez Mono Contributor Joseph Hill Mono Contributor Erik Dasque Product Manager, Mono Project.
Introduction to .NET Rui Ye.
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Component-Based Software Engineering Introduction to.NET Paul Krause.
1..NET Architecture Based on slides by Joe Hummel.
The Web Architecture and ASP.NET. Slide 2 Review of the Web (1) It began with HTTP and HTML, which delivers static Web pages to browsers which would render.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
1.NET FRAMEWORK CE-105 Spring 2007 Engr. Faisal ur Rehman.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Introduction to.NET. What is.NET? Microsoft’s vision of the future of applications in the Internet age –Increased robustness over classic Windows apps.
.NetDeploymentNOEA / PQC 2005 Application Deployment and Versioning Source: Joe Hummel, kursus i.Net, jan
ISYS 350 Business Application Development David Chao.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
Lecture 4: J# Execution Model. 2 MicrosoftIntroducing CS using.NETJ# in Visual Studio.NET 4-2 Objectives “J# programs execute like any other.NET program.
.NET Ying Chen Junwei Chen. What is Microsoft.NET. NET is a development platform Incorporated into.NET COM+ component services ASP web development framework.
Microsoft .NET A platform that can be used for building and running windows and web applications such that the software is platform and device-independent.
1. The .NET Architecture 1. The .NET Architecture 2003
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
ISYS 512 Business Application Design and Development with.Net David Chao.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
Diploma of Website Development Getting Started With ASP.NET
ClickOnce Deployment (One-click Deployment)
Lecture 1: The .NET Architecture
Computer System Structures
Introduction ITEC 420.
Introducing the Microsoft® .NET Framework
Introduction to .NET Framework Ch2 – Deitel’s Book
CE-105 Spring 2007 Engr. Faisal ur Rehman
2.1. Compilers and Interpreters
.NET Overview Yingcai Xiao.
ClickOnce Deployment (One-click Deployment)
Presentation transcript:

1..NET Architecture Based on slides by Joe Hummel

2 UCN Technology: Computer Science Aim “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework Class Libraries (FCL). The CLR defines a common programming model and a standard type system for cross-platform, multi-language development.” CLR-based execution Application design Component-based development

3 UCN Technology: Computer Science Part 1 CLR-based execution…

4 UCN Technology: Computer Science Inspiration.NET is inspired by a number of elements.NET OOP JVM GUI Web component-based design n-tier design

5 UCN Technology: Computer Science NET supports a number of languages.NET supports VB, C# (C-sharp), C++, J# (Java 1.1), Eiffel, etc. code.vbcode.cscode.cpp... Development Tools app.exe FCL

6 UCN Technology: Computer Science NET is “platform independent” Compiled.NET applications run on all supported platforms: APP.exe ? Win64Win32 ( XP,2K,98) Windows Phone CIL: Common Intermediate Language

7 UCN Technology: Computer Science CLR-based execution.NET applications are not stand-alone.exe-programs APP.exe other FCL components CLR JIT Compiler obj code OS Process Underlying OS and HW Core FCL Compare to Java JVM View the CIL Code (“byte code”): ILDASM

8 UCN Technology: Computer Science Java Virtual Machine Execution of Java programs source (xxx.java) compiler CPU bytecode (xxx.class) Interpreter fortolker

9 UCN Technology: Computer Science CLR-based execution implies: Clients need CLR & core FCL to run.NET apps –Obtained through Redistributable.NET Framework –Runs on Windows 98 and higher, NT (sp6a) and higher –Runtime is integrated in Windows Vista, Windows 7, Windows 8 and Windows Phone 7+. Design issues… +managed execution (memory protection, etc.) +portability: general assembly language FCL = layer of abstraction between app and OS –slower execution? JIT compilation is expensive But the JIT-compiler may take advantage of specific target HW pre-JIT is possible

10 UCN Technology: Computer Science Part 2 Application Design…

11 UCN Technology: Computer Science Often applications are designed as N "tiers" –good separation of responsibility –allows the same back-end tier for different clients object Application Design Front-end object BusinessPresentationData AccessData

12 UCN Technology: Computer Science Physical Design Where should tiers be physically deployed? –There are a range of different designs… Most common are: –locally –remote –web app –web service

13 UCN Technology: Computer Science (1) Local Design Local implies that tiers are all deployed on one local computer –though may data be on a remote computer FE obj Pros? –Simple to develop! Cons? –Hard to deploy and maintain –Are to be installed and configured on every client

14 UCN Technology: Computer Science (2) Remote Design If Remote Design is used then the presentation (user interface, front end) runs on a separate computer FE obj Pros? –Easier to maintain, back-end tiers May be updated without any changes on the clients. –More secure, since the database only is accessed from the server, and directly from the client. Cons? –Clients Must often use the same OS as the server; firewalls may cause troubles. proprietary protocols Server Client

15 UCN Technology: Computer Science (3) Web App Design In Web app presentation is generated by a Web server obj Browser ANY platform Web server Pros? –scales to the internet, enhances the user group of the applications. –No firewall problems (HTTP / port 80 communication only) Cons? –browser-based clients have limited functionality. HTML / HTTP Web Page Server

16 UCN Technology: Computer Science (4) Web Service Design Web services are objects that are available through Web technology In stead of HTML data is communicated in XML obj custom FE ANY platform Server Web server XML / SOAP obj Pros? –Open! Opens for integration of applications. Cons? –A technology under development… other APP ANY platform

17 UCN Technology: Computer Science WCF – Window Communication Foundation obj custom FE ANY platform Server Web server XML / SOAP / REST… And proprietary binary protocols obj other APP ANY platform The new way of doing it: Supports web-services (HTTP-based), binary protocols (remoting) and and much more (p2p, message queuing …)

18 UCN Technology: Computer Science Part 3 Component-based Development…

19 UCN Technology: Computer Science Component-based Development Application tier is usually build from many components/classes/objects. E.g..: –A typical GUI application with local design has 3 components packed as 1 EXE and 2 DLL Front-end object app.exe business.dll data.dll

20 UCN Technology: Computer Science Assemblies.NET packs components in what is known as assemblies 1 assembly = 1 or more compiled classes –.EXE represents an assembly with classes + Main program –.DLL represents an assembly with classes Development Tools.EXE /.DLL code.vb code.cs assembly

21 UCN Technology: Computer Science CLR-based execution revisited All assemblies must be present:.EXE other FCL assemblies CLR JIT Compiler obj code OS Process Underlying OS and HW Core FCL assembly.DLL obj code

22 UCN Technology: Computer Science Assembly – where are they? How does CLR find the needed assemblies? So far this is sufficient: –DLL-files must be in the same directory as the EXE –FCL assemblies are in GAC (Global Assembly Cache) –CLR starts looking in GAC, the in the directory of the EXE…

23 UCN Technology: Computer Science GAC? GAC = Global Assembly Cache –C:\Windows or C:\WinNT katalog Observations: –Windows Explorer gives a flat view of GAC. –Command prompt gives the real view. –GAC may have different versions of same assembly. –Some assemblies are pre-JIT-compiled ("native image"). –Hacker-proof by digital signature…

24 UCN Technology: Computer Science Summing up.NET architecture is: –multi-language –cross-platform –based on CLR, FCL, and JIT Application design is typically multi-tier Application design provides component-based development –.NET components are packed as assemblies

25 UCN Technology: Computer Science References Textbooks: –J. Richter, "Applied Microsoft.NET Framework Programming" –T. Thai and H. Lam, ".NET Framework Essentials" Web sites: – –

2..NET Development Aim: “Microsoft.NET development is based on an underlying framework of tools and classes. These tools and classes are known as the Framework SDK (Software Development Kit).”

27 UCN Technology: Computer Science NET Development 3 sets of tools for developing assemblies: 1).NET Framework SDK Free (100 MB) complete set of command-line tools and documentation Available for Windows NT, 2000, XP Pro, Vista and 7 Other platforms? –Mac OS X via Rotor (i.e. SSCLI) –Linux (and Mac??) via Mono project

28 UCN Technology: Computer Science NET Development 2) Visual Studio.NET Huge – available from eAcademy Powerful integrated development environment (IDE) One IDE for everything: GUI builder, database connections, web-based, web service, DLLs, etc. Used by 99% of the developers $$ 3) Free IDEs Express Editions of Visual Studio #develop, simplified clone of VS.NET WebMatrix, for web-based applications

29 UCN Technology: Computer Science Summing Up.NET is multi-language –SDK Framework based on C# and VB.NET –But many other languages are supported as well.NET-development is component-based –Auxiliary classes are implemented as one or more DLLs –.EXE is implemented using the DLLs. –if (assembly A is using a class from assembly B) A must reference B!;

30 UCN Technology: Computer Science References Textbooks: –Andrew Troelsen.: Pro C# 2010 and the.NET 4 Platform, 5 th Ed. (new edition is announced). –J. Richter, "Applied Microsoft.NET Framework Programming" Web sites: – –MSDNAA: –Mono: –Free IDEs:

31 UCN Technology: Computer Science References More textbooks: –T. Archer and A. Whitechapel, "Inside C#" (2 nd edition) –S. Lippman, "C# Primer" –J. Mayo, "C# Unleashed“ –Anders Hejsberg, Mads Torgersen, Scott Wiltamuth, Peter Golde: “The C# Programming Language”. Third Edition