eBAM
Introduction
EBAM (Extended Business Activity Monitoring) is an open source project, proposed under the Eclipse SOA top-level project. This proposal is presented in accordance with the Eclipse Development Process. It is intended to declare the project scope as well as to solicit the Eclipse community's participation and feedback using the eBAM forum.
Overview
This project is intended to realize a monitoring platform supporting the performance and management analysis of external systems. In an enterprise context, applications are typically executed in different environments and can produce many types of event logging, eBAM allows you to build a monitor to analyse the business process, it supplies a solution to aggregate information in a central repository which can be used to produce real-time KPI, SLA and notifications for different channels. One of the main aspect is that you can correlate different type of information coming from different environments. Eclipse has several projects that deal with profiling, monitoring and reporting activities. The goal of eBAM is to provide both build-time and runtime tools for a BAM platform. This document presents the scope and organizational structure of the project. A project charter will be created soon in order to describe in more detail the principles of the project, the roles and responsibilities of its participants as well as its development process.
Project Principles
The key principles of the project are:- Leverage Eclipse Ecosystem: the project aims to closely work with other Eclipse project areas such as Eclipse SOA Tools Platform, Eclipse RT, Eclipse Business Intelligence and Reporting Tools (BIRT), Eclipse modelling Tools and Eclipse TPTP.
- Vendor Neutral: the project promotes open source runtime technology, based on Equinox, in order to create a comprehensive BAM solution
- Modularity: the project architecture is based on a modular solution, so the users can always select and and use the components that more suit their needs.
Project Scope
The eBAM project focuses on the evolution and promotion of a middleware solution for Business Activity Monitor, which can be used for any type of services (infrastructure, applications, BPM, SOA). it also enables the real-time control of heterogeneous applicative and technological contexts, presenting monitoring dashboards, producing alarms in critical situations (which are defined according to specific rules) and sending events which can interact with external systems.
eBAM main features are:- Real-time data management, based on the event logic
- Automatic data collection from distributed systems
- Settlement of event rules through CEP engine
- Settlement of alarms and SLA
- Monitoring console and control over services processes
- Bidirectional interaction with external services.
- Integration with STP Intermediate Model.
The integration between eBAM and source systems is based on Adapters, specialized for each channel/protocol (log file; JMS, DB, SOAP code; etc.), which enable to:
- Recover external messages, on which users can apply CEP rules to generate relevant events and alarms
- Send notifications to external systems or actors.
Proposed Components
The following components define the internal structure of the eBAM project:
Adapter DataFlow Services: It gathers the information of one's interest from many heterogeneous and distributed data sources (JMS, DB, log files, XML, JMX, SOAP, etc.). Each one extracts the information from an external service (JMS, SOAP, JDBC, Log, workflow, BPEL, ESB, OSGi, ...) and turns them into an Eclipse CBE (Common Base Event) Format. Several adapters will be developed during the project life cycle. The analysis will require the integration of the Generic Log Adapter of the Eclipse TPTP Monitoring Tools Project.
Event Manager: the project implements new OSGi modules for Equinox which work as a gateway for different rule engines (e.g. OpenL Table and JBoss Drools). Starting from the SLA and alert definition of every KPI.
Meta model area: Metadata repository (CEP, SLA, alarm rules) and cache systems for the input of data. This area is close to the meta model (EMF) project and will be realized as new OSGi modules for Equinox, by EclipseLink and SDO.
Alert Services: It will be based on a component which can detect the threshold alarms on CEP events and interact with external notification systems through the definition of a standard interface.
Dashboard Services: graphic front-end interface, enabling the analysis of the indicators of one's interest and providing processes monitoring dashboards. It will be based on the use of BIRT and, if necessary, on the extension of an applicative console.
![Architecture of eBAM](architecture.jpg)
The project adds the following tools to support runtime execution:
- SLA Editor: to define the Thresholds.
- Alarm Editor: to define how to handle an alarm.
- Rules Editor: to define CEP rules and alarms configuration.
Relation with other Eclipse Projects
- Eclipse TPTP
- Eclipse CBE (Common Base Event)
- Eclipse Swordfish
- EclipseLink
- Eclipse BIRT
- Eclipse EMF
- Eclipse JWT (Workflow Administration and Monitoring)
- Eclipse STP Intermediate Model
Organization
Everyone is invited to express their concern or opinion about the above-proposed eBAM project and to offer their support to its development using the newsgroup. Our intention is to start developing the project directly in the source repository of Eclipse, just from the the incubation phase. Below is a preliminary list of the developers directly involved in the project. Any design or development contribution is welcome.
Mentors
- Dave Carver
- Cédric Brun
Committers
- Angelo Bernabei, Engineering (proposed as Project Lead)
- Andrea Zoppello, Engineering
- Antonietta Miele, Engineering
- Andrea Gioia, Engineering
- Giulio Gavardi, Engineering
- Marco Cortella, Engineering
- Antonella Giachino, Engineering
Interested parties
The following companies have shown their interest in this project. Key contacts listed.
- Alain Boulze, INRIA
- Ricco Deutscher, SOPERA
- Florian Lautenbacher, University of Augsburg
Tentative Plan
The development of the eBAM project is still on-going. We would greatly appreciate improvement suggestions and feedback coming from the Eclipse community. The incremental development process includes the following milestones:
2010-06: when we'll release the Release Candidate of eBAM
2010-08: when we'll release the 0.7 version of eBAM