Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
NET
By Viraj Bhat virajb@caip.rutgers.edu
.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
10/19/2001
.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
.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
.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
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
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
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
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
10/19/2001
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
24
10/19/2001
26
.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
27
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
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
31
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