Cetpa dotnet taining
-
Upload
sharmamohan13989 -
Category
Education
-
view
37 -
download
2
Transcript of Cetpa dotnet taining
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 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>
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 Communication ALL 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