Tuesday, December 1, 2009

WS* Specifications & WSE



We’ll go step by step.


  1. What are WS* Specifications
  2. What are WSE Enhancements


WS* Specifications


  • There are a variety of specifications associated with web services. These Web service specifications are occasionally referred to collectively as "WS-*". The reference term "WS-*" is more of a general nod to the fact that many specifications are named with "WS" as their prefix
  • These specifications are in varying degrees of maturity and are maintained or supported by various standards bodies and entities.
  • Specifications may complement, overlap, and compete with each other.


The specifications lie under different heads.


  1. Web Service Standards Listings
  2. XML Specifications
  3. Messaging Specifications
  4. Metadata Exchange Specifications
  5. Security Specifications
  6. Privacy
  7. Reliable Messaging Specifications
  8. Resource Specifications
  9. Web Services Interoperability organization (WS-I) Specifications
  10. Business Process Specifications
  11. Transaction Specifications
  12. Management Specifications
  13. Presentation Orientated Specification
  14. Draft Specifications


Here are the details on each.


Web Service Standards Listings

These sites contain documents and links about the different Web Services standards identified on this page.


    * IBM's Web Services Standards Page

    * Microsoft's Web Services Standards Page

    * World Wide Web Consortium's Web Services Activity

    * innoQ's WS-Standards Poster

    * OASIS Standards and Other Approved Work

    * XML CoverPages

    * Open Grid Forum Final Documents


XML Specifications

    * XML (eXtensible Markup Language)

    * XML Namespaces

    * XML Schema

    * XPath

    * XQuery

    * XML Information Set

    * XInclude

    * XML Pointer


Messaging Specifications

    * SOAP (formerly known as Simple Object Access Protocol)

    * SOAP Message Transmission Optimization Mechanism

    * WS-Notification

          o WS-BaseNotification

          o WS-Topics

          o WS-BrokeredNotification

    * WS-SoapOverUDP

    * WS-Addressing

    * WS-Transfer

    * WS-Eventing

    * WS-Enumeration

    * WS-MakeConnection


Metadata Exchange Specifications

    * WS-Policy

    * WS-PolicyAssertions

    * WS-PolicyAttachment

    * WS-Discovery

          o WS-Inspection

    * WS-MetadataExchange

    * Universal Description, Discovery, and Integration (UDDI)

    * WSDL 2.0 Core

    * WSDL 2.0 SOAP Binding

          o Web Services Semantics (WSDL-S)

    * WS-Resource Framework (WSRF)


Security Specifications

    * WS-Security

    * XML Signature

    * XML Encryption

    * XML Key Management (XKMS)

    * WS-SecureConversation

    * WS-SecurityPolicy

    * WS-Trust

    * WS-Federation

    * WS-Federation Active Requestor Profile

    * WS-Federation Passive Requestor Profile

    * Web Services Security Kerberos Binding

    * Web Single Sign-On Interoperability Profile

    * Web Single Sign-On Metadata Exchange Protocol

    * Security Assertion Markup Language (SAML)

    * XACML



  • P3P


Reliable Messaging Specifications

    * WS-ReliableMessaging

    * WS-Reliability

    * WS-RM Policy Assertion


Resource Specifications

    * Web Services Resource Framework

    * WS-BaseFaults

    * WS-ServiceGroup

    * WS-ResourceProperties

    * WS-ResourceLifetime

    * WS-Transfer

    * Resource Representation SOAP Header Block


Web Services Interoperability organization (WS-I) Specifications

These specifications provide additional information to improve interoperability between vendor implementations.


    * WS-I Basic Profile

    * WS-I Basic Security Profile

    * Simple Soap Binding Profile


Business Process Specifications

    * WS-BPEL

    * WS-CDL

    * Web Services Choreography Interface

    * WS-Choreography

    * XML Process Definition Language


Transaction Specifications

    * WS-BusinessActivity

    * WS-AtomicTransaction

    * WS-Coordination

    * WS-CAF

    * WS-Transaction

    * WS-Context

    * WS-CF

    * WS-TXM


Management Specifications

    * WS-Management

    * WS-Management Catalog

    * WS-ResourceTransfer

    * WSDM


Presentation Orientated Specification

Web Services for Remote Portlets


Draft Specifications

WS-Provisioning Describes the APIs and Schemas necessary to facilitate interoperability between provisioning systems in a consistent manner using Web services




WSE Enhancements


  • WSE is an add-on to the Web Services, and enables to implement the above mentioned WS-* Web service specifications -  but chiefly in areas such as Security, Reliable Messaging, and Sending Attachments.
  • WSE provides extensions to the SOAP protocol i.e. SOAP protocol extensions and allows the definition of custom security, reliable messaging, policy, etc.
  • Developers can add these capabilities at design time using code or at deployment time through the use of a policy file.


There are multiple versions of WSE.


WSE 1.0


  • For .NET Framework 1.0 was released in December 2002.
  • It was based on the draft version of WS-Security.
  • It is not supported anymore and is not compatible with .NET 2.0.
  • It uses the older "XMLSOAP" namespace in contrast to the OASIS namespace used by WSS4J and WSE 2.0/3.0.



WSE 2.0


  • Released for Visual Studio .NET 2003 and the .NET Framework 1.1 in May 2004.
  • It introduced major secure communication improvements (signing and encryption of user-defined SOAP headers, Kerberos Security Context Tokens, delegated trust etc), a new lightweight messaging infrastructure, a new programming model, support for SOAP based messaging over TCP as an alternative to HTTP, a policy framework based on WS-Policy and WSDL, WS-Addressing, WS-Trust, WS-SecureConversation support.
  • WSE 2.0 can be used from within standalone executables and Windows services i.e. outside IIS in addition to ASP.NET applications.
  • It is also compatibile with .NET 2.0, however it does not have design time support with Visual Studio 2005.
  • It is not interoperable with WSE 3.0 and WCF.


WSE 3.0


·         Released in October 2005 and has design time support with Visual Studio 2005.

·         It includes policy framework enhancements including security based on policy assertions (associating CLR client proxies with policy files), turnkey security scenarios for securing end to end messages, extensibility mechanisms for user-defined policies in code and a simplified policy model applied to a message exchange instead of on a per-message level.

·         It supports updated Web services specifications and a native 64-bit runtime. WS-SecureConversation sessions can be cancelled explicitly and sessions are reliable and usable in web farm scenarios as Security Context Tokens can contain the original client authentication token when sent from the client to the service, which enable sessions to be re-established if lost, e.g. when a service's appdomain is reset.

·         WSE 3.0 is wire-level interoperable over HTTP with WCF and supports the same version of the WS-* specifications as WCF (WS-Security 1.1, SOAP 1.2, MTOM).



Note: It seems that there is no WSE 4.0 to work with VS2008. Instead, VS 2008 relies on WCF for the same functionality.



Hope this helps.


Reference: WS* Specifications, WSE




Arun Manglick






No comments:

Post a Comment