Web Service Addressing CS409 Application Services Even Semester 2007.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Web Service Architecture
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
UDDI v3.0 (Universal Description, Discovery and Integration)
1 Understanding Web Services Presented By: Woodas Lai.
1 UDDI Jong-Ha Jung 07/28. 2 INDEX INDEX What is UDDI? What is UDDI? Appearance of UDDI Appearance of UDDI Why UDDI? Why UDDI? Analogy with Telephone.
UDDI, Discovery and Web Services Registries. Introduction To facilitate e-commerce, companies needed a way to locate one another and exchange information.
Web Services Technology Stack (WSDL and UDDI)
T NAF & XML UDDI Sasu Tarkoma and Pekka Nikander Helsinki Institute for Information Technology.
Web Services: UDDI. What is UDDI? UDDI = The Universal Description, Discovery, and Integration A central element of the group of standards that comprise.
UDDI Overview Copyright © by Accenture, Ariba, Inc., Commerce One, Inc., Fujitsu Limited, Hewlett-Packard Company, i2 Technologies, Inc., Intel.
UDDI Overview Web Services Registry SOA Enabler. What Is UDDI? Universal Description, Discovery, and Integration Protocols for web services registry Public.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Web Services - Concepts, Architecture and Applications Part 7: Service Discovery (UDDI) Gustavo Alonso and Cesare Pautasso Computer Science Department.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
UDDI Ashish Jain University of Colorado 3 October, 2001.
B2B e-commerce standards for document exchange In350: week 13: Nov. 19,2001 Judith A. Molka-Danielsen.
1 WS Technologies I UDDI Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration IMT- Institutions.
Web Services CS Web Services Internet-available services using XML messaging, for computer-computer interaction Not tied to any OS or language Self-describing:
In Introduction to Web Services
Service-Oriented Programming
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
WEB SERVICES Web Development Technology. 2 Contents How it’s work? –Definition –Simple Web Service Invocation –Web Service Description –SOAP –UDDI.
WSTK Development toolkit for Java Implementation of Web Services By Keping Jia.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
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.
UDDI Overview 9/6/2000 © Copyright 2000 By Ariba, Inc., International Business Machines Corporation and Microsoft Corporation. All Rights Reserved.
Cambridge, March 23 rd 2004 MobileMAN Project MobileMAN Project Web Service in Ad Hoc Network Veronica Vanni NETikos S.p.A.
UDDIe: An Extended registry for Web Services UDDIe: An Extended Registry for Web Services Ali Shaikhali, Omer F. Rana, Rashid J. Al-Ali and David W. Walker.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
UDDI ebXML(?) and such Essential Web Services Directory and Discovery.
Web Services (SOAP, WSDL, and UDDI)
What is Service Oriented Architecture ? CS409 Application Services Even Semester 2007.
Web Services Description Language CS409 Application Services Even Semester 2007.
1 Universal Description, Discovery, and Integration (UDDI) 大葉大學資工系.
Dr. Bhavani Thuraisingham October 2006 Trustworthy Semantic Webs Lecture #16: Web Services and Security.
UDDI Jianguo Lu University of Windsor What is UDDI?  Universal Description, Discovery, and Integration  A project to encourage interoperability.
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
UDDI Update Bob Sutor Director IBM e-business Standards Strategy.
IBM Software Group ® WSRP-UDDI Straw Man Richard Jacob WSRP-PFB SC.
1 UDDI (Universal Description, Discovery, and Integration) An Overview – part II Version : Date : Pages Responsible Author : Co-Authors : Status : Confidentiality.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
The Exchange Network Node Mentoring Workshop Universal Description, Discovery, and Integration Registry David Dundua February 28, 2005.
Web Services Registries and UDDI INFOSYS290-3 Web Services: Concepts, Design and Implementation.
Helsinki, June 7 th 2004 IAB Meeting MobileMAN Project Web Service in Ad Hoc Network Veronica Vanni NETikos S.p.A.
A brief introduction of UDDI By Xin Huang. What is UDDI.
1 Web Services Web and Database Management System.
Service provider service requestor application object (client) application object (service provider) SOAP-based middleware SOAP messages exchanged on top.
Kemal Baykal Rasim Ismayilov
Registries, ebXML and Web Services in short. Registry A mechanism for allowing users to announce, or discover, the availability and state of a resource:
WEB SERVICE DESCRIPTION LANGUAGE (WSDL). Introduction  WSDL is an XML language that contains information about the interface semantics and ‘administrivia’
CP3024 Lecture 10 Web Services. What are Web Services?  “encapsulated, loosely coupled, contracted software objects offered via standard protocols” ZapThink.
Web Services Part 1 -- Qinwei Zhu Part 2 – Yongqun He.
UDDI (Universal Description, Discovery and Integration) Dr. SVL Narasimham.
EbXML Registry and Repository Dept of Computer Engineering Khon Kaen University.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
1 G52IWS: Universal Description, Discovery and Integration (UDDI)‏ Chris Greenhalgh
DISCO/UDDI -Ketan Reddy Peddabachi. Agenda Web Service Disco UDDI Disco Vs UDDI.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Service Discovery: UDDI COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Sabri Kızanlık Ural Emekçi
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Introduction to Web Services
Wsdl.
XML and Web Services (II/2546)
Presentation transcript:

Web Service Addressing CS409 Application Services Even Semester 2007

2 What is Service Addressing? Ability of a service to be discovered by potential requestors. A process for locating service providers and retrieving service description documents that have been published. A central directory to host service offered by web service providers.

3 Why Addressing is Important? Lots of service providers and service requestors available. Different implementations for different services to different clients. Need some kind of standardization to store profile of services (registry).

4 1.Service provider registers service in a public registry directory. 2.Consumer uses the directory to find service that matched. 3.Registry provides consumer with contract and endpoint address. 4.Consumer requests service provider. 5.Service provider responds to the consumer. Fig 1. Find-Bind-Execute Paradigm Web Service Concept: Revisited

5 Types of Service Discovery Static –At application design time. –Human designer perform a find operation for a service registry. –Result is examined and incorporated into the application logic. –Same process is executed again next time.

6 Types of Service Discovery (2) Dynamic –At application run time. –Service implementation details are unbounded at design time (e.g. network location & protocol). –Application issues find operation to locate service implementation that match the definition at its logic. –Based on its logic, application chooses the web service to invoke (e.g. best price, shortest delivery time, etc). –Application extracts the service implementation detail from the chosen provider then invoke the web service.

7 What is UDDI? Universal Description, Discovery, and Integration. A specification for creating a registry service to catalog organizations and the web services they provide. Implementation of UDDI specification is called UDDI Registry.

8 What is UDDI? (2) UDDI Registry is a database that supports a set of standard data structures defined by UDDI specification. A registry is not a repository because it does not contain the services itself. Specifies protocols for: –Publishing and searching services registry. –Controlling access to registry.

9 Histories of UDDI September 2000, developed by Microsoft, IBM, and Ariba, then formed UDDI.org. Mid 2002, turned over management of UDDI.org to OASIS (Organization for the Advancement of Structured Information Standard). April 2003, UDDI 2.0 was approved as formal OASIS standard. UDDI 3.0 is still in finalization process companies now are joining.

10 Role of UDDI Business Rules Data Presentation Application A Business Rules Data Presentation Application B Fig 2. UDDI Standpoint UDDI Registry

11 Role of UDDI (2) SOAP Requests UDDI.org Fig 3. UDDI Business Registry

12 Who Covers the Cost? Right now: IBM, Microsoft, HP, and SAP. When version 3 is completed, transferred to independent organization. Planned: charge for listing, charge for value-added services, etc. Standard charging model  still unclear…

13 How UDDI Works Similar like DNS. Businesses can register with any host sites (IBM, HP, SAP, or MSFT). Businesses’ information (WSDL) is placed in database at host sites. At regular intervals, all information are synchronized among host sites. Updating must be done at original host site.

14 How UDDI Works (2) Business wants to register must be approved by at least one host operator. Approval = sending authorization token to log on into UDDI site to store/update data. Authorization is operator exclusive. Business’ attributes must be validated (can be done by 3 rd parties after UDDI v2).

15 Categories of UDDI White pages: business name & address, contact info, web site, and Data Universal Numbering System (DUNS). Yellow pages: type of business, geographi- cal location, products. Green pages: technical information such as how to interact, process definition, etc. * All data structures is expressed using complex type in XML schemas.

16 UDDI Data Types Business entities: provider of the service. Business services: collection of related services. Service types: information necessary to use. Technical specification: the technical and/or type model. Business relationships: relationship that business entity has with another businessEntity. Subscriptions: request to be informed of particular changes.

17 UDDI Data Types (2) Fig 4. UDDI Schema & Description

18 UDDI Data Types: Business Entity Fig 5. UDDI Business Entity

19 UDDI Data Types: Business Entity Example: DoddyStore UDDI Business Registry for Doddy Store Technical Help Desk Doddy Lukito Bina Nusantara University Hang Lekir Street Jakarta, Indonesia...

20 UDDI Data Types: Business Entity Optional Identifier Bag <keyedReference tModelKey=”uddi:uddi.org:ubr:identifier:dnb.com:d-u-n-s” keyName=”SAP AG” keyValue=” ” /> Optional Category Bag <keyedReference tModelKey=”uddi:uddi.org:ubr:categorization:iso3166” keyName=”California, USA” keyValue=”US-CA” />

21 UDDI Data Types: Business Service Fig 6. UDDI Business Service

22 UDDI Data Types: Business Service Uniquely identified by optional serviceKey attribute. –Supplied by UDDI if not supplied by publisher. Optional descriptions. Optional categorizations in categoryBag. One or more bindingTemplates. Optional digital signature.

23 UDDI Data Types: Business Service Example:... <businessService serviceKey=“4C e1e-DC97-B1C7-F68597DA4ADB” businessKey=“ E-11D8-B DC0A53”> Purchase Order Submission Doddy Store Purchase Order Submission Service

24 UDDI Data Types: Service Types Fig 7. UDDI Service Types

25 UDDI Data Types: Service Types Uniquely identified by optional bindingKey attribute. Optional serviceKey identifies service that contains this bindingTemplate. Descriptions. accessPoint - network address (URL) hostingRedirector – optional categoryBag – optional tModelInstanceDetails - detail of technical/type model in the particular service types.

26 UDDI Data Types: Service Types Fig 8. tModelInstance Detail

27 UDDI Data Types: Service Types Fig 9. Overview document

28 UDDI Data Types: Service Types Example: <bindingTemplate bindingKey=“2E6BAE12-04E3-DBC2-90DB-A96E21406F79” serviceKey=“4C E1E-DC97-B1C7-F68597-F68597DA4ADB”> Web Based Purchase Order Service <bindingTemplate bindingKey=“3F7ABC88-14F2-AEF2-41AE-F86E52908A11” serviceKey=“4C E1E-DC97-B1C7-F68597-F68597DA4ADB”> SOAP Based Purchase Order Service

29 UDDI Data Types: Technical Specification Technical Specification ( tModel ) Reflects the technical and/or type model. Used to categorize or identify web services and their organization so they can be located easily using queries. Reference the location of the WSDL document that contain the technical specification for a particular service.

30 UDDI Data Types: Technical Specification Fig 10. tModel Structure

31 Example: HTTP address UDDI Data Types: Technical Specification

32 UDDI Data Types: Business Relationship publisherAssertion : –To link together two or more businesses that are related to each other. –Could be to subsidiary or larger enterprise. Example: 76CA56B2-789A-1AE FBC235E ACFA56B2-789A-1AE FB644D <keyedReference keyName=“subsidiary” keyValue=“parent-child” tModelKey=“uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03”

33 Using UDDI Categories of APIs in UDDI specification  Inquiry: to find a service in a public registry.  Publication: to publish a service in a public registry.  Subscription: to get notified by provider if something has changed.  Security: to impose security protection of the XML.  Custody Transfer.  Replication.

34 Using UDDI (2) Inquiry API functions: find_binding find_business find_relatedBusinesses find_service find_tModel get_bindingDetail get_businessDetail get_operationalInfo get_serviceDetail get_tModelDetail

35 Using UDDI (3) Sample SOAP message for inquiry: uddi:uddi.org:findQualifiers:exactMatch XMLTC Consulting Inc.

36 Using UDDI (4) Sample message for combined search: uddi:uddi.org:findqualifier:sortbynameasc uddi:uddi.org:sortorder:uts-10 uddi:uddi.org:findqualifier:orallkeys uddi:some.specific.example:tmodelkey uddi:uddi.org:findqualifier:approximatematch uddi:uddi.org:findqualifier:caseinsensitivematch uddi:uddi.org:sortorder:uts-10 Find Information

37 Using UDDI (5) Publication APIs: save_binding. save_business. save_service. save_tModel. Delete_xx. Xx_publisherAssertions.

38 Using UDDI (6) Sample SOAP message for publishing: Doddy Lukito Doddy Store UDDI Business Entity for Doddy Store... <keyedReference keyname=“DUNS” keyValue=“ ” tModelKey=“uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823” /> <keyedReference keyname=“Doddy eBusiness Store” keyValue=“33992” tModelKey=“uuid:C0B9FE13-EE1F-4D5A-B202-3EB13AD01823” />

39 Registry Implementation Public registry –Global directory of international business service descriptions. –Hosted by node operators on a series of dedicated UDDI servers for commercial use. –Registry records are synchronized automatically between repositories. –Example: UBR (UDDI Business Registry) by IBM, MSFT, NTT, SAP under IBR Operators Council.

40 Registry Implementation (2) Private registry (internal registry): –Service description repositories hosted within an organization. –Access restricted to internal users or selected external business partners. –Example: ISEC (Integrated Shipbuilding Environment Consortium) by NIIP to provide partner network for US shipbuilders.

41 Registry Implementation (3) Fig 11. Searching for service at uddi.microsoft.com

42 Registry Implementation (4) Fig 11. Publishing service at uddi.microsoft.com

43 Mapping WSDL to UDDI Fig 11. Comparison of WSDL and UDDI

44 Mapping WSDL to UDDI (2) WSDL:portType  UDDI:tModel WSDLUDDI portTypetModel (categorized as portType) Namespace of portTypekeyedReference in categoryBag Local name of portTypetModel Name Location of WSDL DocumentoverviewURL

45 Mapping WSDL to UDDI (3) WSDL binding  UDDI:tModel WSDLUDDI bindingtModel (categorized as binding and wsdlSpec) Namespace of bindingkeyedReference in categoryBag Local name of bindingtModel Name Location of WSDL DocumentoverviewURL portType reference and protocol references keyedReferences in category bag

46 Mapping WSDL to UDDI (4) WSDL service  UDDI business service WSDLUDDI ServicebusinessService (categorized as service) Namespace of ServicekeyedReference in categoryBag Local Name of ServicekeyedReference in categoryBag; optionally also the name of the service

47 Mapping WSDL to UDDI (5) WSDL port  UDDI bindingTemplate WSDLUDDI NamespaceCaptured in keyedReference of the containing businessService Local name of portinstanceParms of the tModelInstanceInfo relating to the tModel for the binding Binding implemented by porttModelInstanceInfo with tModelKey of the tModel corresponding to the binding portType implemented by porttModelInstanceInfo with tModelKey of the tModel corresponding to the portType

48 Latest Development There are other standards found and manage by other organizations. The basis is still XML and SOAP. For example: –ebXML Registry 3.0. –Sun Service Registry. –etc …

Thank You Doddy Lukito