Read the definite paper on the enactment engine.. Leonardo Leite, Carlos Eduardo Moreira, Daniel Cordeiro, Marco Aurélio Gerosa, Fabio Kon. In: IEEE 13th International Symposium on Network Computing and Applications (NCA), pp 121 - 128, 2014. The published version on IEEE Xplore Digital Library is .
Enactment Engine (EE) is an open source middleware that provides an Platform as a Service (PaaS) layer to automate choreography deployment. The person responsible for the deployment of a choreography (the deployer) may write a simple declarative choreography description and leave it to Enactment Engine to perform all the deployment process, installing choreography services in a virtualized environment using several virtual machines.
Enactment Engine depends on an Infrastructure as a Layer (IaaS) provider. The role of this IaaS provider is to provide virtual machines (VMs). EE decides how many VMs to create as well as which service install in each VM, and installs the service on the selected VM together with the required platform dependencies (Operational System configurations, application servers, etc.).
Enactment Engine seen from the perspective of Cloud Computing layers.
Deployers that would like to use Enactment Engine to deploy their choreographies must first set up and start EE as a service. Afterwards, the deployer must write the choreography specification in XML format and use the EE REST interface to request the choreography deployment.
The main requirements to run Enactment Engine are an IaaS provider account and a Chef Server account.
The IaaS providers supported out of the box are Amazon EC2 and Open Stack. Please note that, when using Amazon as the IaaS provider, you are responsible for the costs. Similarly, when using Open Stack, you are responsible for setting up and administering an Open Stack instance (or getting access to an already existing one).
is an open source management system used to maintain software configuration in cloud nodes, where software configuration encompasses Operational System packages, etc. You may install your own Chef Server or pay to use a Hosted Chef Server from Opscode.
You need also a server to install and run Enactment Engine as a service. Such server may be able to run Java 6 and Maven 3.
Enactment Engine deploys web services developed by their clients. Such services may use different technologies, standards, languages, etc. Out of the box, EE supports SOAP services distributed as JAR or WAR packages. EE has an extensible design to allow for its customization so new types of services may be deployed by it.
Enactment Engine also supports multi-cloud deployment, which means the services of a single choreography may be distributed among different clouds. The current supported cloud technologies to instantiate virtual machines are Amazon EC2 and Open Stack. Enactment Engine may be also easily extended to support new cloud technologies.