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..