As stated at Layers, the framework has been designed to build GUI-applications in distributed environments. Distributed environment is not limited to a database running on a different host, but also includes system-services running at various hosts, that all get managed by the GUI-application. That means, the services can be started and stopped by the GUI and the GUI shows the running state of the Services. The dialogs needed for this management are already part of SRJRCFrames, which means, the service-management works out of the box.

There are 2 applications, that enable the big play:


Is the application starter and comparable to the applicationserver of webapplications. The applicationstarter is configurable via XML-files, where settings from such files can be overridden by the users environment. Loading of the configuration standards and overwrite them with settings from user environment is also standard and works out of the box. Systemdefaults can be established using an installer, so the defaults from the XML-files will never get used.

The applicationstarter loads the defined services, like a database driver or the like and looks for applications to load from special extension directory. A loadable application is a jarfile, that contains its own default configuration and specifies the dependencies, that have to be loaded before application start.

The applicationframe has a central helpfunction, a central "About"-dialog, where each loaded application will be shown, a central preferences-dialog, where each application can add a individual page to manage its configuration. Additionally the applicationframe adds support to switch between loaded applications and - depending on the active window manager - change the applicationmenue and the toolbars.


Is the manager of the systemservices. The services are intended to run on linux- / unixsystems only - same is true for the SRServiceManager. The service manager runs in superuser-mode, so it is able to start system services using different userids and so it is able to stop those services. Services will be checked cyclic, so if a service terminates unintentionally, the service manager will get rid of that.

A system service can be configured as "autorun", which means, the SRServiceManager will start those services as soon as it starts itself. Such an "autorun" service can be stopped (from the GUI-application). The servicemanager will start that service again, as soon as it recognize it being stopped.

The SRServiceManager manages only service for the host, it is running at, so the same service may be defined several times - each time with a different host. (but each host, that should run SRJRCFrames-services needs at least a running SRServiceManager).