Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Stardust/Knowledge Base/Modeling/Deploying multiple Models

< Stardust‎ | Knowledge Base‎ | Modeling
Revision as of 04:27, 4 May 2012 by Dr.ajohnston.gmail.com (Talk | contribs) (Defining Interfaces)

Deploying Multiple Models

Stardust supports deployment of multiple models to the Audit trail. This facility can be used to:

  • Separate model elements into libraries of data/message structures, applications, basic process definitions and participants (Use A)
  • Design process skeletons, where parts (sub-process definitions, applications) might be overwritten in a concrete deployment scenario (Use B)
  • Design implementations for subprocesses and applications used in Type B scenarios (Use C)
  • Process models or sets of these which have no reference to other deployed models (Use D)

The mechanism is also useful for exposing processes with service interfaces, as described in article Process as Service. Use cases for multiple models include:

  • Projects separate and distribute work to multiple teams (A)
  • An operational template provides process model elements for re-use across an organization (A)
  • An organization deploys core processes with regional/departmental variations (A,B,C)
  • Environments that serve multiple customers/tenants with different levels of service/process(A,B,C)
  • Departments deploy models in isolation to a shared audience (D)

Terminology

In multiple model environments, a processs definition can have type 'Producer, 'Consumer', and 'Implementer'. A Producer provides an 'Process Interface' through which Consumers can re-use elements specified in that interface. An Implementer is a processes that replaces a specific process (usually sub-process) within a target model. Any combination of model type can be packaged together as a 'Process Model Set', and deployed to the Audit trail as part of a 'Bulk Deployment'

MultipleModelReuse.pngMultipleModelDeploy.png
Figure 1. Model element re-useFigure 2. Model Sets and references


In Figure 1, consumer model M2 is reusing the public elements A1 & D1, and process P1 of producer M1. In Figure 2, M1 and M2 form a model set S1, and are deployed together. M3 consumes or provides implementation for M1 & M2 elements, therefore must be deployed within S1 or after S1. More information on deployment follows.

For now, refer to the process models in StardustMultiModels1.zip that follow these examples.

Defining Interfaces

In the Eclipse IDE, the Process properties dialog includes a 'Process Interfaces' section. Here the default (no interface, for normal processes) can be changed to Provides Process Interface or Implements Process Interface.
When providing an interface, data in/out can be selected (Parameters) from those used by that process definition. Additional options (Invocation) allow this interface to be specified by a REST or SOAP service. These services can then be located through the IPP Process Interface Endpoint URL i.e. <server>/services/soap/InfinityBpmService.wsdl?

Bulk Deployment

Runtime Configuration

In Figure 3, the three deployed models are shown. Consumer models icons (blue arrow facing left) are disabled so that only Producer model references are shown. Here is is clear that M3 references M1, M2, and M2 references M1, as in Figure 2. If multiple versions of a model have been deployed that is also indicated

Note M1 has runtime configuration available as a gear icon. This dialog (Figure 4) allows P1 or P1' to be set as the active model. This choice will be actioned for each new P1 instance once selected.

MultipleModelMgmt.pngMultipleModelImpl.png
Figure 3. Portal (Administration) Model ManagementFigure 4. Process Implementation selection

Back to the top