Upload
jemimah-barton
View
213
Download
0
Embed Size (px)
Citation preview
Web Services Interoperability
Web Services Interoperability
2 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Introduction and Purpose
Introduction Web Services Interoperability – An Overview WS-I Profiles – An Introduction WS-I Profiles and Usage Scenarios WS-I Security Profile WS-I Test Tools References and Summary
The purpose of this lecture is to introduce Web Services Interoperability, a key
consideration for adoption of Web Services and, thereby, SOA.
Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights
Reserved.
This is an internal IBM asset and contains proprietary information. It is not to be distributed -
in whole or in part - external to IBM.
Note:
Web Services Interoperability
3 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Objectives
After completion of this lecture, you should be able to: Introduce Web Services Interoperability Introduce Web Services Interoperability (WS-I) Organization Discuss the WS-I Profiles Discuss the test tools and the associated architecture Summarize the Web lecture
Web Services Interoperability
4 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Web Services Interoperability
Introduction Web Services Interoperability – An Overview WS-I Profiles – An Introduction WS-I Profiles and Usage Scenarios WS-I Security Profile WS-I Test Tools References and Summary
Web Services Interoperability
5 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Web Services Interoperability – An Overview
Web Services interoperability Is about interoperability across platforms, applications, and programming
languages Promotes adoption of Web Services and consistent implementations Reduces the cost, complexity and risk of adopting Web Services Enables and ensures collaboration both within the organization and, externally,
with business partners and vendors Enables IT organizations to deliver business aligned solutions and services with
a focus on business requirements instead of being driven by the underlying
infrastructure and middleware considerations
Interoperability is the ability to exchange information in an eco-system of
multi-vendor platforms.
Web Services Interoperability (WS-I) Organization is chartered with promoting
Web Services interoperability.
Web Services Interoperability
6 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Web Services Interoperability – A Context
There is a definite cost to interoperability and hence is an architectural
decision point in crafting Web Services solutions. Interoperability is not always a requirement, Available test tools only verify for compliance with the specification and does
not guarantee interoperability. At this time there is no interoperable way to send attachments. At this time there is no interoperable way to provide reliable messaging. Efforts by WS-I have not always been successful and has many unresolved
issues in many critical areas of Web Services. There are a number of useful "emerging standards" which might be
effectively employed for interoperability, but which are neither approved nor
disapproved by WS-I.
Web Services Interoperability
7 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Web Services Interoperability (WS-I) Organization
Is an open industry effort chartered to promote Web Services Interoperability
across platforms, applications, and programming languages Plays the role of a standards integrator to help Web Services advance in a
structured and coherent manner Was founded in 2002 Has 135+ members
– Accenture, BEA, Fujitsu, Hewlett-Packard, IBM, Intel, Microsoft, Oracle, SAP,
Sun, webMethods, Ford, BT, Charles Schwab, Fidelity, AOL, Merrill Lynch, JP
Morgan Chase, IONA, Adobe, CA, DCX, Nokia, OAG, OMG, OASIS, RosettaNet,
AIAG, POSC, Accord, …
Accelerates adoption and promotes interoperability– Deliverables include Profiles,
Testing Tools, and Sample Applications
This will be the next logo that customers will look for on
IT product packaging:
Web Services Interoperability
8 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
The Role of WS-I
"WS-I will act as a standards integrator therefore bringing some coherence to
the effort carried out concurrently by the W3C, OASIS, OAGi and others . . .”
-- Gartner
Standards Bodies
and Industry
Profiles
Test Suites
SampleApplications
Tools
Deliverables
Web Services Interoperability
9 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
WS-I Goals
Achieve Web Services interoperability– Integrate specifications– Promote consistent implementations– Provide a visible representation of conformance
Accelerate Web Services deployment– Offer implementation guidance and best practices– Deliver tools and sample applications– Provide a implementer’s forum where developers can collaborate
Encourage Web Services adoption– Build industry consensus to reduce early adopter risks– Provide a forum for end users to communicate requirements
Web Services Interoperability
10 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Web Services Interoperability
Introduction Web Services Interoperability – An Overview WS-I Profiles – An Introduction WS-I Profiles and Usage Scenarios WS-I Security Profile WS-I Test Tools References and Summary
Web Services Interoperability
11 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
WS-I Profiles – An Introduction
Profiles:– Are a grouping of a defined set of standards or specifications at specific version
levels- Are guidelines and conventions for using the set of standards together in ways
to ensure interoperability- Provide implementation guidelines for how related Web Services specifications
should be used together for best interoperability - Are resources for developers to implement interoperable Web Services and
ensure compliance with WS-I guidelines
Basic Profile comprises of a core set of standards that provide for the
foundation of interoperable Web Services.
Basic Security Profile addresses security considerations of Web Services.
Vendor implementations that support the profiles form the baseline for
interoperable Web Services.
Web Services Interoperability
12 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Web Services Basic Profile
The Web Services Interoperability Organization (http://www.ws-i.org) has
defined a basic profile called the Basic Profile version 1.1 that: Addresses and resolves more than 200 interoperability issues within the
Web Services space with defined conventions around messaging,
service description, and dynamic discovery Reduces the cost, complexity, and risk of Web Services implementation
by enhancing the interoperability of products delivered by vendors who
adhere to the guidelines of the profile Is a set of non-proprietary Web Services specifications that promote
interoperability Provides a set of common implementation guidelines
Web Services Interoperability
13 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
WS-I Basic Profile 1.1
The Web Services specifications that form the core technology
components covered by the Basic Profile include:– SOAP version 1.1– Web Services Description Language version 1.1 (WSDL v1.1)– eXtensible Markup Language version 1.0 (XML v1.0)– XML Schema– Hypertext Transfer Protocol version 1.1 (HTTP v1.1)
This is an enhancement to Basic Profile 1.0
Finalized in August 2004
UDDI V2 is mechanism the Profile has adopted to describe Web
Services providers and the Web Services they provide
Includes a set of security specifications:– Addresses the security requirements for Web Services implementation
Web Services Interoperability
14 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Additional WS-I Profiles
Attachments Profile 1.0– The Attachment Profile 1.0 complements the Basic Profile 1.1 to add support for
interoperable SOAP Messages with attachments-based Web Services.
Simple SOAP Binding Profile 1.0– The Simple SOAP Binding Profile consists of those Basic Profile 1.0 requirements related
to the serialization of the SOAP message envelope and its representation in the message, incorporating any errata to date.
Basic Security Profile– The Basic Security Profile provides guidance on the use of WS-Security, the User Name
and X.509 security token formats.
Security Assertion Markup Language (SAML) Token Profile– This is the interoperability profile for the SAML security token that is used with WS-
Security.
Test Tools – The Testing Tools Working Group develops the documentation and processes for WS-I
test tools development, and develops or supervises the development of materials that test Web Services implementations for conformance to WS-I profiles.
Web Services Interoperability
15 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Web Services Interoperability
Introduction Web Services Interoperability – An Overview WS-I Profiles – An Introduction WS-I Profiles and Usage Scenarios WS-I Security Profile WS-I Test Tools References and Summary
Web Services Interoperability
16 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Design Considerations: WS-I Usage Scenarios
Common patterns of usage of a profile’s specifications Derived from examining Web Services Use Cases Intended for Web Services architects and developers Describe
– Runtime flow of a pattern using activities that occur within and among the
layers of the Web Services stack– Constraints applied to the pattern by the profile– Descriptive (WSDL) aspects of the pattern– Advertisement (UDDI) aspects of the pattern– Error handling considerations – Security threats associated with the pattern
Use these because:– Partners want this added assurance of adherence to the WS-I profiles– These subset WS-I profiles are more manageable chunks, based on what the
Web Services user is trying to do with each profile– Covers all of the various aspects of using the pattern
Web Services Interoperability
17 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Usage Scenarios for the Basic Profile
Common Message Exchange Patterns represented– Synchronous request/response– One way (fire and forget)– Basic Callback (basic asynchronous)
Synchronous request/response– Most common of the patterns– Two messages for each wsdl:operation: request and response– With WebSphere, implemented using plain java objects or EJBs
One Way (Fire and Forget)– One request message for each operation– No SOAP fault generated because there is no response– With WebSphere, implemented using plain java objects or EJBs
Web Services Interoperability
18 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Basic Callback Usage Scenario
SOAP Request is sent and acknowledgement response received, representing the
initial Request. Asynchronous Response is delivered to the originator as another SOAP request,
with an expected acknowledge response. Both requests contain application defined correlation information. Initial request contains callback information to be used as the endpoint for the
Asynchronous Response. Separate wsdl:portType and wsdl:binding elements for the Initial Request and the
Asynchronous Response message pair, each containing a wsdl:operation that
references the request and response message. Additional operations can be added to the Asynchronous Response wsdl:portType
and wsdl:binding to address error conditions encountered asynchronously. Basic advertisement pattern applies only to the wsdl:binding and uddi:endpoint
representing the Initial Request; Asynch Response is a private exchange. With WebSphere, implemented using a Message Driven Bean.
Web Services Interoperability
19 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Usage Scenarios for the Attachments Profile
Referenced attachments are used when:– Attachment is logically part of some other structure.– Attachment repeats an indeterminate number of times.– Attachment is optional.
The SOAP message contains an element contained in soap:body or
soap:header that contains a URL reference to a MIME:part within the
same message.
The WSDL binding contains multipartRelated, but the attachment is not
explicitly bound to a mime part.
With WebSphere, implemented with a DataHandler.
Web Services Interoperability
20 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Interoperability Development Considerations
Contract is most important: WSDL for now; WS-Policy later
Use top-down development of WSDL when interoperability is of primary
importance
Follow WS-I Basic Profile WSDL guidelines carefully
Use a WSDL validation tool – WS-I Test Tools– IBM WSAD 5.1 or later
Ensure the wsdl:portType references ALL parts of a message
Describe explicit faults and include contextual information
Group related operations in the same wsdl:portType and wsdl:binding– Separate optional operations– Separate operations that use different WS-Security capabilities
Web Services Interoperability
21 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Web Services Interoperability
Introduction Web Services Interoperability – An Overview WS-I Profiles – An Introduction WS-I Profile and Usage Scenarios WS-I Security Profile WS-I Test Tools References and Summary
Web Services Interoperability
22 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Web Services Basic Security Profile V1.0 – An Overview
Basic Security Profile v1.0: Is an interoperability profile dealing with transport security, SOAP messaging
security, and other Basic Profile related Web Services security considerations Includes a set of usage scenarios and their component message exchange
patterns Leverages the WS-I Security Plan Framework, particularly its collection of usage
scenarios and use cases, and the WS-I Work Plan for Web Services Security
Interoperability as input Currently is a draft and is not final Is an extension to the Web Services Basic Profile Focuses on interoperability
Intent of the Profile is not to define security best practices; but, maybe, the
intent is to leverage the Profile to explore security weaknesses as a means
of reducing choice and thus enhancing interoperability.
Web Services Interoperability
23 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Web Services Interoperability
Introduction Web Services Interoperability – An Overview WS-I Profiles – An Introduction WS-I Profile and Usage Scenarios WS-I Security Profile WS-I Test Tools References and Summary
Web Services Interoperability
24 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
WS-I Test Tools Overview
Objective– Provide an easy way to determine if a Web Service conforms to the
requirements of WS-I Profile – Is not intended for interoperability testing
Two tools: – Monitor
Logs Web Services messages using a man-in-the-middle approach– Analyzer
Determine if Web Services and other artifacts conform to WS-I Profile
Two implementations– C#– Java
WS-I Test Tools download site:– http://ws-i.org/implementation.aspx
Web Services Interoperability
25 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
WS-I Test Tools Architecture
RequestorWeb
Service
SOAPMessages
Normal Message Flow
Monitor
Analyzer
Interceptor
Logger
MessageLog
ConformanceReport
MonitorConfig File
MonitorAnalyzer
AnalyzerConfig File
TestAssertionDocument
WSDL
XML Schema
UDDI
SOAPMessages
Web Services Interoperability
26 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Web Services Interoperability
Introduction Web Services Interoperability – An Overview WS-I Profiles – An Introduction WS-I Profile and Usage Scenarios WS-I Security Profile WS-I Test Tools References and Summary
Web Services Interoperability
27 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
References
Web Services Interoperability Organizationhttp://www.ws-i.org/Default.aspx
Web Services Interoperability Organization - Deliverableshttp://www.ws-i.org/deliverables/Default.aspx
XML.org http://www.xml.org/
SOAP 1.1 http://www.w3.org/TR/2000/NOTE-SOAP-20000508/
HTTP 1.1 http://www.ietf.org/rfc/rfc2616
WSDL 1.1http://www.w3.org/TR/wsdl.html
UDDI V2http://www.oasis-open.org/committees/uddi-spec/doc/tcspecs.htm#uddiv2
Web Services Interoperability
28 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
References
Web Services Interoperability Arcticles and White Papers
http://www-130.ibm.com/developerworks/webservices
Search for “Web Services Interoperability”
Microsoft Book: Building Interoperable Web Serviceshttp://download.microsoft.com/download/8/d/8/8d828b77-2ab2-4c8e-b389-e23684f12035/WSI-BP.pdf
Microsoft WS-I Sample Application implementation sourcehttp://ws-i.org/implementation.aspx
Web Services Interoperability
29 IBM Global Services Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2005 - 2009 All Rights Reserved This is an internal IBM asset and contains proprietary information. It is not to be distributed - in whole or in part - external to IBM.
Summary
Achieving interoperability is still hard.– Matching compatible versions of tools and
runtime platforms– Watching out for different implementations
WS-I provides a number of deliverables.– Profiles– Usage Scenarios– Sample Applications– Test Tools
Test Tools address requirements of
conformance testing only. Charter of WS-I is to accelerate the adoption
and implementation of Web Services.