140 likes | 333 Views
Event based Enterprise Service Bus. Kasun Indrasiri 128213M Supervised by: Dr. Srinath Perera Dr. Sanjiva Weerawarna. Introduction. Increasing adaptation of Service Oriented Architecture(SOA) for Enterprise Applications.
E N D
Event based Enterprise Service Bus KasunIndrasiri 128213M Supervised by: Dr. SrinathPerera Dr. SanjivaWeerawarna
Introduction • Increasing adaptation of Service Oriented Architecture(SOA) for Enterprise Applications. • Enterprise Service Bus(ESB) becomes the de facto integration solution for most of the Enterprise Integration problems. • Complex Event Processing(CEP) engines also becoming increasingly popular - high demand for real time processing of moving data. • This research project is an effort to implement • A light weight Enterprise Service Bus(ESB) based on the Even Stream Processing Architecture.
Research Context • Service Oriented Architecture (SOA) • A style of software architecture that is modular, distributed and loosely coupled. • Componentization – The main driver of SOA • Business Functionalities are implemented in different Business Components • Business Components provide their functionality to its consumers as a ‘Service’ with the well-defined service interfaces.
Research Context • Enterprise Service Bus (ESB) • An ESB is a middleware solution that enables interoperability among heterogeneous environments using a service-oriented model. • Stateless and Seamless Integration • Standard Protocols – SOAP, REST, JSON etc. • Transports – HTTP/S, JMS, TCP etc. Source : http://graegert.com/programming/no-soa-criticism-somewhere
Research Context • Complex Even Processing (CEP) • Real-time processing of an avalanche of moving data • CEP Engine : Evaluates the queries provided from a given user and match those queries against continuous event streams and trigger an event when the conditions mentioned in the queries are satisfied. • CEP in action • Reacting to data collected from weather sensors, battlefield control, traffic control etc.
Siddhi – A CEP Engine • A high performance CEP Engine. • Ability of processing huge flood of events that may go well over one hundred thousand events per second with a near-zero latency. [1]
Siddhi – A CEP Engine • Faster than Esper [1]
Research Problem and Objectives • Implementation of a light weight ESB based on Event Streaming Architecture • Best of both worlds : ESB and CEP • Objectives: • Event Streaming Architecture for an ESB • Mediation Logic based on a Query Language (such as Siddhi) • Use high performance non-blocking IO (Java NIO) for HTTP transports
Proposed Approach • Implementing an ESB based on top of a CEP engine (Siddhi)
Proposed Approach • Mediation Engine • Based on Siddhi-Core • Mediation Logic • A new query language for Siddhi. • Non Blocking Transport Listeners and Senders (HTTP/S)
Scope and Constrains • An ESB caters huge amount of integration requirements • A lightweight ESB with predefine set of requirements • Pass-Thru : ESB purely acts as the bridge between client and server • Content Based Routing • Non blocking HTTP/S • Basic Message Types – SOAP/REST • Stateless
References [1] S. Suhothayan, IsuruLokuNarangoda C. Subash, K. Gajasinghe, SrinathPerera, VishakaNanayakkara, "Siddhi: A Second Look at Complex Event Processing," in GCE '11, New York, 2011. [2] L. Garc´es-Erice, Building an Enterprise Service Bus for Real-Time SOA: A Messaging Middleware Stack. 33rd Annual IEEE International Computer Software and Applications Conference, 2009. [3] PayamNabhani, Amir MassoudBidgoli, Intelligent Conceptual Message Routing in Enterprise Service Bus (ESB). International Conference on Convergence and Hybrid Information Technology, Washington, DC. 2008.