Microsoft .NET - New York University

acceptableseashoreΑσφάλεια

5 Νοε 2013 (πριν από 4 χρόνια και 3 μέρες)

80 εμφανίσεις

Microsoft .NET

Norman White

Stern School of Business

What is .NET?


Simply put, it is Microsoft’s solution to the market
demand for “WEB Services”


I.e. services that can be hosted and accessed anywhere on the
web


Web Services encompass


SOAP Simple Object Access Protocol


XML eXtensible Markup Language


UDDI


Universal Description, Discovery and Integration


WSDL


Web Services Description Language


All Web Services run over standard web protocols


I.e. http,SSl HTTPS …


WEB Services Promise…


Ability to distribute applications anywhere
on the Web


Services can be changed / updated without
touching the calling application


Should dramatically increase ease of
implementing B2B applications

SOAP


Simple Object Access Protocol


Allows movement of data defined by XML


Describes a message and how it should be treated


Has rules for relating data in an application to data in a
database


Has a framework for devloping processes and
procedures that can run on one system while calling
data from another


Allows .NET to talk to .NET and other web
services

UDDI


Use SOAP and XML to define ways for
applications to find out about the existence
and capabilities of other applications


Should speed up interactions that use
SOAP and XML


WSDL


Does for web services what XML does for
data


Defines services and describes ways of
invoking them


Provides a complete description of a service,its
location (I.e address,port), and a list of
operations available.

What was the problem?


Early Microsoft web technologies focussed
around Active Server Pages (ASP)


ASP has problems


Interpreted (performance)


Not truly object oriented (no inheritance etc.)


Not really structured code


Hard to maintain


Competition has better tools (JSP,J2EE) etc.

Solution, .NET


Complete redesign, with all tools running
on a Common Language Runtime (CLR),
similar (VERY) to the Java Runtime in
functionality.


CLR hides OS from applications, supports
multi language development,

CLR
-

more than runtime support


CLR incorporates


Security


Intermediate language compilation to native
code


Traditional run time support functions


File opening


OS interface etc.

CLR Features


Common data types across all languages


Standard interface calls


Every program includes meta data about
itself, so it is “self
-
describing”


Programs can be run without being
“installed”. DLL hell is gone.


The program has imbedded info on
“EXACTLY” what components it needs.

Other .NET additions


New language


C# (C Sharp)


VERY similar to Java but designed for Microsoft
environment


ASP.NET


New (different ) version of ASP


Generates compiled version of pages
automatically (like JSP) in IL


C# now supported as a scripting language


Convergence


We are seeing some convergence between the
two (new) competing technolgies for web
services, I.e. JSP and .NET


Two approaches should interoperate, (but
probably with some limitations)


.NET approach much more encompassing than
JSP due to inclusion of ADO,CLR and other
features


.NET can (theoretically) be ported to other
operating systems…. (already runs on all
Windows OSes, but depends on IIS facilities)

Some Differences between JSP
and .NET

JSP

.NET

C# MS only

Java run anywhere

.NET common Components (XML,
SOAP)

JAVA core API

ADO integrated with SOAP etc.

JDBc, RMI etc. up to developer

Many Languages

(C#,VB,C++, etc.)

Java only

One IDE (Visual Studio)

Many

Tight integration between components

Loose integration using
CORBA, ORB

Management Takeaway


.NET is significant direction for MS


Typical “Embrace and Extend” philosophy of Gates


In theory, fixes many of the complaints about the IIS,
ASP development environment


Strong contender against JSP et al., more tightly
integrated


Makes developing distributed WEB applications even
easier in MS environment


Also provides future base for non
-
web applications
without DLLs..


What happens if you PORT CLR to UNIX?