Architecture Track Session 3 Strategies for Integration and Interoperability Audience Application architects and developers Responsible for designing, developing, and/or managing enterprise systems in heterogeneous environments Interested in using technologies available in Microsoft® Windows® Server 2003 and Microsoft® Visual Studio® .NET 2003 to solve integration and interoperability challenges Interested in the technical position of Microsoft on application integration and interoperability Interested in building and connecting systems to create solutions Realistic Expectations Both integration and interoperability are large topics with infinite variations This session strives to address a small subset of key technical strategies that can be employed in many different scenarios By no means is it comprehensive in its coverage Technical resources are available for many of the areas not covered today A detailed whitepaper accompanies this track Event DVD MSDN® .NET Architecture Center The Microsoft patterns & practices Web site Session Objectives Review working definitions of integration and interoperability Provide recommended ways of using Web services to address integration and interoperability scenarios Describe the architecture of Global XML Web Services Architecture (GXA) Examine COM interoperability Session Agenda Integration and interoperability: definitions Heterogeneous integration Web services integration Web services interoperability Web services architecture: GXA COM interoperability Integration and Interoperability Integration Two or more systems that cooperatively form a solution Interoperability Ability to operate with different technologies (COM, Apache, SOAP, and others) Session Agenda Integration and interoperability: definitions Heterogeneous integration Web services integration Web services interoperability Web services architecture: GXA COM interoperability Heterogeneous Integration Integration Level Type Data Mainframe (relational/nonrelational) Application Packaged applications (SAP, Siebel, and so on) Mainframe CICS and IMS Process Microsoft® BizTalk® Orchestration Services BizTalk Messaging Services Heterogeneous Integration Example COM component J2EE WebSphere application Generic applications XML Web services XML Web service BizTalk Server XML Web service XML Web service .NET application Mainframe via Host Integration Server Heterogeneous Integration Recommendations Application Type Mainframe Recommendation Host Integration Server MSMQ-MQSeries bridge Packaged (SAP, Siebel, others) J2EE and legacy applications BizTalk Web services adapter Over 300 other BizTalk adapters Expose as Web services Adhere to WS-I Basic Profile Session Agenda Heterogeneous integration Web services integration Web services interoperability Web services architecture: GXA COM interoperability Web Services Integration Enterprise UDDI Services Common Scenarios Scenario Web service re-use Dynamic configuration Aggregation of data based on common interface Coordinate efforts with business partners Description Design-time searches for Web services Get binding information at runtime Web service polymorphism to aggregate data Publish interface in UDDI that partners implement Web Services Integration UDDI Registration Steps 3. Implement the interface 2. Register the interface WSDL document in UDDI 1. Write an interface WSDL document 4. Register the implementation in UDDI UDDI Runtime Advantages Replication and Relocation Redmond UDDI London File expenses File expenses File expenses Using UDDI at Runtime Web Services Integration Recommendations For enterprise Web service integration, use UDDI Services Use Microsoft® Active Directory® to find UDDI Services servers on the network Use Microsoft® SQL Server™ for UDDI Services data store Use SSL for UDDI Services publishing and administration Session Agenda Heterogeneous integration Web services integration Web services interoperability Web services architecture: GXA COM interoperability XML Web Services Interoperability CommNet Registration Scenario Firewall XML parser XML request HTTPS client Proxy class Client application XML client Firewall URL listener HTTPS XML response XML parser HTTPS server UNIX server XML Web Services Interoperability Design Considerations Credential transfer Message integrity Message privacy Message reliability Must perform well Security is likely to be complex Different vendor implementations of SOAP don’t always work together Must be able to accommodate failure Passing the right amount of data (not too chatty, not too coarse) Web Services Interoperability Organization (WS-I) Goal: Promote Web services interoperability across platforms, applications, and programming languages Operational Requirement Common definition for Web services Implementation guidance and support for Web services adoption Consistent, reliable interoperability between Web services technologies from multiple vendors WS-I Deliverable Profiles Implementation scenarios Supporting documentation and whitepapers Sample code and applications Conformance testing tools WS-I Profiles Profile: Group of Web services specifications at specific version levels Profiles make it easier to discuss Web services interoperability First profile: WS-I Basic XML Schema 1.0 SOAP 1.1 WSDL 1.1 UDDI 1.0 XML Web Services Interoperability: Recommendations Conform with WS-I profiles Use the WS-I testing tools: Sniffer Logger Analyzer Keep up-to-date with latest WS-I profiles Session Agenda Heterogeneous integration Web services integration Web services interoperability Web services architecture: GXA COM interoperability Global XML Web Services Architecture: GXA GXA is a wire-level protocol framework Provides security, reliability, and multiparty agreement Standard way to describe, discover and communicate with Web services GXA SOAP XSD XML Web services Architecture: GXA Operational Requirement Message-oriented security (integrity, confidentiality, authentication, privacy) Sending binary messages Sending attachments with messages Routing messages through intermediaries Determining message paths through SOAP routers Distributed transactions GXA Specification WS-Security DIME WS-Attachments (includes DIME) WS-Routing WS-Referral WS-Coordination, WS-Transaction Web Services Enhancement (WSE) 1.0 How do I use GXA? Using WSE Session Agenda Heterogeneous integration Web services integration Web services interoperability Web services architecture: GXA COM interoperability COM Interoperability Design Considerations Interoperability vs. migration Migration strategies Performance Typically cheaper to interoperate Vertical Horizontal Usually minimal impact Chatty interfaces = bad performance COM+ 1.5 SOAP Services With Windows Server 2003, no code necessary! Component must be configured in COM+ Consume any Web service from COM+ Well-known object (WKO) mode Client-activated object (CAO) mode COM+ 1.5 SOAP Service COM Interoperability Recommendations Take advantage of COM+ SOAP Services If migrating, wrap existing COM components with future managed clients in mind Use interoperability attributes to support existing clients Implement the class interface Use primary interop assemblies COM+ SOAP Service Session Summary Web services are the glue to integration Use Windows Server 2003 UDDI Services for Web services integration Use COM+ SOAP Services for COM interoperability Use WS-I profiles for Web services interoperability Important Web Resources Microsoft patterns & practices http://msdn.microsoft.com/practices MSDN .NET Architecture Center http://msdn.microsoft.com/ architecture Visual Studio .NET 2003 http://msdn.microsoft.com/vstudio Windows Server 2003 http://www.microsoft.com/windows © 2003 Microsoft Corporation. All rights reserved. Microsoft, Visual C++, Visual Studio, the Visual Studio logo, Windows, the Windows logo, SQL Server, BizTalk, MSDN, and Active Directory are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary..