Tuesday, August 22, 2006

The starting point for SOA is...

I just read a blog of Steve Jones, called The starting point for SOA is... Where he comments a blog of CIO Magazine by Christopher Koch. Let me join the party.

I think events happening in the real world should be the starting point of an SOA-design. Real-world events are the triggers for the business processes by nature. When you support a business process with IT, then of course you must get the event into your IT-system. You may call this a service, but it can be all kinds of components (both software and hardware). What we do is starting with modeling the events. We describe events in canonical formats and we publish the events in a "global dataspace" (implemented by an ESB). We use web services interface technology to publish these events. Again, you may call these publishers services, but I'm not sure if that is always appropriate. And yes, the publisher uses a web service interface. But I wouldn't call that an SOA yet. In my opinion SOA starts with recognizing the real-world events (what to react on) that will be the basis for defining generic functional building blocks to compose SOAs (how to react; the process). It's a kind of contract-first design.

Modeling events is what we call an event-driven architecture (EDA), the layer between the real-world events and artificial IT-systems (SOA). So (business) events are our starting point. It's the way we obtain optimal alignment of our business and the supporting IT-systems.

Here is how the entire design-model looks:

Speak aloud (experiment)

No comments: