50
Microsoft .NET Junhui wang July 10, 2003

Microsoft.NET Junhui wang July 10, 2003. Outline Introduction to MS.NET.NET Framework

Embed Size (px)

Citation preview

Microsoft .NET

Junhui wang

July 10, 2003

Outline Introduction to MS.NET .NET Framework

What is MS .NET

Old: .NET is the Microsoft platform for XML Web service.

New: .NET is the set of Microsoft technologies for connecting your world of information,people,systems and devices.

.NET is infused into the Microsoft platform providing the ability to build,host,deploy and consume XML Web service connected solutions.

Why MS .NET

.Interoperability between languages and execution environments

.Uniformity in schema or formats for Data Exchange using XML,XSL

.Extend or use existing code that is valid

.Programming complexity of environment is reduced

Services provided by MS .NET A new run-time environment, the .NET Framework

A new programming model for constructing HTML pages, named ASP.NETA new way for Internet servers to expose functions to any client, named XML Web servicesWindows Forms, a new way of writing rich client applications using the .NET frameworkSupport for db access within the .NET framework,namely ADO.NETSupport for handling XML documents and streamsA standardized mechanism for signaling asynchronous eventsSupport for writing multithreaded code

Support for writing your own Windows Forms and Web Forms controls

Component of MS .NET.NET spans clients,servers and develop

tools .NET framework .Developer tools such as MS visual studio.NET 2003 . A set of servers including MS Windows server

2003,MS SQL server .Client software such as Windows XP

What is .NET Framework.NET framework is an integral Windows component

for building and running all kinds of software,including web-based applications,smart client applications and XML Web services.

. Support over 20 different programming languages.

. Manages much of the plumbing involved in developing

software,enabling developers to focus on the core business logic code.

. Makes it easier than ever before to build,deploy,and administer secure,robust and high-performing applications.

Component of .NET Framework

. Common Language Runtime(CLR)

. A unified set of class libraries

.NET Framework Architecture What is .NET anyway?

Microsoft .NET provides

prefabricated infrastructure for

solving the common problems of writing Internet software.

Common Language Runtime

Provide the common services for .NET frameworkRun-time .Language integration .Security enforcement .Memory management .Process management . Thread managementDeveloping time .Life-cycle management .Strong type naming .Cross-language exception handling . Dynamic binding reduce the amount of code

CLR: Execution ModelVBVBSource Source

codecodeCompilerCompiler

C++C++C#C#

CompilerCompilerCompilerCompiler

AssemblyAssemblyIL CodeIL Code

AssemblyAssemblyIL CodeIL Code

AssemblyAssemblyIL CodeIL Code

Operating System ServicesOperating System Services

Common Language RuntimeCommon Language Runtime

JIT CompilerJIT Compiler

Native CodeNative Code

ManagedManagedcodecode

UnmanagedUnmanagedComponentComponent

Class LibraryASP.NET: building Web applications

and Web services

ADO.NET: connecting applications to database

Windows Forms: an environment for building smart client applications

System Class: XML,security,network,messaging

ADO.NET

ADO.NET features

Designed for disconnected access Can model data logically! The DataSet replaces the RecordSet DataSet can contain multiple tables

Core Concepts and Architecture

The ADO.NET Object Model DataSet objects Managed providers

ADO.NET-related Namespaces System.Data System.Data.ADO System.Data.Internal System.Data.SQL System.Data.SQLTypes

ADO.NET Objects

Data Set

.NET Applications

Data Reader

Command Object

Connection Object

Managed Data Provider(OLEDB)

Database

ADO.NET and Managed Providers

A collection of classes for accessing data sources: Microsoft SQL Server™ 2000, SQL Server 7, and MSDE Any OLE Database (OLE DB) providers

Including: Oracle, JET, and SQL OLE DB Providers Establish connection between DataSets and data

stores Two managed providers:

ADO: via the System.Data.ADO namespace SQL Server: via the System.Data.SQL namespace

System.Data.ADO is the ADO.NET managed provider

Connection with a Connection Object

A connection object represents a unique session with a data source.

Connection string: database, OLE DB provider, password, etc.

Use the Open/Close method to open/close a connection.

Connection String Containing information about database, OLE

DB provider, password, if any, security, etc. For Jet database:

Provider=Microsoft.Jet.OLEDB.4.0;Persist Security info = False;Data Source=c:\ …\Nwind.mdb

Connection Object Example:

dim strConn as string ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source = c:\sales2k.mdb"

dim objConn as new ADOConnection(strConn) objConn.open()

Basic Methods: Open, Close

Command Object The command object allows us to execute a SQL

statement. Properties:

CommandType: SQL or stored procedure CommandText: SQL statement Connection

Basic Methods: ExecuteReader: Creates a DataReader object that

contains the results of the query. ExecuteNonQuery: Execute SQL’s INSERT, DELETE,

UPDATE statements.

DataReader Object It is read-only and forward-only cursor. Basic Methods:

Read: Reads the current record and advances the pointer to the next record.

Close: Closes the dataReader.

ADODataReader Sample// Code for creating the ADOConnection “adoConn” not shownString myQuery = “SELECT * FROM Customers”;adoConn.Open();ADOCommand myCmd = new ADOCommand( myQuery,adoConn );// Declare the ADODataReader...ADODataReader myDataReader;

// Instantiate the ADODataReader with Execute(...) ...myCmd.Execute(out myDataReader);

// Always call Read before accessing data. while(myDataReader.Read()) { //code}

// Always Close the reader and the connection when donemyDataReader.Close();adoConn.Close();

DataSet Object A DataSet object can hold several tables and

relationships between tables. A DataSet is a set of disconnedted data. Data

is extracted from the database and stored in the DataSet object. Updates to the DataSet must copy back to the database to make the changes permanent.

DataSet and Related Objects

DataView

DataSetDataTable

DataTable

DataAdapter

Connection

Command

DataSet and Related Objects DataSet: Can contain multiple tables and

relationships. DataTable object: Represents a table in the

dataset. DataAdapter: This the object used to pass data

between the database and the dataset. The Fill method copies the data into the dataset, and the Update method copies the updates back into the database.(datasetcom)

DataView: This represents a specific view of the DataTables held in the dataset.

System.Data—DataSet and XML

DataSet can read/write XML for its data and/or schema

Means: You can create or modify a DataSet using XML!

XML-related DataSet methods for reading: ReadXml: Reads an XML schema and data into

the DataSet ReadXmlData: Reads XML data into the DataSet ReadXmlSchema: Reads an XML schema into the

DataSet And for writing: WriteXml, WriteXmlData,

WriteXmlSchema

Methods of Reading and Writing XML

// Code for creating the DataSet mds and loading the // DataSet from a data source not shown.

String oFile = “C:\\My_ADO.NET\\myXmlOutput.xsd”;String iFile = “C:\\My_ADO.NET\\myXmlInput.xsd”;

// Write the DataSet’s XMLSchema to an XML Documentmds.WriteXmlSchema( oFile );

// Read/Upload XML Data into the DataSetmds.ReadXmlData( iFile, true );

// Write the existing Data to an XML Documentmds.WriteXmlSchema( “C:\\My_ADO.NET\\myXmlData.txt );

// Or output the XML Data using the XmlData property!Console.WriteLine( mds.XmlData );

ASP.NET

ASP.NET ASP.NET is a new programming framework designed to

make web apps easier to: Build, Deploy, Run

Radical advancement of today’s ASP Broader programming language support

Visual Basic.NET, Jscript.NET, C# Form-based programming model(similar to VB form)

Event driven programming Programmable control

New application model XML Web service Mobile Web device support Better reliability and recovery Excellent Visual Studio support

ASP.NET Cont. Improved performance & scalability

ASP.NET is compiled, not interpreted Rich output caching

Session state can now be shared across a web form of ASP.NET servers .NET State Server Process manages state

ASP.NET detects and recovers from problems Access violations, memory leaks, dead

ASP.NET Application

Web forms:building powerful forms-based Web pages

XML Web Services :providing the means to access server functionality remotely.

Combinations

Web Forms The visual component(Web Form Pages) consists of a file(.aspx extension)

(1)static HTML (2) ASP.NET server controls HTML server controls Web server controls Validation controls user controls (3) both.

The logic for the Web Form page(code) separate file(.aspx.vb or .aspx.cs extension)

.NET Web Services

NET is built on Internet standard protocols

Uses Framework classes, such as System.Web.Services

Enables communication through open standards XML

Service description expressed with WSDL SOAP

Basic wire format Universal Description Discovery Integration

(UDDI) HTTP

Define XML Web Services

To create an XML Web service, simply write a .NET

object as if it were being accessed directly by local clients, mark it with an attribute that says this object should be available to Web clients, and ASP.NET will do the rest.

ASP.NET automatically hooks up a prefabricated infrastructure that accepts incoming requests through HTTP and maps them to calls on the object

ASP.net for XML Web Services• Creating a Web service 1. Create a file with an .asmx file name extension . 2.Within the file ,declare the XML web service

using directive 3.Define the XML service methods that compose

the functionality of the XML Web service• Creating a discovery file Create a XML document with a .DISCO extension (not compulsory to create)

Server-side view of XML Web services

Windows 2000 server machine with .NET

2. ASP.NET creates object specified in .ASMX file.

.NET object

Method 1..Method N

1. HTTP requests arrive, with method name and parameters encoded in URL or separate XML.

5. ASP.NET converts results to XML and returns to client via HTTP.

3. ASP.NET calls specified method on object. 4. Object returns

results to ASP.NET.

Client-side view of XML Web services

Client Program

1. At run time, client creates proxy object.

2. Client calls method on proxy.

Proxy

3. Proxy converts call to HTTP and XML and sends it to server over the Internet.

4. Proxy receives results in XML over HTTP and converts to function return value.

0. At programming time, a developer generates proxyobject code from a description of an XML Web service.

5. Client receives return value from proxy.

To/from server via Internet

Example: building a Web Service<%@ WebService Language="VB" Class="TimeService"%>

Imports SystemImports System.Web.Services

Public Class TimeService : Inherits WebService

<WebMethod()> Public Function GetTime (ShowSeconds as Boolean) As String

If (ShowSeconds = TRUE) Then return DateTime.Now.ToLongTimeString

Elsereturn DateTime.Now.ToShortTimeString

End if

End Function

End Class

Describing XML Web Services by WSDL File To develop client applications that uses the XML Web services,

programmers need a description of what the service does and how to use the service (e.g. methods exposed, parameters required by those methods, protocols supported)

Problem: a universal approach not restricted to the MS world of describing a service is needed!

Solution: The ASP.NET can generate such a description in the form of a WSDL (Web Service Description Language) file.

To obtain the WSDL file from ASP.NET, request the .asmx file with ?WSDL attached to the URL.

Alternatively, the developer can write the WSDL file first or obtain it from a 3rd party to describe what the service should do, and use the SDK utility program wsdl.exe to generate a template file.

The client application developer will probably not deal with raw WSDL files but rather use them through interpretive tools to develop client application.

The WSDL file also shows the supported protocols and how to access the service via these protocols from the client application.

Building XML Web Service Clients ASP.NET funnels incoming requests to XML Web service

objects packaged in 3 different ways HTTP GET HTTP POST SOAP (Simple Object Access Protocol)

SOAP is easier and more powerful than the other two methods. 1. A Web service client formats a SOAP request packet2. The client sends the SOAP request to the XML Web service

via an HTTP POST operation.3. The XML Web service parses the request, create the

object, call the method with the specified parameters, and return a SOAP response to the Web service client.

Calling a Web Service via SOAP A client-side SOAP proxy class makes client

applications much easier to write The .NET Framework SDK provides wsdl.exe to

generate proxy class from the WSDL file for accessing the methods in the specified language.

Visual Studio .NET uses the proxy class generator internally.

Create a Windows Forms project Add the XML Web service page as a Web Reference to

the project. This will run wsdl.exe internally and ask for a SOAP-based proxy in the language of the project.

Visual Studio then displays the namespace of the proxy class in Solution Explorer.

To access the XML Web service from the client, simply create an object of the proxy class and call the desired method on it.

Web Service Discovery This is the aspect of making the presence and

capabilities of a Web Service known to the world. This is the UDDI (Universal Discovery, Description, and

Integration) business registry service. Initiated by Ariba, IBM, and Microsoft. Supported by

more than 130 companies. Provides a standard place to register Web Services.

Check out www.uddi.org. UDDI is a specification built on SOAP/XML and defines a

document format and protocol for searching and retrieving discovery documents - which in turn link to DISCO documents.

DISCO (Discovery of Web Services) is a Microsoft protocol for retrieving the contracts for Web Services (WDSL documents).

Calling a Web Service via HTTP Get By requesting a Web Service URL from the IE Address

field, ASP.NET will respond with a neatly-formatted page that describes the Web Service and it’s methods. This page even provides a simple means to run the methods.

This is not UDDI or DISCO. Just a nicely-formatted page built from the metadata.

You can get the WSDL by appending “?wsdl” to the URL.

To call a method, append the method name and parameters to the URL like this:/MethodName?Parm=Value&NextParm=NextValue…e.g. http://localhost/timeservice/TimeServiceVB.asmx/GetTime?

ShowSeconds=FALSE Calling the service in this manner will result in a simple

XML response containing the return value.

Calling a Web Service via HTTP Post

The WSDL describes the requirements for doing this.

The Web Service expects that the incoming parameter values be contained in FORM fields with specific names. Therefore, the FORM has to contain INPUT elements named according to the WSDL. The ACTION attribute names the method:

<FORM Method=“Post” Action=“TimeServiceVB.asmx/GetTime”>

The response is an XML string.

Visual studio.NET

Visual Studio .NET Increased programming productivity

Easier to write code: drag and drop Web App and Services Development.

Fully supports the .NET Framework Simplified development

Multi-language support Improved debugging Unified IDE

Powerful design tools Windows Forms, Web Forms XML and component designers Consistent set of tools across languages

Visual Studio.NET Integrated Development Environment

Visual Basic.NET Many language enhancements Inheritance,Overloading, Free Threading

Visual C++ Integration with .NET Framework with managed

extensions (classes) C#

New development language Based on C/C++ with Garbage Collection/Memory

Management JUMP (Java User Migration Path) to .NET (1/25/01)

Visual J++ has been removed from the Visual Studio suite.

VS.NET Features Single IDE for all Languages Server Explorer

Event Viewer, Message Queues, Services SQL Databases, Data Connection, Etc.

Integrated IE Browser HTML/XML Editors Macros/Macro Explorer Solution Explorer Tabbed Documents Dynamic Help Common Forms Editor

VB.NET, C++, and C#

Reference

1.http://www.microsoft.com2.http://www.15seconds.com3.http://asp.net4.http://ado.net