Archive for July, 2005

Java Interface != Web Service

Alef makes an excellent point in his latest blog post. Basically, his argument comes down to this:

Most web tier frameworks (Struts, Spring MVC, etc.) provide a loose coupling between the web tier and the business and data tier1. When using these frameworks, you are focusing on the UI-side of things: reading HTTP parameters, providing a response view, etc. During the course of all this, you will probably use a business object or two, but the business layer will be ignorant of your web layer, and will have a different architecture altogether.

A Web Service also provides an interface: not for a user, but for another application. This being the case, why should a web service be any different than a web tier? In other words, why expose a business layer as web service, thus tightly coupling the two? It doesn’t make any sense to me. I think that - similar to a web tier - a web service should act as a gateway for you business layer, and should focus on the ins and outs of web service logic.

I guess it all comes down to making Web Services first class citizens of your application architecture.


1 - Recently, frameworks like Ruby on Rails have provided a much tightly-coupled approach. In my opinion, these frameworks are quite suitable for common CRUD functionality, but lack the power and clean architecture of the more conventional frameworks.

Comments off

Web Service Platform Architecture

It is pretty difficult to find one’s way in all the WS-* specifications. Recently, I’ve picked up a copy of Web Service Platform Architecture, which provides an excellent overview of all the current and upcoming Web Service standards.

The book is written by Weerawarana, Curbera, Leymann, Storey, and Ferguson, all of which are in some way affiliated with IBM, and some with Axis. Besides providing an excellent introduction into Service-Oriented Architectures, the book covers the following specifications:

  • SOAP 1.1 and 1.2
  • WSDL 1.1 and 2.0
  • WS-Adressing
  • WS-Policy
  • UDDI
  • WS-MetadataExchange
  • WS-Reliable Messaging
  • Transactions
    • WS-Coordination
    • WS-Atomic Transactions
    • WS-Business Activity

  • Security

    • WS-Security
    • WS-Trust
    • WS-SecureConversation
    • WS-Privacy
    • WS-Federation
    • WS-Authorization

  • BPEL

A great addition to my bookshelf. Go ahead and purchase a copy now!

Comments off