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 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 .
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.