day1 dotnet framework overview
TRANSCRIPT
Agenda – Session 1Agenda – Session 1
Evolution of the WebEvolution of the Web .Net Framework Overview.Net Framework Overview Evolution of .Net FrameworkEvolution of .Net Framework
Web Phase - 1Web Phase - 1 Web BrowserWeb Browser Web ServerWeb Server HTTPHTTP Text Information (Text File)Text Information (Text File)
Web Phase - 2Web Phase - 2
HTML + Text Information (HTML HTML + Text Information (HTML File) – Static PagesFile) – Static Pages
Browser understands HTMLBrowser understands HTML HTML – Layout of the PageHTML – Layout of the Page CSS – AppearanceCSS – Appearance Images, Sound, LinksImages, Sound, Links
Web Phase - 3Web Phase - 3 Dynamic WebDynamic Web Static Pages – Contains Data (Information) – HTML FilesStatic Pages – Contains Data (Information) – HTML Files Dynamic Pages – Contain Code (Server-side Code)Dynamic Pages – Contain Code (Server-side Code)
Executes when the request comes from the browserExecutes when the request comes from the browser Reads user’s request (HTTP Request Packet that browser sends Reads user’s request (HTTP Request Packet that browser sends
to the server)to the server) Access Database, Filter the data, etc.Access Database, Filter the data, etc. After generating the response (HTML Document) it stopsAfter generating the response (HTML Document) it stops
Web Server (IIS, Tomcat, etc.) handles the connectivity with Web Server (IIS, Tomcat, etc.) handles the connectivity with the Web Browserthe Web Browser
HTTP Runtime gets connected to web server, obtains the HTTP Runtime gets connected to web server, obtains the request from the Web Server and executes thee code.request from the Web Server and executes thee code.
Threads are used to handle multiple request.Threads are used to handle multiple request. Maintains cache based inputs (Sliding Cache Expiration)Maintains cache based inputs (Sliding Cache Expiration) Health MonitoringHealth Monitoring To Store the data on User specific basis Session was used.To Store the data on User specific basis Session was used. SecuritySecurity
BrowserBrowser After Browser receives HTML document it After Browser receives HTML document it
create HTML DOM Tree and then DOM Tree to create HTML DOM Tree and then DOM Tree to render the information. If the DOM tree is render the information. If the DOM tree is modified the rendering of that part in the modified the rendering of that part in the browser window is redone.browser window is redone.
Using JavaScript running in the browser the Using JavaScript running in the browser the DOM tree can be updated.DOM tree can be updated.
HTML DOM Tree is programmable.HTML DOM Tree is programmable. Object of DOM can fire events on user Object of DOM can fire events on user
interactions.interactions. DOM API (set of functions to interact with the DOM API (set of functions to interact with the
DOM Tree) – Inconsistent Across BrowserDOM Tree) – Inconsistent Across Browser
Web ProgrammingWeb Programming Classical Web ProgrammingClassical Web Programming
Every Response was creating new DOM TreeEvery Response was creating new DOM Tree
AJAX Programming (Asynchronous JavaScript and AJAX Programming (Asynchronous JavaScript and XML Programming)XML Programming) Server <-> XmlHttpRequest Object <-> JavaScript <-> Server <-> XmlHttpRequest Object <-> JavaScript <->
DOM TreeDOM Tree Saved Server Processing Time, Saved Bandwidth and Saved Server Processing Time, Saved Bandwidth and
Provided Better User ExperienceProvided Better User Experience AsynchronousAsynchronous Difficult to Debug, Difficult to understand the code Difficult to Debug, Difficult to understand the code
construct, Difficult to interact with the DOM API, Lack of construct, Difficult to interact with the DOM API, Lack of and Difficult to create Data Visualization, No threading, and Difficult to create Data Visualization, No threading, No Advanced Libraries like Reflection, LINQ, Collection No Advanced Libraries like Reflection, LINQ, Collection Classes, Cryptography, etc, Different than traditional Classes, Cryptography, etc, Different than traditional Object-Oriented ProgrammingObject-Oriented Programming
HTML5 (Animation, Transformation, Drawing, Video HTML5 (Animation, Transformation, Drawing, Video Playback, etc.)Playback, etc.)
Evolution of InternetEvolution of Internet
ConnectivityData
ExchangeInteroperability
TCP/IP XMLWeb
Services
Internet Revolution
Data Revolution
Process Revolution
.NET Enterprise Vision
ERP & BillingCustomerService
Sales
UsersAny device,Any place,Any time
XML Web ServicesIntegrate business applications and processes
Back OfficeHeterogeneous application and server infrastructure
SchedulingAuthentication
Notification
What is .NET?
Completely new model for building Completely new model for building systems on Windows family of systems on Windows family of operating systems as well as non-operating systems as well as non-Microsoft OS such as Mac OS x2, Microsoft OS such as Mac OS x2, Linux Linux
What is .NET?What is .NET?
.NET is a platform that provides a .NET is a platform that provides a standardized set of services.standardized set of services. It’s just like Windows, except It’s just like Windows, except
distributed over the Internet.distributed over the Internet. It exports a common interface so that It exports a common interface so that
it’s programs can be run on any it’s programs can be run on any system that supports .NET.system that supports .NET.
A specific software frameworkA specific software framework Includes a common runtimeIncludes a common runtime
.NET is a platform that provides a .NET is a platform that provides a standardized set of services.standardized set of services. It’s just like Windows, except It’s just like Windows, except
distributed over the Internet.distributed over the Internet. It exports a common interface so that It exports a common interface so that
it’s programs can be run on any it’s programs can be run on any system that supports .NET.system that supports .NET.
A specific software frameworkA specific software framework Includes a common runtimeIncludes a common runtime
What is .NET? Core features areCore features are
Comprehensive interoperability : Existing Comprehensive interoperability : Existing COM binaries can interop with newer .Net COM binaries can interop with newer .Net binariesbinaries
Complete and total language integration.Complete and total language integration. Cross language inheritance Cross language inheritance Cross language exception handlingCross language exception handling Cross language debuggingCross language debugging
Common runtime engine shared by all .Net Common runtime engine shared by all .Net aware languages.aware languages.
Comprehensive base class librariesComprehensive base class libraries Simplified deployment model – under .Net Simplified deployment model – under .Net
there is no need to register a binary in there is no need to register a binary in registryregistry
.NET Framework.NET Framework.NET Framework.NET Framework
Programming model for .NETProgramming model for .NET Platform for running .NET managed Platform for running .NET managed
code in a virtual machinecode in a virtual machine Provides a very good environment Provides a very good environment
to develop networked applications to develop networked applications and Web Servicesand Web Services
Provides programming API and Provides programming API and unified language-independent unified language-independent development frameworkdevelopment framework
Programming model for .NETProgramming model for .NET Platform for running .NET managed Platform for running .NET managed
code in a virtual machinecode in a virtual machine Provides a very good environment Provides a very good environment
to develop networked applications to develop networked applications and Web Servicesand Web Services
Provides programming API and Provides programming API and unified language-independent unified language-independent development frameworkdevelopment framework
.NET Framework.NET Framework.NET Framework.NET Framework
Building blocks of .Net Platform Building blocks of .Net Platform (CLR + CTS + CLS)(CLR + CTS + CLS) CLR CLR Runtime layer of .Net is Runtime layer of .Net is
referred as Common Language referred as Common Language Runtime. Runtime. Primary goal is – Primary goal is – To locate, load and manage .Net To locate, load and manage .Net
typestypes Memory ManagementMemory Management Security ChecksSecurity Checks
Building blocks of .Net Platform Building blocks of .Net Platform (CLR + CTS + CLS)(CLR + CTS + CLS) CLR CLR Runtime layer of .Net is Runtime layer of .Net is
referred as Common Language referred as Common Language Runtime. Runtime. Primary goal is – Primary goal is – To locate, load and manage .Net To locate, load and manage .Net
typestypes Memory ManagementMemory Management Security ChecksSecurity Checks
.NET Framework.NET Framework
CTS CTS Common Type System , Common Type System , specifies all possible data types and specifies all possible data types and programming constructs supported by programming constructs supported by runtime.runtime.
CLSCLS Common Language Common Language Specification, defines a subset of Specification, defines a subset of common types and programming common types and programming constructs that all .Net programming constructs that all .Net programming language can agree on.language can agree on.
.NET Framework.NET Framework
Base Class Libraries Base Class Libraries Encapsulates various primitives Encapsulates various primitives such as threads, file I/O, graphical such as threads, file I/O, graphical rendering. They define types which rendering. They define types which further facilitate DB access, XML further facilitate DB access, XML manipulation, constructions of GUI manipulation, constructions of GUI etc.etc.
.NET Framework.NET Framework Common Language RuntimeCommon Language Runtime
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
CLR manages code execution CLR manages code execution at runtimeat runtime
Memory management, thread Memory management, thread management, etc.management, etc.
.NET Framework.NET Framework Base Class LibraryBase Class Library
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
.NET Framework (Base Class Library).NET Framework (Base Class Library)
Object-oriented collection of Object-oriented collection of reusable typesreusable types
Collections, I/O, Strings, …Collections, I/O, Strings, …
.NET Framework.NET Framework Data Access LayerData Access Layer
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
.NET Framework (Base Class Library).NET Framework (Base Class Library)
ADO .NET and XMLADO .NET and XML
Access relational databasesAccess relational databases Disconnected data modelDisconnected data model Work with XMLWork with XML
.NET Framework.NET Framework ASP.NET & Windows FormsASP.NET & Windows Forms
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
.NET Framework (Base Class Library).NET Framework (Base Class Library)
ADO .NET and XMLADO .NET and XML
ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Create application’s front-end – Create application’s front-end – Web-based user interface, Web-based user interface, Windows GUI, Web services, …Windows GUI, Web services, …
.NET Framework.NET Framework Programming LanguagesProgramming Languages
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
.NET Framework (Base Class Library).NET Framework (Base Class Library)
ADO .NET and XMLADO .NET and XML
ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
C++C++ C#C# VB.NETVB.NET PerlPerl J#J# ……
Use your favorite languageUse your favorite language
.NET Framework.NET Framework Common Language SpecificationCommon Language Specification
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
.NET Framework (Base Class Library).NET Framework (Base Class Library)
ADO .NET and XMLADO .NET and XML
ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language SpecificationC++C++ C#C# VBVB PerlPerl J#J# ……
.NET Framework.NET Framework Visual Studio .NETVisual Studio .NET
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
.NET Framework (Base Class Library).NET Framework (Base Class Library)
ADO .NET and XMLADO .NET and XML
ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
C++C++ C#C# VBVB PerlPerl J#J# ……
Visu
al S
tud
io .N
ET
Visu
al S
tud
io .N
ET
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
.NET Framework (Base Class Library).NET Framework (Base Class Library)
ADO .NET and XMLADO .NET and XML
ASP .NETASP .NETWeb Services Web FormsWeb Services Web Forms
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
C++C++ C#C# VBVB PerlPerl J#J# ……
Visu
al S
tud
io .N
ET
Visu
al S
tud
io .N
ET
Open LanguageOpen LanguageSpecificationSpecification
C# Language – C# Language – Submitted to ECMASubmitted to ECMA
XML-basedXML-baseddata accessdata access
Web services –Web services –XML, SOAP-basedXML, SOAP-based
.NET Framework.NET Framework Standards ComplianceStandards Compliance