|
|
YOUR FEEDBACK
SOA World Conference
Virtualization Conference $200 Savings Expire May 16, 2008... – Register Today! Did you read today's front page stories & breaking news?
SYS-CON.TV |
TOP LINKS YOU MUST CLICK ON Product Reviews
Java Product Review — Oracle EDA Suite
Supporting events without complex custom coding
By: Mark Simpson; Mark Waite
Dec. 4, 2006 01:30 PM
Digg This!
Page 1 of 2
next page »
An event-driven architecture (EDA) reflects the real world in which businesses operate. The real world is constantly changing, chaotic, and unpredictable. An EDA enables organizations to make sense out of all the events occurring within their business, and to detect anomalous business situations by drawing together a number of indirectly related or independent events. Furthermore, EDA builds decision-making capabilities directly into business processes by using analytical insights to drive decisions. EDA offers organizations the ability to track events in real time, thus gaining an early awareness of issues, improving productivity, and reducing manual intervention and errors.
The Need For Event-Driven Architecture
EDA or SOA? Why Another Architecture? Unlike the request/reply approach of SOA, where callers must explicitly request information, EDA allows systems to respond dynamically as events occur. In an EDA, event producers publish events, and event consumers subscribe to receive these events as they happen. Moreover, the generation of an event is not dependent on the availability of a service to process that event; events therefore must be stored to support such instances when a subscriber is not available. Apart from its support for parallel asynchronous flows of data - in which information is transmitted without any anticipation of an immediate reply, and in which there is no need for a continuous connection between systems - event handling exhibits a number of other characteristics that serve to distinguish it from service processing. Events require not only one-to-one exchanges, but also the additional capability for one-to-many and many-to-many communications. In addition, event handling allows the publisher and the subscriber to interact without knowing anything about each other. The relationship between the two systems is purely in terms of the information sent and received. In contrast, interaction between service components generally involves linear bidirectional request/response communications between a "client" and "server" service, with the flow controlled by the initiator.
EDA in the Real World In a dynamic airline pricing system, each new booking "event" triggers a new pricing calculation for the next buyer. Dynamic pricing maximizes revenue by charging more if demand is strong and less if demand is weak. Solving use cases such as these requires going beyond traditional business process automation, to enable rapid response to changing conditions. This requires the use of both service and event processing, which are compatible and reliant on each other. Using events to wire together business processes enables more decision-making to be transferred from man to machine. This interaction between EDA and SOA is two-fold. The occurrence of an event can trigger the invocation of one or many services. Those services may perform simple functions, or entire business processes. Secondly, a service may generate an event. The event may signify a problem or impending problem, an opportunity, a threshold, or a deviation. Upon generation, the event is immediately disseminated to all interested parties (human or automated). The interested parties evaluate the event, and take action if necessary. The event-driven action may include the invocation of a service, the triggering of a business process, and/or further publication or syndication of information. SOA delivers software functions as loosely linked services that can be plugged, unplugged, or combined to form new applications. EDA enables organizations to respond instantly to any relevant event. It is clear that organizations need both SOA and EDA within their enterprise architectures. EDA is not the successor to SOA; it is its sibling. Neither is it new: simple event-driven processing has been in common use for at least ten years with message-oriented middleware. However, one of the main advances in the past few years has been the emergence of higher-level programming tools and paradigms that make EDA implementation much less daunting. The remainder of this article will focus on the requirements of an EDA and how Oracle EDA Suite supports those requirements.
Requirements of an EDA Solution
The Oracle EDA Suite consists of a subset of Oracle's middleware platform - Oracle Fusion Middleware - that allows customers to identify, analyze, and respond to business events in real time. Oracle EDA Suite can be implemented on its own or in conjunction with the companion Oracle SOA (Service-Oriented Architecture) Suite. Both share several overlapping components, including Oracle Enterprise Service Bus. Oracle EDA Suite comprises the following components: Oracle Enterprise Messaging Service, Oracle Enterprise Service Bus, Oracle Business Rules, Oracle Business Activity Monitoring, and Oracle Sensor Edge Server. These components are described in more detail below.
Oracle Enterprise Messaging Service
Oracle Enterprise Service Bus In contrast to Oracle BPEL Process Manager, which orchestrates long-running stateful business processes, Oracle ESB delivers high-performance messaging in support of both stateless and stateful service orchestration. Oracle ESB can capture the intermediate steps of a business process, allowing critical usage patterns to be identified and integrated into decision support systems in real time. Usage patterns can be identified to streamline business processes, or even head off problems before they cause irrevocable damage. Oracle ESB combines event-driven and service-oriented approaches to simplify integration across heterogeneous platforms. It acts as an intermediary layer to enable communication between different application processes. A consumer or an event can trigger a service deployed onto Oracle ESB. It supports synchronous and asynchronous data flows, facilitating interactions between one or many stakeholders (one-to-one or many-to-many communications). Oracle ESB provides all the capabilities required for both service- and event-oriented architectures. (Figure 1 shows the ESB Control Console, which is used to manage messaging.)
Oracle Business Rules Oracle Business Rules consists of the Rule Author tool, a Rules engine, and a Rules SDK. The Rule Author tool presents a simple interface for declaring rules that can be used by both programmers and business analysts. Rule Author generates the Oracle Rules language in a repository for use by the Rules engine. This language provides integration with Java programs, Web services, and XML documents. The Rules engine is a fast and efficient JSR-94 compliant RETE-based engine written in Java. The Rules SDK provides a rules-editing interface that allows applications to generate custom rules. The SDK is attractive for applications that define policies via their own special graphical interfaces. You can develop applications in Oracle BPEL Process Manager - part of Oracle SOA Suite - and capture business policies that are part of business processes by using the Rules engine. In this way, changes to business policies can be made without touching the business processes themselves. The Rules engine also supports integration with third-party engines such as iLog. Page 1 of 2 next page »
ENTERPRISE OPEN SOURCE MAGAZINE LATEST STORIES . . .
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
|
SYS-CON FEATURED WHITEPAPERS MOST READ THIS WEEK |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||