The development of the HOLMES 2 system proved a very challenging project. The aim was to produce a sophisticated and functionality-rich application that is user-supportable and future-proof. In essence, it needed to incorporate existing, familiar components for user-acceptability, a combination of COTS and purpose-built components for cost-effectiveness, and up-to-date computer intelligence to maximise the effectiveness of combined technologies.
Some of the challenges encountered when developing HOLMES 2 arose due to the complex requirements, target platforms and user considerations. The major problems that had to be overcome included
- Integration of different database technologies (relational and freetext)
- Integration of third party products (charting, postcode validation, MS Office etc.)
- Complex search algorithms (structured and freetext)
- Speedy response times
- High security at all times
- Conversion of Legacy data from the original HOLMES systems.
Quite independently of the technical considerations, much time and effort was expended to ensure the system was easy to use and administer. This required the HOLMES 2 system to be robust, quick, reliable and intuitive to use, and demand as little down time as possible. For example, a team of 12 Detectives may staff an Incident room investigating a serious crime for 24 hours 7 days a week. With this in mind the system had to offer the following usability features:
- All functions to be accessed via a menu driven GUI
- Windows and controls to have full context sensitive help
- Backups to be configured to run automatically at any time and not dependent on system down-time
- PC upgrades to be automatic.
Architecture: HOLMES 2 has adopted the best-of-breed components to build a world class solution. The Client/Server architecture is based on Microsoft Windows
2000 Professional or NT 4.0 workstations with UNIX servers running either
Solaris or Unixware. System network communications use TCP/IP network protocols for both LAN and WAN communication.
HOLMES 2 uses a 2-tier approach for local database access and a 3-tier approach for remote database access; remote database access is user-configurable from the front end. For database management, the market-leading Oracle relational database management system was selected.
Development Technologies: HOLMES 2 has been developed using leading edge technologies. Due to the sophisticated nature of the system, many development tools were used in the implementation. The core front end application was written in Usoft which is a 4GL Rapid Application Development Tool (RAD) that makes full use of Business Rules to manipulate data. This allowed prototyping at all stages of the development process thus ensuring a high degree of user acceptance throughout the project.
Other parts of the application were written in Visual Basic (Queue Managers), Visual C++ (dll’s), c and UNIX (remote database access). The printing subsystem uses Crystal reports.
Freetext Database: The freetext searching subsystem is supplied by Autonomy Ltd. This allows ‘questions’ to be asked of unstructured data (such as Statements taken from witnesses) and the results to be presented in order of relevance using sophisticated algorithms. Databases (incidents) can also be compared to identify similarities. HOLMES 2 data is continually indexed to enable new information to be searchable almost immediately.
Performance: This has perhaps been the most ‘difficult’ (or interesting) part of the HOLMES 2 system. Many of the searches required the use of extremely complex pieces of SQL. To avoid unacceptably slow response times, a dual operation was adopted: the searches themselves were tuned at the SQL level, and additional indexes on the RDBMS tables were deployed.
There is no doubt that there will be many enhancements in the near future for HOLMES 2. With this in mind Unisys
is committed to keep up with the latest development tools and latest releases of third party products. This will ensure that HOLMES 2/Casualty Bureau will continue to be used successfully well into the 21st century.