wiki:RuntimeDirectoryManagement

How is the runtime directory structure organized ?

Overview

Runtime Folder Overview

Even though each of the following folders can be specified individually, the ServiceRuntimeLauncher will use a standard folder layout shown in the figure above. Thus, it is in most cases sufficient to specify only the runtime folder while the other folders were set automatically by the launcher.

The runtime folder

Denotes the folder where (usually) the all the information of the runtime stored in order to start and run a runtime instance properly. This information includes the runtime configuration as well as the separate file-spaces for each service.

The runtime configuration folder

Default is the config folder directly beneath the runtime folder.

Here the runtime configuration is stored. The configuration comprises for each configured runtime with id ID}} a pair of {{{ID_workspace.xml and ID_services.xml. For runtimes without an assigned id it is workspace.xml and services.xml respectively. Additionally, logging control files will reside inside the runtime configuration folder.

Services data folder

Default ist the data folder directly beneath the runtime folder.

Each service is assigned a private file-space to store every data in, it needs. All of these file-spaces - named after the service - will be created beneath the services data folder. For example a service ServiceA will have it's data space in runtime/data/ServiceA.

Each service is responsible for maintaining this file-space, especially do cleanups on shutdown.

The services base folder

The above mentioned runtime configuration tells the runtime launcher (among other things) what services to load. Locating a service is done by making use of paths relative to the services base folder. Thus, the runtime configuration does not contain any absolute path elements and becomes portable.

The default services base folder is the eclipse workspace directory the projects reside in (identified by the .metadata folder inside of it). If no metadata folder is found the services base folder will be the current working directory.

The service folder

Each service is expected to reside in a folder with a well defined structure.

 ServiceName/
        WEB-INF/
           lib/
           classes/
           default/
           services.xml

The top-level folder defines the name of the service. This name will be used to define for example dependencies to it. The service descriptor service.xml is expected inside the WEB-INF folder. All class-files from the classes folder and all jar-files from the lib folder are automatically added to the runtime's classpath when deploying the service. A special folder is the default-folder. Here data can be put into to allow a proper service first-time initialization. Special access methods for this folder exists (see also trunk/Software/ExampleService/src/service/de/dfki/km/example/service/managing_defaults/ManagingDefaults.java)

Last modified 10 years ago Last modified on 06/04/08 09:41:02

Attachments (1)

Download all attachments as: .zip