V22.0480-004 Web Services Architecture and Programming
Transcript of V22.0480-004 Web Services Architecture and Programming
![Page 1: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/1.jpg)
V22.0480-004Web Services Architecture and Programming
Lecture 15UDDI
Some slides taken from anoverview presentation at www.uddi.org
![Page 2: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/2.jpg)
11/5/2003 2
Announcements
• Lab 4 due back November 12th (Wednesday)
• Lab 5 will be handed out November 13th, due Nov. 26th (Wednesday)– Interaction with UDDI registries– Programmatic discovery of web services
![Page 3: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/3.jpg)
11/5/2003 3
(Review) Web Services Architecture – Standards
Web services allow programmatic interaction …… by relying upon standard protocols for
• Discovering services with desired characteristics– UDDI (this lecture)
• Determining the operations offered by the service– WSDL (Lecture 14)
• Invoking the desired operation– SOAP (Lecture 13)
![Page 4: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/4.jpg)
11/5/2003 4
Universal Description, Discovery, and Integration
Two components• Standards-based specifications for service description and discovery
– Both of the information that is shared, and– The APIs that are used to access it
• Shared operation of a business registry on the web– UDDI registry itself implemented as a web service
Partnership among industry and business leaders• Microsoft, IBM, HP, Oracle, SAP, Accenture, Ariba, Commerce One
…• OASIS Standards Group (www.uddi.org)
Versions• Currently deployed: v2• v3 specifications under review
![Page 5: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/5.jpg)
11/5/2003 5
What Problems Does UDDI Solve?
A mid-sized manufacturer needs to create 400 online relationships with customers, each with their own set of standard and protocols
BroaderB2B
A flower shop in Australia wants to be “plugged in” to every marketplace in the world, but doesn’t know how
SmarterSearch
A B2B marketplace cannot get catalog data for relevant suppliers in its industry, along with connections to shippers, insurers, etc.
Easier Aggregation
Describe Services
Discover Services
IntegrateThemTogether
![Page 6: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/6.jpg)
11/5/2003 6
UDDI v1 Implementation
UDDI Business RegistryProgrammatic descriptions of web servicesProgrammatic descriptions of businesses and the services they support Programming model, schema, and platform agnosticUses XML, HTTP, and SOAPFree on the Internet
Manufacturers
Flower Shops
Marketplaces
![Page 7: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/7.jpg)
11/5/2003 7
How UDDI v1 Works
UDDI Business Registry
3. UBR assigns a programmatically unique identifier to each service and business registration
Marketplaces, search engines, and business apps query the registry to discover services at other companies
4.
Service TypeRegistrations
SW companies, standards bodies, and programmers populate the registry withdescriptions of different types of services
1.
BusinessRegistrationsBusinesses
populate the registry w/ descriptions of the services they support
2.
Business uses this data to facilitate easier integration with each other over the Web
5.
![Page 8: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/8.jpg)
11/5/2003 8
UDDI Registry Data
• Businesses register public informationabout themselves
• Standards bodies, Programmers, Businesses register information about their Service Types
WhitePages
YellowPages
GreenPages
Service TypeRegistrations
![Page 9: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/9.jpg)
11/5/2003 9
White Pages
• Business Name• Text Description
– list of multi-language text strings• Contact info
– names, phone numbers, fax numbers, web sites…• Known Identifiers
– list of identifiers that a business may be known by - DUNS, Thomas, other
![Page 10: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/10.jpg)
11/5/2003 10
Yellow Pages
Business categories• 3 standard taxonomies in V1
– Industry: NAICS (Industry codes - US Govt.)– Product/Services: UN/SPSC (ECMA)– Location: Geographical taxonomy
• Many more in V2• New ones can be created
• Implemented as name-value pairs to allow any valid taxonomy identifier to be attached to the business white page
![Page 11: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/11.jpg)
11/5/2003 11
Green Pages
New set of information businesses use to describe how to “do e-commerce” with them
• Allows programmatic discovery and interaction with web services
Nested model• Business processes (Providers)• Service descriptions
– Owned by a business (provider)– A business (provider) can own multiple services
• Binding information– Refers to where a service is located, how to interact with it, …
• For SOAP-based web services, the URL– A service can have multiple bindings
• Programming/platform/implementation agnostic• Services can also be categorized
![Page 12: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/12.jpg)
11/5/2003 12
Service Type Registration
Information referred to in the UDDI specifications as a tModel
• Pointer to the namespace where service type is described– What programmers read to understand how to use the service– For XML web services, the WSDL file
• Identifier for who published the service type
• Identifier for the service type registration– called a tModelKey
• A unique ID generated by the UDDI registry– Used as a signature by web sites that implement those services
![Page 13: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/13.jpg)
11/5/2003 13
UDDI Information Model
• Boxes correspond to XML element names
![Page 14: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/14.jpg)
![Page 15: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/15.jpg)
11/5/2003 15
Example of an UDDI Registration
businessEntityTB993… Harbour Metalswww.harbourmetals.co.au“Serving Inner Sydney Harbour for …contactsbusinessServicesidentifierBagcategoryBag
872-68914281 King’s Blvd, Sydney, [email protected]
Peter Smythe
businessServiceKeyNameDescriptionBindingTemplates
businessService23T701e54683nf…Online catalog“Website where you can …BindingTemplates
BindingTemplate5E2D412E5-44EE-…http://www.sydneynet/harbour…tModelInstanceDetails
tModelInstanceInfo
4453D6FC-223C-3ED0…http://www.rosetta.net/catalogPIP
keyedReferenceDFE-2B…DUNS45231
keyedReferenceEE123…NAICS02417
tModelKeys
![Page 16: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/16.jpg)
11/5/2003 16
IBM
Ariba
Microsoftother
other
Business Registry Operation
• Peer nodes (websites)• Companies register
with any node• Registrations replicated
on a daily basis• Complete set of
“registered” recordsavailable at all nodes
• Common set ofSOAP APIssupportedby all nodes
• Compliance enforced bybusiness contract
UDDI.org
queries
![Page 17: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/17.jpg)
11/5/2003 17
Registry Access Using SOAP
User UDDI
SOAP Request
UDDISOAP Response
UDDI RegistryNode
HTTPServer
SOAPProcessor
UDDIRegistry Service
B2B DirectoryCreate, View, Update, and Deleteregistrations Implementation-
neutral
![Page 18: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/18.jpg)
11/5/2003 18
Registry APIs (SOAP Messages)
Inquiry API• Find things
– find_business– find_service– find_binding– find_tModel
• Get Details about things– get_businessDetail– get_serviceDetail– get_bindingDetail– get_tModelDetail
Publishers API• Save things
– save_business– save_service– save_binding– save_tModel
• Delete things– delete_business– delete_service– delete_binding– delete_tModel
• Security…– get_authToken– discard_authToken
![Page 19: V22.0480-004 Web Services Architecture and Programming](https://reader035.fdocuments.in/reader035/viewer/2022071601/613d3210736caf36b75a72c1/html5/thumbnails/19.jpg)
11/5/2003 19
UDDI Functionality in the .NET Framework
• “UDDI Services” component on Windows Server 2003 provides registry server functionality– A web service hosted on top of IIS 6.0/ASP.NET– Web-based and programmatic (SOAP) interaction
• http://<server name>/uddi– Integrated with the “Add Web Reference” tool in Visual Studio.NET
• http://<server name>/uddi/addwebreference
• Programmatic interaction through an optional SDK– Object-oriented interface to UDDI API using the Microsoft.Uddi
namespace• Create a UddiConnection• Create a request object (Service, Business, TModel)• Send request to UddiConnection, receive Info objects in response• Request for basic and detailed info