You are on page 1of 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 Microsoft’s platform for XML based
Web services.
„ .NET has a central role Microsoft’s strategy to
integrate the Web Services, building blocks
services and numerous tools for Developers.

ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 2
.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
ECE 579 Peer to Peer Computing
10/19/2001 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.

ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 4
.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.
ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 5
.NET Clients
„ Clients are PC’s 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

ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 6
.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
ECE 579 Peer to Peer Computing
10/19/2001 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 Exchange Server
ECE 579 2000
Peer to Peer Computing
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.
ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 9
WHAT .NET ISN’T ?
„ It is neither an Operating System or
Programming Language.
„ .NET has introduced a new language C#(C-
sharp), 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
Microsoft’s supported languages supports
Cobol,Effiel,Fortran,Perl,Python,SmallTalk.
ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 10
.NET Architecture.
Web Services

Frameworks and libraries:
ASP.NET,ADO.NET,Window Controls

Interchange standards Common development tools
SOAP,WSDL Visual Studio .NET

Component Model

Object Model and Common Language Specification

Common Language Runtime

ECE 579 Peer to Peer Computing
10/19/2001 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)
ECE 579 Peer to Peer Computing
10/19/2001 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
„ Component Model
„ 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
10/19/2001 Manish Parashar 13
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.
„ Common language runtime
„ 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
10/19/2001 Manish Parashar 14
.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.
ECE 579 Peer to Peer Computing
10/19/2001 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 browser-
dependent 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.

ECE 579 Peer to Peer Computing
10/19/2001 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.
ECE 579 Peer to Peer Computing
10/19/2001 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.
ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 18
Web Services
„ Aim is to bring major simplifications to the many
interactions we pursue with many different
companies.
„ Through it’s “Hailstrom “ Microsoft is giving
major push to it’s 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.
ECE 579 Peer to Peer Computing
10/19/2001 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.
„ Type Verification. Site administrator turns verification
on, .NET code is subject to verification
„ Code should obey objects system rules.
„ Origin of Verification
„ .NET assembly is signed using 128-bit public key
cryptography.

ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 20
.NET security
„ A fine grained permission mechanism
„ Each assemble requires it’s 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.
„ A notion of “principal.
„ Software elements can assume various roles during
their lifetime.
„ Each role giving access to specific security levels.

ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 21
.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.
„ 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.
„ 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
10/19/2001 Manish Parashar 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.

ECE 579 Peer to Peer Computing
10/19/2001 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 assembly’s 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.

ECE 579 Peer to Peer Computing
10/19/2001 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.

ECE 579 Peer to Peer Computing
10/19/2001 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
10/19/2001 Manish Parashar 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
„ 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
„ .NET language complier provides the option of flagging each module
as compliant or non complaint at each level.

ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 27
.NET Execution Model
C# VB C++ Eiffel

Language Compliers

MSIL code +
Meta data

Loader
Unjitted routine call

JIT verifier

MSIL code +
Meta data

ECE Execution
579 Peer to Peer Computing
10/19/2001 Manish Parashar 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.
ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 29
Managed Code
„ Code meant for execution by the .Net runtime routine is known as
“managed”.
„ Benefits from all runtime’s 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.

ECE 579 Peer to Peer Computing
10/19/2001 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 Microsoft’s 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).

ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 31
Failure or the Future ??
„ .NET’s 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 Microsoft’s
competitors.

ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 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

ECE 579 Peer to Peer Computing
10/19/2001 Manish Parashar 33