Discovering E-Services Using UDDI in SELF-SERV - PowerPoint PPT Presentation

About This Presentation
Title:

Discovering E-Services Using UDDI in SELF-SERV

Description:

Composite service aggregates multiple Web service, based on statecharts. ... encoding rules express instances of application-defined data types ... – PowerPoint PPT presentation

Number of Views:106
Avg rating:3.0/5.0
Slides: 25
Provided by: michae652
Category:

less

Transcript and Presenter's Notes

Title: Discovering E-Services Using UDDI in SELF-SERV


1
Discovering E-Services Using UDDI in SELF-SERV
Quan Z. Sheng, Boualem Benatallah, Rayan Stephan,
Eileen Oi-Yan Mak, Yan Q. Zhu School of
Computer Science and Engineering The University
of New South Wales Sydney, Australia
Beijing, 2002
2
Outline
  • SELF-SERV overview
  • Simple Object Access Protocol (SOAP)
  • Web Service Description Language (WSDL)
  • Universal Description, Discovery and
    Integration (UDDI)
  • Service Discovery Engine in SELF-SERV
  • Conclusion

3
SELF-SERV overview
  • SELF-SERV (compoSing wEb accessibLe inFormation
    buSiness sERVices) is a framework for dynamic
    and peer-to-peer provisioning of Web services.
  • SELF-SERV distinguishes three types of services
    elementary services, composite services, and
    service communities.
  • Composite service aggregates multiple Web
    service, based on statecharts.
  • Service community is a powerful concepts for
    composing potential large number of dynamic
    services.

4
SELF-SERV overview Architecture
User Interface
UDDI Registry
Service Manager
Communication Bus
Service Community
Composite Service
Elementary Service
5
SELF-SERV overview Architecture (cont.)
Service Manager
SELF-SERV Interface
Service Discovery Engine
UDDI Registry
requests/results
service descriptions
Service Editor
Communication Bus
C3
Communities
C2
C1
Composite services
CS1
CS2
Pool of Services
is registered with
is composed of
Elementary services
ES1
ES2
ES4
ES3
applications
workflow
database
web-accessible programs
Legend
Coordinator.1
Coordinator.2
Coordinator.n
Wrapper
6
SOAP Simple Object Access Protocol
  • An XML-based mechanism for exchanging structured
    data between network applications
  • composes 3 parts
  • envelope defines a framework for describing what
    is in a message and how to process it
  • encoding rules express instances of
    application-defined data types
  • a convention represents remote procedure calls
    and responses.
  • 2 types of messages, Request/Response

7
SOAP an example of a request
POST /carRenting HTTP/1.1 Host
www.axac.com Content-Type text/xml
charsetutf-8 Content-Length 127 SOAPAction
http//www.anywhere.com/rentCar ltSOAP-ENVEnvelo
pe xmlnsSOAP-ENVhttp//schemas.xmlsoap.org/
soap/envelope SOAP-ENVencodingStylehttp//
schemas.xmlsoap.org/soap/encodinggt
ltSOAP-ENVbodygt ltmrentCar
xmlnsmhttp//www.anywhere.com/rentCargt
ltcustomergtBoualem Benatallahlt/customergt
ltrentalDategt18/05/2002lt/rentalDategt
ltreturnDategt20/05/2002lt/returnDategt
lt/mrentCargt lt/SOAP-ENVBodygt lt/SOAP-
ENVEnvelopegt
8
SOAP an example of a reply
HTTP/1.1 200 OK Content-Type text/xml
charsetutf-8 Content-Length
234 ltSOAP-ENVEnvelope xmlnsSOAP-ENVhttp/
/schemas.xmlsoap.org/soap/envelope
SOAP-ENVencodingStylehttp//schemas.xmlsoap.org
/soap/encodinggt ltSOAP-ENVBodygt
ltmRentcarResponse xmlnsmhttp//www.anywhere.co
m/rentCargt ltrentalFeesgt234.00lt/
rentalFeesgt lt/mRentcarResponsegt
lt/SOAP-ENVBodygt lt/SOAP-ENVEnvelopegt
9
WSDL Web Service Description Language
  • A general purpose XML language for describing
    interface, protocol bindings and the deployment
    details of Web services
  • a WSDL document describes how to invoke a service
    by providing information on
  • the data being exchanged
  • the sequence of messages for an operation
  • the location of the service and
  • the description of bindings (e.g., SOAP/HTTP)

10
WSDL service description structure
Service Implementation Definition
Service
Port
Service Interface Definition
Binding
Port Type
Message
Type
11
WSDL elements
  • Types contains the complex data types used in
    message
  • Messages defines the input/output parameters of
    an operation.
  • Port type defines the operations of a Web service

ltdefinitions name"carRenting" ....gt lttypesgt
ltschema targetNamespace"http//example.co
m/carRenting.xsd"
xmlns"http//www.w3.org/2000/10/XMLSchema"gt
ltelement name"Customer"gt
ltcomplexTypegt ltallgtltelement
name"Name" type"string"/gt
ltelement name"CreditCardNo" type"string"/gt
lt/allgt
lt/complexTypegt lt/elementgt
lt/schemagt lt/typesgt
12
WSDL elements (cont.)
. ltmessage name"carRentingInput"gt ltpart
name"customer" element"tnsCustomer"/gt
ltpart name"rentalDate" type"xsddate"/gt
ltpart name"returnDate" type"xsddate"/gt
lt/messagegt ltmessage name"carRentingOutput"gt
ltpart name"rentalFee" type"xsdfloat"/gt lt
/messagegt ltportType name"carRentingPortType"gt
ltoperation name"RentCar"gt
ltinput message"tnscarRentingInput"/gt
ltoutput message"tnscarRentingOutput"/gt
lt/operationgt lt/portTypegt
13
WSDL elements (cont.)
  • Binding describes the protocol, data format,
    security and other attributes for a particular
    service interface.
  • Port an address for a binding
  • Service a collection of WSDL port elements

ltbinding name"carRentingSoapBinding"
type"tnscarRentingPortType"gt
ltsoapbinding style"document transport"http//s
chemas.xmlsoap.org/soap/http"/gt
ltoperation namerentCar"gt
ltsoapoperation soapAction"http//www.anywhere.co
m/rentCar"/gt ltinputgtltsoapbody
use"literal"/gtlt/inputgt
ltoutputgtltsoapbody use"literal"/gtlt/outputgt
lt/operationgt lt/bindinggt ltservice
name"CarRentingService"gt ltport
name"carRentingPort" binding"tnscarRentingSoapB
inding"gt ltsoapaddress
location"http//example.com/carRenting"/gt
lt/portgt ... lt/servicegt
14
UDDI Universal Description, Discovery and
Integration
  • UDDI is a specification that defines a service
    registry of available Web services
  • Jointly proposed by Microsoft, Ariba and IBM
  • SOAP can be used to query UDDI for services
  • UDDI is defined through an XML schema,
    identifying 4 core types of information
  • UDDI APIs specification publishing/discovering
    (e.g., UDDI4J)

15
UDDI data structure
businessEntity
tModel
businessService
bindingTemplate
16
UDDI an example of business registration
ltbusinessList generic1.0 operatorMicrosoft
operator truncatedfalse xmlnsurnuddi-org
apigt ltbusinessInfosgt ltbusinessInfo
businessKey089B5-ER8-AC09-599CF7gt
ltnamegtAnywhere Ltdlt/namegt ltdescription
xmllangengtall kinds of cars, trucks,
motorbikes for rentinglt/descriptiongt
ltserviceInfosgt ltserviceInfo
businessKey 089B5-ER8-AC09-599CF7
serviceKey12FF-2AF3-45FB-09AF7gt
ltnamegtcarRentallt/namegt
lt/serviceInfogt .
lt/serviceInfosgt lt/businessInfogt
lt/businessInfosgt lt/businessListgt
17
UDDI an example of SOAP message acquiring
information from the UDDI Registry
ltEnvelope xmlnsshttp//schemas.xmlsoap.org/soap
/envelopegt ltBodygt ltfind_business
xmlnsurnuddi-orgapi generic1.0gt
ltnamegtAnywhere Ltdlt/namegt
lt/find_businessgt lt/Bodygt ltEnvelopegt
For details http//www.uddi.org
http//www-3.ibm.com/services/u
ddi
18
Integrating UDDI with WSDL and SOAP
Service Provider
Invoke
Publish
SOAP Request
SOAP Request
SOAP Response
SOAP Response
WSDL
UDDI Registry
SOAP Request
Service
Requestor
SOAP Response
WSDL
Find
Service registration and discovery
19
Service Discovery Engine in SELF-SERV
  • Service discovery engine facilitates service
    advertisements and discovery.
  • UDDI, together with WSDL and SOAP are used to
    implement the discovery engine.
  • IBM Web Service ToolKit (WSTK) 2.4 benefits a lot
    of the implementation.

20
Service Discovery Engine in SELF-SERV (cont.)
  • IBM WSTK is a showcase package for Web service
    related emerging technologies. It provides
    several tools.
  • A lightweight application server called embedded
    WebSphere.
  • A WSDL generation tool can encapsulate legacy
    code (e.g., Java classes, COM) as Web services.
  • The UDDI4J (a Java API) enables operations to
    UDDI registry.

21
Service Discovery Engine in SELF-SERV (cont.)
public class publishService String
serviceDefinitionWSDLhttp//www.cse.unsw.edu.au/
SELFSERV/wsdl/carRental.wsdl String
serviceInterfaceWSDLhttp//www.cse.unsw.edu.au/S
ELF-SERV/wsdl/carRental-interface.wsdl String
soapRouterhttp//www.cse.unsw.edu.au/soap/servle
t/rpcrouter String serviceDeploymenthttp//www
.cse.unsw.ed.au/SELFSERV/ wsdl/deploymentDescripto
r.xml String inquiryURLhttp//www.cse.unsw.edu
.au/services/uddi/inquiryapi String
publishURLhttps//www.cse.unsw.edu.au/services/u
ddi/publishapi ServiceRegistryProxy srp new
ServiceRegistryProxyinquiryURL, publishURL,
username, password) CategoryList spCatList new
CategoryList() spCatList.addCategory(TModelKeyTa
ble.UNSPSC, 84121, TModelKeyTable.UNSPSC_TMODEL_
KEY) ServiceProvider spnew ServiceProvider(CarR
ental, SELF-SERV service provider example,
spCatList) spsrp.publish(sp) ServiceInterface
sinew ServiceInterface(serviceInterfaceWSDL)
sisrp.publish(si) CategoryList sdCatListnew
CategoryList() sdCatList.addCategory(TmodelKeyTab
le.UNSPSC, 84121, TmodelKeyTable.UNSPSC_TMODEL_K
EY) SOAPServiceDefinition sdnew
SOAPServiceDefinition(serviceDefinitionWSDL,
sdCatList, serviceDeployment, soapRouter) sd.crea
teServiceManagerProxy().deployService(sd)
srp.publish(sp, sd)
  • Creating WSDL descriptions for Web services
  • using IBM WSDL generation tool
  • Deploying and publishing Web service

A Java code fragment for publishing a Web service
22
Service Discovery Engine in SELF-SERV (cont.)
A screen snapshot for service registry.
23
Service Discovery Engine in SELF-SERV (cont.)
Locate a service
Execute the service
A screen snapshot for service discovery and
invocation.
24
Conclusion
  • Present the design and implementation of the
    Service Discovery Engine in SELF-SERV
  • Show how UDDI, WSDL and SOAP complement each
    other in Web service advertisement and discovery
  • This work is one part of a large research project
    SELF-SERV. Other works of SELF-SERV have also
    published in IEEE ICDE02, VLDB2002 etc.
Write a Comment
User Comments (0)
About PowerShow.com