260 likes | 496 Views
Complex Event Processing (CEP) WebLogic Time and Event Driven Product Family (TED) The Java Runtime infrastructure and Container for Event Driven Architecture based Applications. Wolfgang Weigend Principal Systems Engineer Team Lead Systems Engineering Germany, Switzerland and Austria. Agenda.
E N D
Complex Event Processing (CEP) WebLogic Time and Event Driven Product Family (TED)The Java Runtime infrastructure and Container for Event Driven Architecture based Applications Wolfgang Weigend Principal Systems Engineer Team Lead Systems Engineering Germany, Switzerland and Austria
Agenda • Product Markets and Drivers • Product Overview • What´s inside • Use Case
“The Instantly Responsive Enterprise” • WebLogic TED • EDA (Event Driven Architecture) facilitates the execution of uncoupled business processes triggered by real-time events • Extends SOA (Service Oriented Architecture) with a Sense/Respond paradigm • Enabler for XTP(Extreme Transaction Processing)
Financial Services Transportation & Logistics Public Sector & Military Manufacturing Insurance Telecommunications & Services “The Instantly Responsive Enterprise” Triple play order management Asset management Algorithmic trading • Large volumes of streaming events • Need for sub-millisecond response times • Guaranteed under heavy loads ‘Negative Working Capital’ inventory management • Intrusion detection systems • Military asset allocation Reponses to calamities – earthquake, flooding
DGC Liquid VM Fault Tolerance Event Processing Tooling OA&M WLW Real Time IDE POJOs Spring Real Time Development Environment Services WebLogic Real Time Server Applications Complex Event Processing Real Time Scheduling Distributed Caching Stream Processing Real Time Synch Real Time Infrastructure Services QoS Latency Monitoring Common Services Deterministic Java Runtime Unique Foundational Runtime Infrastructure (WebLogic Real Time: Powered by JRockit ) • Use Case -Extreme low latency and predictability for Java applications – Time Critical • Benefits • Guaranteed maximum response times • Average response times in microseconds • Deterministic QoS under heavy load • No code re-writes “At first, we doubted BEA's performance claims for WLRT 1.1. After all, if it were possible to lose the garbage-collection latency, wouldn't Sun have done it already? After testing WLRT 1.1 in several scenarios, we concluded BEA's solution works.”. - Network Computing, September 2006
Unique Foundational Runtime Infrastructure (WebLogic Real Time: Identify, Analyze and Resolve) • Visualize thread & transaction execution time lines • Find sources of latency spikes
Liquid VM DGC OA&M Event Processing Tooling Fault Tolerance WLW Real Time IDE POJOs Spring Real Time Development Environment Services WebLogic Real Time Server Applications Complex Event Processing Real Time Scheduling Distributed Caching Stream Processing Real Time Synch Real Time Infrastructure Services QoS Latency Monitoring Common Services Deterministic Java Runtime Unique Java Container (WebLogic Event Server: Exceeding EDA Expectations ) • Use Case : Predictable, performant high volumes of streaming data – Event Critical • Benefits • Complex event processing • Handle high volumes of data (50k messages/sec) • Latency optimized, lightweight Java container • Light-weight Java deployment platform • POJO support • Enterprise “ilities” expected from an application server • Scalability, Manageability, Availability, Security
WLRT Event Server (Deterministic Container) t1 Adapter datastream EventProcessor POJO datafeeds events Adapter datastream Queries WLRT (Deterministic runtime) Unique Java Container (WebLogic Event Server: Deterministic Container) • Infrastructure for deterministic millisecond latencies under pre-determined peak workloads • Minimize thread context switching andsynchronization • Tuned I/O (e.g., socket connections) • Real-time scheduling • Efficient memory management
The integrated solution provides a scalable, extremely low latency, Java platform for developing & running Real Time CEP applications. Liquid JVM JRockit WebLogic Realtime Event Processing Tooling WLW Real Time IDE POJOs Spring Services Stream Processing Complex Event Processing Real Time Kernel Stream Management WebLogic Time and Event Driven Complete Product Family • Tuned Light Weight Java container • Integrated CEP Engine • Supports Business Logic as POJO • Low latency, deterministic • Latency metrics uniquely available • First fully mSA-based (consumer/producer)BEA products RT Development Environment WebLogic Event Server Applications Event Server Infrastructure Services QoS Latency Monitoring Common Services Configuration &Administration Fault Tolerance Security Logging Run Time
What´s inside • Low Latency Deterministic Container • Lightweight “Application Server” • Event Driven Programming Model • Complex Event Processor (CEP) • Deployment Environment • Time and Event Driven Computing Summary
Low Latency Deterministic Container WLRT Deterministic GC • Provides QoS guarantees • Usage: ”-Xgcprio:deterministic –Xpausetarget=10ms • Highly tuned mostly concurrent mark-n-sweep GC • Most work done concurrently, pauses are frequent but very short • Back off, split work and reschedule if nearing QoS limit (divide and conquer) One GC cycle (phases 0-2, 2-4, 4-5, 5 visible) 500 ms 20 s
Lightweight “Application Server” • Built on the BEA “Core Engine” • Equinox OSGi Platform underneath • Mix of hardened WLS subsystems and new technologies (Spring-OSGi, Complex Event Processor, etc.) • Tuned I/O model • Refinements to WLS network I/O model • Blocking network I/O • One dedicated thread/connection • Tuned Threading model • Minimal (zero) thread switching • Can parallelize Rules execution or switch thread (if desired)
Event Driven Programming Model • Applications model complex event processing networks • Network of collaborating producers and consumers of events • Network nodes (stages) are: • Services: Adapter, Stream, Processor • Business Object: POJO (Spring Beans) • Events: POJO or Map • Spring-based declarative assembly and configuration • Applications configured in Spring configuration file • Custom Spring tags for WLEvS services • Dependency injection for additional services • Seamless integration to legacy Spring beans
Adapter User Code Processor Stream Event Driven Programming Model Data Source Stream Data Source Adapter Stream
Complex Event Processor (CEP) • Continuous query engine • Processes high volumes of streaming data • Filtering, Correlation, Causality, Aggregation • Evaluates in “Real-Time” (Sub-millisecond with high workloads) • SQL-based Event Processing Language (EPL) • Extensions to handle streaming Events • Runtime representation • Rules : compiled into Java code by Query Parser • Actions (user code): POJOs (Spring Beans) • Events: POJOs
Event Processing Language (EPL) • SQL-based • Leverage existing skill-sets • Easier integration to relational data • SELECT … FROM RETAIN … WHERE … GROUP BY … HAVING … MATCHING … OUTPUT … • Extensions to handle streaming data • WHEN ... THEN vs. IF ... THEN • Streaming Windows (sliding, jumping) • Time-based queries
Deployment Environment (1) Connectivity Capabilities • HTTP(S) for client requests/response • JMS client for asynchronous message for client or data source • Standard Java SE remote interfaces (i.e., RMI, JNI, JDBC) • Adapter SDKfor writing custom adapters • Integrates with Event Sources and Sinks • Socket framework for TCP/IP based adapters • Easy mapping to Event Model
Deployment Environment (2) Comprehensive Security Framework • Leverages best-of-breed BEA Common Security Services Framework (“CSS”) • Pluggable SPI model (“Security Providers”) for 3rd party integration • SSO – via “AUTH Provider” for Cleartrust • File based security provider for configuring user, passwords, and roles • Password information encrypted • API to retrieve user, password • Used by http server for user authentication
Deployment Environment (3)Administration and Monitoring • Command line interface to start/stop server and application deployment • Standard JMX interface for system configuration and monitoring • Basic configuration status and monitoring Mbeans with initial release • Tightly integrated with JR Mission Control • Latency Analyzer
Deployment Environment (4)Administration and Monitoring - Dashboard Activity Monitoring
Time and Event Driven Computing Summary WebLogic Event Server (WLEvS) WLRT and WLEvS ship separately and as a bundle WLRT can be “dropped in” to other products as turbocharger Application Frameworks BEA Workshop for TED Quality of Service Monitoring BEA WebLogic TED Products WebLogic Event Server CEP, Stream, Scheduling Services Foundation Event Services WebLogic Real Time JRockit DGC Aggregate, correlate, filter data10,000 Rules / Queries Incoming Data Streams150,000 Messages/Sec<1K message size • Resulting Data fed to user Java code<5% data matches filter criteria Latency Goals< 1 Millisecond Latency (Avg.)30 Millisecond Latency (Max) BEA Confidential 22
WLRT CE Java Use Case: Financial Services Partner Fixed Income Trader - Pricing Engine Opportunity Improve performance and stability of fixed income pricing engine Solution Powered by BEA • Reduces Application Pause times (jitter) • Response time improved by 50% using BEA WebLogic Realtime • Sun JVM avg: 16 ms, WLRT: 7.5 ms • Predictable Java runtime Performance • Dependability improvement of 20% using BEA Weblogic Realtime WLRT CE Sun Java
Data Feeds User Code(Plain Java) Adapterconnectivity Data Feeds Process Events BEA’s Event-driven SOA Suite – Proof Points - A Financial Services Equities Group Value Proposition • Significantly Increased Throughput • BEFORE -- 10,000 - 20,000 concurrent signal instances • AFTER – 50,000 concurrent signal instances • Higher developer productivity and flexibility • By using EPL • Dynamic rules update through configuration • Data sources: • Streaming market data • JDBC data sources (MS SQL Server • Order flow data from traders Output: Situations of interest to clients • Stock price moves by 3% • Spread exceeds X • consecutive ticks in a certain direction
SOA Services ALBPM/WLI Service Bus ALDSP ALSB SOA Clients WLRT WLS createOrder() Event Server CEP SOA Message External Events External Event SOA Event Legend WLRT Event Driven SOA (EDSOA)In Use Case, Architecture and product Automated Response Interactive Response Real-time alerts