Making Sense Of Web Services

29
Making Sense of Web Making Sense of Web Services and Services and Microsoft’s Roadmap Microsoft’s Roadmap Jorgen Thelin Jorgen Thelin Connected Systems Division Connected Systems Division Microsoft Corporation Microsoft Corporation

Transcript of Making Sense Of Web Services

Page 1: Making Sense Of Web Services

Making Sense of Web Making Sense of Web Services and Microsoft’s Services and Microsoft’s RoadmapRoadmap

Jorgen ThelinJorgen ThelinConnected Systems DivisionConnected Systems DivisionMicrosoft CorporationMicrosoft Corporation

Page 2: Making Sense Of Web Services

InteroperabilityInteroperability

Applications working togetherApplications working togetherDifferent platformsDifferent platforms

Different languagesDifferent languages

Different companiesDifferent companies

Different versionsDifferent versions

Page 3: Making Sense Of Web Services

Microsoft’s Commitment to Microsoft’s Commitment to InteroperabilityInteroperability

Bill Gates’ Executive E-mail - Building Bill Gates’ Executive E-mail - Building Software That Is Interoperable By Design – Software That Is Interoperable By Design – 03-Feb-2005 03-Feb-2005

http://www.microsoft.com/mscorp/execmail/2005/02-http://www.microsoft.com/mscorp/execmail/2005/02-03interoperability.asp03interoperability.asp

““However, the definition of well-designed [WS-*] However, the definition of well-designed [WS-*] protocol architecture is just part of the challenge.protocol architecture is just part of the challenge.As part of this collaborative effort, Microsoft and As part of this collaborative effort, Microsoft and other companies have other companies have invested significant invested significant resources to ensure that Web services resources to ensure that Web services implementations from different companies really implementations from different companies really are interoperableare interoperable. . This has involved This has involved industry workshops, extensive industry workshops, extensive testing, revision of specifications in the face of testing, revision of specifications in the face of experienceexperience, and even setting up an industry body , and even setting up an industry body known as WS-I to help ensure interoperability.”known as WS-I to help ensure interoperability.”

Page 4: Making Sense Of Web Services

Microsoft’s Strategy for Microsoft’s Strategy for InteroperabilityInteroperability

Open, Interoperable Protocol Framework – WS-*Open, Interoperable Protocol Framework – WS-*Invest in WS-* for Service OrientationInvest in WS-* for Service OrientationEnsure all the pieces work togetherEnsure all the pieces work togetherEnable WS-* interoperability with industry partnersEnable WS-* interoperability with industry partners

Easy to use development platform – IndigoEasy to use development platform – IndigoAdopt WS-* as the underlying wire format Adopt WS-* as the underlying wire format

Easy to use development environment – Visual Easy to use development environment – Visual StudioStudio

Facilitate design and deployment of distributed web Facilitate design and deployment of distributed web services applicationsservices applications

Distributed IT infrastructureDistributed IT infrastructureSystems Management, Connected Devices, Identity Systems Management, Connected Devices, Identity ManagementManagement

User ExperienceUser ExperienceOffice/InfoPath, InfoCard Office/InfoPath, InfoCard

Page 5: Making Sense Of Web Services

Activation and Hosting

WAS Avalon *.EXE NT Service COM+

MessagingHTTP

Channel

TCPChannel

UDPChannel

X-ProcChannel

QueueChannel

SOAP SecurityChannel

SOAP ReliabilityChannel

Text/XMLEncoder

BinaryEncoder

Service Runtime

Contracts

ThrottlingBehavior

TransactionBehavior

ActivationBehavior

ConcurrencyBehavior

Cmd/ControlFacilities

ErrorBehavior

MetadataBehavior

InstanceBehavior

InspectionFacilities

DataContract

MessageContract

ServiceContract

Policy andBinding

Indigo

Web Services ArchitectureWeb Services Architecture

Network

App

OtherStack

Application App

OtherMSFT

App

WSE

Assurances

Messaging

SOAP

WS-Security

MTOMWS-Addressing

Metadata

WS-Policy

WSDL

UDDI

WS-MetadataExchange

XML Schema

WS-ReliableMessaging

WS-Coordination

WS-AtomicTransaction

WS-BusinessActivity

WS-Trust

WS-SecureConversation

Infrastructureand Profiles

WS-ManagementWS-FederationDevicesProfile

Foundation

SOAP / HTTPMIME

XML Infoset

XML 1.0XML

Namespaces

WS-* Protocols

Page 6: Making Sense Of Web Services

What is WS-*?What is WS-*?

A protocol frameworkA protocol frameworkLayered, factored, composable, extensibleLayered, factored, composable, extensible

Interoperability baked inInteroperability baked inXML, HTTP, URIXML, HTTP, URI

Uniform data model – XML InfosetUniform data model – XML Infoset

Metadata-drivenMetadata-drivenSelf describing and dynamicSelf describing and dynamic

Collaborative engineering processCollaborative engineering processQuality, time to market, industry supportQuality, time to market, industry support

Page 7: Making Sense Of Web Services

WS-* 101WS-* 101

Endpoints send Endpoints send messagesmessages that conform that conform to to contractscontracts

Application messages and/orApplication messages and/orInfrastructure messages and headers Infrastructure messages and headers enable security, reliability, transactions, ...enable security, reliability, transactions, ...

Endpoints are described with Endpoints are described with metadatametadataAAddress on the “network” ddress on the “network”

URL or Endpoint ReferenceURL or Endpoint Reference

BBinding capabilities and requirementsinding capabilities and requirementsPolicy Policy

CContract for structure and behaviorontract for structure and behaviorWSDL and XML SchemaWSDL and XML Schema

Page 8: Making Sense Of Web Services

WS-* ArchitectureWS-* Architecture

Assurances

Messaging

SOAP

WS-Security

MTOMWS-Addressing

Metadata

WS-Policy

WSDL

WS-Discovery

UDDI

WS-MetadataExchange

WS-Transfer WS-Enumeration WS-Eventing

XML Schema

WS-ReliableMessaging

WS-Coordination

WS-AtomicTransaction

WS-BusinessActivity

WS-Trust

WS-SecureConversation

Profiles andInfrastructure

WS-ManagementWS-FederationDevicesProfile

Foundation

SOAP / HTTP

SOAP / UDP

MIME

XML Infoset

XML 1.0XML

Namespaces

Page 9: Making Sense Of Web Services

WS-* Specifications Process Step 2

Broader Community Participation

Step 1Initial

Development

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 WS-IWS-I

Idea

Page 10: Making Sense Of Web Services

80+ WS-* Workshop Participants80+ WS-* Workshop Participants ActionalActional FujitsuFujitsu NewisysNewisys Sharp LabsSharp Labs

AMDAMD Grand CentralGrand Central NokiaNokia SiebelSiebel

American MegatrendsAmerican Megatrends Hewlett-PackardHewlett-Packard Oasis SemiconductorOasis Semiconductor Software AGSoftware AG

ANLANL IBMIBM OblixOblix Sonic SoftwareSonic Software

Apache ProjectApache Project iDesigniDesign OPC FoundationOPC Foundation SunSun

AxaltoAxalto IntelIntel OpenNetworkOpenNetwork SystinetSystinet

BEABEA IntermecIntermec OracleOracle TibcoTibco

Blue TitanBlue Titan IonaIona OSA TechnologiesOSA Technologies ToshibaToshiba

BoeingBoeing IPO GroupIPO Group PeerlessPeerless Tyco Safety SystemsTyco Safety Systems

BrotherBrother JbossJboss Ping IdentityPing Identity Univ of SydneyUniv of Sydney

CanonCanon JibxSoapJibxSoap PrintronixPrintronix VeriSignVeriSign

ChoreologyChoreology KnowNowKnowNow QuickTreeQuickTree VeritasVeritas

CommerceOneCommerceOne Layer 7 TechLayer 7 Tech QuovadxQuovadx VisaVisa

Computer AssociatesComputer Associates LexmarkLexmark ReactivityReactivity VitriaVitria

Content GuardContent Guard Lockheed MartinLockheed Martin RicohRicoh WRQWRQ

Cornell UniversityCornell University MicrosoftMicrosoft RoxioRoxio webMethodswebMethods

DellDell MotiveMotive RSA SecurityRSA Security WSO2WSO2

EpsonEpson NECNEC SAPSAP XeroxXerox

Exceptional Exceptional InnovationInnovation NEONNEON Schneider ElectricSchneider Electric ZoranZoran

Feature SoftwareFeature Software NetegrityNetegrity SeeBeyondSeeBeyond UnaffiliatedUnaffiliated

Page 11: Making Sense Of Web Services

WS-* Spec Status

Assurances

Messaging

SOAP

WS-Security

MTOMWS-Addressing

Metadata

WS-Policy

WSDL

WS-Discovery

UDDI

WS-MetadataExchange

WS-Transfer WS-Enumeration WS-Eventing

XML Schema

WS-ReliableMessaging

WS-Coordination

WS-AtomicTransaction

WS-BusinessActivity

WS-Trust

WS-SecureConversation

Infrastructureand ProfilesWS-ManagementWS-Federation

DevicesProfile

Foundation

SOAP / HTTP

SOAP / UDP

MIME

XML Infoset

XML 1.0XML

Namespaces

Step 4 – Approved Standard

Step 3 – Standardization

Step 2 – Workshops & Community Dev

Page 12: Making Sense Of Web Services

Delivering WS-* - MicrosoftDelivering WS-* - Microsoft

Microsoft is delivering implementations of all WS-* Microsoft is delivering implementations of all WS-* specsspecs

WSE 2.0 / 3.0WSE 2.0 / 3.0Interim coverage of evolving security and policy specsInterim coverage of evolving security and policy specs

IndigoIndigoFull coverage of all SRTP Advanced Web Services specsFull coverage of all SRTP Advanced Web Services specs

SecuritySecurity

Reliable MessagingReliable Messaging

TransactionsTransactions

PolicyPolicy

Windows Server 2003 Release 2Windows Server 2003 Release 2WS-Management stack for interoperable system managementWS-Management stack for interoperable system management

Windows LonghornWindows LonghornWS-Devices stack for printer and networked device WS-Devices stack for printer and networked device connectivityconnectivity

Page 13: Making Sense Of Web Services

VS 2005 + WSE 3.0VS 2005 + WSE 3.0 SOAP 1.1, 1.2 SOAP 1.1, 1.2 WSDL 1.1 WSDL 1.1 MTOMMTOM WS-Addressing 2004/08 (or REC)WS-Addressing 2004/08 (or REC) WS-Security 1.0 WS-Security 1.0

(U/P, X509, Kerberos)(U/P, X509, Kerberos) WS-Secure ConversationWS-Secure Conversation WS-Trust WS-Trust WS-Policy basedWS-Policy based Limited wire Interop with WSE 2.0Limited wire Interop with WSE 2.0

AD Federation Services in R2AD Federation Services in R2 Cross-organizational Identity Cross-organizational Identity

FederationFederation Web SSOWeb SSO

SQL Server 2005SQL Server 2005 SOAP 1.1,1.2 SOAP 1.1,1.2 WSDL1.1WSDL1.1 WS-Security 1.0WS-Security 1.0

ManagementManagement WS-ManagementWS-Management

Microsoft WS-* Product RoadmapMicrosoft WS-* Product Roadmap

VS2003 + Web Services VS2003 + Web Services

Enhancements (WSE) 2.0Enhancements (WSE) 2.0 SOAP 1.1SOAP 1.1 WSDL 1.1WSDL 1.1 WS-Addressing 2004/03WS-Addressing 2004/03 WS-Security 1.0 (U/P, X509, WS-Security 1.0 (U/P, X509,

Kerberos)Kerberos) WS-Secure Conversation WS-Secure Conversation

2004/042004/04 WS-Trust 2004/04WS-Trust 2004/04 WS-Policy basedWS-Policy based

IndigoIndigoWire-level interop with WSE3.0Wire-level interop with WSE3.0

In addition:In addition: MTOMMTOM SAML Token Profile 1.0SAML Token Profile 1.0 Security PolicySecurity Policy WS-Federation Active ClientWS-Federation Active Client

- Enables easy to build STS- Enables easy to build STS WS-RM 2005/02, PolicyWS-RM 2005/02, Policy WS-AT/WS-C 2005/02, PolicyWS-AT/WS-C 2005/02, Policy WS-Policy/PolicyAttachmentWS-Policy/PolicyAttachment WS-MEXWS-MEX

Easy to use Digital Identity / Easy to use Digital Identity / InfoCardInfoCard

Active Directory: FederationActive Directory: Federation

WSD API: Device ProfileWSD API: Device Profile

LonghornLonghornWaveWave

WindowsWindowsServerServer20032003

““R2”R2”WaveWave

Page 14: Making Sense Of Web Services

MicrosoMicrosoftft

IntelIntel

SunSun

DellDell

AMDAMD AA

CACA AA

SonicSonic AA

gSOAPgSOAP

SystineSystinett

AA

WEBMWEBM

NetIQNetIQ

WS-P

WS-* - Industry AdoptionWS-* - Industry Adoption

Messaging

Security

Assurances

Devices

Mgmt

Metadata

DPWS

WS-

Secure

Conv

WS-S

ecurit

y

WS-T

rust W

S-RM

WS-A

T

MEX

WS-D

Released productReleased product

Public interopPublic interop

AA Co-Author OnlyCo-Author Only

SOAP / W

SDL

MicrosoftMicrosoft

IBMIBM

BEABEA AA

Cape ClearCape Clear

SystinetSystinet

Blue TitanBlue Titan

Rogue Rogue WaveWave

SonicSonic

IONAIONA

JBossJBoss

ChoreologyChoreology

ApacheApache

TibcoTibco

MicrosoftMicrosoft

IBMIBM

BEABEA AA

RSARSA AA

SystinetSystinet

ApacheApache

Layer7Layer7 AA

DataPowerDataPower

CACA AA AA

SUNSUN

SAPSAP

TibcoTibco

IONAIONA

WebMethoWebMethodsds

NokiaNokia

Cape ClearCape Clear

SonicSonic

gSOAPgSOAP

Ping IDPing ID AA

NetegrityNetegrity AA AA

VerisignVerisign AA AA AA

OpenNetwOpenNetworkork

AA AA AA

Oracle/Oracle/OblixOblix

MicrosoftMicrosoft

IBMIBM

BEABEA

SUNSUN

GoogleGoogle

AmazonAmazon

eBayeBay

ApacheApache

WhitemesWhitemesaa

gSOAPgSOAP

RicohRicoh

EpsonEpson

HPHP

XeroxXerox

Fuji-XeroxFuji-Xerox

IntelIntel

CanonCanon

MicrosoftMicrosoft

IntelIntel

CanonCanon

BEABEA AA

WebMethoWebMethodsds

AA

RicohRicoh

EpsonEpson

HPHP

XeroxXerox

Fuji-XeroxFuji-Xerox

BrotherBrother

ToshibaToshiba

ExceptionaExceptional l InnovationInnovation

PeerlessPeerless

SchneiderSchneider

SystinetSystinet

gSOAPgSOAP

LexmarkLexmark AA

MicrosoftMicrosoft

IBMIBM AA

BEABEA AA

SAPSAP AA

SunSun AA

VerisignVerisign AA

SonicSonic

Layer 7Layer 7

ApacheApache

CACA AA

WebMethoWebMethodsds

AA

SystinetSystinet

gSOAPgSOAP

MTOM

© 2003-2006 Microsoft Corporation. All rights reserved. The information contained in this document represents the current view at the time of publication and is subject to change.

WS-M

WS-X

Fer /

Enum

WS-F

ed

Page 15: Making Sense Of Web Services

MessagingMessaging

XML-based message format with simple extension model and support for relays

SOAP-based addressing and dispatch

Hybrid XML / binary format for SOAP(a.k.a. “attachments”)

WS-Addressing

MTOM

SOAP

Page 16: Making Sense Of Web Services

SecureSecure

Session-based tokens to reduce per-message crypto costs

End-to-end security in the face of relays requires more than transport-level security

Issuing tokens based on credentialsWS-Trust

WS-Secure Conversation

WS-Security

Page 17: Making Sense Of Web Services

Reliable and TransactedReliable and Transacted

SOAP-based workflow and compensation

End-to-end delivery assurances in the face of relays requires more than transport protocol

SOAP-based multi-party protocols

SOAP-based two-phase commit

WS-Business Activity

WS-Coordination

WS-Atomic Transaction

WS-Reliable Messaging

Page 18: Making Sense Of Web Services

MetadataMetadata

UDDI

WS-Policy

WSDL Description of service contract

Parameterized assertions about service capabilities and requirements

SOAP-based registry service lookup

WS-Metadata Exchange

SOAP-based inspection of a service’s metadata

Page 19: Making Sense Of Web Services

Profiles and InfrastructureProfiles and Infrastructure

WS-Federation SOAP-based identity management

Basic Security Profile 1.0

Simple transport and SOAP message security

Basic Profile 1.0/1.1Simple SOAP messaging, description, and

discovery

Devices ProfileSOAP-based discovery, description, control,

and eventing of devices

WS-ManagementSOAP-based management of computing

systems

Page 20: Making Sense Of Web Services

Profile Recipe: Staple, Redline, GlueProfile Recipe: Staple, Redline, Glue

““Staple”Staple”Pull relevant specs Pull relevant specs into scopeinto scope

““Redline”Redline”Add constraints on Add constraints on use of those specsuse of those specs

““Glue”Glue”Define missing bits Define missing bits between specsbetween specs

Some will migrate Some will migrate back into specsback into specs

SOAP 1.2WS-

AddressingWS-Metadata Exchange

WSDL 1.1WS-

DiscoveryWS-Eventing

ThisModelMetadataThisDevice

Metadata

ActionFilter

ConformanceClaim

PolicyAssertionsPolicy

Assertions

Page 21: Making Sense Of Web Services

Basic Profile 1.0 / 1.1Basic Profile 1.0 / 1.1

Conformance claimConformance claim

SOAP 1.1SOAP 1.1FaultsFaults

EncodingStyleEncodingStyle

HTTP/1.1HTTP/1.1POSTPOST

SOAPAction headerSOAPAction header

2xx, 3xx, 4xx, 5xx 2xx, 3xx, 4xx, 5xx responsesresponses

CookiesCookies

WSDL 1.1WSDL 1.11-way / req-resp1-way / req-resp

<= 1 child of Body<= 1 child of Body

Unique input BodyUnique input Body

type vs elementtype vs element

document/rpc literaldocument/rpc literal

FaultsFaults

ExtensibilityExtensibility

UDDI v2UDDI v2tModelstModels

Page 22: Making Sense Of Web Services

Basic Profile 1.0Basic Profile 1.0

Page 23: Making Sense Of Web Services

Basic Security Profile 1.0Basic Security Profile 1.0

SSL 3.0 / TLS 1.0SSL 3.0 / TLS 1.0Cipher suitesCipher suites

WS-Security 1.0WS-Security 1.0Reference, embed Reference, embed tokenstokensTimestampsTimestamps

Security tokensSecurity tokensUsername TokenUsername Token

Compute digestCompute digest

X509 TokenX509 TokenCertificate pathCertificate path

SAMLSAMLRELREL

XML SignatureXML SignatureDetached signatureDetached signatureKey infoKey infoReference signed Reference signed contentcontentCanonicalizationCanonicalizationDigest and sig algsDigest and sig algs

XML EncryptionXML EncryptionReference listReference listEncrypted key, dataEncrypted key, dataEncryption algsEncryption algs

Page 24: Making Sense Of Web Services

Devices Profile for Web Devices Profile for Web ServicesServices

Page 25: Making Sense Of Web Services

ProtocolDMRCapabilities

DMRCommands

DMREvents

ProtocolIGDCapabilities

IGDCommands

IGDEvents

Devices ProfileDevices Profile

Assurances

Messaging

SOAP

WS-Security

MTOMWS-Addressing

Metadata

WS-Policy

WSDL

WS-MetadataExchange

XML Schema

TLS

Foundation

SOAP / HTTPMIME

XML Infoset

XML 1.0XML

Namespaces

BP 1.1 Sec. 4

WS-Discovery

WS-Eventing

DeviceExtensions

SOAP / UDP

ProtocolPrintCapabilities

PrintCommands

PrintEvents

Page 26: Making Sense Of Web Services

WS-ManagementWS-Management

Consistent management of multi-vendor systemsConsistent management of multi-vendor systemsBasic operations across compliant platformsBasic operations across compliant platformsBasic operation across OS statesBasic operation across OS states

Scale downScale downSupport low-footprint management controllersSupport low-footprint management controllers

Support operations in DMZSupport operations in DMZUse firewall-friendly transportsUse firewall-friendly transports

Data model neutralData model neutralMap to existing Common Information Model (CIM)Map to existing Common Information Model (CIM)

Support new System Definition Model (SDM)Support new System Definition Model (SDM)

Inspection of management resourcesInspection of management resourcesNetwork discovery is out of scopeNetwork discovery is out of scope

Page 27: Making Sense Of Web Services

WS-ManagementWS-Management

Assurances

Messaging

SOAP

TLS

MTOMWS-Addressing

Metadata

WSDL

XML Schema

Foundation

SOAP / HTTPMIME

XML Infoset

XML 1.0XML

Namespaces

WS-EventingWS-Transfer WS-Enumeration

BP 1.1 Sec. 4

ManagementExtensions

CIM to XML

Page 28: Making Sense Of Web Services

ResourcesResourcesL. Cabrera, et al,L. Cabrera, et al,“Web Services Architecture“Web Services Architectureand Its Specifications”, Microsoft Pressand Its Specifications”, Microsoft Press

MSDN LinksMSDN Links

MSDN Web Services Developer CenterMSDN Web Services Developer Centerhttp://msdn.microsoft.com/webservices/http://msdn.microsoft.com/webservices/

WS-* Specifications index pageWS-* Specifications index pagehttp://msdn.microsoft.com/webservices/understanding/specs/http://msdn.microsoft.com/webservices/understanding/specs/

WS-* Workshop Process OverviewWS-* Workshop Process Overviewhttp://msdn.microsoft.com/library/en-us/dnwebsrv/html/wkshopprocess.asphttp://msdn.microsoft.com/library/en-us/dnwebsrv/html/wkshopprocess.asp

WS-* Workshops home pageWS-* Workshops home pagehttp://msdn.microsoft.com/webservices/community/workshops/http://msdn.microsoft.com/webservices/community/workshops/

Microsoft Interoperabilty home pageMicrosoft Interoperabilty home pagehttp://www.microsoft.com/interophttp://www.microsoft.com/interop

Page 29: Making Sense Of Web Services

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.