WEB 312 Integrating Applications With UDDI Services Andy Milligan Program Manager UDDI Services, Windows Server Microsoft Corporation.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Web Service Architecture
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
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
Web Services Technology Stack (WSDL and UDDI)
T NAF & XML UDDI Sasu Tarkoma and Pekka Nikander Helsinki Institute for Information Technology.
Web Services: UDDI. What is UDDI? UDDI = The Universal Description, Discovery, and Integration A central element of the group of standards that comprise.
Windows Server System TM Overview IT Expectations: Do More with Less.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
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.
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
Page 1 Building Reliable Component-based Systems Chapter 18 - A Framework for Integrating Business Applications Chapter 18 A Framework for Integrating.
Enterprise Reporting with Reporting Services SQL Server 2005 Donald Farmer Group Program Manager Microsoft Corporation.
DAT304 Leveraging XML and HTTP with Sql Server Irwin Dolobowsky Program Manager Webdata Group.
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
DBA230 Introducing SQL Server 2000 Reporting Services Jason Carlson Product Unit Manager SQL Server Microsoft Corporation.
DEV317 Integrating Extensible Business Graphics into Enterprise Applications using Visio 2003 Mai-lan Tomsen Bukovec Program Manager.
OFC 322 Building Office Research Web Services: Exposing Corporate Data Through Office Brian Jones Program Manager Authoring Services Martin Sawicki Lead.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
DEV334 Creating Application Starting Points & Sharing Best Practices with Enterprise Templates Marc Gusmano Director of Emerging Technologies The Information.
WSTK Development toolkit for Java Implementation of Web Services By Keping Jia.
1 Web Services Distributed Systems. 2 Service Oriented Architecture Service-Oriented Architecture (SOA) expresses a software architectural concept that.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Cambridge, March 23 rd 2004 MobileMAN Project MobileMAN Project Web Service in Ad Hoc Network Veronica Vanni NETikos S.p.A.
DEV290 Building Office Solutions with Visual Studio Eric Carter Lead Developer Developer Platform & Evangelism Microsoft Corporation.
Presentation Outline (hidden slide) Technical Level: 100 Intended Audience: TDMs, ITPros, ITDMs, BI specialists Objectives (what do you want the audience.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
OFC290 Information Rights Management in Microsoft Office 2003 Lauren Antonoff Group Program Manager.
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.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Slide 1.NET Development for Project 2003 Samples from the Project 2003 SDK Jim Corbin Programmer Writer Office Developer Documentation Microsoft Corporation.
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
Dr. Azeddine Chikh IS444: Modern tools for applications development.
James Akrigg Microsoft Ltd Integrating InfoPath Forms Into Workflow Solutions And Business Processes.
Web Services Presented By : Noam Ben Haim. Agenda Introduction What is a web service Basic Architecture Extended Architecture WS Stacks.
Helsinki, June 7 th 2004 IAB Meeting MobileMAN Project Web Service in Ad Hoc Network Veronica Vanni NETikos S.p.A.
MBL206 A First Look at the Microsoft Location Server (MLS) Steve Lombardi Technical Product Manager MapPoint Business Unit Microsoft Corporation.
DEV303 ASP.NET: Leveraging Visual Studio.NET For Web Projects Tony Goodhew Product Manager Microsoft Corp.
Web Services Error Handling and Debugging. Agenda Simple SOAP faults Advanced SOAP faults SOAP headers and faults Error handling From a Service Perspective.
Kemal Baykal Rasim Ismayilov
CP3024 Lecture 10 Web Services. What are Web Services?  “encapsulated, loosely coupled, contracted software objects offered via standard protocols” ZapThink.
1 Registry Services Overview J. Steven Hughes (Deputy Chair) Principal Computer Scientist NASA/JPL 17 December 2015.
MSG331 Exchange Server 2000/2003 Software Development Kit Susan Hill Lead Programmer Writer Microsoft Corporation.
Web Services Part 1 -- Qinwei Zhu Part 2 – Yongqun He.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation.
DBA331 Managing a Microsoft SQL Server 2000 Reporting Services Implementation Brian Welcker Group Program Manager SQL Server Microsoft Corporation.
EBIZ302 Jupiter Business Process Automation and Web Services David Fong Program Manager.
UDDI (Universal Description, Discovery and Integration) Dr. SVL Narasimham.
Microsoft Visual Studio 2005 Tools for the Office System: Building Office Solutions Using Visual Studio 2005 Tools for Office Andrew Coates Developer Evangelist.
DEV332 Programming for the Middle Tier in Visual Basic.NET Billy Hollis Author / Consultant.
.NET Mobile Application Development XML Web Services.
Introduction to.NET Building.NET Applications Mike Taulty Developer & Platform Group Microsoft Ltd
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
WSTK Development toolkit for Java Implementation of Web Services By Keping Jia.
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
DEV221 Windows Forms in Visual Studio 2005: An Overview Saurabh Pant Program Manager Microsoft Corporation.
Integrating Enterprise Applications Into SharePoint® Portal Server
Business Connectivity Services in SharePoint 2010 and Office 2010
Visual Studio Tools for Office 2005
Visual Studio 2005 Tools For Office: Creating A Multi-tier Application
Mark Quirk Head of Technology Developer & Platform Group
9/8/ :03 PM © 2006 Microsoft Corporation. All rights reserved.
Presentation transcript:

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 (tModels) Develop standard approaches Decide on appropriate categorizations MapPoint Geographic Visual Studio.NET Business Capabilities Create custom schemes

UDDI Data Model Provider: Information about the entity who offers a service 0…n Service: Descriptive information about a particular family of technical offerings 0…n Binding: Technical information about a service entry point tModel: Definitions of specifications for services 0…n

UDDI Data Model Describing WSDL Services Provider: Information about the entity who offers a service 0…n Service: Descriptive information about a particular family of technical offerings 0…n Binding: Technical information about a service entry point tModel: Definitions of specifications for services 0…n Pointer to a WSDL spec Categorization: uddi-org:types Key Value: wsdlSpec Access point(s) for the service Name, description, and categorization of the service Name, description, and categorization of the deployment group

UDDI Data Model COM similarities Provider: Information about the entity who offers a service 0…n Service: Descriptive information about a particular family of technical offerings 0…n Binding: Technical information about a service entry point tModel: Definitions of specifications for services 0…n Pointer to a WSDL spec Name, description, and categorization of the service Name, description, and categorization of the deployment group Interface Implementation [ odl, uuid(34194D3F-2B85-41F FD89B8)] interface _StockQuoteClass : IDispatch { HRESULT GetLastTradePrice( [in, out] BSTR* symbol, [out, retval] double* ); }; Access point(s) for the service [uuid(C92A5941-D42D-4DA2-B83F-C3299D893A23), version(1.0) ] coclass StockQuoteClass { [default] interface _StockQuoteClass;};

Manual Web UI Registration demo demo

Programmatic Registration UDDI 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 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 UddiSiteDiscovery Establish a secured connection Windows Integrated or UDDI Authentication Create and Send a SaveTModel for the interface definition Identifying GUID returned Create A named and categorized provider and service A binding specifying the access point and referencing the tModel GUID Place in a SaveBusiness and Send

Programmatic API Registration demo demo

Programmatic Registration Notes Overridden ToString() method provides XML message Console.WriteLine(myServiceDetail.ToString()); UddiConnection exposes HttpClient for advanced config myUddiConnection.HttpClient.AllowAutoRedirect = true; myUddiConnection.HttpClient.Proxy = new WebProxy(...); UDDI API errors thrown as UddiException try {... } catch (UddiException e) {Console.Write("UDDI exception: " + e.Message);} catch (Exception gen) {Console.Write("General exception: " + gen.Message);} Enumerations for common tModels UUIDs CommonExtended.MicrosoftComMapPointGeographic CommonCanonical.UddiOrgHomepage

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 GetRelatedCategories extended API for category enumeration and drill down

Configuration Time Discovery demo demo

Design Time Discovery “Find all WSDL described services” Used in Office XP, Visual Studio.NET, InfoPath Use combination of Find APIs to retrieve list and Get APIs to retrieve full details Reusable DHTML UI: /uddi/AddWebReference

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 ManagedUrl class encapsulates this reliability

ManagedUrl:ManagedUrl: Instance 1Instance 1 Instance 2Instance 2 … Instance NInstance NManagedUrl: Instance 1Instance 1 Instance 2Instance 2 … Instance NInstance N Managed URL Reliability UDDI Services 1. At application startup retrieve compatible services from UDDI 3. Simple FailOver to next available service without additional lookup or application interruption 2. Application uses ManagedUrl.Value in invocations Consuming application Web service instance N Web service instance 2 Web Service Instance 1

ManagedUrl: Robust Web services client demo demo

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 WinForms 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 ASP.NET SQL Server / MSDE Stored procs Windows Server 2003 UDDI Services Web UI SOAP API.NET business logic Web client Custom UI

ASP.NET Alternate UI Simple search client Simple publish client demo demo

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... <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 ManagedUrl 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 msdn.microsoft.com/uddi UDDI Services: From within UDDI Services: “Additional UDDI resources on the web” Newsgroups microsoft.public.uddi.general microsoft.public.uddi.programming

Community Resources Most Valuable Professional (MVP) Newsgroups Converse online with Microsoft Newsgroups, including Worldwide User Groups Meet and learn with your peers

evaluations evaluations

© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.