WS-Talk and UDDI WS-Talk and UDDI Department of Computer Science Royal Holloway, University of London Fionn Murtagh, Pedro Contreras {fionn, pedro} @ cs.rhul.ac.uk UDP
Introduction • What’s UDDI • Searches in UDDI • UDDI Distributions and flavours • Commercial Implementation vs Open Source • JUDDI, UDDI Browser, UDDI4J • Discussion WS-Talk and UDDI
What’s UDDI Universal Description Discovery and Integration is de facto standard web services catalogue. It consists of a directory where business can register and search for web services, centred around a WS interface described by a WSDL document. It is based on a set of specifications (OASIS standard) with public and private implementations and providing two web services : Inquiry : provide functions such as find_business, get_businessDetails Publisher : provide functions such as save_business, delete_business All these operations are based in SOAP messages.
Searches in UDDI Three can of searches can be performed using UDDI registry: • White pages search : returns basic information such as address, contact, and identifiers about a company. • Yellow pages search : retrieve information according to industrial categorization and taxonomies, such as NAICS, ISO3166, and UNSPSC • Green pages service search : retrieve technical information about Web service, as well as information about how to execute these services.
Commercial implementations Acumen Technology , http://acumentechnologies.com BEA , WebLogic Server UDDI Registry Fujitsu , http://www.fujitsu.com/global/services/software/interstage/ IBM , http://www-306.ibm.com/software/solutions/webservices/uddi/ Infravio , http://www.infravio.com/products/ IONA , http://www.iona.com/products/artix/welcome.htm Microsoft , http://www.microsoft.com/windowsserver2003/technologies/idm/uddi/default.mspx Novell , http://developer.novell.com/uddi/ Oracle , http://www.oracle.com/technology/tech/webservices/htdocs/uddi/index.html SAP , http://www.sap.com:80/solutions/netweaver/index.epx Select Business Solutions , http://www.selectbs.com/products/select-uddiserver.htm SOA Software , http://www.soa.com/index.php/section/products/registry_manager/ Sun Microsystems , Java Web Services Developer Pack. http://java.sun.com/webservices/jwsdp/index.jsp Systinet , http://www.systinet.com/products/sr/overview
Open Source Implementations Apache.org , JUDDI, http://ws.apache.org/juddi/ ・ Open Source and Platform Independent ・ Supports for JDK 1.3.1 and later ・ UDDI version 2.0 compliant implementation ・ Use with any relational database that supports ANSI standard SQL (MySQL, DB2, Sybase, JDataStore, HSQLDB, etc.) ・ Deployable on any Java application server that supports the Servlet 2.3 specification (Jakarta Tomcat, JOnAS, WebSphere, WebLogic, Enterprise Server, JRun, etc.) ・ jUDDI registry supports a clustered deployment configuration. ・ Easy integration with existing authentication systems UDDI Browser, http://uddibrowser.org/ Still early version but gives a GUI to work from the client point of view over different UDDI repositories
Open Source Implementations APIs UDDI4J.org , http://uddi4j.sourceforge.net/ UDDI4J contains an implementation of the client side of UDDI from which the application needs to publish, find, and to bind a Web service. It also includes the source of the code, the complete JavaDoc documentation, and sample applications. SOAP:LITE , http://sourceforge.net/projects/soaplite/ or http://soaplite.com/ Collection of Perl modules that provides a simple and lightweight implementation of SOAP, XML-RPC, UDDI and other webservice-related spec. PHPUDDI , http://phpuddi.sourceforge.net/ Stand-alone PHP classes with no external dependencies, supporting basic UDDI inquiry APIs. However, not able to publish documents. Not as relevant as those above.
JUDDI Methods JUDDI Publish API JUDDI Inquiry API JUDDI API (proprietary) get_authToken get_registryInfo find_business get_registeredInfo find_publisher find_service discard_authToken get_publisherDetail find_binding save_business save_publisher find_tModel save_service find_relatedBusinesses delete_publisher save_binding get_businessDetail save_tModel get_businessDetailExt delete_business get_serviceDetail delete_service get_bindingDetail delete_binding get_tModelDetail delete_tModel add_publisherAssertions set_publisherAssertions get_publisherAssertions delete_publisherAssertion get_assertionStatusRepo
JUDDI Example Find_plublisher Query <?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <find_publisher maxRows="100" generic="1.0" xmlns="urn:juddi-org:api_v1"> <name>***</name> </find_publisher> </soapenv:Body> </soapenv:Envelope> Results <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <publisherList generic="1.0" operator="jUDDI.org" xmlns="urn:juddi-org:api_v1"> <publisherInfos/> </publisherList> </soapenv:Body> </soapenv:Envelope>
Populating JUDDI server Two methods were tried • Produce a piece of source code to insert records like UDDI4J or SOAP:LITE. – Development effort needed. • Insert records directly into the DB using MySQL. The easiest option . – DB reverse engineering needed to understand data structure.
Recommend
More recommend