The Microsoft® .NET Framework
Presented by
Joseph J. Sarna Jr., MCSDJJS Systems, LLC
Agenda
• Introduction to .NET and Web Services• The .NET Framework• Common Language Runtime• .NET Framework Services• Common Language Specification• .NET Development Tools
How Did We Get to .NET?The Evolution of Web Applications
• First generation of Web applications -non-interactive content (HTML static content)
• Second generation of Web applications - scalable back-end and a richer User Interface. (DCOM, ASP, CGI, Cold Fusion, dynamic content)
• Third generation of Web applications (.NET) - using Web protocols and XML to allow better integration between services on the Web
What is .NET?
• .NET is Microsoft’s entry into the Web services arena• XML based
Why the Move to .NET?
• DCOM works fine on an Intranet, however:– DCOM does not go through firewalls– Requires too many open TCP/IP ports– Requires Stateful connections– Platform dependent
• Portals provide services however:– Non-standard interfaces– Hard to integrate with other applications– Not designed to use outside the scope of the portal
What Is A Web Service?• A programmable application, accessible as a
component via standard Web protocols• Defined in terms of the required formats and ordering
of messages• You can ask a site for a description of the Web
Services it offers• Web Service consumers can be any device - send and
receive messages using XML • All built using open Internet protocols
XML Is The Core
• Simple, open, broadly adopted
• Continues the Web’s open standards
• Enables powerful distributed apps
• A universal data exchange format
XML Format
• XML is a tagged mark-up representation of data• XML consists of a header section, a schema section,
and a data section• The header section defines the XML form itself• The schema section defines the format of the data
contained in the XML document• The data section provides the mapped data
• C:\SicCodes.XML
SOAP Simple Object Access Protocol
• Internet becomes integration fabric• Broad industry support
• IBM, Iona, Ariba, Compaq, Lotus, Commerce-One, HP, SAP, others
• Submitted to W3C: • http://www.w3.org/TR/SOAP/
• XML-based integration for web services
Benefits of Web Services
• Leverages exiting infrastructure• Allows the choice to buy or build the functionality• Use of tested standard modules for repeatability• Minimizes development time and cost• Allows integration between applications, platforms,
businesses
Agenda
• Introduction to .NET and Web Services• The .NET Framework• Common Language Runtime• .NET Framework Services• Common Language Specification• .NET Development Tools
What Is the .NET Framework?
• A collection of technologies that– Unite isolated Web applications– Make information available anytime, anywhere– Simplify development and deployment
• How does .NET achieve the above?– Web Services– ADO.NET Datasets and XML support throughout the platform – Rich tools, runtime services and XCOPY Deployment
.NET Framework, Languages, Tools
Base Class Library
Common Language Specification
Common Language Runtime
Data and XML
VB C++ C#
Visual Studio.NET
WebServices
JScript …
UserInterface
Agenda
• Introduction to .NET and Web Services• The .NET Framework• Common Language Runtime• .NET Framework Services• Common Language Specification• .NET Development Tools
Common Language Runtime
Base Class Library
Common Language Specification
Common Language Runtime
Data and XML
VB C++ C#
Visual Studio.NET
WebServices
JScript …
UserInterface
The .NET Common Language Runtime• Manages running code
• Threading• Memory management
• Multi-language• Inheritance, Errors, Debugging
• Fine-grained evidence-based security• Code access security• Role-based security• Integrated with underlying OS
• “No-touch” deployment
Common Language Runtime
Class Loader
IL to NativeCompilers
CodeManager
GarbageCollector
Security Engine Debug Engine
Type Checker Exception Manager
Thread Support COM Marshaler
Base Class Library Support
Common Language Runtime Design Goals
• Dramatically simplify application development• Provide a robust and secure execution environment• Support multiple programming languages• Simplify deployment and management
Agenda
• Introduction to .NET and Web Services• The .NET Framework• Common Language Runtime• .NET Framework Services• Common Language Specification• .NET Development Tools
.NET Framework Services
Base Class Library
Common Language Specification
Common Language Runtime
Data and XML
VB C++ C#
Visual Studio.NET
WebServices
JScript …
UserInterface
.NET Framework Services
• ASP.NET– Logical evolution of ASP (compiled)
• Web forms– Manageable code (non spaghetti)
• Windows® forms– Framework for building rich clients
• ADO.NET, evolution of ADO– New objects (e.g., DataSets)
• XML Support Throughout
Some .NET Base Class Libraries
System
System.Data System.Xml
System.Web
GlobalizationDiagnosticsConfigurationCollections
ResourcesReflectionNetIO
ThreadingTextServiceProcessSecurity
DesignADO
SQLTypesSQL
XPathXSLT
Runtime InteropServices Remoting Serialization
Serialization
Configuration SessionStateCaching Security
Services Description Discovery Protocols
UI HtmlControls WebControls
System.Drawing
ImagingDrawing2D
TextPrinting
System.WinFormsDesign ComponentModel
Agenda
• Introduction to .NET and Web Services• The .NET Framework• Common Language Runtime• .NET Framework Services• Common Language Specification• .NET Development Tools
Common Language Specification
Base Class Library
Common Language Specification
Common Language Runtime
Data and XML
VB C++ C#
Visual Studio.NET
WebServices
JScript …
UserInterface
Common Language Specification
• What about types?– Common type system (CTS)
• Other languages and compilers– Common Language Specification (CLS)
.NET Languages
• The .NET Platform is Language Neutral• All .NET languages perform the same• You can leverage your existing skills
• Common Language Specification• Consumer: Can use the .NET Framework• Extender: Can extend the .NET Framework
• Microsoft provides:• VB, C++, C#, JScript
• Third-parties are building• APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon, Perl,
Python, Scheme, Smalltalk
.NET Languages Available (or soon to be)
• Visual Basic• C#• Jscript• C++• Perl• Python• COBOL• Haskell• ML• Ada
• Pascal• C• SmallTalk• Oberon• Scheme• Mercury• APL• Eiffel• Oz• Objective Caml
Agenda
• Introduction to .NET and Web Services• The .NET Framework• Common Language Runtime• .NET Framework Services• Common Language Specification• .NET Development Tools
.NET Development Tools
Base Class Library
Common Language Specification
Common Language Runtime
Data and XML
VB C++ C#
Visual Studio.NET
WebServices
JScript …
UserInterface
Visual Studio® .NET
.NET .NET PlatformPlatform
Man
age
Man
age
and
Col
labo
rate
and
Col
labo
rate
DeploymentDeployment
TestingTesting
DevelopmentDevelopment
DesignDesign
AnalysisAnalysis
PlanningPlanning
Summary
• We covered:– Introduction to .NET and Web Services– The .NET Framework– Common Language Runtime– .NET Framework Services– Common Language Specification– .NET Development Tools
Resources for .NET
• http://www.w3.org/TR/SOAP/ - W3C standards for SOAP implementation
• http://www.uddi.org – UDDI standards for web services implementation
• http://www.microsoft.com/net - Microsoft .NET home• http://msdn.microsoft.com/net - Microsoft .NET developers home• http://msdn.microsoft.com/xml - Microsoft XML developers home• http://msdn.microsoft.com/webservices – Microsoft Web Services
developers home• http://www.gotdotnet.com – Developers .NET resource