Upload
dakota-bolson
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
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
InteroperabilityInteroperability
Applications working togetherApplications working togetherDifferent platformsDifferent platforms
Different languagesDifferent languages
Different companiesDifferent companies
Different versionsDifferent versions
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.”
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Basic Profile 1.0Basic Profile 1.0
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
Devices Profile for Web Devices Profile for Web ServicesServices
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
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
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
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
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.