<DRAFT>
The purpose of this document is to provide a guide for application programmers to use the remote interface of ROOTS with non Java clients. For that, the text-based web service operations of the remote interface are described to build own clients. To understood this document the reader must be familiar with the ROOTS Type System.
ROOTS Console Interface for string target execution on the ROOTS server is represented by IStringTargetExecution interface.
Each ROOTS server target must provide this interface. Target services are registered using the remote.target property to define the target they operate on.
A target service must either provide the IStringExecution or the IPropertyExecution interface.
IStringTargetExecutionFactory is an interface of the property execution client factory for string execution client handles.
To execute properties on the specific target of the ROOTS server one IStringTargetExecution object must be created by IStringTargetExecutionFactory.
Afterward the method
String execute(String target, String properties)
must be invoked on this IStringTargerExecution object to execute properties on the ROOTS server.
target is a String parameter that specifies the string execution service on the server.
properties is a String representation of a SersMap<?> object that contains properties needed for target specific execution.
SersMap is an StrSerialized map implementation defined in bundle biz.kachel.roots.strobjects.types.
SersMapFactory service can be used to create new SersMap<?> objects.
Some targets expect subtarget property that specifies the kind of the application request.
Result of the execute method is also String representation of an SersMap<?> object.
In bundle biz.kachel.roots.remote.basic.common.util useful utility classes can be found for encapsulate converting Strings parameters to SersMap and vice versa.
Actually there are two implementations provided by ROOTS:
InprocessClient (InProcess client for ROOTS internal usage) and PropertyExecutionClientFactory (based on Hessian web service protocol).
In following chapter available targets are described with expected input properties and properties of the result SersMap.
The text constants are written in bold letter, parameter names in italic letters.
This chapter described expected input properties and result of all available ROOTS targets implementing IStringTargetExecution:
IStringTargetExecution String execute(String target, String properties) ...
As described in the introduction, properties is a String representation of an SersMap object, also the result String.
Following targets are available in ROOTS server:
Der drüber stehende Satz "Name and type of ..." müsste bündig zu "Required properties in properties ... stehen, weil er NICHT zum
Unterpunkt hosr.address sondern zum Punkt target = console.login gehört. Bekomme ich aber nicht hin :-(
For all following targets described in this section the session identifier must be given as a property in properties:
subtarget property value | name of input property | value type of input property | name of result property | value type of result property | operation |
---|---|---|---|---|---|
LIST | - | - | result | Collection<ClientApplicationInfo> | list all applications |
INSTALL | app | String | - | - | install an application |
UNINSTALL | app | String | - | - | uninstall an application |
START | app | String | - | - | start an application |
STOP | app | String | - | - | stop an application |
ABUNDLES | - | - | result | Collection<ApplicationBundlesModel> | provide the bundles of the applications |
subtarget property value | names of input properties | value types of input properties | names of result properties | value types of result properties | operation |
---|---|---|---|---|---|
EVENT_COMPONENT | - | - | result | Collection<EventComponentModel> | provide the list of registered event components |
PROCESSOR | - | - | result | Collection<ProcessorModel> | provide the list of registered event processors |
HINO_CHILDREN | HinoNodePar | Long (Hino node id) | result | HinoNodeModel[] | provide children to given Hino node |
HINO_ADD_CHILD | HinoNodePar HinoNodePar2 | Long (Hino node id) String (node name) | - | - | add a sub node to a given Hino node |
HINO_REMOVE_NODE | HinoNodePar | Long (Hino node id) | - | - | remove a given Hino node |
HINO_RENAME_NODE | HinoNodePar HinoNodePar2 | Long (Hino node id) String (new node name) | - | - | rename a given Hino node |
HINO_ADD_PROPERTY | HinoNodePar HinoNodePar2 HinoNodePar3 HinoNodePar4 | Long (Hino node id) String (property name) String (property value) String (property type name) | - | - | add new node property |
HINO_PROPERTIES | HinoNodePar | Long (Hino node id) | result | Collection<HinoPropertyModel> | provide properties of a given Hino node |
HINO_REMOVE_PROPERTY | HinoNodePar HinoNodePar2 | Long (Hino node id) String (node name) | - | - | remove a specified property of a given Hino node |
HINO_EDIT_PROPERTY | HinoNodePar HinoNodePar2 HinoNodePar3 HinoNodePar4 | Long (Hino node id) String (property name) String (property new name) String (property value) | - | - | change name and value of a specified property of a given Hino node |
PROCESSES | ProcessFilter | String | result | Collection<ProcessModel> | provide information about processes |
Es wird zwar die InputProperty "ProcessFilter" von Typ String ausgelesen (Defaultwert = "Aktive Prozesse"), aber sie wird nicht weiter verarbeitet;
Es werden z.Z. alle Prozesse zurück geliefert.
PROCESS_FILTER | - | - | result | Collection<String> | provide the list of available process filter |
TERMINATE_PROCESS | HinoNodePar | SID | - | - | terminate the process |
RESET_PROCESS | HinoNodePar | SID | - | - | reset the process state |
COMPONENT_STATUS | - | - | result | Collection<ECPComponentModel> | provide the ECP component states |
CONCURRENCY | - | - | result | Collection<ConcurrencyModel> | provide the concurrency states |
HINO_EXPORTED_NODES | - | - | result | Collection<String> | provide the names of the exported Hino nodes |
HINO_NODE_EXPORT | HinoNodePar | HinoNodeExportInformation | - | - | export a hino node by writing its model to disk |
HINO_NODE_IMPORT | HinoNodePar | HinoNodeImportInformation | - | - | import a Hino node model from disk |
subtarget property value | name of input property | value type of input property | name of result property | value type of result property | operation |
---|---|---|---|---|---|
LICENSE | - | - | result | Collection<LicenseModel> | license informations |
OVERVIEW | - | - | result | SersMap<OverviewFieldNames> | overview data for roots console |
UNINSTALL | - | - | result | Collection<StatisticsModel> | statistics data of roots server |