SOAJA project

The aim of the Service Oriented Adaptative Java Applications (SOAJA) project is to develop a service-oriented infrastructure, which enables efficient running of Java applications as well, in complex, networked computing Grid environments or embedded systems. The SOAJA environment provides components and services for static and dynamic load balancing based on Java object observation. It can be used to design large scale computing applications to be executed based on idle time of processor nodes.
Java distributed applications consist of parallel objects which SOAJA allocates to Grid nodes at runtime. SOAJA is deployed in a grid infrastructure with a JVM on each processor node. The main services of this framework are observation, measuring of the JVM load, measuring of the physical processor load, load balancing service, and data parallel services. We have introduced new mechanisms and algorithms for automatic placement and adaptation of application objects, in response to evolution of resource availability. These mechanisms enable to control the granularity data processing and distribution of the application on the Grid platform.

SOAJA environment

SOAJA is based on WSRF and allows instantiation of statefull services for applications. The statefullness of the services is exploited in relation with application clients that will allow asynchronous communication with software components instantiated for the client on different platforms. Various middleware components were considered to enable SOA services. In close relation with these components, specific technologies were defined and implemented in order to achieve interoperability. The Enterprise Service Bus (ESB) is a middleware technology providing the necessary characteristics in order to support SOA. In a typical ESB architecture, the ESB layer itself is deployed over the existing infrastructure. Based on this infrastructure, the ESB layer offers the necessary support for transport interconnections while it exposes the existing subsystems through a specific set of adapters. With the help of the ESB, services are exposed in a uniform manner, based on open standards, so that any client, who is able to consume web services over a generic or specific transport, is able to access them. For example, the SOAJA has been used to implement data mining application in the WODKA project .

SOAJA environment

Previous works

The SOAJA environment is the extension of the ADAJ environment to make it scalable on the Grid and to support service oriented architecture ADAJ (PhD of Dr Amer Bouchi , PhD of Dr Violetta Felea and PhD of Dr Iyad Alshabani) is a programming and execution environment for parallel and distributed applications, which facilitates the design and optimizes performance. ADAJ is a Java environment based on JavaParty, which optimizes the RMI protocol. The JavaParty allows execution of distributed Java applications on workstations connected via a network. JavaParty has introduced the concept of remote objects that can be distributed in a transparent manner. It compensates for the drawbacks of the RMI protocol because it conceals the addressing and communication mechanisms. Indeed, it is sufficient to annotate Java classes with the word "remote" that will give access to remote objects from any JavaParty environment without publishing them explicitly in service names space as RMI.