Sei sulla pagina 1di 33

Microsoft .

NET
By Viraj Bhat virajb@caip.rutgers.edu

What is the .NET ?


.NET Framework is a new computing platform
Simplify application development in a distributed environment.

.NET is the Microsofts platform for XML based Web services. .NET has a central role Microsofts strategy to integrate the Web Services, building blocks services and numerous tools for Developers.
ECE 579 Peer to Peer Computing Manish Parashar

10/19/2001

.NET continued..
.Net provides a comprehensive family of products, built on XML and Internet Industry Standard Five areas where Microsoft is building .NET services are:
Tools Services XML Services Client .NET Services
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 3

What are the areas of .NET?


Define products implemented by Microsoft Define client devices that use these services Defines backbone for the applications to build on. Managing, deploying and orchestrating the Web Services. Microsoft provides a tool for building the .NET framework.

10/19/2001

ECE 579 Peer to Peer Computing Manish Parashar

.NET Experience
.NET experiences are XML web services that allow you to access information across the internet in an integrated way. Products which are transitioning into the .NET experiences are :
MSN Website bCentral Website Passport Website Visual Studio .NET website.
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 5

.NET Clients
Clients are PCs handheld computers, Tablet PCs, game consoles, smart phones, Game consoles and XBox. The common thing is that all of them use XML services. .Net Client Software include.
Windows CE Windows XP Windows Embedded Windows 2000

10/19/2001

ECE 579 Peer to Peer Computing Manish Parashar

.Net Services
XML Web Services Microsoft is also creating a core set of building block services that perform routine tasks and act as the backbone for developers to build upon. First set of XML Web services being built, known as .NET My Services (HailStorm) is user centric services oriented around people, rather than specific devices, networks, or applications XML Web services offer a direct means for applications to interact with other applications. Applications can communicate via the SOAP or XML Messages
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 7

.NET Servers
Microsoft .NET Enterprise Servers including Microsoft Windows 200 Server form a part of it. Designed with Machine Critical Performance. They provide enterprises with the agility they need to integrate their systems, applications, and partners through XML Web services Various .NET Servers are :
Microsoft Application Center 2000: Microsoft BizTalk Server 2000 Microsoft Commerce Server 2000 Microsoft Content Management Server 2001 Microsoft Exchange579 Peer to Peer Computing ECE Server 2000
10/19/2001 Manish Parashar 8

.NET Tools.
Microsoft Visual Studio.NET and the Microsoft .NET Framework supply a complete solution for developers to build, deploy, and run XML Web services.
Visual Studio .NET is the next generation of Microsoft's popular multi-language development tool, built especially for .NET. Visual Studio .NET advances the high-productivity programming languages Microsoft Visual Basic, which includes new object oriented programming features Microsoft Visual C++, which advances Windows development and enables you to build .NET applications C#, which brings RAD to the C and C++ developer.
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 9

WHAT .NET ISNT ?


It is neither an Operating System or Programming Language. .NET has introduced a new language C#(Csharp), but it is not the focus of the technology. It is an means to end, the basic notation for programming the .NET routine. C# is not an attempt to replace all existing languages. .NET is language neutral. In addition to Microsofts supported languages supports Cobol,Effiel,Fortran,Perl,Python,SmallTalk.
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 10

.NET Architecture.
Web Services Frameworks and libraries: ASP.NET,ADO.NET,Window Controls
Interchange standards SOAP,WSDL Common development tools Visual Studio .NET

Component Model Object Model and Common Language Specification Common Language Runtime
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 11

Architecture Explained
Web Services
Top layer provides .Net users-persons and companies with Web Services for e-commerce and business to business applications

Frameworks and Libraries


ASP.NET for developing smart Web pages. ADO.NET an XML based improvement for databases and object relational processing.

Interchange standards
Platform independent means of exchanging objects SOAP (Simple Object Access Protocol) WSDL(Web Services Description Languauge)
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 12

Architecture contd..
Development environment
Visual Studio .NET provides a tool for development. Outgrowth of Visual Studio. Not only allows Microsoft implemented languages like Visual C++, Visual Basic and C# but also third party vendors to plug in tools and compliers Derived from original component based development : Corba,J2EE,COM Difference in .NET you can build assemblies each consisting of a number of classes with well defined interfaces Convenience absence of IDL (Interface Description Language)
ECE 579 Peer to Peer Computing Manish Parashar 13

Component Model

10/19/2001

Architecture contd..
Object Model
Object model provides the conceptual basis for on which everything rests. .NET is a OO type system. Common language system defines restrictions ensuring language operability. Provides the basic set of mechanisms for executing .NET programs regardless of the language of origin. Translation to machine code (judiciously incremental translation or jitting,loading, security mechanisms. Provided over a broad spectrum of hardware and software platforms.
ECE 579 Peer to Peer Computing Manish Parashar 14

Common language runtime

10/19/2001

.Net Benefits
Users and developers can expect numerous benefits. One of the most impressive is the ASP.NET ASP.NET is not an incremental update. New Development that provides tools for building smart websites. Attractive aspects of ASP.NET are listed in the next slides.
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 15

ASP.NET Advantages
ASP.NET Web Controls provide a user interface similar to what is possible in the non GUI Web environments Facilitate building of web pages that look like a modern non Web GUI. Web controls handled by default on the server side ,yield browserdependent rendering-output what is tailored to the browser. Some operations can be processed on the client side. Maintains protocol state without storing client information on the server. Accomplished on single server and across web farms Connection to ADO.NET which handles database connections.

10/19/2001

ECE 579 Peer to Peer Computing Manish Parashar

16

ASP.NET Advantages
ASP.Net enables setting up of the web page to reflect the contents of the database table directly. Code associated with the Web page can directly be a part of the application however. Can benefit from the security versioning and jitting.
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 17

Closing the Gap


Removes distinction between IT and Traditional software development Web enabling an existing application can be a major part and so in the other way. Traditional scripting languages are developed in an ad hoc fashion. With .NET a Web page is a program and a program can be a web page. It is easy to turn a web interactive interface into a traditional non Web Windows.
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 18

Web Services
Aim is to bring major simplifications to the many interactions we pursue with many different companies. Through its Hailstrom Microsoft is giving major push to its passport technology. Passport available as in Windows XP, enabling users to define a personal profile and make it available as a set of Web Services. Microsoft and IBM have developed SOAP XML based format which exports .NET objects at large.
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 19

.NET Security
.NET security policy a benefit to both users and developers Is a systematic attempt to shed the image of Windows as having a poor security record. Combines 4 major techniques.
Code should obey objects system rules.

Type Verification. Site administrator turns verification on, .NET code is subject to verification Origin of Verification
.NET assembly is signed using 128-bit public key cryptography.
ECE 579 Peer to Peer Computing Manish Parashar 20

10/19/2001

.NET security
A fine grained permission mechanism
Each assemble requires its callers to have file read and write, DNS access including programmer defined permissions Stack walk mechanism ensures that if you require a permission you enforce not only on direct callers but also on their direct or indirect callers. Software elements can assume various roles during their lifetime. Each role giving access to specific security levels.
ECE 579 Peer to Peer Computing Manish Parashar 21

A notion of principal.

10/19/2001

.NET Versioning
.NET provides simple but strong mechanism that lets applications specify precisely what versions they can accept for the modules they use. Previously Windows has offered 2 extremely unsatisfactory versioning policies.

Versioning model defines a standard version numbering policy that lets us specify what is acceptable for the number
E.g.. I want 4.5.2.1 and nothing else will do
ECE 579 Peer to Peer Computing Manish Parashar

DLL: An application installs a new DLL version that replaces the previous one. COM : which avoids this situation, but at the expense of considering any update as a new incompatible version.

10/19/2001

22

.NET Component Model


Offers developers a new component model directly based on OO. Removing this distinction between a program element and a software component it provides significant benefits over technologies like CORBA and COM. .Net gets rid of the IDL. We can use .Net assembly directly as a component. .NET component model is considerably simpler than COM. Does away with the HRESULT special type of COM and uses low level operations to keep track of references such as Addref and Release, Replacing it with garbage collection.

10/19/2001

ECE 579 Peer to Peer Computing Manish Parashar

23

SELF-Documenting Components
Uses interface documentation already present in the source code. Compliers for .NET supported languages retain this information as metadata-the idea of producing self documented components. Use custom attributes to specify any information that can be included in the Meta Data. IDLASM (intermediate language disassembler is a graphical tool that lets us visually examine assemblys interface to obtain information from Metadata. Any program can access meta data using the Reflection library. Meta data is also available in XML format, any application whether it is a part of .NET or not can obtain information about components.

10/19/2001

ECE 579 Peer to Peer Computing Manish Parashar

24

.NET Language Interoperability


Modules written in different languages can call each other and in the case of classes-inherit from each other. Debugging sessions in Visual Studio.NET easily across language borders. Makes it possible for developers to choose the best language for each part of the application. Knowing that it will smoothly and automatically interface with the other parts.
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 25

.NET object model


The object model and the common language specification (CLS) are the basis of .Net's language interoperability. Similar to an OO language, but without the syntax or anything governing the programs external appearance and presentation. Shortcomings
There is a clear cut distinction between classes-fully implemented abstractions-and interfaces. Restriction of multiple inheritance to interfaces. Does not support genericity or type parameterized classes All languages generate an intermediate code, MSIL (Microsoft Intermediate Language)
ECE 579 Peer to Peer Computing Manish Parashar

10/19/2001

26

.Net Interface Rules


Language interoperability comes at price: the CLS (Common Language Specification) compatibility constraints. Constraints affects the modules that need to interact with other languages. CLS compliance is at three levels

.NET language complier provides the option of flagging each module as compliant or non complaint at each level.

Supplier :Others can consume what they produce. Consumer : You modules can be clients of others producer-compliant modules. Extender : Your classes can inherit from classes in other languages

10/19/2001

ECE 579 Peer to Peer Computing Manish Parashar

27

.NET Execution Model


C# VB C++ Eiffel Language Compliers MSIL code + Meta data Loader JIT verifier MSIL code + Meta data
ECE Execution Computing 579 Peer to Peer Manish Parashar

Unjitted routine call

10/19/2001

28

Jitting
With Default jitter, individual routines are jitted on demand, as required by execution and kept in their jitted form. EconoJit, a variant for small memory footprint devices ,we can specify a maximum amount of space and apply a caching policy to remove a jitted routine and make room for a new one. Prejit, which will perform translation once for the entire application.
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 29

Managed Code
Code meant for execution by the .Net runtime routine is known as managed. Benefits from all runtimes facilities like garbage collection, exception handling and security. Garbage collection raises issues for C++, one of the languages .Net offers C++ has a lax type system that has that allows casts between almost contradictory the requirements of safe GC. C++ cannot generate managed code on .NET. Uses Managed C++ a new variant of the language. Managed C++ imposes strong restrictions on mixed types.

10/19/2001

ECE 579 Peer to Peer Computing Manish Parashar

30

BEYOND WINDOWS
Only some .NET facilities are Windows specific. The Windows Forms framework is intended to replace the Windows graphical API and the graphical part of the Microsoft foundation classes. ASP.NET is implemented on top of Microsofts IIS Web Server. Rest of the .NET might be implemented on Linux, Solaris.. Although currently need Windows to use .NET Recently introduced MONO effort is intended to develop an open sourced implementation of the .NET, based on the ECMA specifications. (http://www.go-mono.net).

10/19/2001

ECE 579 Peer to Peer Computing Manish Parashar

31

Failure or the Future ??


.NETs breadth of coverage puzzled some technical observers and made then wonder whether there is anything beyond the hype. John Dovark in his November 2000 PC Magazine wrote .NET is surrounded by too many buzzwords and generalities to be understood. Patricia Seybold Group wrote that .NET is a leading example of what we believe will be the dominant architectural model for the third generation of Internet Applications and it has large number of ominous implications for a large number of Microsofts competitors.
ECE 579 Peer to Peer Computing Manish Parashar

10/19/2001

32

References
.NET Is Coming by Bertrand Meyer, Interactive Software Engineering pg 92-97 IEEE Computer Magazine August 2001 Microsoft .NET
www.microsoft.com/net/default. asp

Microsoft .Net Whitepapers.


www.microsoft.com/net/whitepapers. asp
10/19/2001 ECE 579 Peer to Peer Computing Manish Parashar 33

Potrebbero piacerti anche