ALERT NEWSLETTER Nº3

Alert Newsletter Banner
Publication Date: 
March 2012
 
 

 

 

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:

  • Metadata service: This is a consolidated repository of data retrieved from the sources of the tracked project. This information is represented according to the specific ontology used in ALERT (a combination of existing ontologies and customized extensions). The main role of this metadata service is to act as a centralized provider of this information to the rest of the ALERT services, and thus it is a critical component of ALERT's backend infrastructure (see News nº3).
  • Recommendation service: The aim of this service is to generate recommendations and advice on the assignment of issues and developers during the software development process. This information will be made available through the search service, as well as other end-user points (such as the visualization interface).
  • Visualization service: It provides an interface to visualize information extracted by ALERT (such as evolution of key parameters over time, social network of relationships among participants in the software development process). Through this service, users can explore the current situation and evolution of the project in a meaningful and visually attractive way.
  • Action service: This service controls the intelligent delivery of notifications generated by the ALERT system, and represented in the form of complex event patterns to which users can subscribe.
  • Search service: It offers a convenient interface to query the ALERT knowledge base, as well as other relevant information computed by the rest of ALERT services. Its main goal is to hide the complexity of internal data storage and representation, presenting a simple search form to perform queries to the system.


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

 

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.

 

Service Name

Role in ALERT

Main features

Metadata

Central information repository and provider

Creation, retrieval, reasoning about and storage of ontology-based metadata

Recommendation

Provide recommendations based on matching between issues description and developers background

Recommend issues that match the background and experience of certain developers; recommend developers to be assigned an issue; suggest a project or tasks that new developers can undertake.

Visualisation

Visualisation of current activity and evolution trends of the project

Expanded visualization of search results; social network graphs showing interactions among project participants; tag cloud of most important keywords in search results; timeline trends of key project descriptive parameters

Action (Pub/Sub)

Intelligent delivery of ALERT notifications

Browse defined complex patterns; Subscribing/unsubscribing to or from specific patterns; instant messaging channel; web-push channel to receive notifications

Search

Convenient interface for searching the ALERT knowledge base

Finding duplicate issues (using pre-computed similarity metrics); display additional issue information; search by topic in the knowledge base; retrieve recommended developers for an issue

Table 1. Snapshot of the visualization of social network interactions among participants in a project.

 

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:

  • Improved version of all user interfaces, trying to achieve a better integration between individual components.
  • More mature, beta versions of all features presented in the first prototype.
  • Integrate new notification channels such as Tweeter and RSS feeds.
  • Improved integration of all sensors (retrieving data from project sources in real time) and interactions among all services.

Author: Felipe Ortega (URJC)

 

 


After some technical analysis, we have decided to move from Petals Enterprise Service Bus to Apache ActiveMQ[1], 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.

 

 

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.

Storing extracted knowledge into knowledge base

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.

Retrieving knowledge from knowledge base

 

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)

 

 

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:

  • Hola! (http://www.holaportal.eu/) ALERT will continue publishing documents, news and events in this portal supported by European Commission as collaboration portal for Internet of Services projects.
  • SCube(http://www.s-cube-network.eu/). ALERT has used the methodology proposed by SCube for the definition of use cases and ALERT use cases are now in SCube repository for future reusability.
  • Fittest (http://www.holaportal.eu/node/47). Project focused on software testing. Some synergies in technology, scope and target users have been discovered. We have elaborated with them a joint publication and we are organizing a joint workshop in the context of RCIS 2012 (http://rcis-conf.com/rcis2012/). The title of the workshop will be “Be Fit, Fast and Alert when testing, maintaining or solving bugs of your Future Internet applications”.
  • PLAY (http://www.play-project.eu/). ALERT and PLAY share some partners and technologies (related to event processing).  We are analysing the possibility to reuse some outcomes of each project into the other and we are organising together the SBPM workshop at the Extended Semantic Web Conference in June 2012.

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)



 

Links

Follow us in Linkedin
Follow us in Facebook
Follow us in Twitter