web services
Download
Skip this Video
Download Presentation
Web Services

Loading in 2 Seconds...

play fullscreen
1 / 35

Web Services - PowerPoint PPT Presentation


  • 264 Views
  • Uploaded 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

Web Services

Larry Kerschberg,Co-Director

E-Center for E-Business

George Mason University

outline
Outline
  • Web Services Definition
  • Web Services versus Web Sites
  • Web Services Protocols and Standards
  • Conclusions
web services3
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
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

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

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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

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
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
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
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
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

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
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
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
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
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
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