Monday, February 23, 2009

SOA - The Web Services Model

The latest trends of SOA follow the Web Services model for implementing the Service Providers. However, the first question which arises here is - "What's a Web Service?"

According to W3C, A Web Service is a software system designed to support inter-operable machine-to-machine interaction over a network.

A Web Service has an interface described in machine-processable format, specifically WSDL (Web Service Description Language).

The services provided by the Service Providers are maintained as a list by a Service Broker which interacts with Service Providers and Service Consumers using UDDI (Universal Description Discovery and Integration) Inquiry and Publish.

Other systems interact with the Web Service as prescribed by its description using SOAP (Simple Object Access Protocol), typically conveyed using HTTP requests with XML serialization.

A typical Web Service is implemented as -

The Service Providers are generally Java Web Services or .NET Web Services.

The Service Consumers can be implemented in -

  • Java, JSP and J2ME (using NetBeans)
  • C# and ASP.NET (using Visual Studio)

The Service Consumers can actually be written in any language which can understand XML and interact through SOAP messages.