Font size:      

Lifecycle of SOFA 2 applications


Development lifecycle of a SOFA 2 application has several stages. Namely they are

  1. component development,
  2. application assembly,
  3. application deployment and execution.


Development of a SOFA 2.0 application is quite straightforward, chiefly it consists of composing already developed components available in the repository. It starts with defining the architecture of an application.

In this process the developer reuses existing interface types, frames and architectures (along with an implementation) or he/she defines new ones.


As an architecture is described mainly by frames, the next stage is an application assembly, when the frames are "refined" by particular architectures. This means that each subcomponent in an architecture which is defined via a frame has to be assigned a particular architecture. The process starts with the top-level component and recursively continues till primitive architectures. The complete assignment is specified by an assembly descriptor.

Deployment and execution

The last step of the lifecycle is deployment and execution. During the deployment it is specified, where particular component of the application have to be executed and connectors are generated. The result of deployment is a deployment plan that serves for execution of an application.