Some time back, I was preparing a document on Web service standards- specifically security related ones- and was overwhelmed by the sheer number of them. I wrote up this rough guide to the Web services 'alphabet soup' to help me get a big picture of what the standards are, and where they fit in.
Basic standards
The discovery standards haven't (as of date) had a lot of traction. SOAP & WSDL on the other hand, are widely in use.
Web service Composition standards
These three competing standards allow for workflow-type applications with Web services.
Web Service QoS standards
Security Standards
Security for Web services can be achieved at two levels- either at the 'wire' level or at an XML level. Wire level security, also called Transport layer security uses existing Internet protocols to secure the traffic between the Web Service and the client application. For example you can use:
Wire level security is fine so long you have one Web Service provider and a simple security policy. However, things become difficult if you have a number of Web Service providers, or a document being passed around by different services (such as in a workflow). This is because transport layer security mechanisms only secure the information exchange between two application endpoints: they do not provide for an end-to-end security model.
In XML level security, also called Message level security, the security information and access policies are bundled in the message itself. There is a long list of standards in this space, though the ones that have some market acceptance at the moment are XML-Encryption, XML-Signature (also used as a part of WS-Security) and SAML.
These standards aim to enable interoperable authentication and authorization across systems. This is done by having security tokens bundled along with a SOAP message, and these tokens can be in any format, such as:
X.509 and Kerberos have been around for a long time- they pre-date Web Services. SAML (Security Assertion Markup Language ) is however getting a lot of commercial attention, and has a number of implementations. There is another standard with some overlap to SAML called XACML (eXtensible Access Control Markup Language), which, as the name suggests, is an access control rule language.
Liberty and Passport try to solve the same problem (single sign on, identity) but approach it differently. Liberty has a federated architecture and is based on SAML. It consists of a set of specifications and depends on vendors to provide implementations. Passport, on the other hand, is a centralized service run by Microsoft, and is implemented in Microsoft’s Hotmail, Messenger and ISP services.
Grid computing related standards
Some new standards that aim to integrate Web Services and Grid computing:
In a later post I'll talk about my experiences with some of these standards, and the implementations I tried out.
I did an interview way back in July 2002 that talks about some of these protocols- somewhat dated, but interesting if you want to see what was around back then.
Update [May 03, 2004]:
I found an article at developerWorks that gives a very good overview of Web service specifications - at least those with support from IBM & Microsoft.
Posted by vivek at March 17, 2004 09:21 PM
| TrackBack
Hi,
can you tell me how to debug and deploy java web sevice.
is there any software to do that?
i am using java web service to interact with MSoutlook . please give me solution for this problem.
With Regards,
sudhakar.m