web 312 integrating applications with uddi services andy milligan program manager uddi services,...
Post on 15-Jan-2016
221 views
TRANSCRIPT
![Page 1: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/1.jpg)
WEB 312
Integrating Applications With UDDI Services
Andy MilliganProgram ManagerUDDI Services, Windows ServerMicrosoft Corporation
![Page 2: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/2.jpg)
Agenda
UDDI update
Publishing Web servicesRegistration modeling
Programmatic registration
Consuming Web servicesDesign/configuration time discovery
Runtime discovery
Discovery for reliability
Customizing the UDDI experience
Next steps and discussion
![Page 3: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/3.jpg)
UDDI update
Universal Description Discovery and IntegrationWeb 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 ServicesIntegrated 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
![Page 4: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/4.jpg)
Publishing Web Services
Variety of applications are / will be exposing Web services
ISV server applicationIn-house deployed applications In-house wrapped LOB application
Motivations for publishing to UDDIPredictable, centralized rendezvous point for services and their metadataEnough to identify, differentiate, and integratePublish (advertise) to encourage reuse, limit development duplication, and out-of-band communicationCommunicate changes in application deployment
![Page 5: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/5.jpg)
Publishing Mechanism
Register during application lifecycle eventsInstallation, deployment, configuration, upgrade, uninstall, etc.
UDDI Services supports Web UI and SOAP APIManual Web UI registration
Suitable for small number of services or simple profiles
Potentially error prone
Programmatic SOAP API registrationApplicable to widely deployed applications
Improved consistency and accuracy of registration details
![Page 6: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/6.jpg)
Registration Profile
Model your serviceEstablish provider, service, bindings, and interfaces (tModels)
Develop standard approaches
Decide on appropriate categorizationsMapPoint Geographic
Visual Studio .NET
Business Capabilities
Create custom schemes
![Page 7: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/7.jpg)
UDDI Data Model
Provider: Information about the Provider: Information about the entity who offers a serviceentity who offers a service
0…n
Service: Descriptive Service: Descriptive information about a particular information about a particular family of technical offeringsfamily of technical offerings
0…n
Binding: Technical information Binding: Technical information about a service entry pointabout a service entry point
tModel: Definitions of tModel: Definitions of specifications for services specifications for services
0…n
![Page 8: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/8.jpg)
UDDI Data ModelDescribing WSDL Services
Provider: Information about the Provider: Information about the entity who offers a serviceentity who offers a service
0…n
Service: Descriptive Service: Descriptive information about a particular information about a particular family of technical offeringsfamily of technical offerings
0…n
Binding: Technical information Binding: Technical information about a service entry pointabout a service entry point
tModel: Definitions of tModel: Definitions of specifications for services specifications for services
0…n
Pointer to a WSDL specPointer to a WSDL spec
Categorization: uddi-org:typesCategorization: uddi-org:typesKey Value: wsdlSpec Key Value: wsdlSpec
Access point(s) Access point(s) for the servicefor the service
Name, description, and Name, description, and categorization of the servicecategorization of the service
Name, description, and Name, description, and categorization of the categorization of the deployment groupdeployment group
![Page 9: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/9.jpg)
UDDI Data ModelCOM similarities
Provider: Information about the Provider: Information about the entity who offers a serviceentity who offers a service
0…n
Service: Descriptive Service: Descriptive information about a particular information about a particular family of technical offeringsfamily of technical offerings
0…n
Binding: Technical information Binding: Technical information about a service entry pointabout a service entry point
tModel: Definitions of tModel: Definitions of specifications for services specifications for services
0…n
Pointer to a WSDL specPointer to a WSDL spec
Name, description, and Name, description, and categorization of the servicecategorization of the service
Name, description, and Name, description, and categorization of the categorization of the deployment groupdeployment group
InterfaceInterface
ImplementationImplementation
[ odl, uuid(34194D3F-2B85-41F0-8211-368904FD89B8)]interface _StockQuoteClass : IDispatch { HRESULT GetLastTradePrice( [in, out] BSTR* symbol, [out, retval] double* ); };
Access point(s) Access point(s) for the servicefor the service
[uuid(C92A5941-D42D-4DA2-B83F-C3299D893A23), version(1.0) ]coclass StockQuoteClass { [default] interface _StockQuoteClass;};
![Page 10: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/10.jpg)
Manual Web UI Manual Web UI RegistrationRegistration
demodemo
![Page 11: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/11.jpg)
Programmatic RegistrationUDDI SOAP API Message Set
Synchronous request/response protocol
For each UDDI entity (provider, service, binding, and tModel)
Finds – find_service, find_business
Gets – get_serviceDetail, get_businessDetail
Saves – save_service, save_business
Deletes – delete_service, delete_business
Broad cross-platform developer reachCumbersome to create using XML APIs
![Page 12: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/12.jpg)
Programmatic RegistrationMicrosoft UDDI SDK 2.0
.NET assembly providing rich object model
![Page 13: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/13.jpg)
Programmatic RegistrationMicrosoft UDDI SDK 2.0
Objects serialize to underlying UDDI XMLApplicable to any UDDI server
Superior to WSDL generated proxy classesProperties, collections, overridden Add methods etc.
Usable from COM / Visual Studio 6.0
Available in the Microsoft Platform SDK
![Page 14: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/14.jpg)
Programmatic RegistrationBuilding The Registration
Discover the UDDI serverActive Directory registration and UddiSiteDiscovery
Establish a secured connectionWindows Integrated or UDDI Authentication
Create and Send a SaveTModel for the interface definition
Identifying GUID returned
CreateA named and categorized provider and service
A binding specifying the access point and referencing the tModel GUID
Place in a SaveBusiness and Send
![Page 15: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/15.jpg)
Programmatic API Programmatic API RegistrationRegistration
demodemo
![Page 16: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/16.jpg)
Programmatic RegistrationNotes
Overridden ToString() method provides XML messageConsole.WriteLine(myServiceDetail.ToString());
UddiConnection exposes HttpClient for advanced configmyUddiConnection.HttpClient.AllowAutoRedirect = true;myUddiConnection.HttpClient.Proxy = new WebProxy(...);
UDDI API errors thrown as UddiExceptiontry { ... }catch (UddiException e) {Console.Write("UDDI exception: " + e.Message);}catch (Exception gen) {Console.Write("General exception: " +
gen.Message);}
Enumerations for common tModels UUIDsCommonExtended.MicrosoftComMapPointGeographicCommonCanonical.UddiOrgHomepage
![Page 17: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/17.jpg)
Consuming Web services
Variety of applications are / will be consuming Web services
Desktop application at configuration timeDeveloper applications at design timeDistributed server/desktop applications at runtime
MotivationsPredictable, centralized rendezvous point for services and their metadataEnough to dynamically identify, differentiate, and integrate with most “appropriate” servicesDiscover to enable reuse, limit development duplication and out of band communicationDiscover changes in application deployment
![Page 18: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/18.jpg)
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
GetRelatedCategories extended API for category enumeration and drill down
![Page 19: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/19.jpg)
Configuration Time Configuration Time DiscoveryDiscovery
demodemo
![Page 20: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/20.jpg)
Design Time Discovery
“Find all WSDL described services”Used in Office XP, Visual Studio .NET, InfoPathUse combination of Find APIs to retrieve list and Get APIs to retrieve full detailsReusable DHTML UI:
http://<servername>/uddi/AddWebReference
![Page 21: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/21.jpg)
Runtime Discovery
Dynamically bind to “most appropriate” service instance
Categorizations provide a mechanism for adding metadata criteria
Geographic localeQuality of serviceService 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
ManagedUrl class encapsulates this reliability
![Page 22: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/22.jpg)
ManagedUrl:ManagedUrl:ManagedUrl:ManagedUrl:•Instance 1Instance 1•Instance 2Instance 2•……•Instance NInstance N
ManagedUrl:ManagedUrl:•Instance 1Instance 1•Instance 2Instance 2•……•Instance NInstance N
Managed URL Reliability
UDDI Services
1. At application startup retrieve 1. At application startup retrieve compatible services from UDDIcompatible services from UDDI
3. Simple FailOver to next available3. Simple FailOver to next availableservice without additional lookup service without additional lookup or application interruptionor application interruption
2. Application uses2. Application usesManagedUrl.Value in invocationsManagedUrl.Value in invocations
Consuming application
Web service instance N
Web service instance 2
Web Service Instance 1
![Page 23: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/23.jpg)
ManagedUrl: ManagedUrl: Robust Web services clientRobust Web services client
demodemo
![Page 24: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/24.jpg)
Customizing The UDDI ExperienceUDDI Services User Interface
UDDI Services user interfaceRich Web application – ASP.NET / DHTML / CSS
Full fidelity of UDDI object model
Scenario specific
ConsiderationsRequires understanding of UDDI Servicesconcepts and modeling decisions
Usage pattern not tied down
Corporate customization not a design goal
Specific look and feel
![Page 25: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/25.jpg)
Custom User InterfaceSupporting Specific Scenarios
There is scope for user interface focused on more specific usage patterns
WinFormsUDDI Publish Wizard:
Focused on Visual Studio .NET developer
Available in UDDI SDK and integrates intoVisual Studio .NET
ASP.NETCorporate look and feel
Scenario specific
![Page 26: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/26.jpg)
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
ASP.NETASP.NET
SQL Server SQL Server / MSDE / MSDE
Stored Stored procsprocs
Windows Server 2003Windows Server 2003
UDDI ServicesUDDI Services
Web UIWeb UI
SOAP APISOAP API
.NET .NET business business
logiclogic
Web clientWeb client
Custom UICustom UI
![Page 27: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/27.jpg)
ASP.NET Alternate UIASP.NET Alternate UI
•Simple search client•Simple publish client
demodemo
![Page 28: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/28.jpg)
ASP.NET Alternate UINotes
UDDI SDK provides object model over theXML API
Send method to invoke XML API call
To leverage UDDI Services rolesConfigure Internet Information Server vdir for “Integrated Windows authentication”
Enable identity impersonation in Web.config...</authorization>
<identity impersonate="true"/>
<trace...
![Page 29: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/29.jpg)
Summary
Publishing Web servicesRegistration modeling
Programmatic registration with the UDDI SDK
Consuming Web servicesDesign, configuration and runtime discovery
Discovery for reliability with the ManagedUrl
Customizing the UDDI experienceASP.NET UI for SOAP API
![Page 30: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/30.jpg)
Next steps
Install Windows Server 2003 UDDI Services
Model your application registrations
Discover and integrate with services from UDDI at design, configuration, and runtime
![Page 31: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/31.jpg)
UDDI Resources
WebsitesMSDN UDDI Development:msdn.microsoft.com/uddiUDDI Services:www.microsoft.com/windowsserver2003From within UDDI Services:
“Additional UDDI resources on the web”
Newsgroupsmicrosoft.public.uddi.generalmicrosoft.public.uddi.programming
![Page 32: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/32.jpg)
Community Resources
Community Resourceshttp://www.microsoft.com/communities/default.mspx
Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/
NewsgroupsConverse online with Microsoft Newsgroups, including Worldwidehttp://www.microsoft.com/communities/newsgroups/default.mspx
User GroupsMeet and learn with your peershttp://www.microsoft.com/communities/usergroups/default.mspx
![Page 33: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/33.jpg)
evaluationsevaluations
![Page 34: WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation](https://reader030.vdocuments.mx/reader030/viewer/2022020417/56649d825503460f94a6820a/html5/thumbnails/34.jpg)
© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.