Choreography management
Model choreography as {{Group}}
A service might be present in different choreographies; define type extension for such groups so that {{coreographyN}} adds some schemas for services:
- {{endpoint}} (optional - the security filter is not mandatory) representing the security filter endpoint for the given service under the given choreography
- {{runningStatus}} virtual attribute representing the status of the given service under the given choreography
- {{securityContext}} virtual attribute to be used to provide a JSON string to enforce security contexts on the given service under the given choreography
A user can subscribe one or more choreographies; define type extension for such groups so that {{coreographyN}} adds some schemas for users:
- {{X#Username}} (per-user) username to access the service X
- {{X#Password}} (per-user) password to access the service X
Schemas, type extension and the association between them have to be created contextually to the creation of the related service if and only if the service requires a per-user authentication. Remove information above when the related service is deleted. Assign type extension related to service X to {{coreographyN}} when X is part of {{coreographyN}}. Remove this type extension when the service is removed from the choreography.
Provide admin console extension to perform several operations on a running choreography instance by invoking the related endpoints exposed by the Enactment Engine:
- pause / shutdown / resume
- release / replace services
- scale