Achieving Interoperability Through Web Services

21
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

Transcript of Achieving Interoperability Through Web Services

Page 1: Achieving Interoperability Through Web Services

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

Page 2: Achieving Interoperability Through Web Services

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

Page 3: Achieving Interoperability Through Web Services

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

Source: Dictionary.comSource: Dictionary.comhttp://dictionary.reference.com/search?q=interoperabilityhttp://dictionary.reference.com/search?q=interoperabilityhttp://dictionary.reference.com/search?q=integrationhttp://dictionary.reference.com/search?q=integration

Page 4: Achieving Interoperability Through Web Services

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

Page 5: Achieving Interoperability Through Web Services

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.

Page 6: Achieving Interoperability Through Web Services

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

Page 7: Achieving Interoperability Through Web Services

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:

AvailableAvailableProvenProvenCompatibleCompatible

Proven scenariosProven scenarios

Page 8: Achieving Interoperability Through Web Services

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

Page 9: Achieving Interoperability Through Web Services

WS-* Specification WS-* Specification ProcessProcess Step 2

Broader Participation

Step 1Develop

Process reconciles conflicting goals• Quality of engineering• Time to market• Breadth of industry support

Step 3Standardization

Step 4Profiling

Increasing Industry ParticipationIncreasing Industry Participation

Specification Specification PublishedPublished

Feedback and Feedback and Interop Interop

WorkshopsWorkshopsRevise specRevise spec Standards OrgStandards Org

Such as:Such as:WS-I,WS-I,

HL7, ACORD,HL7, ACORD,Devices Devices ProfileProfile

Idea

Page 10: Achieving Interoperability Through Web Services

Techniques for Achieving Techniques for Achieving InteroperabilityInteroperability

Protocol Implementation and TestingProtocol Implementation and Testing

Scenario-based approachesScenario-based approaches

Examples:Examples:

WS-* Interop WorkshopsWS-* Interop Workshops

Product Plug-festsProduct Plug-fests

E2E (end-to-end) Scenario TestingE2E (end-to-end) Scenario Testing

Proof-of-Concept / Pilot projectsProof-of-Concept / Pilot projects

Specification ProfilingSpecification Profiling

… … and repeatand repeat

Page 11: Achieving Interoperability Through Web Services

WS-* Interoperability WS-* Interoperability WorkshopsWorkshops

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

Page 12: Achieving Interoperability Through Web Services

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

Page 13: Achieving Interoperability Through Web Services

End-to-End Scenario TestingEnd-to-End Scenario Testing

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

Page 14: Achieving Interoperability Through Web Services

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

Page 15: Achieving Interoperability Through Web Services

Interop ProfilesInterop ProfilesDefine a subset of specifications and Define a subset of specifications and options that are:options that are:

ComposableComposableScopedScopedWork togetherWork together

Examples:Examples:

Secure RMSecure RM – WS-ReliableMessaging + WS- – WS-ReliableMessaging + WS-

Trust / WS-SecureConversation / WS-SecurityTrust / WS-SecureConversation / WS-Security

ACORD Messaging ProfileACORD Messaging Profile – WS-* + ACORD – WS-* + ACORD payload schemaspayload schemas

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

Page 16: Achieving Interoperability Through Web Services

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

Page 17: Achieving Interoperability Through Web Services

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:

Basic Profile v1.2Basic Profile v1.2SOAP 1.1 + WSDL 1.1 + UDDI 2.0 + Attachments SOAP 1.1 + WSDL 1.1 + UDDI 2.0 + Attachments (MTOM)(MTOM)

Basic Security Profile v1.1Basic Security Profile v1.1BP v1.x + WS-Security 1.1 + HTTPSBP v1.x + WS-Security 1.1 + HTTPS

Basic Profile v2.0Basic Profile v2.0SOAP 1.2 + WSDL 1.1 + UDDI 2.0 + WS-SOAP 1.2 + WSDL 1.1 + UDDI 2.0 + WS-Addressing + Attachments (MTOM)Addressing + Attachments (MTOM)

Reliable Secure Profile (RSP)Reliable Secure Profile (RSP)BP 1.x + BSP 1.x + WS-ReliableMessaging 1.1 + BP 1.x + BSP 1.x + WS-ReliableMessaging 1.1 + WS-SecureConversation 1.3WS-SecureConversation 1.3

Sample Applications (Supply Chain Sample Applications (Supply Chain Management)Management)Profile testing tools (vendor / user self-Profile testing tools (vendor / user self-testing)testing)

Page 18: Achieving Interoperability Through Web Services

Proving Interop Proving Interop CompatibilityCompatibility

VendorsVendorsVendor self-testVendor self-test

CommunityCommunityMulti-vendor community testing Multi-vendor community testing (eg. WS-* Interop Workshops and (eg. WS-* Interop Workshops and plug-fests)plug-fests)

Industry wide demo (eg. WS-Industry wide demo (eg. WS-Security Interop Demo @ Gartner Security Interop Demo @ Gartner WS Summit)WS Summit)

Customers Customers In-house testingIn-house testing

Competitor bake-offCompetitor bake-off

Page 19: Achieving Interoperability Through Web Services

SummarySummary

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

Page 20: Achieving Interoperability Through Web Services

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

http://www.microsoft.com/interophttp://www.microsoft.com/interop

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

http://msdn.microsoft.com/webservices/http://msdn.microsoft.com/webservices/

Page 21: Achieving Interoperability Through Web Services