<<Recently some posts
<http://www.edmblog.com/weblog/2008/11/an-attempt-at-demystifying-cep-bpm-and-brms.html>about
CEP and BPM and so on point to misconceptions about how the technologies
work together.
Here are a set of observations about EDA, SOA, CEP, BPM and BRMS that I
have learned from applying all of these technologies to real-world
business problems. They are related to an order processing example that
should help explain how the technologies are used together as follows:
. State is the status of a business process (where we are in an
order process)
. An event is a change in state meaningful to the business (a quote
becoming an order)
. Event driven architecture (EDA) is the design of systems to
respond to events where a state change is published as a message and
can be consumed by many message subscribers (a product order can
independently trigger the warehouse management system to pick an
item, a purchase order to a supplier and an email to the customer
with the estimated delivery date - these systems can be completely
decoupled)
. Changes in business state are recorded (for an automated process
the system has to record the state change to function properly - to
record the change of a quote to an order)
. Business services can be event driven - publish or consume
messages and trigger or result from business process execution (the
purchase order process can "listen" for a event that the inventory
level for a product has reached the reorder threshold and consume a
service to place the purchase order)
. Changes in business state are highly correlated to business
services (an order service is needed to create an order from a quote)
. Business Process Management (BPM) automates business processes
using workflows that consume services (sales creates an order quote
within a workflow and the worflow can automate the creation of an
order using the order service)
. Individual tasks in a BPM workflow automating a business process
are not highly correlated to events or services (the steps to
collect data for an order, up-sell products, suggest substitutes
might be a workflow without state changes, events or services)
. Business rules can be implemented as operational decision services
within a Business Rule Engine (BRE) and consumed within a workflow
(an order of greater than $100,000 requires approval - the business
can change the max value)
. A decision service makes a stateless decision (the decision
service is not responsible for recording state changes and does not
store process state) within a workflow (does the customer have
sufficient credit to place the order)
. Complex Event Processing (CEP) examines the relationships of
multiple business events with the goal of identifying and
correlating meaningful events (multiple orders for the same product
can trigger shifts in product logistics, orders to suppliers,
promised ship dates and service level agreements - multiple related
events)
. CEP records the state of events whereas decision services (or
rules) does not (CEP has to know what products are in the supply
chain, logistics routes and on order to know what impact a supplier
delay would have to orders)
. CEP and decision services are real-time, operational decisions
whereas business intelligence decisions are based on an analysis of
historical data aimed at knowledge workers (BI can answer what
products sell at what stores during what season)
SOA helps integrate these technologies into a coherent architecture with
each technology performing the tasks they are designed for creating
efficient architectural layers for business solutions.
CEP, by the way, is not new as some have suggested. Like SOA, CEP has
been around for a long time and is now enjoying increased adoption due
in a large part to software vendors including the technology as part of
their SOA "suites" and increased interoperability between the tools
using web services and XML.
The History of Complex Event Processing
<http://www.eventstreamprocessing.com/cep-history.htm> - Modern
event processing grew its roots in the mid 1990's, when academic
research began at Cal Tech (Mani Chandy), Cambridge University (John
Bates), and Stanford University (David Luckham)...
Commercial software companies were created based on this research.
Chandy's work spawned the iSpheres (acquired by Avaya last year),
and Bates co-founded Apama with Giles Nelson in 1999. In 2002,
Luckham published a book called: "The Power of Events: An
Introduction to Complex Event Processing in Distributed Enterprise
Systems" that helped popularize the term "complex event processing,"
or CEP. In 2003, two more vendors were founded - Coral8 (Stanford)
and StreamBase (MIT / Brown / Brandeis; Michael Stonebraker / Stan
Zdonick / Mitch Cherniack). TIBCO BusinessEvents entered the market
in 2004 as well. Other CEP firms include Kaskad, Aptsoft, and Aleri
Labs.>>
*You can read this blog at:
http://it.toolbox.com/blogs/the-soa-blog/eda-cep-bpm-brms-and-soa-28565
Gervas*