220 likes | 362 Views
.NET Framework and Architecture By Sanjeev Nagaraddi Sonal Patidar. Overview. What is Microsoft .NET? New computing platform that simplifies application development in the highly distributed environment of the Internet.
E N D
.NET Framework and Architecture By Sanjeev Nagaraddi Sonal Patidar
Overview • What is Microsoft .NET? • New computing platform that simplifies application development in the highly distributed environment of the Internet. • It is a protocol stack and computing model for TCPI/IP-based, distributed computing. • The .NET Enterprise servers are built for interoperability from the ground up, using open Web standards such as XML with increased scalability and reliability. • Primary .NET Components • Common Language Runtime (CLR) • .NET System Class Libraries • ASP.NET used to create XML Web Services
.NET Architecture Overview .NET Framework Elements • A runtime engine, called the "Common Language Runtime" (CLR) that handles memory allocation, error trapping, and security features. • A set of extensive Framework class libraries, written from the ground up that comprise practically any functionality you could ask for. • Two top-level development "arenas" for web applications (ASP.NET) and regular Windows applications (Windows Forms).
Common Language Runtime (CLR) CLR Architecture • .NET applications are compiled to a common language known as Microsoft Intermediate Language, or "IL". • The CLR, then, handles compiling the IL to machine language, at which point the program is executed. • The CLR architecture provides expansive tool support , simpler deployment (end of "DLL Hell"), superior scalability, support for multiple programming languages and a common data type system.
Common Type System (CTS) • Defines how types are declared, used, and managed in the runtime. • Establishes a framework that enables cross-language integration, type safety, and high performance code execution. • Provides an object-oriented model that supports the complete implementation of many programming languages. • Defines rules that languages must follow, which helps ensure that objects written in different languages can interact with each other.
Managed Code, Managed Data and Metadata • Code that targets the runtime is called managed code. It runs under “contract of cooperation” with the runtime. Managed code must supply metadata necessary for the runtime to provide its services. All code based on MSIL executes as managed code. • Objects whose lifetime are managed by the runtime are called managed data. The runtime automatically handles object layout and manages references to these objects, releasing them when they are no longer being used. • Metadata is information that describes every element managed by the runtime: an assembly, loadable file, type, method and so on.
.NET Framework Classes System Class Library - collection of reusable types that tightly integrate with the runtime. • Framework classes include user interfaces (Windows Forms (conventional Win32 apps); Web Forms (the forms engine for ASP.NET); • Server Controls (reusable user interface components dwelling server-side); • Console Applications; as well as program interfaces—Web services which are third-party applications available over the Internet.
System.Web System.Windows.Forms Services UI Design ComponentModel Description HtmlControls Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml OleDb SqlClient XSLT Serialization Common SQLTypes XPath System Collections IO Security Runtime InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading .NET Framework Class Library
VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO .NET and XML Base Class Library .NET Framework and Tools Visual Studio .NET Common Language Runtime Operating System
Assembly • An Assembly is a collection of types and resources that are built to work together and form a logical unit of functionality. • .exe, .dll, application(only has one entry point)or a library. • Can reference other assemblies. • These resources, types and references are described in a block of data called a manifest. • Defines a type boundary, security boundary , version boundary. • Can be private or shared.
Code (IL) Source Code Language Compiler Assembly Metadata Native Code JIT Compiler Execution Compilation and Execution Compilation At installation or the first time each method is called
Perl Python COBOL Jscript Eiffel Java Haskell Pascal ML Ada APL Languages and Platforms Supported by .NET • C • C++ • Visual Basic • C# • SmallTalk • Oberon • Scheme • Mercury • Oz • RPG • Objective Caml • Windows XP • Windows 2000 • Windows NT4 SP6a • Windows ME/98
ASP.NET ASP.NET is a set of technologies in the Microsoft .NET framework for building Web Applications and XML Web services. ASP.NET pages execute on the server and generate markup such as HTML or XML that is sent to a browser. ASP.NET pages and XML web services contain a server side logic written in VB.NET or C#.NET. Uses XML for data storage, configuration and manipulation.
ASP vs ASP.NET • Better Language Support • Programmable Controls • Event Driven Programming • XML Based Components • User Authentication, with Accounts and Roles • Higher Scalability • Increased Performance - Compiled Code • Easier Configuration and Deployment • Not Fully ASP Compatible
UDDI WSDL Yellow Pages for Web services Service descriptions SOAP Service interactions XML Universal Data Format HTTP Ubiquitous communications XML Web Services • A web service is a programmable application • component accessible via standard Web protocols • Web services allow applications to share data and can be • called across platforms and operating systems, regardless • of programming language.
SOAP (Simple Object Access Protocol) • SOAP is an XML based object protocol for the exchange of information in a decentralized, distributed environment. a. Serialization format for request/response semantics using XML and HTTP as transport b. Extensible XML document (Envelope, Encoding Rules, RPC) c. Supports complex and simple types (structs, datasets, classes) • SCL (SOAP Contract Language) XML document describing the location and interfaces a particular service supports
.NET Security Role-Based Security a. Principal - abstraction of the user and the roles in which it belongs. b. Identity - represents the user on whose behalf the code is executing. Code-Access Security a. Permissions b. Evidence 3. Cryptography a. Confidentiality – to protect user’s identity and data. b. Data Integrity – to protect data from being altered. c. Authentication – to assure that data originates from a particular party
Permissions • A permissions object represents a specific authorization, such as access to a resource - “permission to do something” • A permission grant is an authorization given to an assembly - “this code is authorized to do something” • A permission demand is security check for corresponding grants - “ is something permitted , else raise an exception” - done by stack walking.
Easy to use tools may increase programmer productivity. Strong framework for building rich GUI s Choice of more than 20 languages to work with. Tightly integrated with MS operating system and enterprise server software. Built in support for Web services standards. Framework runs only on Windows, restricting vendor choice. Users of prior MS tools and technologies face potentially steep learning curve. New runtime lacks maturity. Choice of integrated development environments is limited Questions persist about scalability and transaction capability of the Windows platform Pros and Cons of .NET
Summary To summarize, .NET is a set of Microsoft software technologies for connecting your world of information, people, systems, and devices that enables unprecedented level of software integration through the use of XML Web services via the internet.
References • .NET Development (MSDN) http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28000519 • .NET FAQ http://archive.devx.com/dotnet/resources/vsresources-5.asp • ASP Vs ASP.NET http://www.w3schools.com/aspnet/aspnet_vsasp.asp • ASP.NET http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Dndotnet/html/Techmap_webapps.asp?frame=true