mapping of business process activities described in
the BPMN model to interactions description of a set
of components in the SCA model. These
components represent the high-level business
functionalities of the enterprise. Thus, they can be
assembled from components of a finer granularity
having features or specific services that can be
invoked by several business components.
3.3 Identification of the Granularity of
Business Components
This phase takes as input the business components
constituting the SCA architecture developed in the
previous phase. The outputs of this phase are the
descriptions of the components to be developed and
the granularity of each business component. The
process of this phase consists of the following steps:
Step 'Search': it takes as input the descriptions of
the business components constituting the SCA
architecture one by one and performs a search in
descriptions of available components. It gives as
output the list of components found realizing some
of the requested operations.
Step 'Refinement': it takes as input descriptions
of the components found in the search and
description of the requested business component. It
refines the latter based on fine-grained components
found in the form of an assembly of components.
Research and refinement are repeated in the form
of iterations until the level of refinement is optimal.
Reconfigurations of the assembly of components are
possible in each iteration according to the
components found and the reached level of
granularity.
At the end of this process, the component
descriptions to be developed are passed to the
development phase. The description of the assembly
of the business component will be maintained in the
platform. This description includes the assembly of
the fine-grained components forming the business
component in question (available components and
those developed).
3.4 Development of Component
Operations
This phase takes as input the descriptions of the
components to be developed. The output of this
phase are the components developed, tested and
approved by the customer. The approach in this
phase comes at a lower level of abstraction (process,
components and operations now). Indeed, the
process of this phase is inspired from the workshops
of traditional software engineering, specifically,
those adopted by agile methods.
The development process follows an iterative
and incremental cycle with client involvement in the
identification of tasks and tests. The process of this
phase consists of the following steps:
Step 'Identification of tasks': it receives as input
the description of a component to develop in the
form of operations (identified in the previous phase).
It allows the development team to identify the tasks
to be developed for each operation. The outputs of
this step are the tasks of each operation assigned to
the developers with the tests to be performed.
Step 'development iteration': it takes as input the
tasks to be developed. All developers receive the
tasks allocated to them. In addition, any task
completed must be passed directly to the test.
Step 'Unit testing': it receives the tasks and tests
and allows one to make the planned tests. If there are
anomalies, the task is returned to the development
process.
Step 'Integration testing': it receives as input
tasks that have passed the unit test successfully. It
allows one to perform tests on the integration of
operations and the entire component. If the
integration fails, or the customer is not satisfied and
request changes, the component is returned
according to the change. This may be at one of the
following levels:
Step 'Development Iteration’ if the change
concerns a task.
Step 'Identification of tasks' if the change
concerns an operation.
In the case where the integration test passes, the
component is deployed in the platform.
3.5 Assembling Business Components
This phase takes as input, for each business
component, all components developed and deployed,
and the components found in Phase 3. The output of
this phase is the business component deployed. The
process of this phase consists of the following steps:
Step ‘assembling components’: it configures the
business component from available components and
those developed.
Step ' testing business component integration’: it
takes as input the configuration of the assembly. It
allows the integration testing of components
involved in the assembly. If the test fails or the client
is not satisfied and requests changes, the
configuration will be referred to the assembly step or
even to Phase ‘Identification of the granularity of
Business Components' (Phase3) if the changes
ICSOFT 2012 - 7th International Conference on Software Paradigm Trends
470