| How to Implement a Cubeia CEP Installation |
| Written by Lars J. Nilsson |
| Monday, 20 April 2009 09:18 |
|
This document briefly discusses the process of implementing a Cubeia CEP installation for monitoring and extracting real-time business intelligence from an existing customer system. It does not cover explicit data monitoring tools such as dash boards or data mining. All examples in this article are simplified the sake of brevity. 1 - Establish Project Goal
Cubeia believes in Agile methodologies, and recommends that the first focus for the Cubeia CEP project is a single goal, which can be easily expressed in one sentence. This goal oriented approach unifies the team, and provides a common target, enhances team focus, and provides a do-ability check for the Customer. Example goal sentences may be:
2 - Identify Data SourcesWe need to analyze the Customer system, and identify sources of data and what form that data has. This could be log files, Java Management Beans, message queues or purely internal points in the code. Crucially, this step establishes:
There may be several sources,and the format of the data may differ. Using the examples from step one, we may establish the following sources:
3 - Identify Data End PointsWhat data are we looking at extracting, and what format does it have? This step attempts to answer what the system will deliver and identifies the “trigger” which satisfies the goal established in step one in terms of data delivery. For example:
4 - Define CEP AlgorithmIn this step, the question “how can we, and when computation steps do we need, to transform the sourced data to trigger the end data” is answered. This is a semi-technical step where Cubeia personnel helps the Customer identify the algorithm, and stages needed to transform and handle the input data.
Identifying a “bad streak” for a given poker client would specify what circumstances constitutes such a warning, and then specify one ore more sliding time window query taking the sourced data and processing them for every and each client. Crucial for every CEP algorithm is the ability to correlate data over time. Cubeia CEP uses a library called Esper for this, and Cubeia will assist the Customer in identifying the processing needed for this step. 5 - Define Data Carrier ObjectsNow it starts to get technical. Together with the Customer technical staff Cubeia will produce specifications for the data identified in step two and three. This specification will must likely end up in a neutral format such as an XML schema or a simple text document. For example:
This step is more or less intertwined with the next step, as production of carries objects is closely related to transformation and transport. 6 - Define Arena Entry and Exit PointsThe Cubeia CEP installation will be installed on separate computers for isolation and scalability. This step identifies how the data carrier objects enters and exists the arena. Also, there may be transformations involved as the CEP stages will have to use normalized data to operate efficiently. The most common entry point into a Cubeia CEP installation is by utilizing message queues. This is an industry standard and has good support in all major programming languages. But Cubeia CEP also supports XML over HTTP and many other standards. The exit point depends entirely on the goal of the project, and may have to be completely customized by Cubeia for the Customer. But common exits are message queues, databases and remote calls using web services. 7 - Implementation PhaseThis is when it is all put together. Personnel from Cubeia and the Customer will work together to assemble the CEP installation given the knowledge gathered from the previous steps. This includes implementing the data sources, implementing the processing stages, installing and configuring the Cubeia CEP servers, optionally installing and configuring connecting servers such as message queues, and testing the initial installation.
8 - Optional ConsiderationsSo far we've concentrated on the data analysis process for a Cubeia CEP installation. However, there are more components that may need to be produced. For example:
Parting WordsHopefully this article has given you and idea on the steps included when going with Cubeia CEP for your system. It should be pointed out though, the implementing CEP is individual for each and every Customer. When it comes to this kind of business intelligence we don't believe in over the counter solutions, we believe you deserve better than that. Lars J. Nilsson is a founder and Executive Vice President of Cubeia Ltd. He's an autodidact programmer, former opera singer, and lunch time poet. You can contact him at lars.j.nilsson in Cubeia's domain. |
| The User Service, a component of Cubeia Network is not available as open source on www.cubeia.org. The User Service exposes a back-end user management system through a RESTful web service using JSON. |
| The product suite formerly known as Back Office has now changed name to Cubeia Network. Cubeia Network is a suite of loosely coupled components typically needed to run as an network operator or white label operator. |
Cubeia Ltd is a software and services company, registered in with UK company no. 6056566 and operating through our office in Stockholm, Sweden. Cubeia Ltd. UK Fillial is a registered branch office in Sweden, organisation no. 516404-2268. Please contact Lars J. Nilsson, Executive Vice President, on telephone: +46 (0)704 - 10 69 53.