Web Services Web Services Interoperability Interoperability Jorgen Thelin Jorgen Thelin Senior Program Manager Senior Program Manager Connected Systems Division Connected Systems Division Microsoft Corporation Microsoft Corporation Ensuring interoperability through Web Ensuring interoperability through Web services specifications services specifications
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Web Services Web Services InteroperabilityInteroperability
Jorgen ThelinJorgen ThelinSenior Program ManagerSenior Program ManagerConnected Systems DivisionConnected Systems DivisionMicrosoft CorporationMicrosoft Corporation
Ensuring interoperability through Web Ensuring interoperability through Web services specificationsservices specifications
AgendaAgenda
What is InteroperabilityWhat is Interoperability
Ways to Achieve InteroperabilityWays to Achieve InteroperabilityWS-* Interop WorkshopsWS-* Interop Workshops
Plug-festsPlug-fests
Profiling / WS-IProfiling / WS-I
Microsoft’s Commitment to Microsoft’s Commitment to InteroperabilityInteroperability
What is Interoperability?What is Interoperability?
IntegrationIntegration
Combining software or hardware components or Combining software or hardware components or both into an overall system.both into an overall system.
InteroperabilityInteroperability
The ability to exchange and use information The ability to exchange and use information (usually in a large heterogeneous network made (usually in a large heterogeneous network made up of several local area networks)up of several local area networks)
The ability of software and hardware on multiple The ability of software and hardware on multiple machines from multiple vendors to communicatemachines from multiple vendors to communicate
It gives customers control over the data they create and want to share
Vendors create innovative solutions that bridge technologies to address real customer needs in an innovative manner
The nature of software allows for translatability in lieu of uniformity
Interoperability means Interoperability means connecting people, data, and connecting people, data, and
diverse systemsdiverse systems
Integration via InteropIntegration via Interop
Network
App
OtherStack
App
OtherMSFT
App
WSE
App
WCF
Assurances
Messaging
SOAP
WS-Security
MTOMWS-Addressing
Metadata
WS-Policy
WSDL
WS-Discovery
UDDI
WS-MetadataExchange
WS-TransferWS-EnumerationWS-Eventing
XML Schema
WS-ReliableMessaging
WS-Coordination
WS-AtomicTransaction
WS-BusinessActivity
WS-Trust
WS-SecureConversation
Infrastructureand Profiles
WS-ManagementWS-FederationDevicesProfile
Foundation
SOAP / HTTP
SOAP / UDP
MIME
XML Infoset
XML 1.0XML
Namespaces
WS-* Protocols
Interoperability is the main way to achieve integration in a heterogeneous environment.
Integration via Integration via InteroperabilityInteroperability
Network
App
OtherVendorStack
App
OtherMSFTStack
App
WCF
App
WCF
Assurances
MessagingSOAP
WS-Security
MTOMWS-Addressing
Metadata
WS-Policy
WSDL
WS-Discovery
UDDI
WS-MetadataExchange
WS-Transfer WS-EnumerationWS-Eventing
XML Schema
WS-ReliableMessaging
WS-Coordination
WS-AtomicTransaction
WS-BusinessActivity
WS-Trust
WS-SecureConversation
Infrastructureand Profiles
WS-ManagementWS-FederationDevicesProfile
FoundationSOAP / HTTP
SOAP / UDP
MIME
XML Infoset
XML 1.0XMLNamespaces
WS-* Protocols
Wire level interoperability achieves integration in a heterogeneous environment.
App
WSE
A Standard is not A Standard is not EnoughEnoughA specification does not A specification does not
guarantee integration or guarantee integration or interoperabilityinteroperability
Problems that can arise:Problems that can arise:It’s paper not productIt’s paper not productDiffering spec interpretationsDiffering spec interpretationsOptionality underlap / disconnectOptionality underlap / disconnectFit to business scenarioFit to business scenario
Also need to have:Also need to have:Implementations that are:Implementations that are:
Components of Business Components of Business InteroperabilityInteroperability
Agreed Agreed syntaxsyntax representations representationsE.g. XMLE.g. XML
Agreed Agreed protocolsprotocolsE.g. SOAP + WS-* specs (such as WS-E.g. SOAP + WS-* specs (such as WS-ReliableMessaging)ReliableMessaging)
Agreed Agreed payloadpayload formats formatsE.g. HL7 schemas for healthcare dataE.g. HL7 schemas for healthcare data
ProfiledProfiled composition compositionE.g. Pre-defined options to ensure E.g. Pre-defined options to ensure functionalityfunctionality
Agreed Agreed business scenariosbusiness scenariosE.g. Well defined interaction scenarios / E.g. Well defined interaction scenarios / use cases use cases
Focus: Testing the specification(s)Focus: Testing the specification(s)Goal: Produce well-engineered, quality WS-Goal: Produce well-engineered, quality WS-* specifications* specifications
Based in specified interop scenariosBased in specified interop scenariosGround the spec development efforts in Ground the spec development efforts in implementation and usage experienceimplementation and usage experienceDemonstrate / prove spec interoperabilityDemonstrate / prove spec interoperabilityGain implementation experience earlier Gain implementation experience earlier Discover inconsistencies with other WS-* Discover inconsistencies with other WS-* specificationsspecificationsApply software testing disciplines to specsApply software testing disciplines to specsRefine the important spec usage scenariosRefine the important spec usage scenariosDetermine readiness for standardizationDetermine readiness for standardization
Involvement:Involvement:Vendors with implementationsVendors with implementationsInitiated by key vendors or standards orgsInitiated by key vendors or standards orgsOften prototype or early development codeOften prototype or early development code
Product Plug-festsProduct Plug-fests
Focus: Unit Testing the product(s)Focus: Unit Testing the product(s)Goal: Get products working togetherGoal: Get products working together
Based in specified interop scenarios Based in specified interop scenarios May or may not be using business dataMay or may not be using business dataGround the product implementation efforts in Ground the product implementation efforts in usage experienceusage experienceDemonstrate / prove product interoperabilityDemonstrate / prove product interoperabilityGain interoperability experience earlier Gain interoperability experience earlier Discover inconsistencies with other WS-* Discover inconsistencies with other WS-* productsproductsRefine the important product usage scenariosRefine the important product usage scenariosDetermine readiness for product releaseDetermine readiness for product release
Involvement:Involvement:Vendors with implementationsVendors with implementationsInitiated by key vendors or key interest groupsInitiated by key vendors or key interest groupsUsually close-to-release productsUsually close-to-release products
Focus: System Testing the product(s) with a Focus: System Testing the product(s) with a realistic E2E business scenariorealistic E2E business scenarioGoal: Demonstrate products working Goal: Demonstrate products working togethertogether
Based on specified end-to-end business scenarios Based on specified end-to-end business scenarios Uses realistic business dataUses realistic business dataGround the product implementation efforts in Ground the product implementation efforts in usage experienceusage experienceDemonstrate / prove product interoperabilityDemonstrate / prove product interoperabilityDiscover inconsistencies with other WS-* Discover inconsistencies with other WS-* productsproductsRefine the important product usage scenariosRefine the important product usage scenarios
Involvement:Involvement:Vendors with implementationsVendors with implementationsInitiated by key vendors or key interest groupsInitiated by key vendors or key interest groupsUsually released or close-to-release productsUsually released or close-to-release products
Proof-of-Concept / Pilot Proof-of-Concept / Pilot ProjectsProjectsFocus: Testing the application and product Focus: Testing the application and product
deployment(s)deployment(s)Goal: Demonstrate internal systems Goal: Demonstrate internal systems working togetherworking together
Based on specified end-to-end business scenarios Based on specified end-to-end business scenarios Uses realistic business dataUses realistic business dataGround the in-house implementation and product Ground the in-house implementation and product deployment efforts in realistic usage experiencedeployment efforts in realistic usage experienceDemonstrate / prove product applicabilityDemonstrate / prove product applicabilityGain deployment experience earlier Gain deployment experience earlier Discover inconsistencies with other systemsDiscover inconsistencies with other systemsRefine the important product deployment Refine the important product deployment scenariosscenariosDetermine readiness for product and system Determine readiness for product and system deploymentdeployment
Involvement:Involvement:Customers + Vendors productsCustomers + Vendors productsInitiated by customers or vendor partnershipInitiated by customers or vendor partnershipUsually released productsUsually released products
Interop ProfilesInterop ProfilesDefine a subset of specifications and Define a subset of specifications and options that are:options that are:
ComposableComposableScopedScopedWork togetherWork together
Who defines the profile?Who defines the profile?Vertical domain org – eg. ACORDVertical domain org – eg. ACORDHorizontal org – eg. WS-IHorizontal org – eg. WS-ICustomer – singly or in groupsCustomer – singly or in groups
Why Do We Need Interop Why Do We Need Interop Profiles?Profiles?
Need to constrain (soften) runtime Need to constrain (soften) runtime options to achieve out-of-box options to achieve out-of-box interoperabilityinteroperability
WS-* Architecture is designed for general WS-* Architecture is designed for general applicability across a wide range of applicability across a wide range of industries / scenariosindustries / scenarios
Often too much optionality in the base Often too much optionality in the base specificationsspecifications
Tailor to specific domain / environmentTailor to specific domain / environmentE.g. Devices Profile only requires SOAP 1.2 not E.g. Devices Profile only requires SOAP 1.2 not SOAP 1.1 to lower implementation footprintSOAP 1.1 to lower implementation footprint
Guide implementation and Guide implementation and deployment choicesdeployment choicesAchieve a proven composition of Achieve a proven composition of protocols and payloadsprotocols and payloadsAllows simplification of application Allows simplification of application deployment deployment
e.g. WCF allows selection of interop e.g. WCF allows selection of interop profile to useprofile to use
Profiling: WS-IProfiling: WS-I
Focus: Cross-industry profiling for Focus: Cross-industry profiling for baseline Web Service interoperabilitybaseline Web Service interoperabilityDeliverables – Current work:Deliverables – Current work:
CommunityCommunityMulti-vendor community testing Multi-vendor community testing (eg. WS-* Interop Workshops and (eg. WS-* Interop Workshops and plug-fests)plug-fests)
Interoperability is the best way to achieve Interoperability is the best way to achieve integration in a heterogeneous IT environmentintegration in a heterogeneous IT environment
Wire-level interoperability is the real goalWire-level interoperability is the real goal
Web Services WS-* Architecture designed to Web Services WS-* Architecture designed to support multi-vendor environmentssupport multi-vendor environments
There are several ways to help achieve There are several ways to help achieve interoperability:interoperability:
Usage scenarios based techniques (WS-* Interop Usage scenarios based techniques (WS-* Interop Workshops, Plug-fests, Proof-of-Concept / Pilot Workshops, Plug-fests, Proof-of-Concept / Pilot projects)projects)
Specification ProfilingSpecification Profiling
TestingTesting
Microsoft is deeply committed to delivering Microsoft is deeply committed to delivering products with proven interoperability that work products with proven interoperability that work well in heterogeneous environmentswell in heterogeneous environments
LinksLinks
WS-* Workshop Process OverviewWS-* Workshop Process Overviewhttp://msdn.microsoft.com/library/en-us/dnwebsrv/html/http://msdn.microsoft.com/library/en-us/dnwebsrv/html/wkshopprocess.aspwkshopprocess.asp
WS-* Workshops home pageWS-* Workshops home pagehttp://msdn.microsoft.com/webservices/community/workshops/http://msdn.microsoft.com/webservices/community/workshops/
Microsoft Interoperabilty home Microsoft Interoperabilty home pagepage
WS-* Specifications index pageWS-* Specifications index pagehttp://msdn.microsoft.com/webservices/understanding/specs/http://msdn.microsoft.com/webservices/understanding/specs/
MSDN Web Services Developer MSDN Web Services Developer CenterCenter