Interview Series: Building an Event-Driven SOA

by Anne-Christine Strugnell and Robin Smith

Arch2Arch's Anne-Christine Strugnell interviews Robin Smith, senior engineering product manager, WebLogic Time- and Event-Driven Computing, about the products and concepts architects need in order to build an event-driven SOA.

So what�s all this buzz about event-driven SOA (EDSOA)?

Well, every day, companies face the challenges of processing the continually growing amount of business intelligence flowing through the enterprise. They have to handle large volumes of complex data in real time simply to operate. They�d like to improve their ability to anticipate future events in real time, and they know that all this data on current events, even if it seems unrelated, may contain information that would help them predict what might happen next.

All businesses are event-driven�just like life itself! And event-driven SOA addresses all the capabilities organizations need to respond to these real-time business dynamics. Event-driven SOA combines the send/reply paradigm of service oriented architecture (SOA) and the event sense/respond paradigm of event-driven architecture (EDA). Together, these design principles result in extreme agility, enabling the enterprise to conduct business at light speed. Plus, by supporting events as services, event-driven SOA enables architects to map an application design to the exact business problem, which typically consists of requirements for both a send/response paradigm and for an event sense/respond paradigm.

Can you explain the relationship between the BEA WebLogic Real Time product, and the event-driven BEA WebLogic Event Server?

BEA WebLogic Real Time (WLRT) is BEA�s unique foundational runtime infrastructure powered by JRockit, our high-performance standards-based Java Virtual Machine (JVM). This enhanced JVM with its low-latency deterministic garbage collection capability enables companies to clearly define service level agreement times down to the milliseconds. This resolves one of the biggest problems for real-time applications: the unpredictability and length of related pauses that can occur with other solutions. When milliseconds really do matter, businesses need WebLogic Real Time.

To help organizations identify additional sources of latency in real-time applications, we�ve also introduced a unique new tool, the Latency Analyzer, which helps IT to visualize thread and transaction execution times.

BEA WebLogic Event Server (WLEvS) is a new and unique Java application server designed specifically for modeling and deploying EDA-based applications. Although it can execute with any standards-based JVM, it has been optimized to work with WLRT. This low-latency, lightweight mSA-based Java container helps deliver complex event processing together with a complete portfolio of integrated container services. It delivers significant performance benefits by associating business logic with the triggered events being executed in-process. Developers can simply leverage Java objects with the supported Spring framework, without learning any new APIs or development paradigms. Companies can also benefit from all of the enterprise "ilities" expected from an application server such as scalability, manageability, availability, and security.

Does the event-driven product offer soft real-time guarantees like WebLogic Real Time?

The WLEvS builds off the SLAs now available for the first time from our unique runtime layer. This new Java container also provides the infrastructure for deterministic millisecond latencies under pre-determined peak workloads, another essential requirement for high-performance real-time applications. It achieves this by minimizing thread context switching and synchronization, tuning I/O (such as socket connections), and incorporating real-time scheduling techniques and efficient memory management. Unlike other solutions, WLEvS provides all of these integrated capabilities transparently to applications without the need to program to any new APIs or complex self-memory management implementations.

Under what circumstances would I choose one or the other?

Use WLRT when you need extremely low latency and predictability for Java applications that are time-critical or time-sensitive.

Consider WLEvS when you need predictability, performance, and complex event processing for Java applications handling high volumes of event-critical streaming data.

If your solution needs extremely low latency, predictability, and performance for its Java applications, and those apps are handling high volumes of streaming data that are both time- and event-critical, then we recommend using both these products together.

What is CEP and why is it so important?

One can think of complex event processing (CEP) as analogous to the database management of structured data�but backwards. Rather than the information remaining static with queries being executed ad-hoc across the data, in an event-driven application the queries remain static and the data is continuously changing. The CEP engine continuously filters, correlates, and manages causality and aggregation, with all this evaluated in real time.

Event processing language (EPL) is our SQL-like event processing language that drives the CEP engine. It extends the traditional capabilities of SQL by using WHEN rather than IF clauses, thus handling the required temporal constraints to define windows in the streaming data in which event patterns can be identified and acted upon accordingly.

Pages: 1, 2

Next Page »