Web services
Download
1 / 35

Web Services - PowerPoint PPT Presentation


  • 261 Views
  • Updated On :

Web Services Larry Kerschberg,Co-Director E-Center for E-Business George Mason University Outline Web Services Definition Web Services versus Web Sites Web Services Protocols and Standards Conclusions Web Services

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Web Services' - bernad


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Web services l.jpg

Web Services

Larry Kerschberg,Co-Director

E-Center for E-Business

George Mason University


Outline l.jpg
Outline

  • Web Services Definition

  • Web Services versus Web Sites

  • Web Services Protocols and Standards

  • Conclusions


Web services3 l.jpg
Web Services

  • Web services are Internet-based applications that fulfill a specific task or set of tasks, which can be combined with other Web services to maintain workflow or perform business transactions.

    • Airline, hotel and rental car reservation process,

    • Loan approval process

  • Users access Web services online & offline via PCs, cell phones, Personal Digital Assistants.

  • Programs can also access Web services directly.


Web services continued l.jpg
Web Services (continued)

  • Web services communicate with each other:

    • Share information about their functions & roles in an application’s workflow,

    • Publish the inputs they require & outputs they generate,

    • The result is just-in-time integration of business applications.

  • Each self-contained business service becomes an application that will easily integrate with other services (from the same or different companies) to create a complete business process.


Web sites and web services l.jpg

Business

Logic

Business

Logic

Database

Database

Web Service

Web Sites and Web Services

Web Site

HTTP

Web

Access

User

Interface

Internet

HTTP

Computer

Program

SOAP

Internet

SOAP

HTTP: Hypertext Transfer Protocol

SOAP: Simple Object Access Protocol


Travel web service portal l.jpg

Business

Logic

Business

Logic

Business

Logic

Database

Database

Database

Car Rental Service

Airline Service

Hotel Service

Travel Web Service Portal

Travel Portal

Web Site

HTTP

Web

Access

User

Interface

Internet

HTTP

SOAP

SOAP

SOAP

SOAP


Web services xml and metadata l.jpg
Web Services, XML and Metadata

GetaLoan.com

Internet

Loan Insurance

Company

Delivery of Service

=

Approval Or Denial

Delivery of Service

=

Credit Verification

Online Loan Applicant

Credit Reporting

Service

XML

Server

XML

Server

Delivery of Service

=

Loan approval & procurement

Meta

Data

Universal

Business

Registry

Delivery of Service

=

Loan insurance approval

XML

Documents

XML

Server

XML

Server

Web Services

Meta Repository

(WSMR)

Financial

Institutions


Web service standards l.jpg
Web Service Standards

  • Simple Object Access Protocol (SOAP) 

    • http://www.w3.org/TR/SOAP/

  • Web Services Description Language (WSDL)

    • http://msdn.microsoft.com/xml/general/wsdl.asp

  • Universal Description, Discovery and Integration (UDDI)

    • http://www.uddi.org


Simple object access protocol soap l.jpg
Simple Object Access Protocol (SOAP)

  • SOAP is an XML-based messaging framework

    • Designed to exchange data over the Internet

    • Can send request, reply messages or entire documents.

    • Neutral with respect to Operating System.

  • SOAP and XML provide a means for two or more portals, marketplaces or trading partners to agree on common data exchange services for “exposing” services to the Web for creating distributed the “virtual enterprise.”


Discovering soap services l.jpg
Discovering SOAP Services

  • Enterprise A uses URL provided by Enterprise B to get list of published services.

  • Enterprise A downloads the XML schemas (using WSDL) describing services message formats.

  • Enterprise A formats and sends XML message via SOAP to Enterprise B

  • Enterprise B responds via SOAP, which A interprets using XML Schema.


Soap message format l.jpg
SOAP Message Format

  • SOAP supports two basic XML message formats

    • Self-describing EAI (Enterprise Application Integration) and EDI (Electronic Data Interchange).

    • Remote procedure call (RPC) style interactions that model object method invocation and parameter passing.


Soap message format12 l.jpg

Envelope

Marks the start and end of a SOAP message.

Header (optional)

Used to include RPC style interaction.

Can contain no header or several headers.

Body

Contains the actual message or document being sent.

SOAP message elements are defined using schemas and qualified using namespaces.

Envelope

Header

Body

SOAP Message Format


Soap envelope l.jpg
SOAP Envelope

  • SOAP Envelope defines a framework for describing message contents and how to process it.

    • Rules for encoding the data transfer

    • Agree by downloading the same XML schema.

    • http://schemas.xmlsoap.org/soap/envelope/

    • http://schemas.xmlsoap.org/soap/encoding/


Soap header l.jpg
SOAP Header

  • Each header must be defined within an associated XML schema,

  • Allow features such as security, transactions, and quality of service attributes to be specified.

  • Must be understood by both parties,

  • Allows consumers and publishers to negotiate agreement on support of a given header or a set of headers.


Soap body l.jpg
SOAP Body

  • Contains application-defined XML data being exchanged in message.

    • Either a single, self-describing structure, or

    • Remote Procedure Call (RPC) interface with method name and typed parameters.

  • Next slide shows an example of a stock quote request and response.


Soap example l.jpg

Request:

<SOAP-ENV: Envelope>

<SOAP-ENV: Body>

<m:GetLastTradePrice xmlns:m-”Some-URI”>

<symbol>MSFT</symbol>

</m: GetLastTradePrice>

</SOAP-ENV:Body>

</SOAP-ENV: Envelope>

Response:

<SOAP-ENV: Envelope>

<SOAP-ENV: Body>

<m:GetLastTradePriceResponse xmlns:m-”Some-URI”>

<Price>63.00</Price>

</m: GetLastTradePriceResponse>

</SOAP-ENV:Body>

</SOAP-ENV: Envelope>

SOAP Example


Web services description language wsdl l.jpg
Web Services Description Language (WSDL)

  • WSDL is a form of XML Schema to define the XML message, operation and protocol mapping of a web service accessed using SOAP or another XML protocol.

  • WSDL defines Web services as “end points” that operate on XML messages.

  • Both the messages and the operations on the messages are defined abstractly and then mapped to multiple physical implementations.

  • Current mappings include SOAP 1.1, HTTP GET/POST and MIME.


Wsdl specification l.jpg
WSDL Specification

Definition List

  • Proxy Code

    • A definition of message types and operations in the abstract,

  • Binding Information

    • A definition that maps the abstract definitions onto concrete transports and network end points.

  • Service Definition

    • A definition that maps bindings to ports and includes extensibility, e.g., attributes or properties for quality of service agreements.

  • Proxy code:

  • Message type

  • Abstract interface (port type)

  • Binding information:

  • Transport

  • Port

  • Service definition:

  • Binding/port

  • Extensibility


Iona s xml bus web services l.jpg
IONA’s XML Bus Web Services

  • Dynamic WSDL Test Facility (several web services)

    • http://www.xmlbus.com:9010/WSDLClient/WSDLDynamicTestClient.html

  • WSDL Service Description

    • http://www.xmlbus.com:9010/xmlbus/container/Converter/ConverterService/ConverterPort


Convert inches to millimeters l.jpg
Convert Inches to Millimeters

  • XML Query

    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

    xmlns:xsd="http://www.w3.org/2001/XMLSchema"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

    <m1:inchToMM xmlns:m1="urn:target-converter-service">

    <param0 xsi:type="xsd:float">1.0</param0>

    </m1:inchToMM>

    </SOAP-ENV:Body>

    </SOAP-ENV:Envelope>

  • XML Response

    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

    xmlns:xsd="http://www.w3.org/2001/XMLSchema"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

    <m1:inchToMMResponse xmlns:m1="urn:target-converter-service">

    <return xsi:type="xsd:float">25.4</return>

    </m1:inchToMMResponse>

    </SOAP-ENV:Body>

    </SOAP-ENV:Envelope>



Uddi universal description discovery and integration l.jpg
UDDI - Universal Description, Discovery and Integration

  • Goal is to enable the interoperability of web services

    • Standards-based specifications for service description and discovery

    • Shared operation of a business registry on the web

  • Partnership among industry and business leaders


How uddi v1 works l.jpg

4.

Marketplaces, search engines, and business apps query the registry to discover services at other companies

2.

5.

BusinessRegistrations

Businesses populate the registry with

descriptions of the services they support

Business uses this data to facilitate easier integration with each other over the Web

3.

UBR assigns a programmatically unique identifier to each service and business registration

How UDDI v1 Works

1.

SW companies, standards bodies, and programmers populate the registry with

descriptions of different types of services

UDDI BusinessRegistry

Segrvice Type

Reistrations


White pages yellow pages l.jpg

Business Name

Text Description

list of multi-language text strings

Contact info

names, phone numbers, fax numbers, web sites…

Known Identifiers

list of identifiers that a business may be known by - DUNS, Thomas, other

Business categories

3 standard taxonomies in V1

Industry: NAICS (Industry codes - US Govt.)

Product/Services: UN/SPSC (ECMA)

Location: Geographical taxonomy

White Pages Yellow Pages


Green pages l.jpg
Green Pages

  • Businesses describe how other businesses will “do e-commerce”:

    • Nested model

      • Business processes

      • Service descriptions

      • Binding information

    • Programming/platform/implementation agnostic

    • Services can also be categorized


Service type registration l.jpg
Service Type Registration

  • Pointer to the namespace where service type is described

    • What programmers use to understand how to use the service

  • Identifier for who published the service

  • Identifier for the service type registration

    • called a tModelKey

    • Used as a signature by web sites that implement those services


Business registration l.jpg

XML document

Created by end-user company

Can have multiple service listings

Can have multiple taxonomy listings

Contact

Contact

Phone

Address

Email

Phone

Address

Email

keyedReference

keyedReference

keyedReference

keyedReference

tModelKey

keyName

keyValue

tModelKey

keyName

keyValue

tModelKey

keyName

keyValue

tModelKey

keyName

keyValue

Business Registration

businessEntity

businessKey

name

URL

description

contacts

businessServices

identifierBag

categoryBag

businessService

businessService

serviceKey

tModelKey

Name

Description

BindingTemplates

Key

Name

Description

BindingTemplates

From www.uddi.org


Example of a registration l.jpg

Peter Smythe

businessEntity

872-6891

4281 King’s Blvd, Sydney, NSW

[email protected]

TB993… Harbour Metals

www.harbourmetals.co.au

“Serving Inner Sydney Harbour for …

contacts

businessServices

identifierBag

categoryBag

businessService

businessService

23T701e54683nf…

Online catalog

“Website where you can …

BindingTemplates

Key

Name

Description

BindingTemplates

BindingTemplate

keyedReference

keyedReference

5E2D412E5-44EE-…

http://www.sydneynet/harbour…

tModelInstanceDetails

DFE-2B…

DUNS

45231

EE123…

NAICS

02417

tModelInstanceInfo

4453D6FC-223C-3ED0…

http://www.rosetta.net/catalogPIP

tModelKeys

Example of a Registration

From www.uddi.org


Uddi and soap l.jpg
UDDI and SOAP

UDDI RegistryNode

User

UDDISOAP Request

HTTPServer

SOAPProcessor

UDDISOAP Response

UDDIRegistry Service

B2B Directory

Create, View, Update, and Deleteregistrations

Implementation-neutral

From www.uddi.org


Registry apis soap messages l.jpg

Inquiry API

Find things

find_business

find_service

find_binding

find_tModel

Get Details about things

get_businessDetail

get_serviceDetail

get_bindingDetail

get_tModelDetail

Publishers API

Save things

save_business

save_service

save_binding

save_tModel

Delete things

delete_business

delete_service

delete_binding

delete_tModel

security…

get_authToken

discard_authToken

Registry APIs (SOAP Messages)

From www.uddi.org




E business standards l.jpg
E-Business Standards

  • Electronic Business XML (ebXML)

    • http://www.ebxml.org/

      • Local Web Site

  • RosettaNet

    • http://www.rosettanet.org/

      • Local Partner Interface Processes


Electronic business xml ebxml l.jpg
Electronic Business XML (ebXML)

  • International initiative established by the United nations and OASIS to promote global standards to exchange business data.

  • Wants to promote a global e-business marketplace, regardless of geographic or political boundaries.

  • ebXML has several models and mappings:

    • Business Process and Information Model,

    • Model maps to XML documents,

    • Defines requirements for applications that process the documents and exchange them among trading partners.


Ebxml continued l.jpg
ebXML (continued)

  • The ebXML architecture defines:

    • Business processes and their associated messages and content,

    • A registry and discovery mechanism for publishing business process sequences and related message exchanges,

    • Company profiles,

    • Trading partner agreements,

    • A uniform message transport layer which is mapped to SOAP with multipart MIME attachments.


ad