The OAI allows clients to access JEDMICS repository documents, document collections, and their associated metadata via its four external services. Clients connect through the Security Service, which authenticates and authorizes users and maintains the concept of a session between the client applications and the server tiers. Once connected, users can then obtain metadata through the Query Service that they can use to retrieve the physical data files corresponding to documents and images using the Image Query Service. Authorized clients may also print the files by using the Print Service.
Figure 12.1 illustrates the overall architecture of the OAI and the EJB components that it contains. The components are logically classified into three layers: external components, middle-layer services components, and persistence layer components. The current implementation of the OAI includes additional components that are not shown in the figure for the sake of conciseness. All external-layer components exchange data with the client using XML documents as the data transport. The reasons we chose this approach and the repercussions of this decision will be discussed in detail in Section 12.4, "Design Choices." The XML data coming into OAI is parsed and is either passed directly to the persistence layer services or passed to the middle layer services for further processing. Similarly, data coming from the persistence layer or the middle layer services is first converted into XML format before it is forwarded to the client. The following sections describe briefly each of the external layer components.
The Security Service serves as the gateway to the OAI system, through which clients gain access to the system. A client application passes username and password information as part of the XML input to the Security Service interface method. The method returns a unique session identifier to indicate that the client is successfully connected. The client must pass this session identifier to the other OAI services in order to gain access to these services.
The Query Service provides OAI clients with methods to query for document (drawings or accompanying documents), document components, and document collection metadata. Clients can also make specific queries for summary and detail-level document-related metadata as well as metadata specific to certain types of document collections. The component architecture of the OAI is illustrated in Figure 12.1.
The Image Query Service provides OAI clients with methods to retrieve physical images based upon their identifying key fields. Through this service, clients obtain the actual representation of a drawing or accompanying document from the JEDMICS repository. However, only authorized clients are allowed to view certain images, and the enforcement of this access control is based on the client's user profile with respect to the image's access level attributes.
The Print Service provides OAI clients with methods to print drawings, accompanying documents, images, and document collections. Just like the Image Query Service, the Print Service applies restrictions on the images and document collections that a client can print. Clients can make a request to create a print job, and subsequently attach items to be printed to the job. All items in the print job will be queued and remain on "hold" status until a request to submit it is made by the client. Clients may also cancel or abort print jobs.