Dot Net Framework overview 1 Company Confidential Course

























































- Slides: 57

Dot Net Framework overview 1 Company Confidential

Course Objective • Reasons to go for. NET – Problems with previous technologies – How. NET overcomes these problems? –. NET advantages • Introducing. NET –. NET architecture – Components of. NET framework –. NET application life cycle – Metadata and Assembly 2

Evolution of Technologies Internet Era GUI Era Character PC Era Terminal Mainframe Era 3

Technology Drivers • Computing power – Still doubling every 12 months • Connectivity – Low cost, broad reach Internet and Wireless, broadband access • Device proliferation – Multiple devices - PDAs, Mobile phones • Internet Standards – XML-Based integration 4

Problems with previous technologies • Interoperability between different applications • DLL Hell 5

What. NET offers Web services: • Software As A Service – – – Operate locally or hosted Programmability Any place, any time, any device An industry initiative Based on cross-platform standards Data and services Assembly • • Fundamental unit of development, deployment, execution, security and versioning A collection of one or more files grouped together to form a logical unit 6

. NET Hello, . NET • New way of building and deploying software that leverages standards such as HTTP and XML to make interoperability a reality rather than a dream, and that relies on the Internet to make software services available • Connecting the world of information, systems, people and devices. • Small applications communicating with other applications • . NET Framework • A common API for all languages, meaning the language that you choose at the beginning of a project won’t paint you into a corner at the end. A new computing platform • Simplifies application development in the highly distributed environment of Internet 7

. NET Drive • . NET Products • . NET Services • . NET Framework 8

The. NET Big Picture Visual Studio. NET Your Application and Web Service O th e r A p p l i c a ti o n s Usi n g Y o u r S ervi ce . NE T F ramew o rk Operations O r c h e s tr a ti o n Windows C E , ME , 2 0 0 0 , . N E T E n d -U s e r C l i e n ts Open Internet Protocols SOAP, SCL, DISCO, HTTP SMTP, XML, WAP, XSD Your Internal Services . NET Enterprise Servers Building Block Services Public Web Services 9

Features of. NET 10

. NET Development Platform Web Services • Enables software as a service • Based on XML • SOAP is a W 3 C standard. • Strong third party support Web Services XML, SOAP, HTTP, HTML • IBM, Ariba, Commerce One, Iona, Rogue Wave 11

. NET Development Platform. NET Framework • Foundation for building, deploying, and running Web Services . NET Framework Web Services XML, SOAP, HTTP, HTML • Productive, extensible, multilanguage • Integration through public Internet standards 12

. NET Development Platform Visual Studio. NET Framework Web Services XML, SOAP, HTTP, HTML • Most productive tool for developing Web Services and applications • Unified programming model, IDE • Builds on today’s capabilities 13

. NET Development Platform Microsoft. NET Development Platform Customers, Partners Delivering Web Services 3 rd Party Languages and Tools 3 rd Party Infrastructure Visual Studio. NET Framework Web Services XML, SOAP, HTTP, HTML Partners q ADA q APL q COBOL q Pascal q Eiffel q Visual Perl q Visual Python q Smalltalk q and many more 14

Types of Application Architectures • Application Functionality layers: – User services – Business Services – Data Services Fat Client • Architectures –Single-Tier architecture –Two-Tier architecture • Client-Server architecture –Three-Tier architecture –N-Tier architecture Fat Server Business Logic Data Server Store 15

Fat client • In this case of fat clients – the business services layer is combined with the user services layer. – Clients execute the presentation logic and enforce business rule. – The server stores data and processes transactions the fat client model is used when the server is overloaded with transaction processing activities and is not equipped to process business logic.

Fat server • In a two-tier architecture with a fat server – the business servers layer is combined with the data service layer. – As business services are stored on the server, most of the processing takes place on the server.

. NET Framework 18 Company Confidential Classification : Internal 18

The. NET Framework • • • Designed from the ground up for a web services world XML natively supported Web services built in Secure mobile code Designed for high availability/reliability 19

. NET Framework Design Goals • Simplify development – More power, less plumbing • Unify programming models – Across all languages and application types • Utilize web standards and best practices – Rich XML, standard protocols • Easier to deploy, run and maintain – For components, versioning, availability 20

. NET Languages • • COBOL Jscript. NET Eiffel Haskell / Mondrian Pascal ML APL Alice • • • C Visual C++ Visual Basic Visual C# Smalltalk Oberon Scheme Mercury Python 21

. NET Framework Architecture VB C++ C# JScript … ASP. NET Windows Forms ADO. NET and XML Base Class Library Common Language Runtime Windows Visual Studio. NET Common Language Specification COM+ Services 22

. NET Framework: High Level Architecture 23

. NET Framework Architecture VB C++ C# JScript … ASP. NET Windows Forms ADO. NET and XML Base Class Library Common Language Runtime Windows Visual Studio. NET Common Language Specification COM+ Services 24

Common Language Runtime (CLR) • Simplified Development • Multi-Language Development • Simplified Deployment • Seamless Integration with COM objects 25

Features of CLR • Automatic Memory Management – Provides garbage collection • Standard Type System – Provides common type system (CTS) • • Value types (integer, float, user defined, etc) Objects, Interfaces – Supports cross language integration • • • Language Interoperability Platform Independence Security Management – Provides Code access security – Type Safety 26

. Net Languages and Execution Model Source code VB C# C++ Compiler Code Assembly Metadata IL Code Managed Assembly Metadata IL Code code Common Language Runtime JIT Compiler Native Code Operating System Services 27

CLR Execution Model Start N CLR Header OS Y CLR Services N Policy Security Exception Y Is Type Safe ? N Type Safe Exception Y Is Pre. JIT ? N JIT Y Execution IL 28

Common Language Specification • All. NET programming languages compile into MSIL (Microsoft Intermediate Language) • Use objects and debug across languages – you won’t even know what the source language is! • A subset of CLS called Common Language Interface (CLI) was submitted and has been ratified by European Computer Manufacturers Association (ECMA) 29

CLS: Designing For Reach Fujitsu COBOL Extensions Microsoft Managed C++ Extensions Common Type System COBOL CLS C++ Common Type System is too big for any single language Common Language Specification is for cross-language use 30

CTS supports Multiple Languages • Provides built-in data types • Provides mechanism to define, manage and use new types • Provide common type representation across all languages • Cross language inheritance, exceptions, etc 31

Assembly The Building Block • Deployment unit for types and resources • Self describing through a manifest • Fundamental unit of versioning, reuse, deployment and permission grants and requests • Core to type loading and execution – Visibility boundary – Type resolution scope 32

Assembly structure Assembly elements in a single file Assembly elements Spread across multiple files 33

Assembly: Manifest • Every assembly contains a collection of data that describes how the elements in the assembly relate to each other. • The assembly manifest contains the assembly metadata. • An assembly manifest contains – – – – Assembly name Version number Culture Strong name information List of all files in the assembly Information on referenced assemblies Type reference information 34

Assembly: Metadata • Describes every type and member defined in the code. • Makes assembly a self-describing unit. • The metadata contains – Description of the assembly: • • Identity (name, version, culture, public key). The types that are exported. Other assemblies that this assembly depends on. Security permissions needed to run. 35

Assembly: Metadata – Description of types: • Name, visibility, base class, and interfaces implemented. • Members (methods, fields, properties, events, nested types). – Attributes: • Additional descriptive elements that modify types and members. 36

Types of Assemblies • Private Assembly: – The assembly which is used only by a single application – The assembly must reside in the same folder as that of the application which uses it. • Shared Assemblies: – Suppose that you are creating a general purpose DLL which provides functionality which will be used by variety of applications – Now, instead of each client application having its own copy of assembly you can place the assembly in 'global assembly cache' – Such assemblies are called as shared assemblies 37

Types of Assemblies Global Assembly Cache – Global assembly cache is a special disk folder where all the shared assemblies will be kept. <drive>: Win. NTAssembly folder. 38

Simpler Development • Write less, Reuse more – Broadly available Frameworks classes – Implementation inheritance for more reuse – Language independent reuse 39

Simpler Deployment • • • No registration, zero impact install – XCOPY deployment, incremental download Application isolation – Applications unaffected by other apps – Sharing must be done explicitly Side-by-side versions of components – Use multiple versions simultaneously – Per application administrative policy 40

. NET Framework Architecture (Revisited…) VB C++ C# JScript … ASP. NET Windows Forms ADO. NET and XML Base Class Library Common Language Runtime Windows Visual Studio. NET Common Language Specification COM+ Services 41

A Unified Programming Model Consistent API availability regardless of language and programming model . NET Framework Composition, Delegation VB Forms Subclassing, Power, Expressiveness MFC/ATL Stateless, Code embedded in HTML pages ASP Windows API 42

Make It Simple To Use • Organization – Organized in hierarchical namespaces • Unified type system – Everything is an object – Boxing converts value types to objects • No need for special variant type • Component Oriented – Properties, methods & events – Design-time functionality 43

How Much Simpler? Windows API HWND hwnd. Main = Create. Window. Ex( 0, "Main. WClass", "Main Window", WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL, CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL, h. Instance, NULL); Show. Window(hwnd. Main, SW_SHOWDEFAULT); Update. Window(hwnd. Main); . NET Framework Form form = new Form(); form. Text = "Main Window"; form. Show(); 44

. NET Framework Namespace System. Web Services Description Discovery Protocols UI Html. Controls Web. Controls Caching Configuration Security Session. State System. Win. Forms Design System. Drawing 2 D Imaging System. Data ADO Design Component. Model SQLTypes Printing Text System. Xml XSLT XPath Serialization System Collections Configuration Diagnostics Globalization IO Net Reflection Resources Security Service. Process Text Threading Runtime Interop. Services Remoting Serialization 45

. NET Enterprise Servers • • Biz. Talk® Server 2002 Exchange 2003 Server SQL Server™ 2000 Integration, Security and Acceleration Servers – Host Integration Server 2000 – Internet Security and Acceleration Server 2000 • Application, Services and Commerce Servers – – Application Center 2000 Commerce Server 2002 Mobile Information Server 2002 Share. Point™ Portal Server 2001 46

Web Services Supplier A Supplier B Supplier C Inventory Your business Order fulfillment Customers 49

Need of web services Web services provide: • • • Bank Interoperability Internet friendliness Strongly typed interfaces Support for multiple languages Support for distributed components 50

A Platform for Web Services PC’s & Devices User experiences Web services Servers 51

Advantages of the. NET framework • Consistent programming model • Multi platform applications • Multi-language integration • Automatic resource management • Ease of development • Ease of deployment 52

Performance, Scalability & Reliability • • • Improved Performance – ASP. NET 2 -3 x that of ASP & JSP. NET Framework supports – HTML, XML, SOAP, XSLT, XPath Web services enable internet scale distributed apps – Loosely connected web services enable scalable apps XML support is built in deeply – Data, remoting, serialization, documentation Scalable from small device to Web form – Same development tools Asynchronous messaging – Object remoting – Events 53

Using. NET framework • Current OSs will need to install Windows Components update to run. NET applications • Server side support: NT 4. 0, Windows 2000, Windows XP • Client side support: Win 98, Win. ME, Windows 2000, Windows XP • Will be built in to new Microsoft OSs • . NET applications will run side-by-side with traditional Windows application 54

. NET Technology: Summary • . NET Framework built for Web Services – Simple, secure, modern, multi-language, object oriented, XML built in • Comprehensive class libraries – Consistent, comprehensive • ASP. NET is a great web platform – Control-based pages, intuitive web services – Fast, scalable, reliable, available 55

Some useful URLs • Microsoft. com. NET site (http: //www. microsoft. com/net): – • Product information for the rapid application development environment Visual Studio. NET. More information on SOAP (http: //msdn. microsoft. com/soap): – • A rich source of information for developers worldwide who want to use. NET technologies and tools. Visual Studio. NET home page (http: //msdn. microsoft. com/vstudio/nextgen): – • The definitive resource for what. NET is and why it matters. MSDN® Online. NET Information (http: //msdn. microsoft. com/net): – • 1/2 Information about SOAP, one of the key enabling technologies for the XML Web services model and. NET. ASP. NET site (http: //www. asp. NET/): – Information about ASP. NET, Microsoft’s Active Server Pages programming tools upgraded for. NET. 56

Some useful URLs • Got. Dot. NET (http: //www. gotdotnet. com/): – • Product information on the set of servers which, along with the next generation of the Windows server operating system, provide the infrastructure for running. NET solutions. Microsoft Passport home page (http: //www. passport. com/): – • Information about XML, one of the key enabling technologies for the XML Web services model and. NET Enterprise Servers site (http: //www. microsoft. com/servers/net): – • More than 900 tutorials and code samples that demonstrate ASP. NET and the. NET Framework. MSDN Online XML Developer Center (http: //msdn. microsoft. com/xml): – • 2/2 Information about Passport, one of the first building block services. . NET for Business – – http: //www. microsoft. com/business/articles/netvision. asp – http: //www. microsoft. com/business/articles/netadvwp. asp 57

Thank You for being here…
