Preparing the environment
Deployment of a PVC is assumed by Roboconf. Make sure you have an operational Roboconf installation.
Before to install anything, you must define your software components to Roboconf:
- the software components of your applications used as service providers exposed into the PVC,
- the software components of the PVC, ie: mainly service units,
- the software components of your applications consuming service providers available into the PVC.
|
In a Roboconf point of view, each software component set is a Roboconf application that must be defined. See the Roboconf application to known how to define your Roboconf applications.
A Roboconf application template is provided to easily define your PVC. With this template, you have mainly to define the service units that must be deployed into the PVC.
The new component Petals Cockpit, a web application in progress, will be able to generate your Roboconf application for the PVC part, and interact with the Roboconf engine. And so, it will be easier to instantiate PVCs. |
Installing the PVC
Once all your Roboconf applications are ready, you can deploy them using the Roboconf Administration Console.
Writing the Roboconf application for your PVC instance
Waiting the release of Petals Cockpit, we must write our instance of PVC as a Roboconf application.
To explain how to write a such application, we will use the following example:
- The process "Vacation" is deployed as service unit of the SE Activiti running into our PVC. This process provides a business process to manage vacation request.
- The process interacts with an external resources to archives the vacation requests and to log task status. The external resources is accessed through several web-services
- A portal is proposed to users to create and validate vacation requests.
So, we have 3 Roboconf applications:
- the Roboconf application for the portal,
- the PVC,
- and a Roboconf application archiving vacation requests and task status.
Source code associated to this sample is available here: https://github.com/petalslink/petals-virtual-container |
Extracts of source code given below are for comprehension. It's not the right source code. To get it, see the Git repository of the sample. |
The Roboconf application "External resource"
This applicative resource is a web application running on Tomcat8 cluster, composed of:
- a load balancer redirecting incoming HTTP SOAP request on an available Tomcat8 server where the web application is deployed,
- several servers running Tomcat.
Full Size
So the model of this Roboconf application is:
Component definitions Tomcat8_VM { installer: target; children: Tomcat8; } Tomcat8 { installer: script; exports: ip, port = 8080; children: Tomcat8_Application_WAR; } HAProxy_VM { installer: target; children: HAProxy; } HAProxy { installer: script; imports: Tomcat8.port (optional), Tomcat8.ip (optional); exports: ip, httpPort = 80, statsPort = 8080; } |
Default instantiation # A VM with HAProxy_VM load balancer instance of HAProxy_VM { name: HAProxy VM; instance of HAProxy { name: Haproxy; httpPort: 80; statsPort: 8080; } } # A VM with Tomcat instance of Tomcat8_VM { name: Tomcat VM1; instance of Tomcat8 { name: Tomcat; instance of Tomcat8_Application_WAR { name: samplesActivitiSOAPservices; applicationFile: samples-SOAP-services.war; } } } # Another VM with Tomcat instance of Tomcat8_VM { name: Tomcat VM2; instance of Tomcat8 { name: Tomcat; instance of Tomcat8_Application_WAR { name: samplesActivitiSOAPservices; applicationFile: samples-SOAP-services.war; } } } |