Presentations Dnrk Wso

  • Uploaded by: api-3843015
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Presentations Dnrk Wso as PDF for free.

More details

  • Words: 1,865
  • Pages: 53
Web Services Overview

Objectives  Background 

Microsoft® .NET Framework



Microsoft ASP.NET

 Web

Services Overview



Concepts and Architecture



Design and Create Web Services



Consume Web Services

Contents  Section

1: Overview

 Section

2: Architecture



Microsoft .NET framework and ASP.NET

 Section

3: Creating Web Services

 Section

4: Using Web Services



Invoking and consuming Web Services

 Section 

5: Advanced Web Services

State Management, Security, and Transactions

 Summary

Section 1: Overview  “Looking  What

Back ...“

are Web Services?

 Distributed

Web applications

Looking Back ...  Traditional

distributed computing



Client/server model



Distributed object model 

Components: packaging and interoperability



Remoting: remote method invocation



COM, CORBA, Java RMI and EJB

 Microsoft

Windows DNA



Distributed interNet Application Architecture



DHTML, COM, ASP, Message Queuing

 The

interactive Web

What’s Wrong with That?  Distributed 

object models don‘t scale to the Internet

Tightly coupling service and consumer 

Need for homogeneous infrastructure



Versioning problems

 Limited

COM support on non-Windows platforms

 CORBA

is a remoting architecture



CORBA Component Model



Server object implementation not portable

 EJB—Enterprise  The

JavaBeans

purely interactive Web

Web Services—Basics  Expose 

Internet or intranet

 Black 

boxes

Component-like, reusable

 Based 

on the .NET Framework

ASP.NET Web Services model

 Based 

services to other processes

on open standards

HTTP, XML, and SOAP

Web Services—Basics  Interconnect 

Applications



Different clients



(M)any device

 Distribution  Web

Services are loosely coupled

 Enable 

and integration of application logic

the programmable Web

Not just the purely interactive Web

Distributed Web Applications Devices, Browsers

Call Services

Application

Access Application

Internet

Vertical and portal service App-specific Web Service

Building block Web Service OS and local services Web Services Contract

Section 2: Architecture  The

.NET Framework Architecture

 Programming  Configuration

Model

The .NET Framework Architecture Microsoft .NET Framework ASP.NET Web Forms

Windows Forms

Web Services Services Framework Base

Data

Debug

Common Language Runtime System Services

...

Programming model Source Code

Compiler

Common Language Runtime Execution Engine

CIL & Metadata

Class Loader

JIT Compiler

Execution

Managed native Code

Class Lib

Configuration  Concepts

1/2

and architecture



Web.Config file



Hierarchical configuration architecture  Influence

on the actual directory and all subdirectories

Root Dir

Web.Config

Sub Dir1 Sub Dir2

Configuration  Web.Config

2/2

file



XML based



File is kept within the application directory



Default and custom configuration 

Customized Web.Config file



Customized configuration section handler

 WebServicesConfiguration

class



Contains configuration information



<webServices> section in Web.Config

Section 3: Creating Web Services  Basics  Web

Services Infrastructure

 Code  Web

of Creating Web Services

and Syntax

Services Namespace

 Publishing  Discovery

Creating Web Services— Basics  .asmx

file



Virtual path of ASP.NET Web application



Stand-alone or part of an existing solution

 Web 

Services infrastructure

Discovery, description, and wire format

 Microsoft 

Visual Studio.NET

Microsoft Visual Basic.NET, C#, and Managed C++

Web Services Infrastructure Request .vsdisco Discovery Return disco (XML) Request WSDL Web Service Client

Description Return WSDL (XML) Request .asmx Protocol Return response (XML)

Web Service

Code and Syntax  WebService 

Directive

Settings for ASP.NET compilers

<%@ WebService Language=value Class=value %>  WebMethod  Code 

Attribute

Declaration Syntax

Outline <%@ WebService Class=“MyClass.MyWebService“ %>



Inline (in C#)

<%@ WebService Language=“C#“ Class=“MathService“ %> using System.Web.Services; public class MathService : WebService { [ WebMethod ] ...

Sample .asmx file <%@ WebService Language=“C#“ Class=“MathService“ %> using System; using System.Web.Services; public class MathService { [WebMethod] public int Subtract(int a, int b) { return a - b; }

}

public int Subtract_vs(int a, int b) { return b - a; }

System.Web.Services Namespace 1/2  WebService 

Base class for Web Services



Provides base functionality 

For example, WebService.Session

 WebServiceAttribute 

Optional class to add additional information

 WebMethodAttribute 

[ WebMethod ]



Makes a method a Web Service method

System.Web.Services Namespace 2/2  WebServiceBindingAttribute 

Interface in WSDL



Set of operations

 WebServicesConfiguration 

Contains configuration information



<webservices> section in config.web

 WebServicesConfigurationSectionHandler

Publishing a Web Service  Expose  Create

Web Service and Web Service methods

a Web Service proxy and an assembly



Generate proxy with WSDL tool



Create an assembly



Enables developers to program against Web Services

 Publish  Web 

WSDL contract and HTML description

Service clients

Can be Web applications or browsers

Discovery of Web Services  .vsdisco 

file

XML-based file  containing

links to resources for retrieving WSDL



Stored in the server‘s root directory



Access via URL and dynamic discovery document



Start discovering with the Disco tool



Automatically created by Visual Studio.NET

 Global 

directory of Web Services through UDDI

Universal Discovery, Description, and Integration (http://www.uddi.org)

Disco.exe  Discovering

Web Services

 Command-line

example:

disco /out:location /domain:domain /username:username /password:password http://localhost/WebService1/ WebService1.vsdisco

WSDL.exe  Web 

Services Description Tool

Create client proxy class

 Input: 

URL of a WSDL file, Proxy language, and protocol



Username and password

 Output: 

Single source file in specified language, containing:  Proxy

class

 Code

for network invocation and marshalling

wsdl /l:C# /protocol:protocol /out:filename /namespace:MathServiceSpace MathService.sdl

Section 4: Using Web Services  Application  Invoking

Web Services

 Consuming  Web

Model

Web Services

Services Description Language (WSDL)

Application Model Web Service Developer Web Application Developer Web Server 1 asmx

Service App

.aspx

Web Server 2 Proxy

Web Form Service App

Invoking Web Services  Web 

Services are URL addressable

HTTP request

 Protocols 

HTTP-GET  Method



HTTP-POST 



name and arguments in URL

Method name and arguments in POST body

HTTP-SOAP  XML

grammar for



Addressing the Web Service



Returning results

Invoking: HTTP-GET and HTTP-POST http://server/appl/service.asmx/method?param=value  Standard

HTTP-GET



Method name = PATHINFO



Method arguments = URL query string





Query string key = parameter name



Multiple parameters



Only primitive .NET runtime data types

Result is an XML document 

Any .NET data type

 HTTP-POST 

Similar to GET, but with arguments in the form body

Invoking: HTTP-SOAP  XML 

grammar for

Web Service method, method parameters, results

 Supports 

Additionally: classes, structs, datasets

 Class 

all standard .NET data types and value classes

and struct marshalling

Serialization in XML format

Consuming Web Services  Request

without method name and parameters



HTML description of Web Service



Service capabilities, methods, protocols

 Web 

Service can return WSDL

HTTP-GET, HTTP-POST, and HTTP-SOAP

 Request

with parameter “?WSDL”



Formal WSDL description of Web Service



XML-based grammar



Can be used as input for WebServiceUtil.exe

WSDL  XML

1/2

grammar, defining:



Services and ports that communicate via messages



Binding 

Specify a protocol or a data format for a message or a port



Extensions for SOAP 1.1, HTTP GET/POST, and MIME

 Public 

description of a Web Service and its content

WSDL contract

 Core

Elements of WSDL



service, port, and portType



operations and messages

WSDL  An

2/2

abstract illustration of WSDL elements service_1 port_B

port_C service_2 message port_D

port_A message port type

Sample WSDL file <definitions name=“serviceName“> <portType name=“serviceNamePortType“> <soap:operation soapAction=“http://...“ /> <service name=“serviceName“> <port name=“serviceNamePort“ binding=“bindingName“> <soap:address location="http://..." />

Section 5: Advanced Web Services  State

Management

 Security  Transactions  Execution

Model

 Distributed

Web Applications

State Management  Web

Services are stateless

 Use,

for example, ASP.NET session state



What is a session?  Restricted  Context



in which a user communicates to a server

Functionality  Request  Store



to a logical application

identification and classification

data across multiple requests

 Session

events

 Release

of session data

.NET State Server

Security Model  Reasons

for Security



Prevent access to areas of your Web server



Record and store secure relevant user data

 Security

Configuration

 Authentication,

Web Client

 Code 

Authorization, Impersonation

IIS

ASP.NET App

.NET

Access Security

Walks the call stack to check authorization

OS

Transactions  Like

1/2

ASP.NET Web Forms

 COM+

Services



COM+ automatic transactions



Atomic, consistent, isolated, durable (ACID)

SQL Server Application

Web Service COM+ transaction context

Message Queuing Server

Transactions  TransactionOption

2/2

Property on WebMethod Attribute:

[WebMethod(TransactionOption= TransactionOption.Required)]  Transaction

Modes



Disabled



Supported



NotSupported



Required



RequiresNew

Execution Model  Synchronous 

Like any other call to class methods

 Asynchronous 

.NET Framework design pattern



Split the method into two code blocks





BeginMethodName



EndMethodName

Client has to call Begin and End 

Pass a callback function or



WaitHandle class

Using Web Services from UI  Completely 

separate layout and processing logic

Two (or more) files: .aspx and .aspx.cs or .aspx.vb .aspx

 Files 

.aspx.cs

for designers and files for programmers

Easy maintainability of your application

Sample  .aspx

<%@ Import Namespace=“MathServiceSpace“ %> <script language=“C#“ runat="server"> public void Submit_Click(Object S, EventArgs E) { service.Add(operand1, operand2); ... ...  .asmx  WSDL

file implements method “Add” file, returned by the ASP.NET runtime

Sample  C#

proxy class, generated by WSDL.exe

[System.Web.Services.Protocols. SoapDocumentMethodAttribute(“http://tempuri.org/Add“)] public int Add(int a, int b) {

object[] results = this.Invoke(“Add“, new object[] {a, b});

}

return (int)(results[0]);

... public System.IAsyncResult BeginAdd(... public int EndAdd(...

Summary  .NET

Architecture Overview

 Web

Services and ASP.NET

 Create

and Publish Web Services

 Invoke

and Consume Web Services

 WSDL

and Proxy Classes



Program Against Web Services

Questions

A Simple Web Service ASP.NET QuickStart Tutorial

ASP.NET QuickStart  What

Is It?



Tutorial, ASP.NET samples



Syntax, architecture, features

 Installation 

Install Microsoft .NET Framework SDK  Visual



Installation of Visual Studio.NET is not mandatory

 .NET 

Studio.NET installation and Components Update

Framework Samples

ASP.NET QuickStart  ASP.NET Web Services  Writing a Simple Web Service

Building a Simple Web Service  Create 

your own MathService

.asmx  Implement



Create WSDL file (MathService.wsdl)  Request



class MathService and Web methods

to MathService.asmx

Generate C# proxy class (MathService.cs)  WebServiceUtil.exe



Generate Assembly (MathService.dll)  C#

compiler “csc”

Consuming a Simple Web Service  Implement

MathService client (MathServiceClient.aspx) 

ASP.NET UI  Operands  Methods  Result



 Text box

 Buttons

 Label

Event Handler  OnServerClick

TerraServer. Microsoft.net

Overview  What

is it?



Set of Web methods



Programmable interface to online database  Aerial

imagery and topographical maps

 Assumptions

for this tutorial



Visual Studio.NET



Internet connection

Tutorial  Create

a new project

 Create

application UI

 Add

Web reference

 Implement

functionality

Legal Notices Unpublished work.  2001 Microsoft Corporation. All rights reserved. Microsoft, Visual Basic, Visual Studio, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Related Documents

Presentations Dnrk Wso
November 2019 5
Wso
May 2020 18
Deficiencies Presentations
November 2019 12
Grammar Presentations
June 2020 10
Presentations Slides
May 2020 13