Architecture
System Level View
Macaw is designed so that all of the business logic for operations is encapsulated by an API and Java classes that represent business concepts Different clients access the APIs in the same way (see Fig. Architecture-1). Macaw’s business logic is advertised through two interfaces: MacawCurationAPI and MacawRetrievalAPI. The main client that uses MacawCurationAPI is the collection of Macaw curation forms. In future, Macaw Batch Loader will use the same API to add new Variable definitions that are taken from SPSS files. The main clients forMacawRetrievalAPI
will
be SWIFT and probably various portal services that are developed by the DSS group in Oxford.
One of the most important clients of both APIs are the Automated Test Case Suites.
They comprise dozens of test cases which programmatically test different API method
calls and compare actual versus expected results.
Fig. Architecture-1: System level view of Macaw.
Three Layer Architecture
The Macaw editor that is used by curators is designed with a typical three-layer architecture, as shown below:
Fig. Architecture-2: The Three Tier Architecture of the Macaw Editor.
Author: Kevin Garwood
(c)2010 Lifelong Health and Ageing Unit of the Medical Research Council.