The ECARUCA database software system has been developed using a relatively conventional client-server framework with tiered design. In all, there are four tiers within the system: a data tier, a general (middleware) software tier and two distinct client interfaces. Java technologies (www.javasoft.com) have been utilised for all tiers of the framework.
Data tier and middleware tier:
The database engine comprises a relational database management system (RDBMS), with a suite of software libraries providing a bespoke application programming interface (API) that facilitate modular development between the database and business object within the middle tier. A mid-range enterprise scale DBMS has been utilised, which easily copes with the current volume of data and will certainly support future expansion of the data set.
The database application programming interface has been designed and developed using (mature) Java database connectivity libraries (JDBC). More recent component libraries, known as JDO (Java Database Objects), were available and were considered for this system component, but ultimately they were deemed too immature for the
ECARUCA project at the time of development. JDO may have simplified some of the (high-level) software design, however, in terms of database connectivity and the database query (software) modules, ECARUCA did not present itself as anything other than a conventional RDBMS system.
With regard to the underlying database structure (i.e., relational design) ECARUCA data model is approximately 95 per cent normalised (with respect to relational database model theory). There were several iterations with respect to the design of the underlying model, and these reflected the complexity of the biological processes and relationships that were being represented within a strictly relational (tabular) model. In this respect, some ECARUCA-specific design features have been included in the final data model, but with no significant impact on the efficiency of database queries, and all database search algorithms fall well within the standard capabilities of SQL (Structured Query Language).
One specialist query algorithm has been designed and developed for chromosome band matching. However, in practise, this (middleware) software component implements an adapter design pattern to underlying SQL routines.
The client tiers:
Two client interfaces to the database have been designed and developed: a dedicated client program with (super-user) administrator privileges for overseeing all the data input, updating validation etc, and a web-based (medical expert) User program for case pre-registration and data upload (registration).
The administrator client tier has been designed and developed as a Java JFC Swing (Java Foundation Classes) application. That is to say, it is essentially designed for standalone mode rather than for remote administration over a network. Thus, at present the administrator client program resides on the ECARUCA
server.
However, basic networking support modules have been developed in order that this application may run remotely (although this facility is not a requirement).
The (medical expert) User client program, which is a web-based client, has been designed using the Java struts framework, and this is integrated with JSP (Java Server Pages) components. Whilst these technologies facilitate the development of web-based client interfaces, they are, essentially, server-side technologies. Ultimately, they come under the control of the server, leaving the client-side as a relatively thin-client model. JSP is a web scripting technology that is specifically employed to allow a web author to further develop and enhance the web interface (www.ECARUCA.net) with respect to those software modules that provide case pre-registration and (cytogenetic) data upload.