Monday, June 26, 2006

Brave New World with WS-*

What I think is that the current focus on RPC-style SOA design (which in fact is very old) will shift to a focus on Event Driven design style. ESB-s and WS-* make that possible at the business process level; standards based, a-synchronous open messaging systems, which was not possible up till now. At least not at the business process level and open standards based.

I see ESB as the company's global data space, where business events reside. So, an infrastructure. The ESB is the infrastructure to support standards based publish/subscribe patterns.

Where SOA focuses on services as functional components, I'd rather focus on business events (messages) that trigger processes. That's my view of EDA. The processes handle the life-cycle of the business events en may generate new business events that trigger other processes. Such a process can be a composite application which can be an EDA by itself (preferably) and which can use - at the lower levels of granularity - request/reply (RPC) patterns to services for message enrichment or data processing.

One of the big differences with the old world is that we don't have the program tell the messaging-infrastructure how to handle the message (JMS), but we use the message itself to tell the infrastructure how it has to be handled (WS-*). And all messaging-infrastructures will understand WS-*, even the network hardware devices like routers and switches. This way the message can - and will - break out of the closed systems and travel freely across heterogeneous infrastructures. Within or outside your company. With your ESB as the company's business events container, representing the real-time state of your business; including all the historical states in a fluent time-line to the past. Imagine its huge potential... (e.g. compared to our current, static, historical datawarehouses)

This will be the brave new world and it will change the way we look at IT-systems forever.

No comments: