|
Firma Dr. Claus Fischer
|
|
EIS
This is an ambitious application for the Austrian Mountain Rescue
Service ("Österreichischer Bergrettungsdienst").
It is designed to support search and rescue operations, and to manage
the organization's staff, material, and education/training through
planning and recordkeeping.
The goal is to have the best and most current data available
in operational planning, with the least possible burden on
administration.
The Mountain Rescue Service
The Austrian Mountain Rescue Service is an organization
that performs search and rescue missions and emergency services
in alpine and impassable terrain. It is pure volunteer
organization, entrusted by the government with rescue operations
in areas that are not readily accessible to the regular
emergency services.
It is by nature a decentralized organization,
with many bases in the alpine regions of Austria.
Each base is responsible for training and administration of the local
staff, and maintains proper equipment to support search and rescue
operations in the neighbourhood.
In case of emergencies, or of operations that cover a substantial
area or involve more forces than available locally, operations
are run on a regional or state-wide level, as required by the
situation. The alpine rescue forces are highly mobile and very
flexible, and so must be the administrative structure of the operations.
The purpose of EIS is to maintain and adminstrate the data
which is relevant for those operations (information on the
staff, individual training and qualifications, and the material
and equipment available) in a decentralized manner, and provide
that information to the operations task force with a high degree
of reliability in the face of potentially sub-optimal conditions.
EIS covers those areas:
|
* HR (personnel, qualifications, insurance status, address information)
|
|
* Education and training (class schedules, registration, recordkeeping)
|
|
* Material (assignment, maintenance, replacement, recordkeeping)
|
|
* Mission support (Logs, planning, group scheduling, operation status)
|
EIS Components
EIS has three major components:
- A Microsoft® Windows® GUI client
- An application server with a central (but redundantly distributed) database
- A web front-end
Depending on the wishes and needs of the users, tasks can be done
on the client, on the Web, or both:
|
* A staff member can change his/her contact data, address,
phone numbers, etc. on the Web or on a client. |
|
* Internal and external Web-pages can be managed on the Web. |
|
* The head of operations can access all data off-line on
the laptop when building rescue teams. |
|
* The head of a local unit can administrate the local staff,
assign them to groups, etc. on a local PC. |
Technical Functionality
Database and Application Server
At the core of EIS is a replicated database. The database is
maintained on multiple servers, and replicated on each
client PC as it connects to one of the servers.
The application server with the central
database is a failsafe, redundant application that
is distributed on multiple servers across the country.
If some of the servers experience failure or are not
reachable on the Internet, the cluster remains fully
operational (including the ability to change data)
as long as more than half of all servers remain
connected. Even if fewer than half of all servers
are reachable, one is enough to update a client to
the latest data.
Client
The Windows client holds a full replicated copy of the
database for off-line operations. Depending on the user,
the client offers a limited view (for privacy concerns)
on the data. Changes to data can be made on-line or
off-line, but must be synchronized with the server
eventually.
The client is a single self-contained Windows GUI application
(Exe-File) that needs no additional DLL's or software packages
installed. It can be installed on any Microsoft operating system
from Windows 98 SE upwards.
Web-Interface
The Web-Interface offers parallel access to some of the functionality
of EIS that is particularly suitable for Web browsers.
In particular, functionality that is useful to each staff member,
to administrate personal data and register for training classes,
is accessible through the web.
The web is also used to run the Content Management System for
the organization's homepage and internal information system.
Design Requirements
- Privacy
- Abuses of address and phone number information should
be prohibited.
- Data access
- In emergencies, all data should be accessible.
In regular operations, the required data should be
readily accessible.
- Distributed data maintenance
- Each staff member is responsible for his/her personal data.
Local persons are in charge of overseeing their staff.
- Failsafe operation
- Both costs of server administration and availability of
centralized data demand a failsafe server implementation.
- Low network load
- Updating the client database should be possible via a
cellphone or other low-bandwidth connection.
- Easy installation
- Staff members should not specialize in software installation
but in rescue operations.
Components and size:
The following components have been combined in this application:
* WTL 7.0
as the client GUI toolkit (requires no additional DLL's)
* EIS-DB (20,000 LOC) as the client and server integrated database
* Transactor (45,000 LOC)
as the replication agent and transaction coordinator
* Apache
as the Web server
* Debian GNU/Linux
as the server operating system
* Postfix
as the mail transport agent
* PHP as the web implementation language
* SquirrelMail as webmail
interface
* AMaViS,
ClamAV as virus scanner
* OpenLDAP for mail and web
* EIS-CMS (5,000 LOC) as the content management system
* EIS-Web-Code (7,000 LOC)
* Client GUI C++ code (25,000 LOC)
* Client C++ code (3,000 LOC)
* Server C code (20,000 LOC)
The sizes are current after stage 2.
Architectural Overview
Implementation Stages
The implementation is done in five phases:
- Infrastructure and Staff Management (2003)
- Website management (Content Management System) (2004)
- Education and training management (2004)
- Material management (2004/2005)
- Direct mission/operation support functionality (Logs, Planning) (2005)
Numbers and Statistics
- 1.2 MB Client executable size
- 85000 Lines of code (including client, server, databases, web;
excluding transactor)
- 2 MB Raw data in database
- 1000 Single database changes per month (approximately)
(Well suitable for updates via mobile phone)
- 1 Year implementation (stages 1 and 2)