SlideShare a Scribd company logo
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 ORM
Infinum
 
Mule overview
Mule overviewMule overview
Mule overview
Manav Prasad
 
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 services
Vaibhav Khanna
 
Ajax xml json
Ajax xml jsonAjax xml json
Ajax xml json
Andrii Siusko
 
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
Luka 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 editor
IXIASOFT
 
mule introduction to dataweave
mule   introduction to dataweavemule   introduction to dataweave
mule introduction to dataweave
Paolo Mojica
 
Formal machines for Streaming XML Querying
Formal machines for Streaming XML QueryingFormal machines for Streaming XML Querying
Formal machines for Streaming XML Querying
JustAnotherAbstraction
 
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
anynines 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 used
arya krazydude
 
Best Practices for Automatic Transcript Alignment
Best Practices for Automatic Transcript AlignmentBest Practices for Automatic Transcript Alignment
Best Practices for Automatic Transcript Alignment
3Play Media
 
Mule mel 2
Mule mel 2Mule mel 2
Mule mel 2
kunal vishe
 
Web services soap
Web services soapWeb services soap
Web services soap
Khan625
 
Soa 10 soa technology soap
Soa 10 soa technology soapSoa 10 soa technology soap
Soa 10 soa technology soap
Vaibhav Khanna
 
Xml and webservice
Xml and webserviceXml and webservice
Xml and webservice
saba sumreen
 
Graduate Project Summary
Graduate Project SummaryGraduate Project Summary
Graduate Project Summary
JustAnotherAbstraction
 
AMQP
AMQPAMQP

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

.Net overview by cetpa
.Net overview by cetpa.Net overview by cetpa
.Net overview by cetpa
sharmamohan13989
 
Teori organisasi umum 2
Teori organisasi umum 2Teori organisasi umum 2
Teori organisasi umum 2
bryansoendoro
 
Tugas 4
Tugas 4Tugas 4
Tugas 4
bryansoendoro
 
Teori organisasi umum 2
Teori organisasi umum 2Teori organisasi umum 2
Teori organisasi umum 2
bryansoendoro
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
Rich Carter
 
Tugas 5
Tugas 5Tugas 5
Tugas 5
bryansoendoro
 
RositsaZafirova_ShortPortfolio
RositsaZafirova_ShortPortfolioRositsaZafirova_ShortPortfolio
RositsaZafirova_ShortPortfolio
Rositsa Storrs
 
shamim feed mill
shamim feed millshamim feed mill
shamim feed mill
zeeshan anwar
 
Ariel Awayan CV updated
Ariel Awayan CV updatedAriel Awayan CV updated
Ariel Awayan CV updated
ariel awayan
 
GECONS_Ufficio gare
GECONS_Ufficio gareGECONS_Ufficio gare
GECONS_Ufficio gareiorga roxana
 

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
 
Net framework
 Net framework Net framework
Net framework
ANAGHA T SASIDHARAN
 
.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
FITC
 
VB IMPORTANT QUESTION
VB IMPORTANT QUESTIONVB IMPORTANT QUESTION
VB IMPORTANT QUESTION
FAREED UR RAHMAN .
 
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 Framework
ANURAG SINGH
 
.Net overviewrajnish
.Net overviewrajnish.Net overviewrajnish
.Net overviewrajnish
Rajnish Kalla
 
Collector Web Services
Collector Web ServicesCollector Web Services
Collector Web Services
publisyst
 
NETOverview1.ppt
NETOverview1.pptNETOverview1.ppt
NETOverview1.ppt
VivekRaj101435
 
NETOverview1ppt.pptx
NETOverview1ppt.pptxNETOverview1ppt.pptx
NETOverview1ppt.pptx
charusharma165
 
.Net framework
.Net framework.Net framework
.Net framework
sanya6900
 
Net Framework overview
Net Framework overviewNet Framework overview
Net Framework overview
MohitKumar1985
 
Microsoft .NET Framework
Microsoft .NET FrameworkMicrosoft .NET Framework
Microsoft .NET Framework
chandrasekhardesireddi
 
DOT Net overview
DOT Net overviewDOT Net overview
DOT Net overview
chandrasekhardesireddi
 
Net overview
Net overviewNet overview
Net framework
Net frameworkNet framework
Net framework
Mahfuz1061
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101
Rami Sayar
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
Svetlin Nakov
 
Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka Pinglikar
PriyankaPinglikar
 

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
 
NETOverview1.ppt
NETOverview1.pptNETOverview1.ppt
NETOverview1.ppt
 
NETOverview1ppt.pptx
NETOverview1ppt.pptxNETOverview1ppt.pptx
NETOverview1ppt.pptx
 
.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

Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Fajar Baskoro
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
TechSoup
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
paigestewart1632
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
RAHUL
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
National Information Standards Organization (NISO)
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
Wahiba Chair Training & Consulting
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
Dr. Mulla Adam Ali
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
สมใจ จันสุกสี
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Diana Rendina
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 

Recently uploaded (20)

Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 

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?