ALERT NEWSLETTER Nº3
ALERT´s NEWSLETTER nº 3
News nº 1 – ALERT First prototype: what does ALERT system do?
One of the main goals in ALERT is to develop an ensemble of different web services providing functionalities that facilitate the daily work of developers and project managers in software projects, particularly in FLOSS development communities. The first demo prototype of these interaction highway services will be released by the end of April 2012. This set of services includes the following functionalities:
All these services are connected via Apache Active MQ. This is a popular and robust messaging and integration patterns server that provides a convenient message bus service, based on topics to which receivers connected to the server can subscribe themselves (see News nº2). ALERT services use the information that has been extracted from different data sources (SCM, ITS, mailing lists, wikis, forums) and stored in the metadata service knowledge base, according to the ALERT ontology.
Every service can interact with the others sending or receiving events, which are messages following a common communication protocol for all ALERT components. In the definition of this communication protocol for events we have adhered ourselves to widespread standards and conventions, as much as possible (such as for XML formatting and data representation). In this way, it should be warranted that any other third-party interested in developing further services to be integrated with ALERT can easily do so.
To see a demo about this first ALERT prototype, please access here
If you wish to download the current versions of ALERT components, please access our Downloads web page
Features included in the first prototype
Most of the features to be included in this first prototype are still in alpha or beta status. However, they can show the current and future capabilities that will be exhibited by this set of services. The following table summarizes some of the main features included in each service.
Table 1. Snapshot of the visualization of social network interactions among participants in a project.
Upcoming improvements for the next development cycle
The next working cycle for interaction highway service will end in October 2012, with the delivery of a second demo prototype. This prototype is expected to include the following enhancements with respect to the first version to be released by the end of April:
Author: Felipe Ortega (URJC)
News nº 2 – Why ActiveMQ?
After some technical analysis, we have decided to move from Petals Enterprise Service Bus to Apache ActiveMQ, an open source (Apache 2.0 licensed) message broker which fully implements the J2E / Java Message Service 1.1 (JMS). It provides Enterprise Features like clustering, multiple message stores, and ability to use any database as a JMS persistence provider besides VM, cache, and journal persistency.
It belongs to the Message-oriented middleware (MOM) category; software infrastructure supporting sending and receiving messages between distributed systems.
JMS is a part of the Java Platform, Enterprise Edition, and is defined by a specification developed under the Java Community Process as JSR 914. The JMS API supports two communication models: Point-to-point and Publish and subscribe. The second one is mainly used for ALERT.
Typical Use Case of such technology is integration. Indeed messaging is a form of loosely coupled distributed communication, where in this context the term 'communication' can be understood as an exchange of messages between applications. MOM technologies attempt to relax tightly coupled communication (such as TCP network sockets, CORBA or RMI) by the introduction of an intermediary component. This approach allows software components to communicate 'indirectly' with each other. Benefits of this include message senders not needing to have precise knowledge of their receivers.
There are multiple JMS 1.1 implementations available, some are open-source: Apache /ActiveMQ, OW2/JORAM, Glassfish/Open Message Queue, Sun/OpenJMS.
ActiveMQ may be used as a complementary technology for hub and spoke enterprise service bus (ESB) implementations such as Apache ServiceMix, Apache Camel, and Mule. It allows a distributed topology of ESB servers to communicate. Natively distributed ESB such as OW2/Petals does not need such technology since they already include their own messaging transporter between nodes. ESB provides SOA features to JMS message brokers.
The main advantage that prevails for ALERT in its favour is easy implementation and support for many cross language clients from Java, C, C++, C# to Ruby, Perl, Python and PHP. Beside the fact that it is very fast, it also supports many advanced features such as Message Groups, Virtual Destinations, Wildcards and Composite Destinations.
One of the most important advanced features of ActiveMQ messaging server is Retroactive Consumer which provides that at the start of a subscription every attempt is used to go back in time and send any old messages that the consumer may have missed. The feature called Slow Consumer Handling enables discarding of old messages or any other irrelevant messages in order to free RAM and Manage Durable Subscribers and allow setting expiring messages and removing subscribers that are inactive for custom period of time.
For management, AciveMQ messaging server has integrated the Web Console into the binary distribution. The Web Console has features for monitoring queues, topics, subscribers, connections and also possesses the feature for sending events. If these features are not enough, ActiveMQ also supports integration with advanced monitoring tools like JConsole for monitoring memory, threads or classes loading.
All these features make that ActiveMQ was a more adequate solution for the integration of ALERT services than Petals ESB, since a messaging service is requested instead of a full service bus facility.
News nº 3 – The ALERT reasoner
The ALERT “reasoner” is the Metadata service and it has a very important role in ALERT system. Its main purpose is to provide support for creation, retrieval, reasoning about and storage of ontology-based metadata. As it represents the ALERT-specific ontology API, Metadata service will be used by all other components and services in the system. In this way, other components and services do not need to take care about management of knowledge (i.e. creation, integration, reasoning, usage, sharing, storage, etc.), as the Metadata service will provide such support. This support will be provided by an abstraction from the ontology triplets to the level of ALERT entities such as bugs, users, methods, etc.
The first thing Metadata service needs to do is to store extracted knowledge into knowledge base which is provided by another component. Based on the predefined mapping between the input message and the structure of the ALERT ontology, this service will create the corresponding individuals, their data and object property instantiations and store them into the knowledge base. After successful update of the knowledge base, this service will create semantically-enriched event and trigger the event-based communication.
Second task of Metadata service is to retrieve knowledge from knowledge base when one of the ALERT components requests it. Based on the input request, this service will create the ontology-based query, retrieve ontology-based metadata from the knowledge base and transform them into a form understandable to other components and services. The list of results will include not only explicit knowledge, but also implicit knowledge which is a result of ontology reasoning.
Metadata service is currently under integration process with other ALERT components and it will be released as part of the first ALERT prototype by end of April 2012.
Author: Sasa Stojanovic (CIM)
News nº 4 – Keep in touch with ALERT!
ALERT communication is evolving as long as the project is progressing.
Our web site is continuously updated by publishing news about the project, posting events in the related domains to ALERT and Open Source, publishing interesting blog posts about technologies, uploading documents and software as results of ALERT project. Everything and more at www.alert-project.eu Visit us, download or read our outcomes and send us your comments and suggestions (via email and forum) about what we are doing!
In order to allow you understanding better what we are building, we have produced a nice and short video that explains the current problems and needs in the software development process and how ALERT is addressing a feasible and efficient solution. You can see it here
Collaborationwith other research projects in the field of software technologies is being also progressing. The goal of this collaboration is the searching of synergies and connection points to exchange knowledge, best practices and results to improve each other. In order to invest the available effort in effective and useful collaborations, we have decided to concentrate in few but intensive collaboration with few projects. Following the projects ALERT collaborates with:
Finally, we would like to invite you to participate in ALERT workshop that will take place in the Open World Forum 2012, 11-12 October, in Paris. OWF is one of the biggest events in Europe focused on the promotion of Open Source in the industrial domains. The target audience for ALERT workshop will be both software industry and Open Source Communities. The workshop will present the project and will show a live demo about ALERT components and services. Then, attending developers will be able to touch and play with ALERT system “in situ” to express their impression and feeling in working with it. More detailed information about workshop dates and registration will be provided in our web site. Keep in touch with us through all our social means!
Author: Clara Pezuela (ATOS)