SlideShare a Scribd company logo
1 of 26
The .NET FrameworkThe .NET Framework
• What is
Microsoft .NET?
– A programming
model: CLR +
Classes
– XML Web services
– Server and Client
software and tools
Common Language Runtime (CLR)Common Language Runtime (CLR)
• It’s a VM (Java-like) on which any (supported)
language can run.
• Why a VM?
– Memory Protection
– Cross-language
– Support for strong-typing across languages (the data
are typed)
– Thread support
• JIT compilation in the VM
Languages in CLRLanguages in CLR
• Language of choice is C# (“C-sharp”) a Java-like language
– No inner classes
– Better type checking
• Other languages will run on CLR, but only within the CLR
constraints
– Visual Basic, JScript are full fledged CLR languages
– For example, only C++ that is VM-safe will run
– That subset looks much like C#
• Under CLR, all languages get object features
– Inheritance used extensively
– Every language gets constructors
Languages compile to MSILLanguages compile to MSIL
• Languages compile to MSIL (Microsoft
Intermediate Language)
– Can you say “bytecodes”?
• MSIL is shipped in portable executable
(PE) units
– Can you say .class files or applets?
• An application is made up of assemblies
AssembliesAssemblies
• In general, a static
assembly can consist of
four elements:
– The assembly manifest,
which contains assembly
metadata.
– Type metadata.
– Microsoft intermediate
language (MSIL) code
that implements the
types.
– A set of resources.
Assemblies can be spread acrossAssemblies can be spread across
.NET.NET
Assemblies are the security unitAssemblies are the security unit
• Each assembly has a set of corresponding
grants
• Each grant allows certain permissions
– DnsPermission, Environment, FileDialog, FileIO,
IsolatedStorage, Reflection, Registry, Security, UI,
WebPermission, SocketPermission
• The set of grants establishes a security
policy
Class LibraryClass Library
• Data classes support persistent data
management and include SQL classes.
– XML classes enable XML data manipulation
and XML searching and translations.
• Windows Forms support development of
Windows GUI applications across CLR
• Web Forms include classes that enable you
to rapidly develop web GUI applications.
System.ObjectSystem.Object
• Public methods:
– Equals
– GetHashCode
– GetType
– ToString
• Overriding inherited behaviors is common
Web, Windows, WhateverWeb, Windows, Whatever
• Part of the idea is to smooth transitions
between Windows and Web
• Web interfaces become easier for Windows
developers
• Windows apps become .NET Web-based
apps
Data <-> XML, EverywhereData <-> XML, Everywhere
• All CLR data can be
serialized to XML
• All XML can be expanded
into CLR data
• Thus, anything can be
shipped around on the
Web
• Typing through XML
Schema
XML SchemaXML Schema<xsd:complexType name="Person">
<xsd:sequence>
<xsd:choice>
<xsd:element name="name" type="xsd:string"
xsi:nillable="true" />
<xsd:element name="id" type="xsd:string" />
</xsd:choice>
<xsd:any processContents="lax"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="AgedPerson">
<xsd:complexContent mixed="false">
<xsd:extension base="target:Person">
<xsd:choice>
<xsd:element name="age" type="xsd:double" />
<xsd:element name="timeOnEarth" type="xsd:double" />
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="don" type="target:Person" />
Example InstanceExample Instance
<ns:don
xmlns:ns="uuid:048b2fa1-d557-473f-ba4c-
acee78fe3f7d"
>
<name>Don Box</name>
<niceStuffForDon/>
</ns:don>
Second Example InstanceSecond Example Instance
<ns:don
xmlns:ns="uuid:048b2fa1-d557-473f-ba4c-
acee78fe3f7d"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"
xsi:type="ns:AgedPerson"
>
<name>Don Box</name>
<niceStuffForDon/>
<age>26</age>
</ns:don>
A Simpler SchemaA Simpler Schema
<element name="Book">
<complexType>
<element name="author" type="xsd:string"/>
<element name="preface" type="xsd:string"/>
<element name="intro" type="xsd:string"/>
</complexType>
</e:Book>
Another Example InstanceAnother Example Instance
<e:Book>
<author>Henry Ford</author>
<preface>Prefatory text</preface>
<intro>This is a book.</intro>
</e:Book>
XML Schema Defined TypesXML Schema Defined Types
Class Library Data HierarchyClass Library Data Hierarchy
Reading in XML DataReading in XML Data
XmlReader reader
= new
XmlTextReader("http://foo.com/don.xsd");
XmlSchema schema = XmlSchema.Load(reader, null);
schema.Compile(null); // turn xml into objects
reader.Close();
ALL Interprocess CommunicationALL Interprocess Communication
via SOAPvia SOAP
• ALL Interprocess communication (across
network or on same machine) is through
SOAP
– Simple Object Access Protocol
– It’s a way of exchanging data and even calling
other methods/threads, all via XML and plain
old HTTP requests
Example SOAP RequestExample SOAP Request
POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-URI">
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Example SOAP ResponseExample SOAP Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Body>
<m:GetLastTradePriceResponse xmlns:m="Some-URI">
<Price>34.5</Price>
</m:GetLastTradePriceResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
ASP.NETASP.NET
• ASP =>
Active Server Pages
– Put most of the
computation in the server
• Very simple model to
use
• ADO.NET is the
database connection part
Calling Web ServicesCalling Web Services
• Any class can be converted into an XML Web Service with just a
few lines of code, and can be called by any SOAP client.
Take-away lessonsTake-away lessons
• VM’s are important
– Even Microsoft thinks so
• Distributed apps are important, but to do so
requires standard protocols
– Ways of serializing data
– Ways of doing RPC
Limitations of the .NET FrameworkLimitations of the .NET Framework
• What if you’re not on the network?
– Maybe that’s not an issue?
• Mapping between XML and any object is
hard
– Any object is controlled by compiler.
XML can be written by anybody with a text
editor.
– There’s a whole bunch of class support for
modified serializers and compilers

More Related Content

What's hot

Infinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORMInfinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORMInfinum
 
Servlets as introduction (Advanced programming)
Servlets as introduction (Advanced programming)Servlets as introduction (Advanced programming)
Servlets as introduction (Advanced programming)Gera Paulos
 
Soa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web servicesSoa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web servicesVaibhav Khanna
 
Up and Running with the Typelevel Stack
Up and Running with the Typelevel StackUp and Running with the Typelevel Stack
Up and Running with the Typelevel StackLuka Jacobowitz
 
ITI004En-Introduction to XML (III)
ITI004En-Introduction to XML (III)ITI004En-Introduction to XML (III)
ITI004En-Introduction to XML (III)Huibert Aalbers
 
Using forms in oXygen XML editor
Using forms in oXygen XML editorUsing forms in oXygen XML editor
Using forms in oXygen XML editorIXIASOFT
 
mule introduction to dataweave
mule   introduction to dataweavemule   introduction to dataweave
mule introduction to dataweavePaolo Mojica
 
Formal machines for Streaming XML Querying
Formal machines for Streaming XML QueryingFormal machines for Streaming XML Querying
Formal machines for Streaming XML QueryingJustAnotherAbstraction
 
Cloud Infrastructures Slide Set 7 - Docker - Neo4j | anynines
Cloud Infrastructures Slide Set 7 - Docker - Neo4j | anyninesCloud Infrastructures Slide Set 7 - Docker - Neo4j | anynines
Cloud Infrastructures Slide Set 7 - Docker - Neo4j | anyninesanynines GmbH
 
.Net programming with C#
.Net programming with C#.Net programming with C#
.Net programming with C#NguynSang29
 
Project First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be usedProject First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be usedarya krazydude
 
Best Practices for Automatic Transcript Alignment
Best Practices for Automatic Transcript AlignmentBest Practices for Automatic Transcript Alignment
Best Practices for Automatic Transcript Alignment3Play Media
 
Web services soap
Web services soapWeb services soap
Web services soapKhan625
 
Soa 10 soa technology soap
Soa 10 soa technology soapSoa 10 soa technology soap
Soa 10 soa technology soapVaibhav Khanna
 
Xml and webservice
Xml and webserviceXml and webservice
Xml and webservicesaba sumreen
 

What's hot (20)

Infinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORMInfinum Android Talks #09 - DBFlow ORM
Infinum Android Talks #09 - DBFlow ORM
 
Mule overview
Mule overviewMule overview
Mule overview
 
Servlets as introduction (Advanced programming)
Servlets as introduction (Advanced programming)Servlets as introduction (Advanced programming)
Servlets as introduction (Advanced programming)
 
Soa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web servicesSoa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web services
 
Ajax xml json
Ajax xml jsonAjax xml json
Ajax xml json
 
Up and Running with the Typelevel Stack
Up and Running with the Typelevel StackUp and Running with the Typelevel Stack
Up and Running with the Typelevel Stack
 
ITI004En-Introduction to XML (III)
ITI004En-Introduction to XML (III)ITI004En-Introduction to XML (III)
ITI004En-Introduction to XML (III)
 
Using forms in oXygen XML editor
Using forms in oXygen XML editorUsing forms in oXygen XML editor
Using forms in oXygen XML editor
 
mule introduction to dataweave
mule   introduction to dataweavemule   introduction to dataweave
mule introduction to dataweave
 
Formal machines for Streaming XML Querying
Formal machines for Streaming XML QueryingFormal machines for Streaming XML Querying
Formal machines for Streaming XML Querying
 
Cloud Infrastructures Slide Set 7 - Docker - Neo4j | anynines
Cloud Infrastructures Slide Set 7 - Docker - Neo4j | anyninesCloud Infrastructures Slide Set 7 - Docker - Neo4j | anynines
Cloud Infrastructures Slide Set 7 - Docker - Neo4j | anynines
 
.Net programming with C#
.Net programming with C#.Net programming with C#
.Net programming with C#
 
Project First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be usedProject First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be used
 
Best Practices for Automatic Transcript Alignment
Best Practices for Automatic Transcript AlignmentBest Practices for Automatic Transcript Alignment
Best Practices for Automatic Transcript Alignment
 
Mule mel 2
Mule mel 2Mule mel 2
Mule mel 2
 
Web services soap
Web services soapWeb services soap
Web services soap
 
Soa 10 soa technology soap
Soa 10 soa technology soapSoa 10 soa technology soap
Soa 10 soa technology soap
 
Xml and webservice
Xml and webserviceXml and webservice
Xml and webservice
 
Graduate Project Summary
Graduate Project SummaryGraduate Project Summary
Graduate Project Summary
 
AMQP
AMQPAMQP
AMQP
 

Viewers also liked

Viewers also liked (10)

.Net overview by cetpa
.Net overview by cetpa.Net overview by cetpa
.Net overview by cetpa
 
Teori organisasi umum 2
Teori organisasi umum 2Teori organisasi umum 2
Teori organisasi umum 2
 
Tugas 4
Tugas 4Tugas 4
Tugas 4
 
Teori organisasi umum 2
Teori organisasi umum 2Teori organisasi umum 2
Teori organisasi umum 2
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
Tugas 5
Tugas 5Tugas 5
Tugas 5
 
RositsaZafirova_ShortPortfolio
RositsaZafirova_ShortPortfolioRositsaZafirova_ShortPortfolio
RositsaZafirova_ShortPortfolio
 
shamim feed mill
shamim feed millshamim feed mill
shamim feed mill
 
Ariel Awayan CV updated
Ariel Awayan CV updatedAriel Awayan CV updated
Ariel Awayan CV updated
 
GECONS_Ufficio gare
GECONS_Ufficio gareGECONS_Ufficio gare
GECONS_Ufficio gare
 

Similar to Cetpa dotnet taining

Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…Lorenz Lo Sauer
 
Node.js 101 with Rami Sayar
Node.js 101 with Rami SayarNode.js 101 with Rami Sayar
Node.js 101 with Rami SayarFITC
 
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...The Linux Foundation
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET FrameworkANURAG SINGH
 
.Net overviewrajnish
.Net overviewrajnish.Net overviewrajnish
.Net overviewrajnishRajnish Kalla
 
Collector Web Services
Collector Web ServicesCollector Web Services
Collector Web Servicespublisyst
 
.Net framework
.Net framework.Net framework
.Net frameworksanya6900
 
Net Framework overview
Net Framework overviewNet Framework overview
Net Framework overviewMohitKumar1985
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101Rami Sayar
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishSvetlin Nakov
 
Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarPriyankaPinglikar
 

Similar to Cetpa dotnet taining (20)

Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
 
Net framework
 Net framework Net framework
Net framework
 
.Net framework
.Net framework.Net framework
.Net framework
 
Node.js 101 with Rami Sayar
Node.js 101 with Rami SayarNode.js 101 with Rami Sayar
Node.js 101 with Rami Sayar
 
VB IMPORTANT QUESTION
VB IMPORTANT QUESTIONVB IMPORTANT QUESTION
VB IMPORTANT QUESTION
 
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
XPDS14: OpenXT - Security and the Properties of a Xen Virtualisation Platform...
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET Framework
 
.Net overviewrajnish
.Net overviewrajnish.Net overviewrajnish
.Net overviewrajnish
 
Collector Web Services
Collector Web ServicesCollector Web Services
Collector Web Services
 
NETOverview1ppt.pptx
NETOverview1ppt.pptxNETOverview1ppt.pptx
NETOverview1ppt.pptx
 
NETOverview1.ppt
NETOverview1.pptNETOverview1.ppt
NETOverview1.ppt
 
.Net framework
.Net framework.Net framework
.Net framework
 
Net Framework overview
Net Framework overviewNet Framework overview
Net Framework overview
 
Microsoft .NET Framework
Microsoft .NET FrameworkMicrosoft .NET Framework
Microsoft .NET Framework
 
DOT Net overview
DOT Net overviewDOT Net overview
DOT Net overview
 
Net overview
Net overviewNet overview
Net overview
 
Net framework
Net frameworkNet framework
Net framework
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
 
Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka Pinglikar
 

Recently uploaded

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 

Recently uploaded (20)

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 

Cetpa dotnet taining

  • 1. The .NET FrameworkThe .NET Framework • What is Microsoft .NET? – A programming model: CLR + Classes – XML Web services – Server and Client software and tools
  • 2. Common Language Runtime (CLR)Common Language Runtime (CLR) • It’s a VM (Java-like) on which any (supported) language can run. • Why a VM? – Memory Protection – Cross-language – Support for strong-typing across languages (the data are typed) – Thread support • JIT compilation in the VM
  • 3. Languages in CLRLanguages in CLR • Language of choice is C# (“C-sharp”) a Java-like language – No inner classes – Better type checking • Other languages will run on CLR, but only within the CLR constraints – Visual Basic, JScript are full fledged CLR languages – For example, only C++ that is VM-safe will run – That subset looks much like C# • Under CLR, all languages get object features – Inheritance used extensively – Every language gets constructors
  • 4. Languages compile to MSILLanguages compile to MSIL • Languages compile to MSIL (Microsoft Intermediate Language) – Can you say “bytecodes”? • MSIL is shipped in portable executable (PE) units – Can you say .class files or applets? • An application is made up of assemblies
  • 5. AssembliesAssemblies • In general, a static assembly can consist of four elements: – The assembly manifest, which contains assembly metadata. – Type metadata. – Microsoft intermediate language (MSIL) code that implements the types. – A set of resources.
  • 6. Assemblies can be spread acrossAssemblies can be spread across .NET.NET
  • 7. Assemblies are the security unitAssemblies are the security unit • Each assembly has a set of corresponding grants • Each grant allows certain permissions – DnsPermission, Environment, FileDialog, FileIO, IsolatedStorage, Reflection, Registry, Security, UI, WebPermission, SocketPermission • The set of grants establishes a security policy
  • 8. Class LibraryClass Library • Data classes support persistent data management and include SQL classes. – XML classes enable XML data manipulation and XML searching and translations. • Windows Forms support development of Windows GUI applications across CLR • Web Forms include classes that enable you to rapidly develop web GUI applications.
  • 9. System.ObjectSystem.Object • Public methods: – Equals – GetHashCode – GetType – ToString • Overriding inherited behaviors is common
  • 10. Web, Windows, WhateverWeb, Windows, Whatever • Part of the idea is to smooth transitions between Windows and Web • Web interfaces become easier for Windows developers • Windows apps become .NET Web-based apps
  • 11. Data <-> XML, EverywhereData <-> XML, Everywhere • All CLR data can be serialized to XML • All XML can be expanded into CLR data • Thus, anything can be shipped around on the Web • Typing through XML Schema
  • 12. XML SchemaXML Schema<xsd:complexType name="Person"> <xsd:sequence> <xsd:choice> <xsd:element name="name" type="xsd:string" xsi:nillable="true" /> <xsd:element name="id" type="xsd:string" /> </xsd:choice> <xsd:any processContents="lax"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="AgedPerson"> <xsd:complexContent mixed="false"> <xsd:extension base="target:Person"> <xsd:choice> <xsd:element name="age" type="xsd:double" /> <xsd:element name="timeOnEarth" type="xsd:double" /> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="don" type="target:Person" />
  • 14. Second Example InstanceSecond Example Instance <ns:don xmlns:ns="uuid:048b2fa1-d557-473f-ba4c- acee78fe3f7d" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:type="ns:AgedPerson" > <name>Don Box</name> <niceStuffForDon/> <age>26</age> </ns:don>
  • 15. A Simpler SchemaA Simpler Schema <element name="Book"> <complexType> <element name="author" type="xsd:string"/> <element name="preface" type="xsd:string"/> <element name="intro" type="xsd:string"/> </complexType> </e:Book>
  • 16. Another Example InstanceAnother Example Instance <e:Book> <author>Henry Ford</author> <preface>Prefatory text</preface> <intro>This is a book.</intro> </e:Book>
  • 17. XML Schema Defined TypesXML Schema Defined Types
  • 18. Class Library Data HierarchyClass Library Data Hierarchy
  • 19. Reading in XML DataReading in XML Data XmlReader reader = new XmlTextReader("http://foo.com/don.xsd"); XmlSchema schema = XmlSchema.Load(reader, null); schema.Compile(null); // turn xml into objects reader.Close();
  • 20. ALL Interprocess CommunicationALL Interprocess Communication via SOAPvia SOAP • ALL Interprocess communication (across network or on same machine) is through SOAP – Simple Object Access Protocol – It’s a way of exchanging data and even calling other methods/threads, all via XML and plain old HTTP requests
  • 21. Example SOAP RequestExample SOAP Request POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
  • 22. Example SOAP ResponseExample SOAP Response HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <SOAP-ENV:Body> <m:GetLastTradePriceResponse xmlns:m="Some-URI"> <Price>34.5</Price> </m:GetLastTradePriceResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
  • 23. ASP.NETASP.NET • ASP => Active Server Pages – Put most of the computation in the server • Very simple model to use • ADO.NET is the database connection part
  • 24. Calling Web ServicesCalling Web Services • Any class can be converted into an XML Web Service with just a few lines of code, and can be called by any SOAP client.
  • 25. Take-away lessonsTake-away lessons • VM’s are important – Even Microsoft thinks so • Distributed apps are important, but to do so requires standard protocols – Ways of serializing data – Ways of doing RPC
  • 26. Limitations of the .NET FrameworkLimitations of the .NET Framework • What if you’re not on the network? – Maybe that’s not an issue? • Mapping between XML and any object is hard – Any object is controlled by compiler. XML can be written by anybody with a text editor. – There’s a whole bunch of class support for modified serializers and compilers

Editor's Notes

  1. Type metadata is information about the data types. Resources are things that are needed by the assembly like images and sounds.
  2. A single assembly can be distributed across the network. The resources might be on one machine and the some of the code on another.
  3. Windows Forms is a framework (set of classes) for developing Windows GUI applications. Web Forms is a framework for developing Web-based GUI applications.
  4. Unlike other OO languages the methods start with a capital letter.
  5. Notice that all that is saved in XML is the instance variables.
  6. This is an XML schema to represent instance variables for a Person object.
  7. This is an example instance that uses the XML schema from the previous page.
  8. These are the common language types supported. You can subclass these to allow XML mapping for your classes.
  9. This C# code will read in XML from a location and uses the Compile method to get the CLR objects from the XML.
  10. This slide shows the request of GetLastTradePrice for the DIS (Disney) stock symbol.
  11. This shows the SOAP response with the price for the Disney symobl.
  12. This shows an XML representation of an order in a pet store.
  13. One of the problems of using XML to represent objects is that people can edit and change the XML and what do you do with it if it doesn’t match the class definition. Also the class definition might change and then what do you do with older XML versions?