Bp1070 web services a technical overview
Download
1 / 72

2003 Exchange PROGRESS BP1070: Web Services A Technical ... - PowerPoint PPT Presentation


  • 332 Views
  • Uploaded on

BP1070: Web Services – A Technical Overview. Ken Wilner ([email protected]) Fellow. Agenda. Web Services Architecture Wire Stack Description Stack Discovery Stack That’s All Folks…. What Is a Web Service?.

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 '2003 Exchange PROGRESS BP1070: Web Services A Technical ...' - Melvin


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
Bp1070 web services a technical overview l.jpg

BP1070:Web Services – A Technical Overview

Ken Wilner ([email protected])

Fellow


Agenda l.jpg
Agenda

Web Services Architecture

Wire Stack

Description Stack

Discovery Stack

That’s All Folks…


What is a web service l.jpg
What Is a Web Service?

A Web Service is a software system identified by a URI, whose public interfaces and bindings are defined and described by XML.

Its definition can be discovered by other software systems.

These systems may then interact with the Web Service in a manner prescribed by its definition, using XML based messages conveyed by internet protocols.

Web Services ArchitectureW3C Working Draft 14 November 2002http://www.w3.org/TR/ws-arch/

What the standards guys are saying.


What is a web service4 l.jpg
What is a Web Service?

An application that can be accessed over the Web or any network from another application using RPC style calls encoded using SOAP over HTTP where the interface is described using WSDL

Ken Wilner, Fellow PSC

Reality today.


Service oriented architecture and web services l.jpg
Service-Oriented Architecture and Web Services

Web ServiceRegistry

Publish, Find, and Bind

Find Web Service

Publish Web Service

ServiceDetails

Interact (Bind)

Web Service Provider

Web ServiceRequestor


Web services protocol stacks l.jpg

SOAP

XML

WSDL

HTTP

XML Schema

Web Services Protocol Stacks

Directory

UDDI

A

Inspection

Messaging

Discovery Stack

Data Encoding

Network Protocol

Service Orchestration

Wire Stack

Service Description

Datatype Definition

Description Stack


Web services implementation architecture l.jpg
Web Services Implementation Architecture

Web Server

ApplicationServer

POST(Soap)

Web Service Client

HTTP Listener

SOAP Processor

BusinessLogic

Business Interface

Response(Soap)

WSDL

Web Service


Openedge web services toolkit architecture l.jpg

Web Server

POST(Soap)

Web Service Client

HTTP Listener

Web Services Adapter

Response(Soap)

AppServers

WSDLFiles

OpenEdge Web Services Toolkit Architecture


Why should i care l.jpg
Why Should I Care?

  • Understand the standards that make up Web Services

  • Understand the state of Web Services and where its heading

  • Understand how to use Web Services efficiently

  • Understand why Web Services will be successful and where


Agenda10 l.jpg

SOAP

XML

HTTP

Agenda

Web Services Architecture

Wire Stack

Description Stack

Discovery Stack

That’s All Folks…

Messaging

Data Encoding

Network Protocol

Wire Stack


What it is l.jpg
What It Is….

  • A lightweight xml-based protocol for message exchange

  • Supports message typing, strong typing, and structured data

  • Can be used in a variety of communication paradigms

  • Programming language and platform independent

  • Highly extensible

    • Transport independent

    • Encoding independent

    • Extra context via headers


What it is12 l.jpg
What It Is…

  • W3C Note SOAP V1.1 http://www.w3.org/TR/SOAP

    • SOAP message format

    • SOAP encoding

    • SOAP over HTTP transport binding

    • SOAP for RPC convention

  • W3C Draft SOAP V1.2

    http://www.w3.org/TR/soap12-part0/

    http://www.w3.org/TR/soap12-part1/

    http://www.w3.org/TR/soap12-part2/


Soap message l.jpg

<Body> encloses body entries

<Header> encloses headers (optional)

Headers entries contain extensions

Message name and data

SOAP Header

Header Entry

Header Entry

SOAP Body

Body Entry

SOAP Message

<Envelope> encloses message

SOAP Envelope


Soap message14 l.jpg
SOAP Message

<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope

SOAP-ENV:encodingStyle=

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

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

<hd:Security xmlns:hd="http://www.e1.com">

<username>Wilner</username>

<password>BigDeal</password>

</hd:Security>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<ns1:GetCustomer xmlns:ns1="http://www.e1.com">

<CustomerId xsi:type="xsd:int">6734</CustomerId>

</ns1:GetCustomer>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>


Soap envelope l.jpg
SOAP Envelope

<SOAP-ENV:Envelope

SOAP-ENV:encodingStyle=

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

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

</SOAP-ENV:Envelope>


Soap body l.jpg
SOAP Body

  • Body entry contains application-specific data

  • Serialized based on encodingStyle

  • May represent an RPC request or response message, a specific document, or whatever you want


Soap body17 l.jpg
SOAP Body

<SOAP-ENV:Envelope … >

<SOAP-ENV:Body>

<ns1:GetCustomer xmlns:ns1="http://www.e1.com">

<CustomerId xsi:type="xsd:int">6734</CustomerId>

</ns1:GetCustomer>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>


Soap header l.jpg
SOAP Header

  • Allows (optional) context information to be added to message independently of the payload

    • Authentication and authorization information

    • Transaction id

    • Object id

  • Intermediary specific information – chaining

    • Routing information – to, from, via, etc…

    • Security information

    • Auditing


Soap header19 l.jpg
SOAP Header

<SOAP-ENV:Envelope … >

<SOAP-ENV:Header>

<hd:TID xmlns:hd="http://www.e1.com">

673456:4439234:439439439349

</hd:TID>

<hd:Securityxmlns:hd="http://www.e1.com">

<username>Wilner</username>

<password>BigDeal</password>

</hd:Security>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>


Transports l.jpg
Transports

  • HTTP

  • SMTP (E-Mail)

  • FTP

  • Files

  • Postal Service

  • FAX

  • DOG


Soap over http l.jpg
SOAP Over HTTP

  • As specified in SOAP V1.1 note

  • HTTP POST message

  • SOAPAction HTTP header

  • HTTP status code

    • 2xx indicates success

    • 500 indicates fault


Soap over http request l.jpg

HTTP

Header

SOAP Request

SOAP Over HTTP Request

  • POST / HTTP/1.1

  • SOAPAction: "http://www.e1.com/GetCustomer"

  • Content-Type: text/xml; charset=utf-8

  • Host: localhost:8081

  • Content-length: 706

  • <SOAP-ENV:Envelope … >

  • <SOAP-ENV:Body>

  • <ns1:GetCustomer

  • xmlns:ns1="http://www.e1.com">

  • <CustomerId xsi:type="xsd:int">

  • 6734

  • </CustomerId>

  • </ns1:GetCustomer>

  • </SOAP-ENV:Body>

  • </SOAP-ENV:Envelope>


  • Soap over http response l.jpg

    HTTPResponseHeader

    SOAP Response

    SOAP Over HTTP Response

    • HTTP/1.1 200 OK

    • Content-Type: text/xml; charset=utf-8

    • Content-Length: 226

    • <SOAP-ENV:Envelope … >

    • <SOAP-ENV:Body>

    • <ns1:GetCustomerResponse xmlns:ns1="http://www.e1.com">

    • <Name xsi:type="xsd:string">

    • Fred Flintstone

    • </Name>

    • <Balance xsi:type="xsd:decimal">

    • 2349.27

    • </Balance>

    • </ns1:GetCustomerResponse>

    • </SOAP-ENV:Body>

  • </SOAP-ENV:Envelope>


  • Attachments l.jpg
    Attachments

    • Standard way of attaching or including non-XML data in a Web Services (SOAP) request, e.g. a picture, an EXCEL file, another XML document, etc.

    • Two Approaches

      • SOAP with Attachments

        • based on MIME with extensions to SOAP and WSDL

          http://www.w3.org/TR/SOAP-attachments

      • WS-Attachments

        • A Microsoft and IBM proposal

        • based on DIME

        • A more efficient version of MIME

          http://www-106.ibm.com/developerworks/webservices/library/ws-attach.html


    Soap with attachments l.jpg

    MIME Header

    SOAP Envelope

    MIME Part 0

    SOAP Header

    SOAP Body

    MIME Part n

    SOAP with Attachments

    MIME

    Standard MIME header

    1st MIME part containers SOAP message

    ...

    Other MIME parts container whatever you want

    ????????


    Soap with attachments26 l.jpg
    SOAP with Attachments

    MIME-Version : 1.0

    Content Type:Multipart/Related;boundary=MIME_boundary; type=text/xml; [email protected]_boundary

    Content-Type: text/xml; charset=UTF-8Content-Transfer-Encoding: 8bitContent-Id: <[email protected]><?xml version="1.0" encoding="UTF-8"?>

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

    <SOAP-ENV:Body>

    <ns1:GetCustomerPictureResponse

    xmlns:ns1="http://www.e1.com">

    <Picture href="cid:[email protected]" />

    </ns1:GetCustomerPictureResponse>

    </SOAP-ENV:Body>

    </SOAP-ENV:Envelope>


    Soap with attachments27 l.jpg
    SOAP with Attachments

    --MIME_boundary

    Content-Type: image/tiff

    Content-Transfer-Encoding: binary

    Content-Id: <[email protected]>

    …binary TIFF image

    --MIME_boundary


    Agenda28 l.jpg

    WSDL

    XML Schema

    Agenda

    Web Services Architecture

    Wire Stack

    Description Stack

    Discovery Stack

    That’s All Folks…

    Service Orchestration

    Service Description

    Datatype Definition

    Description Stack


    Slide29 l.jpg
    WSDL

    Web Service Description Language

    W3C note – defacto standard

    http://www.w3.org/TR/WSDL.html

    • Service interface

      • What can it do?

    • Service implementation

      • How do I invoke it?

    • Service location (optional)

      • Where does it reside?


    Slide30 l.jpg
    WSDL

    • Service interface maps to business interface

    • Generation approaches:

      • WSDL generated from business interface

      • Business interface generated from WSDL (industry standards)


    Slide31 l.jpg

    XML Schema

    part

    XML Schema

    part

    XML Schema

    part

    XML Schema

    porttype

    binding

    binding

    ServiceInterface

    operation

    operation

    operation

    message

    message

    message

    WSDL

    types

    ServiceImplementation

    ServiceLocation

    service

    port


    Slide32 l.jpg
    WSDL

    <definitions ….>

    <messages …> ... </messages>

    <messages …> ... </messages>

    <portType …> … </portType>

    <portType …> … </portType>

    <binding …> … </binding>

    <service…> … </service>

    </definitions>


    Slide33 l.jpg
    WSDL

    Definitions

    <definitions name="CustomerAdmin"

    targetNamespace=

    "http://www.example.com/customer"

    xmlns:tns="http://www.example.com/customer"

    xmlns:soap=

    "http://schemas.xmlsoap.org/wsdl/soap/"

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

    xmlns:xsi=

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

    xmlns="http://schemas.xmlsoap.org/wsdl/"

    </definitions>


    Slide34 l.jpg
    WSDL

    Messages

    <message name="GetCustomer">

    <part name="CustomerId" type="xs:int"/>

    </message>

    <message name="GetCustomersResponse">

    <part name="Name" type="xs:string"/>

    <part name="Balance" type="xs:decimal"/>

    </message>


    Slide35 l.jpg
    WSDL

    PortType

    <portType name="CustomerPortType">

    <operation name="GetCustomer">

    <input message="tns:GetCustomer"/>

    <output message="tns:GetCustomerResponse"/>

    </operation>

    </portType>


    Slide36 l.jpg
    WSDL

    Binding

    <binding name="CustomerBinding" type="tns:CustomerPortType">

    <soap:binding style="rpc" transport=

    "http://schemas.xmlsoap.org/soap/http"/>

    <operation> … </operation> …

    </binding>


    Slide37 l.jpg
    WSDL

    Binding

    <operation name="GetCustomer">

    <soap:operationsoapAction=

    "http://www.progress.com/Sports"/>

    <input>

    <soap:body use="encoded“

    encodingStyle=

    "http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.e1.com/customer"/>

    </input>

    <output>

    <soap:body use="encoded"

    encodingStyle=

    "http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.e1.com/customer"/>

    </output>

    </operation>


    Slide38 l.jpg
    WSDL

    Service

    <service name="CustomerService">

    <port name="CustomerPort" binding="CustomerBinding">

    <soap:address location="http://www.example.com/customer"/>

    </port>

    </service>


    Wsdl support for attachments l.jpg
    WSDL Support for Attachments

    Binding

    <binding name="Customer_Binding" ... />

    <soap:binding .../>

    <operation name="SetCustomerPicture">

    <soap:operation ... />

    <input>

    <mime:multipartRelated>

    <mime:part>

    <soap:body parts="CustomerId" use="encoded" ... />

    </mime:part>

    <mime:part>

    <mime:content

    part="CustomerPicture" type="image/tiff"/> </mime:part>

    </mime:multipartRelated>

    </input>

    <output> … </output>

    </operation>

    </binding>


    Service orchestration l.jpg
    Service Orchestration

    • A fancy name for a business process

    • SOAP, WSDL, and "discovery mechanism" allow for loosely integrated Web Services

    • Business requirement to be able to model and formally describe complex Web Service interactions

    • Specifies the execution order of a collection of Web Services, e.g.

      • A travel reservation system

      • An mortgage application system


    Service orchestration41 l.jpg

    WebService

    WebService

    Business Process

    WebService

    WebService

    Service Orchestration

    WebServiceClient

    • Looks like a Web Service to the outside world

    • Accessed using WSDL

    • Needs to be flexible and adaptable

    • Swap out one service implementation for another

    • Requirement for a "process engine" that handles the flow between Web Services

    Web Service


    Service orchestration42 l.jpg

    Order Title Search

    • MortgageApp.wsdl

    • MortgageApp Porttype

    • SendMortgageRequest Operation

    Service Orchestration

    Mortgage Web Service

    Receive Mortgage Application

    Process Mortgage

    Order Appraisal

    Order Credit Check

    Process Application

    Notify Customer

    Web Service Invocation

    Message passing


    Service orchestration43 l.jpg
    Service Orchestration

    • Using standards allow process to be published, shared, and integrated with other processes

    • Lots of proposed standards – very immature

      • WSFL

        • http://www.ibm.com/software/solutions/webservices/pdf/WSFL.pdf

      • XLANG

        • http://msdn.microsoft.com/library/default.asp?url=/library/en-us/bts_2002/htm/bts_gs_content_rtzn.asp

      • BPML

        • http://www.bpmi.org

      • WSCI

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

      • BPEL4WS

        • http://www.ibm.com/developerworks/library/ws-bpel


    Bpel4ws l.jpg
    BPEL4WS

    • Supercedes XLANG (Microsoft) and WSFL (IBM)

    • Subset of BPML

    • XML-based programming language for creating an executable business process

      • Message oriented

      • XML-oriented

    • Basic activities

      • Receive, reply, invoke

      • Assign and copy

        • Messages

        • Properties (variables)

      • Faults – throw/catch model


    Bpel4ws45 l.jpg
    BPEL4WS

    • Structured activities

      • Sequences

        • Execute sequentially

      • Flows with links

        • Executes a set of activities in parallel with dependencies controlled by links

      • Wait

        • For time-out period

        • Until a specific date


    Bpel4ws46 l.jpg
    BPEL4WS

    • Structured Activities

      • While

        • Execute an activity while a condition is true

      • Switch

        • Condition behavior based on an expression

      • Pick

        • Waits for an event and executes the corresponding activity

        • Two types of event

          • A particular message

          • A timeout


    Bpel4ws47 l.jpg
    BPEL4WS

    • Scopes

      • A way of grouping a set of activities

      • Can be nested

      • Can bind a compensation handler to a scope for long running transaction support

    • Containers

      • Mechanism for holding messages and passing them from one step to the next


    Bpel4ws48 l.jpg

    Other Web Services and clients by PortType

    partners

    containers

    faultHandlers

    <partner>….</partner>*

    <container>….</container>*

    <catch>….</catch>*

    Named storage for message

    Pointer to application data that correlates a async request with a reply, e.g. accountid

    correlationSets

    <correlationSet>….</correlationSet>*

    Alternate execution path when errors occur

    Code to execute when "undoing" a transaction

    compensationHandlers

    <compensationHandler>…. </compensationHandler>*

    What the process does. Typically, <sequence> or <flow>

    (Activity)

    BPEL4WS

    Document Structure

    Process


    Bpel4ws49 l.jpg
    BPEL4WS

    <process name="purchaseOrderProcess" …>

    <partners> <partner name="Customer"

    serviceLinkType="lns:MortgageAppLT"

    myRole="MortgageService"/>

    <partner name="CreditCheckProvider"

    serviceLinkType="lns:CreditCheckLT"

    myRole="CreditCheckRequester"

    partnerRole="CreditCheckService"/>

    </partners>

    <containers>

    <container name="MortgageApp" messageType="lns:POMessage"/>

    </containers>


    Bpel4ws50 l.jpg
    BPEL4WS

    <sequence>

    <receive partner="customer"

    portType="lns:MortgageAppPT"

    operation="sendMortgageApp"

    container="MortgageApp">

    </receive>

    <invoke partner="CreditCheckProvider"

    portType="lns:computePricePT"

    operation="initiateCreditCheck"

    inputContainer="MortgageApp">

    </sequence>

    </process>


    Agenda51 l.jpg

    Directory

    UDDI

    Inspection

    WSIL

    Agenda

    Web Services Architecture

    Wire Stack

    Description Stack

    Discovery Stack

    That’s All Folks…

    Discovery Stack


    Web services discovery l.jpg
    Web Services Discovery

    • Supports the Publish, and Find

    • Provides the information needed for Bind

    • Discovery Scenarios

      • Global Directory – semantic Web

      • Private Business Exchange

        • E-marketplace

        • Consortium

        • Standards body

      • Portal – server side registry of business services

      • Business Partners – client side registry of business partners

      • Enterprise/Departmental

      • Test Environment


    Web services discovery53 l.jpg
    Web Services Discovery

    • Multiple approaches – just need access to the WSDL document

    • Request it from the Provider

      • FTP

      • E-mail

      • Web Site, e.g. Open Edge WSTK

  • Web site based repository at well-known site

    • http://www.xmethods.net

    • http://www.salcentral.com

  • Site specific registry at service provider site

    • IBM's ADS

    • Microsoft's DISCO

    • Web Service Inspection Language – WSIL

  • Centralized dynamic registry

    • Universal Description Discovery and Integration (UDDI)


  • Wsil discovery l.jpg

    Get inspection.wisl at www.progress.com

    GET WISL

    Response(WISL)

    WSIL

    WSDL

    WSIL

    WSDL

    WSDL

    WSDL

    WSIL Discovery

    Web Server

    Web Server

    ApplicationServer

    Web Service Client

    HTTP Listener

    SOAP Processor

    BusinessLogic

    Business Interface


    Wsil discovery55 l.jpg

    Get the Tech Support wsdl called techsupport.wsdl at www.progress.com

    GET WSDL

    Response(WSDL)

    WSIL

    WSDL

    WSDL

    WSDL

    WSIL

    WSDL

    WSDL

    WSIL Discovery

    Web Server

    Web Server

    ApplicationServer

    Web Service Client

    HTTP Listener

    SOAP Processor

    BusinessLogic

    Business Interface


    Web services inspection language wsil l.jpg

    WSIL www.progress.com

    WSIL

    WSIL

    WSIL

    WSIL

    WSIL

    Web Services Inspection Language (WSIL)

    • Proposed by IBM and Microsoft

      • http://www.ibm.com/developerworks/library/ws-wsilspec.html

    • When you know the host that you want to work with, e.g. www.progress.com

    • By convention look for inspection.wsil, e.g. http://www.progress.com/inspection.wsil

    • Supports linking of documents

    Enterprise

    Product Unit

    Department


    Slide57 l.jpg
    WSIL www.progress.com

    <?xml version="1.0"?>

    <inspection

    xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/"

    xmlns:wsilwsdl=

    http://schemas.xmlsoap.org/ws/2001/10/inspection/wsdl">

    <service>

    <name xml:lang="en-US">TechSupport</name>

    <description

    referencedNamespace=

    "http://schemas.xmlsoap.org/wsdl/"

    location=

    "http://www.progress.com/TechSupport.wsdl">

    </description>

    </service>

    </inspection>


    Slide58 l.jpg
    UDDI www.progress.com

    Universal Description, Discovery, and Integration

    • Framework for registering standards and services, discovering businesses, and integrating business services

      • SOAP-based API

      • Smart searches via categories and identifiers, e.g. find all bicycle manufactures

    • http://www.uddi.org

      • 220 member companies, including Progress

    • Replicated registry available today

      • IBM

      • Microsoft

      • SAP


    Slide59 l.jpg
    UDDI www.progress.com

    • Supports dynamic discovery – service provider can be determined at runtime

      • e.g. Get the expense data for all subsidiaries

    • Several implementations available today

      • Open Source

      • Microsoft and IBM

      • Several others vendors, e.g. Systinet, Oracle, Cape Clear

    • Register/Find using

      • Browser

      • SOAP-based API


    Slide60 l.jpg
    UDDI www.progress.com

    5.

    1.

    Service requestors uses the fetched data to access the service they need.

    Business Analysts, Standard Bodies, Service Providers register descriptions of different kinds of services.

    UDDI Business Registry

    4.

    Service requestors query registry to find the services that they want.

    "Business" registers which services they support.

    2.

    UBR assigns a UUID or other unique key to each service and business

    3.


    Slide61 l.jpg
    UDDI www.progress.com

    • UDDI Business Registry Data Model

      • White Pages

        • Basic contact information, e.g. Name, address, contact info

      • Yellow Pages

        • Categorizations used for discovery, e.g. bicycle manufacturer, book publisher, etc.

      • Green Pages

        • Technical details on the services that the business provides and how to access the service

        • Location of Web Service, e.g. the WSDL document

        • References a tModel


    Slide62 l.jpg
    UDDI www.progress.com

    • Service Type Registration - tModels

      • Represents a set of technical specifications

      • What a programmer needs to know

      • Provided by standards bodies, market places, individual programmers, individual companies, etc.

      • A business or service that supports a tModel supports the corresponding specification

      • A Tmodel specification might be a WSDL document

      • Also used for categories and identifiers


    Uddi data model l.jpg

    Business Service www.progress.com

    Yellow Pages

    Service NameCategories

    tModel

    NameoverviewDocCategoriesIdentifiers

    UDDI Data Model

    Business Entity

    All entries have UUID-based keys

    White Pages

    Basic Business InfoIdentifiersCategories

    Binding Template

    Green Pages

    accessPoint

    tModelKey


    Uddi categories l.jpg
    UDDI Categories www.progress.com

    • Allows a registry entry to be associated with a industry, product, or geographic code set

    • Search by category

    • Supported for Business Entity, Business Service, and tModel

    • Each category entry contains

      • Name

      • Value

      • Classification scheme via a tModel reference

        • NAICS – industries, e.g. goat farming

        • UNSPC – service and products, e.g. ice cream machine

        • ISO 3166 – geographic location, e.g. US-NH

        • UBR specific


    Uddi categories65 l.jpg
    UDDI Categories www.progress.com

    Name = "Skis"

    Value= "49151502"

    tModelKey="uuid:4e49a8d6-d5a2-4fc2-93a0-0411d8d19e388"


    Uddi identifiers l.jpg
    UDDI Identifiers www.progress.com

    • Used to uniquely identify a business or specification

    • Supported for Business Entity, and tModels

    • Identifier Schemes

      • DUNS – Dun & Bradstreet Number

      • Thomas Register

      • IRS Tax-Id

      • UBR Specific, e.g. marketplace unique id


    Uddi data model example l.jpg

    Business Service www.progress.com

    Yellow Pages

    Purchasing

    UDDI Data Model Example

    Business Entity

    Name=Ski TownCategories Name=skis Value= 49151502tModelKey

    White Pages

    tModel

    UNSPSCwww.unspsc.com

    tModel

    http:…skitown.wsdlCategories wsdlspec uddi-org:type tmodelKey

    Binding Template

    Green Pages

    accessPoint https://www.skitown.com/purchasing

    tModelKey


    Uddi api l.jpg
    UDDI Api www.progress.com

    • For all data model objects – business entity, business service, binding, tModel

    • Inquiry API and publisher API supports find, get, save, and delete operations

    • Smart search

      • By name

      • By category

      • By identifier

      • By key


    Agenda69 l.jpg
    Agenda www.progress.com

    Web Services Architecture

    Wire Stack

    Description Stack

    Discovery Stack

    That’s All Folks…


    Summary l.jpg
    Summary www.progress.com

    • Standards are still evolving

    • Working to solve the hard business integration problems

    • Look to tools to do the heavy lifting


    Web services resources l.jpg
    Web Services Resources www.progress.com

    • Books

      • Java Web Services by David Chappell & Tyler Jewell

      • Professional XML Web Services by Patrick Cauldwell et al

      • Essential XML Quick Reference by Aaron Skonnard

    • Links

      • http://www.xml.com

      • http://www.webservices.org

      • http://www.xml.com

      • http://www.ws-i.org

      • http://www.soapware.org

      • http://www.xmethods.com


    Slide72 l.jpg

    ! www.progress.com

    All questionsanswered


    ad