UDDI Best Practices.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Presented to: By: Date: Federal Aviation Administration Registry/Repository in a SOA Environment SOA Brown Bag #5 SWIM Team March 9, 2011.
Web Service Architecture
Overview of Web Services
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
UDDI v3.0 (Universal Description, Discovery and Integration)
General introduction to Web services and an implementation example
1 Understanding Web Services Presented By: Woodas Lai.
Web Services (Nuts and Bolts) ITEC 625 Web Development Fall 2006 Reference: Building Web Services with Java (Making sense of XML, SOAP, WSDL, and UDDI),
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
WEB SERVICES DAVIDE ZERBINO.
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.
Building an Operational Enterprise Architecture and Service Oriented Architecture Best Practices Presented by: Ajay Budhraja Copyright 2006 Ajay Budhraja,
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)
U.S. ENVIRONMENTAL PROTECTION AGENCY The Web Service Catalog Presentation to the SOA-COI Meeting Lico Galindo, OIC April 14, 2010.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Leveraging Technology to Enhance PeopleSoft Web Services (SOA) System Efficiency Lorne Kaufman, Managing Director.
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)
UDDI Ashish Jain University of Colorado 3 October, 2001.
Web Services Seppo Heikkinen MITA seminar/TUT
Livermore July Web Services Overview Francisco Curbera IBM T.J. Watson Research Center.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
Presented By: Chris Hassler Project Editor – UN/CEFACT TBG6 Team for Project Cost and Schedule Management Feb 2006 UN/CEFACT TBG6 Team for Project Cost.
4/22/20031 Data Interchange Initiative Lower the Barrier of Entry to B2B eBusiness Prepared by Bennet Pang
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
Web Service Addressing CS409 Application Services Even Semester 2007.
Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz Carollyn Carson
Dodick Zulaimi Sudirman Lecture 14 Introduction to Web Service Pengantar Teknologi Internet Introduction to Internet Technology.
Web Services (SOAP, WSDL, UDDI) SNU OOPSLA Lab. October 2005.
1 Universal Description, Discovery, and Integration (UDDI) 大葉大學資工系.
Copyright © 2004 by The Web Services Interoperability Organization (WS-I). All Rights Reserved 1 Interoperability: Ensuring the Success of Web Services.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
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.
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,
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
A brief introduction of UDDI By Xin Huang. What is UDDI.
RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan.
Kemal Baykal Rasim Ismayilov
WEB SERVICE DESCRIPTION LANGUAGE (WSDL). Introduction  WSDL is an XML language that contains information about the interface semantics and ‘administrivia’
1 Registry Services Overview J. Steven Hughes (Deputy Chair) Principal Computer Scientist NASA/JPL 17 December 2015.
David Smiley SOA Technology Evangelist Software AG Lead, follow or get out of the way Here Comes SOA.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
UDDI (Universal Description, Discovery and Integration) Dr. SVL Narasimham.
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.
Web Services. Web Service: Simple definition : “ Service Offered On the Web “ Technically : “ A Web Service is a programmable application component that.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
Service Discovery: UDDI COMP6017 Topics on Web Services Dr Nicholas Gibbins –
UDDI (Universal Description,Discovery and Integration) By S.NAGARJUNA M.Tech-C.S.E.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Sabri Kızanlık Ural Emekçi
Service-Oriented Computing: Semantics, Processes, Agents
SOA (Service Oriented Architecture)
Overview of Web Services
Wsdl.
WEB SERVICES DAVIDE ZERBINO.
Distributed System using Web Services
Universal Description, Discovery and Integration (UDDI)
Distributed System using Web Services
Presentation transcript:

UDDI Best Practices

UDDI Overview

What is UDDI? “The Universal Description, Discovery and Integration (UDDI) protocol is one of the major building blocks required for successful Service Oriented Architectures.” “UDDI creates a standard, interoperable platform that enables organizations and applications to quickly, easily, and dynamically find and use shared services over standard internet protocols such as HTTP. “ “UDDI is a cross-industry effort driven by major platform and software providers, as well as marketplace operators and e-business leaders within the OASIS standards consortium.” OASIS

Analogy Real world: Technology: Imagine the world without the yellow pages directory. How would you find a mover or a dry cleaner? Technology: UDDI is to Web Services as the Windows directory is to Windows. When you double click on Word how does Windows know that MS Word should open that file? UDDI represents the same level of transparency for Web Services & SOA…

UDDI: Key SOA Component Enable Register & Discover Coordinate & Compose Enable interoperability between applications Apps, App Servers, Legacy, MOM/EAI Scale the number of interoperable participants UDDI Create, link and adapt business rules and processes in a loosely coupled manner BPM & composite application development

Darryl Plummer, Gartner Group Why UDDI? Standards-based Flexible Wide variety of publish/discovery tools available Becoming widely adopted for “private usage” “UDDI is the de facto standard for building registries that house corporate enterprise services, and from which Web services can be accessed and consumed.” Darryl Plummer, Gartner Group

UDDI Basics

Conceptual Overview White Pages Yellow Pages Green Pages Basic contact information and identifiers about a company or service provider. Categorization of web services using taxonomies. Technical information describing a web service

Key Entities Description businessEntity Information about the entity who offers a service tModel Description of specifications for services 0..n Bindings contain references to tModels. These references declare the interface specifications for a service. businessService Descriptive information about a particular family of technical offerings 0..n 0..n bindingTemplate Technical information about a service entry point

Key Entities Example businessEntity publisherAssertion businessService Name: Acme Corp Desc: Purveyors of Fine Products URL: www.acme.com Contact: Joseph Kewl publisherAssertion From Key: Acme Corp. To Key: Nadir Corp. businessService Name: getPrice Desc: Accepts ACME product ID as a string. Returns product price as a double. bindingTemplate Access Point: http://soap.acme.com/getPrice Desc: SOAP endpoint for the getPrice service. tModel Name: getPrice Desc: WSDL for the getPrice service Overview Doc: http://soap.acme.com/getPrice/wsdl category wsdlSpec identifier E1-AA-09-F3

Categorizing Entities businessEntity Name: Acme Corp Desc: Purveyors of Fine Products URL: www.acme.com Contact: Joseph Kewl category Retail publisherAssertion From Key: Acme Corp. To Key: Nadir Corp. identifier DUNS: 123456 businessService Name: getPrice Desc: Accepts ACME product ID as a string. Returns product price as a double. category Pricing bindingTemplate Access Point: http://soap.acme.com/getPrice Desc: SOAP endpoint for the getPrice service. category V 1.1 tModel Name: getPrice Desc: WSDL for the getPrice service Overview Doc: http://soap.acme.com/getPrice/wsdl category wsdlSpec identifier E1-AA-09-F3

UDDI Best Practices

Getting Started Obtain a general understanding of UDDI capabilities OASIS UDDI Specifications at http://www.uddi.org Whitepapers from UDDI vendors Develop a detailed understanding of the use cases that drive the adoption of UDDI throughout the organization Design-time discovery Runtime binding Reporting

Getting Started Develop a general understanding of how UDDI will fit into a company-specific Web services strategy How will data and metadata be modeled? Who will be allowed to read and write? How will publications be audited? How will users learn to user the registry? How will UDDI be deployed?

Modeling UDDI entities Determine what constitutes a businessEntity businessEntity = service provider Business, business unit, organization, department, computer, application, program, project or person are common businessEntities Key consideration: businessEntities are the only type of entity that can be associated with contacts Also determine relationship among businessEntities (i.e. organizational chart)

Modeling UDDI entities Determine the types of services that can be published Do it for Web Services, but consider all of your IT assets and business services Define how those services will be represented in the registry Standardize on the access point for each service type (i.e. URL for web services, phone number for customer service) Determine what metadata will be provided with each service (i.e. XML schema, end user documentation, policies etc..)

Publishing WSDL to UDDI Follow version 2.0 of the UDDI technical note, “Using WSDL in a UDDI Registry” Ensures interoperability with application vendors for discovering WSDL-based services wsdl:portType and wsdl:binding elements map to uddi:tModel entities wsdl:service elements map to uddi:businessService entities wsdl:port elements map to uddi:binding Template entities

Publishing WSDL to UDDI Extend to enable better query capabilities Map operations and types into UDDI Categorization taxonomy to identify an entity as an operation or type Operation Reference taxonomy to associate a service with its operations Input and Output Type Reference taxonomy to associate an operation with its input and output types Create a tModel for each data type and each operation

Modeling UDDI entities Define a naming protocol for businessEntities and businessServices Should be intuitive and well understood as a common search pattern is based on these names Should be enforced as deviations from the scheme can cause confusion and lessen the effectiveness of the registry Take advantage of publisher-assigned keys More user-friendly: uddi:globalbank-com:maintaxonomy vs uuid:2CD3A773-874E-2539… Common search pattern is based on these keys Must guarantee uniqueness across all registries

Taxonomies Use taxonomies : key to promoting reuse Establish categorization schemes before deploying UDDI services and require their use when publishing The specification does define and include some canonical taxonomies, but these are general-purpose Build custom taxonomies that apply to your specific business or application to enhance the discovery of services What can be categorized UDDI v3 now supports categorization of a bindingTemplate Migrate previous v2 binding categorization strategies to take advantage of this

Custom Taxonomies Build from the bottom up Common starting points Begin at divisional or workgroup level Start simple; don’t attempt to “boil the ocean” Tackle enterprise taxonomies as necessary – enterprise taxonomies may be non-trivial Common starting points Geography Organization Business Function

Custom Taxonomies : An approach Step 1: Organize services according to a range of organizational and technical parameters Organization structure Service role Application type Visibility Deployment environment Version number Lifecycle Protocols QoS Authentication

Custom Taxonomies : An approach Step 2: Model the taxonomies Name Description Compatibility Check Current Valid Values Globalbank-com: Divisions Describes the divisions of the bank businessEntity businessService Yes CapitalMarkets, CommercialBanking, Consumer… Globalbank-com: application Type Describes the service by business function GeneralLedger, EquityTrading, CreditAnalysis… Globalbank-com:lifecycle Indicates where a service is at in its lifecycle bindingTemplate tModel Development, staging, production, retirement ….

Custom taxonomies: An approach Step 3: Apply to published entities businessEntity Name: Global-com:CreditCard Desc: Manages credit card retail business URL: www.globalbank.com/retail/ creditcard Contact: John Smith Globalbank-com: Divisions Consumer Globalbank-com: Divisions Consumer businessService Name: Global-com:creditCheck Desc: Checks credit rating of Potential new customer Globalbank-com: applicationType CreditAnalysis

Custom taxonomies: An approach Step 3: Apply to published entities Globalbank-com: version V2.0 bindingTemplate Access Point: http://soap.acme.com/getPrice Desc: SOAP endpoint for the getPrice service. Globalbank-com: lifecycle staging uddi-org: types wsdlSpec tModel Name: getPrice Desc: WSDL:type representing portType Overview Doc: http://soap.acme.com/getPrice/wsdl uddi-org:wsdl: types portTypes

Process and Procedural Considerations Standardize publications Ensures quality of data Minimizes “pollution” in the registry Establish publication guidelines Description and example of type of organization the provider represents Convention used to name businessEntities and businessServices Description of modeling approach and an example of service publication data structure. The names and descriptions of any categorization schemes that should be used

Process and Procedural Considerations Example publication guidelines All businessEntities must be based on organizational units within the company All businessEntities must contain a contact that includes a phone number and an e-mail address All businessServices must provide end user documentation provided as a tModel referenced from a bindingTemplate All businessServices must be categorized using the Global-com:applicationType categorization scheme All tModel entities that represent WSDL files must be categorized with the wsdlSpec value of the uddi-org:types taxonomy

Process and Procedural Considerations Enforce publication guidelines Implement multiple registries for staging and production Restrict publication rights to production Establish approval process for promoting entities from staging to production If possible, automate approval process to streamline publication Ensure ownership is preserved when promoting from staging to production

OASIS Technical Notes QoS mapping TN Versioning TN Performance & scalability information Versioning TN General purpose versioning API Resources mapping TN Publishing & discovery of XML, XSLT, XML Schema documents WSDL-to-UDDI TN Granular publishing