Usage > Software
The framework consists of a set of software components and Java packages, which implement the functional basis of this platform. Additionally the framework provides a Java application, scripts and software tests, which support the setup and deployment. Technically, the constituent parts are:
- A set of J2EE-software-components, which implement the business logic of the framework and provide a Web-Service-based API: the Web services technology offers flexibility for third-party developers to access the functionality of the software components in their custom application scenarios. The set of software components in its whole represents the server software of the EpiSEM Action platform.
- A client application to set-up the platform and also to access their functionality: developers can use the client application to set up a platform and reuse the packages of the client to implement their own client design. The client application itself may not suit the requirements in a concrete application scenario.
- Some tools to test the performance of the server. A data generator tool and a Java-based test tool can test the server for its throughput of data and the duration for processing requests.
- A set of scripts maintains the creation, setup and deployment of the software components on the server side.
- A collection of software tests on two levels. On high level a group of software tests implement the described steps of the use cases to automatically prove the compliance with them. On a lower level software tests run on the class implementations to ensure sustainable high level of quality during the development of the framework. Besides the output of WP3 the framework will be enriched with assets generated by other work packages such as implementation and ontologies for the demonstrator created by WP4.
Software Components
The business logic implemented in the framework is organised in software components, which are packaged by their functionality. In a rough overview the software components can be distinguished into the following groups:
- The management and the persistence of the catalogue and its contents: this group of software components realises the functionality to build a catalogue from a given description and manages the creation, modification and deletion of its structure and data.
- The management of a multi-user client-server structure accessing the catalogue: The collaboration platform needs additional facilities than just a system, which stores content in catalogue. A logical container defining a collaborative group of users focussed on a specific purpose is also needed. The platform maintains therefore so called projects. Besides that a basic user management is also provided.
- Enhancements to the catalogue management to deliver advanced functionality for a collaborative environment as there are the support for workflow, the evolution of the content or notification of special events.
- Utilities, which support the primary functionality of the platform, such as a validating component for the import of models.
Applications
Some stand-alone application are provided that connect to the deployed software components on a server. One of these applications serves as a tool to set up the deployed services or can be used to customise the platform for a specific application scenario. The major usage scenario will be that third-party developers either:
- reuse the packages of the client software to realise a client software, which suits the requirements of their application scenario, or
- set up the platform by for example creating user account in coexistence with own client software.
Another two applications support the automated processing of predefined benchmarks. Using these benchmarks, developers can monitor the performance of the application and optimise the deployment settings.
It is important to know that the realisation of the framework is not focussed to deliver software for end-users but for third-party developers. An end-user solution is the part of the goal of the demonstrator project, which runs in parallel to this project.
Scripts and Deployment
To deploy the services and setup the needed facilities the framework provides a set of scripts and configuration data. Essentially the functionality is about to setup a database or deploy the Web services in a J2EE environment. For developers the scripts provide the functionality to build both server sided components and client application. The scripts are written in Ant, a Java based scripting tool. Additionally the framework provides a set of software tests, which check the integrity of the software on different levels.
Please find detailed deployment information in section 4 of the deliverable D4.3 'Framework Design'.
Technical Requirements
Platform Requirements
We can recommend two main deployment scenarios:
- J2EE container and database on one computer.
- J2EE container and database on two separate computers, which is recommended for data-intensive tasks.
It turned out that our reference and testing server - a Dual-Pentium-III (1.1Ghz) machine with 2GB of RAM and two 20GB HDs - is a quite reasonable configuration. In our tests and bechmarks we have found, that increasing main memory (RAM) has a positive impact on performance - more than a fast CPU. If the J2EE container and the database are deployed on one computer we recommend at least 512MB of RAM.
Developers, which might have the database, J2EE container, Java client and Java-based IDE running on one machine, should consider at least 1GB of RAM.
Download
After a period of general review and assessment, the project consortium plans to release the software under the terms of the LGPL. Then, the software will be available on our EpiSEM development portal via CVS access for download as an ant-based software project.
Involved Developers
Hard work for the developers to get this project this far and the software working - see the
'Hall of Fame' ...