affbaff8da8f49d1d032cfb7c4398957.ppt
- Количество слайдов: 34
WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation
Agenda UDDI update Publishing Web services Registration modeling Programmatic registration Consuming Web services Design/configuration time discovery Runtime discovery Discovery for reliability Customizing the UDDI experience Next steps and discussion
UDDI update Universal Description Discovery and Integration Web services standard Data model for storing providers and their services SOAP API for searching and publishing Integrated into many tools such as Visual Studio. NET, Microsoft Office Enterprise UDDI Services Integrated component of Windows Server 2003 Built in C# on. NET Framework 1. 1, Internet Information Server 6. 0, and SQL Server 2000 Active Directory for roles, authentication and server registration
Publishing Web Services Variety of applications are / will be exposing Web services ISV server application In-house deployed applications In-house wrapped LOB application Motivations for publishing to UDDI Predictable, centralized rendezvous point for services and their metadata Enough to identify, differentiate, and integrate Publish (advertise) to encourage reuse, limit development duplication, and out-of-band communication Communicate changes in application deployment
Publishing Mechanism Register during application lifecycle events Installation, deployment, configuration, upgrade, uninstall, etc. UDDI Services supports Web UI and SOAP API Manual Web UI registration Suitable for small number of services or simple profiles Potentially error prone Programmatic SOAP API registration Applicable to widely deployed applications Improved consistency and accuracy of registration details
Registration Profile Model your service Establish provider, service, bindings, and interfaces (t. Models) Develop standard approaches Decide on appropriate categorizations Map. Point Geographic Visual Studio. NET Business Capabilities Create custom schemes
UDDI Data Model Provider: Information about the entity who offers a service t. Model: Definitions of specifications for services 0…n Service: Descriptive information about a particular family of technical offerings 0…n Binding: Technical information about a service entry point
UDDI Data Model Describing WSDL Services Provider: Information about the entity who offers a service t. Model: Definitions of specifications for services Name, description, and categorization of the deployment group 0…n Pointer to a WSDL spec Categorization: uddi-org: types Key Value: wsdl. Spec Service: Descriptive information about a particular family of technical offerings 0…n Name, description, and categorization of the service 0…n Binding: Technical information about a service entry point Access point(s) for the service
UDDI Data Model COM similarities Provider: Information about the entity who offers a service 0…n Name, description, and categorization of the deployment group t. Model: Definitions of specifications for services Pointer to a WSDL spec Interface [ odl, uuid(34194 D 3 F-2 B 85 -41 F 0 -8211 -3 interface _Stock. Quote. Class : IDispatc HRESULT Get. Last. Trade. Price( [in, out] BSTR* symbo [out, retval] double* Service: Descriptive information about a particular family of technical offerings 0…n Name, description, and categorization of the service 0…n Implementation [uuid(C 92 A 5941 -D 42 D-4 DA 2 -B 83 F-C 3299 D 893 A 23 ), Binding: Technical information version(1. 0) ] about coclass Stock. Quote. Class { a service entry point Access point(s) [default] interface _ Stock. Quote. Class; }; for the service
demo Manual Web UI Registration
Programmatic Registration UDDI SOAP API Message Set Synchronous request/response protocol For each UDDI entity (provider, service, binding, and t. Model) Finds – find_service, find_business Gets – get_service. Detail, get_business. Detail Saves – save_service, save_business Deletes – delete_service, delete_business Broad cross-platform developer reach Cumbersome to create using XML APIs
Programmatic Registration Microsoft UDDI SDK 2. 0. NET assembly providing rich object model
Programmatic Registration Microsoft UDDI SDK 2. 0 Objects serialize to underlying UDDI XML Applicable to any UDDI server Superior to WSDL generated proxy classes Properties, collections, overridden Add methods etc. Usable from COM / Visual Studio 6. 0 Available in the Microsoft Platform SDK
Programmatic Registration Building The Registration Discover the UDDI server Active Directory registration and Uddi. Site. Discovery Establish a secured connection Windows Integrated or UDDI Authentication Create and Send a Save. TModel for the interface definition Identifying GUID returned Create A named and categorized provider and service A binding specifying the access point and referencing the t. Model GUID Place in a Save. Business and Send
demo Programmatic API Registration
Programmatic Registration Notes Overridden To. String() method provides XML message Console. Write. Line(my. Service. Detail. To. String()); Uddi. Connection exposes Http. Client for advanced config my. Uddi. Connection. Http. Client. Allow. Auto. Redirect = true; my. Uddi. Connection. Http. Client. Proxy = new Web. Proxy(. . . ); UDDI API errors thrown as Uddi. Exception try {. . . } catch (Uddi. Exception e) {Console. Write("UDDI exception: " + e. Message); } catch (Exception gen) {Console. Write("General exception: " + gen. Message); } Enumerations for common t. Models UUIDs Common. Extended. Microsoft. Com. Map. Point. Geographic Common. Canonical. Uddi. Org. Homepage
Consuming Web services Variety of applications are / will be consuming Web services Desktop application at configuration time Developer applications at design time Distributed server/desktop applications at runtime Motivations Predictable, centralized rendezvous point for services and their metadata Enough to dynamically identify, differentiate, and integrate with most “appropriate” services Discover to enable reuse, limit development duplication and out of band communication Discover changes in application deployment
Configuration Time Discovery “Find all services that implement interface X and are categorized with Y” Use combination of Find APIs to retrieve list and Get APIs to retrieve full details Get. Related. Categories extended API for category enumeration and drill down
demo Configuration Time Discovery
Design Time Discovery “Find all WSDL described services” Used in Office XP, Visual Studio. NET, Info. Path Use combination of Find APIs to retrieve list and Get APIs to retrieve full details Reusable DHTML UI: http: //<servername>/uddi/Add. Web. Reference
Runtime Discovery Dynamically bind to “most appropriate” service instance Categorizations provide a mechanism for adding metadata criteria Geographic locale Quality of service Service status (test/production/deprecated) Not dynamically discover a new kind of service Given redundant service instances, can help manage the fragility of distributed applications Cache to not require UDDI on every invocation Managed. Url class encapsulates this reliability
Managed URL Reliability 1. At application startup retrieve compatible services from UDDI Web Service Instance 1 Web service instance N Web service instance 2 2. Application uses Managed. Url. Value in invocations 3. Simple Fail. Over to next available service without additional lookup or application interruption UDDI Services Consuming application Managed. Url: : Managed. Url • Instance 1 • Instance 2 • … • Instance N
demo Managed. Url: Robust Web services client
Customizing The UDDI Experience UDDI Services User Interface UDDI Services user interface Rich Web application – ASP. NET / DHTML / CSS Full fidelity of UDDI object model Scenario specific Considerations Requires understanding of UDDI Services concepts and modeling decisions Usage pattern not tied down Corporate customization not a design goal Specific look and feel
Custom User Interface Supporting Specific Scenarios There is scope for user interface focused on more specific usage patterns Win. Forms UDDI Publish Wizard: Focused on Visual Studio. NET developer Available in UDDI SDK and integrates into Visual Studio. NET ASP. NET Corporate look and feel Scenario specific
ASP. NET Integration UDDI Services API for integration is the UDDI XML API No direct managed or COM integration No direct database access supported Post XML messages over HTTP to SOAP access point Windows Server 2003 UDDI Services Web UI SOAP API Web client Custom UI ASP. NET business logic SQL Server / MSDE Stored procs
demo ASP. NET Alternate UI Simple search client • Simple publish client •
ASP. NET Alternate UI Notes UDDI SDK provides object model over the XML API Send method to invoke XML API call To leverage UDDI Services roles Configure Internet Information Server vdir for “Integrated Windows authentication” Enable identity impersonation in Web. config. . . </authorization> <identity impersonate="true"/> <trace. . .
Summary Publishing Web services Registration modeling Programmatic registration with the UDDI SDK Consuming Web services Design, configuration and runtime discovery Discovery for reliability with the Managed. Url Customizing the UDDI experience ASP. NET UI for SOAP API
Next steps Install Windows Server 2003 UDDI Services Model your application registrations Discover and integrate with services from UDDI at design, configuration, and runtime
UDDI Resources Websites MSDN UDDI Development: msdn. microsoft. com/uddi UDDI Services: www. microsoft. com/windowsserver 2003 From within UDDI Services: “Additional UDDI resources on the web” Newsgroups microsoft. public. uddi. general microsoft. public. uddi. programming
Community Resources http: //www. microsoft. com/communities/default. mspx Most Valuable Professional (MVP) http: //www. mvp. support. microsoft. com/ Newsgroups Converse online with Microsoft Newsgroups, including Worldwide http: //www. microsoft. com/communities/newsgroups/default. mspx User Groups Meet and learn with your peers http: //www. microsoft. com/communities/usergroups/default. mspx
evaluations
© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
affbaff8da8f49d1d032cfb7c4398957.ppt