Wednesday, March 12, 2008

The value of EDA

Have not realized the value of EDA (Event-Driven Architecture) so much until recently.
I was always thinking whatz so great about EDA when your J2EE MDBs were supporting just that.
But, We are designing an EDA project right now and I could see the immense potential of the architecture. And there is no wonder people call it SOA 2.0 = SOA + EDA.
Truly, the next gen of business applications need to be designed in SOA 2.0 mode to ensure the business agility and performance.
While SOA relates to business functions, EDA necessarily models the business events and its consequences on business services.
The EDA addresses different levels of complexity right from Simple Event processing to CEP. While the traditional MDBs were designed to support simple event handling mechanisms, EDAs are designed to handle end-to-end event centric architecture and design of business solutions.

Space-Based Architecture - End of Tiered Computing

One of my colleagues recently talked to me about Space Based computing in the context of Mule ESB.
I see SBA as the evolution of virtualization. Virtualization is evolving from Harware, OS, Portal Server, Application Server...and finally penetrating into the application itself. SBA basically eliminates the tiered computing model where each tier is physically located / distributed in a different machine altogether.
Each tier that requires the services from another tier is virtualized and your required service may be served from a cloud (that is implemented by spaces runtime environment).
Now you may be wondering - that is exactly the job of ESB is...right?
ESB provides virtualization for services. And when SBA gets integrated with ESB, the service client makes a call to Space which in turn invokes the actual service that is spread across the computing cloud.
While ESB provides virtualization for services, SBA makes virtualization possible for any tiers within any application - be it data access, business tier or messaging tier.
The solution would be more suitable for high-volume / high-performing apps.