Enterprise Initiatives

This blog focuses on Enterprise IT topics such as Enterprise Architecture, Portfolio Management, Change Management, Business Process Management, and recaps various technology events and news.


Showing posts with label EDA. Show all posts

I have been blogging for quite some time about SOA and Event Processing and have recently been getting more experience with Cloud Computing. The last few weeks I did a series of posts on agile SOA:

Today I completed a nice presentation on Slideshare called Agile Architecture which combines SOA, EDA, and Cloud Computing in a strategy to support the ever demanding needs of our dynamic business environment. I have the luxury of starting from scratch because we are in startup mode and do not have the burden of years of legacy systems and legacy cultures. The goals of our architecture are many, but here are a few key goals that speak to the topic of agile:
  • Must integrate with multiple customers, suppliers, partners
  • Must be configurable
  • Data may physically be stored in different locations for different customers
  • We don't own or want to own a data center
  • We want our customers/partners to be able to extend our services
  • We will deliver our software as a service
  • Each customer/partner has unique business processes and rules
  • We need to deliver our content on many different mediums and devices
I could go on but you get the picture. The reality is that we need to support an extremely dynamic business model and we need to be able to scale quickly. The following presentation shows the approach we will adopt to meet those requirements. This will be a long journey and will not happen overnight. But with a clear vision of the future state, we can plot a path of small manageable milestones to help us get there. I hope you enjoy the presentation!

Agile Architecture
View SlideShare presentation or Upload your own. (tags: soa bpm)




I attended the Event Processing Summit in Orlando today and will summarize my understanding of event-driven architecture (EDA) and how it is different from service-oriented architecture (SOA).

EDA is not a new concept. Like BPM and SOA, EDA has evolved to the point where it is mainstream enough for vendors to make a profit from it. Vendors have been aggressively working on being the first to market with an easy to use and open platform for customers to add to their stack.

So how is EDA different from SOA? SOA is a request/respond type architecture. The users request information from the system and the system produces a response. EDA is a sense/respond type architecture where the user is alerted or notified of some condition(s) that the system predicted or discovered. Think of EDA as a tool to teach the computer how to respond to events.

To get a better understanding of these terms, let's look at the following pictures. The first picture depicts the classic stovepipe or silo type architecture where applications do not integrate well with each other.
In this example, a customer calls a customer service representative (CSR) and requests information that spans multiple systems. The CSR goes into each system and manually collects the various data points. Once finished, the CSR responds back to the customer. This type of architecture is inefficient, error prone, and time consuming.

Enter SOA. SOA allows you to build composite applications while leveraging years of investments in your legacy applications.
In this example, the CSR was completely eliminated and the customer was given a self service portal that has a single view into the various legacy systems. To keep the chart simple, I did not display the service bus or BPM workflow. The idea here is the customer has a single view into all of the data that is relevant without dealing with the complexity of interfacing with various different backend systems. This is SOA's sweet spot. You can see from the picture that the composite application is made up of data from various legacy systems both internal and external (Salesforce. com) and across different platforms. SOA, like the old silo architectures, is also request/respond. Wouldn't it be nice if we could anticipate our customers' needs and notify them in advance of events that took place or conditions that require their attention?

Enter EDA. EDA creates a composite view of data from your legacy systems and analyzes the data to identify patterns or trends.
In this example, the EDA system is constantly evaluating data that is being pulled into a composite view in real time. Once certain events are identified based on some set of rules, the EDA system alerts or notifies the customer. This is extremely efficient, timely, and very cost effective. This is proactive computing.

EDA can be implemented stand alone without SOA, but it is very complimentary to SOA. EDA can leverage your existing SOA assets (BPM, ESB, Repository, Governance model, BAM, etc.).

I like to think of EDA as Proactive SOA. It is a natural extension of SOA. If you are implementing SOA today, keep an eye on EDA. Once you reach a decent level of SOA maturity, EDA will take your SOA to the next level.

I'll be back tomorrow to summarize more great insights from the Events Processing summit.



Subscribe to: Posts (Atom)

My favorite sayings

"If you don't know where you're going, any road will get you there"

"Before you build a better mouse trap, make sure you have some mice"