modelbased.net
COMET
 

COMET - Platform specific metamodels and UML profiles

Platform specific metamodels and UML profiles

The platform-specific metamodel defines a representation of system architecture on specific technology platforms. There is not a given single metamodel for platform specific architectures, but rather different ones for different technologies and technology reference architectures.

An example of a platform specific metamodel is the EJB metamodel. The Java Community Process has defined a UML profile for EJB in JSR 26.

This defines a way of representing EJB architectures in terms of UML.

In COMBINE, this profile is not appropriate, since we need additional concepts in our target architecture. (One of) the platform-specific metamodels in COMBINE, uses servlets and EJB 2.0 concepts. This is not covered by the JSR 26.

In addition, our modelling approach does not require that platform-specific models are explicitly modelled in UML. Instead, an implicit mapping can be done from the platform-independent model.

COMBINE Platform Specific metamodel: Servlet and EJB

The COMBINE platform specific model is combining EJB 1.1 and 2.0 technologies with Servlet technology for communication between client and server. Figure 1 gives an overview of the conceptual PSM model.

Figure 1: COMBINE PSM

A client tool will use a Servlet communication proxy, which is generated from a model by the code generation tool. The communication on the client-side is further hidden from the client by the UserService component (from the logical architecture), which is the interface the client sees. The servlets client uses http tunnelling to communicate with a servlet server, which delegates business service requests to a business service implementation.

A server (a BusinessServiceImpl) is a realisation of a Business Service Component. It is an EJB SessionBean. The entities of that are part of a component are realised by entity beans with EJB LocalInterfaces. They can be managed as components in the EJB container, whilst only value types (value copies of the entity beans) are returned to the client.

Example

An example of this mapping can be seen in the code of the COMBINE pilot case, the SurveyBooking case.