Skip to content
wilfried2006 edited this page Jul 9, 2012 · 4 revisions

Runtime management

By using the EasySOA registry, it is possible to link Application documents ("AppliImpls") to a runtime server, i.e. an application server that can launch the related services. Once this is done, it is possible to easily deploy artifacts or start/stop the server.

In order to provide the artifacts needed by that server, we need to define deployable providers as sources for any needed data (for instance, Maven JARs to deploy).

Currently implemented technologies

  • Maven repository (deployable provider)
  • Folder (runtime server) *

*Serves as a generic way to handle artifacts to copy/paste.

Planned implementations

  • FraSCAti (runtime server)
  • FraSCAti Studio (runtime server)
  • Folder (deployable provider)

Runtime configuration

The configuration of all runtime instances & deployable providers is done through XML contributions (Nuxeo quick reference), like below:

<extension target="org.easysoa.runtime.service.RuntimeManagementService" point="runtimeServers">
    <runtimeServer>
      <name>Test Server</name>
      <type>copyPasteServer</type>
      <properties>
        <property name="path">./nxserver/nuxeo.war/testServer</property>
      </properties>
    </runtimeServer>
  </extension>
  <extension target="org.easysoa.runtime.service.RuntimeManagementService" point="deployableProviders">
    <deployableProvider>
      <name>EasySOA Maven Repository (Nuxeo.org)</name>
      <type>mavenRepository</type>
      <properties>
        <property name="url">http://maven.nuxeo.org/nexus/content/groups/easysoa/</property>
      </properties>
    </deployableProvider>
  </extension>

Once this is done, these can be attached to an AppliImpl by using the service registry GUI:

  • Browse to any AppliImpl ;
  • Go to the "Edit" tab ;
  • Choose the runtime & deployable provider, like below.

Setting the required deployables

Now, all we need before to be able to control the server, is to know which deployables are needed. Currently the only reliable way to define deployables is through the REST Discovery API (which overrides set properties, so no deployable merge): you can use any REST client to do that (below is used RESTClient, a Firefox Extension):

Here, the REST request allowed EasySOA to know the exact ID of a Maven artifact needed by the runtime. The stored information can be viewed by browsing the AppliImpl:

Runtime control

Once everything is configured, we can finally use the AppliImpl "view" tab to deploy/start/stop the runtime, and view the current runtime state.

Note: According to the runtime type, it might be impossible to start/stop it (example: "Folder" runtime).

Clone this wiki locally