Use Case:  Query Archive

All subsystems will use the archive as a persistent store for the entities they have under control. Entities will be created, updated retrieved and queried but usually not deleted. All activities have to be permitted. The 'query' activity is used to retrieve (partsof) entities from the archive.

Goal: Retrieve parts of entities

Contact Author: A.Wicenec

Role(s)/Actor(s):

Primary: Any ALMA subsystem
Secondary: Executive, UserAdmin

PriorityCritical

PerformanceSeconds (depending on the size of the entity).

Frequency1 Hz

Preconditions

  1. Database is running
  2. User got authenticated

Basic Course
  1. Subsystem establishes connection to archive, for a human user there is an user interface which acts as a subsystem. The subsystem is required to choose the correct interface, i.e. XMLStore, MonitorStore or BulkStore. This is not critical, because only a fewsubsystems will need to use the MonitorStore and the BulkStore.
    Alternate Course: none
    Exception Course: Connection can't be established: try again until timeout.
    Postcondition: Connection established.
  2. Execute XPath query.
    Alternate Course: use higher level interface (DAO) which maps user request into XPath queries.
    Exception Course: Query failed: This is a fatal exception!
    Postcondition: Subsystem received list of queryResults
Postconditions: 
  1. Subsystem retrieved list of queryResults.

Issues to be Determined or Resolved

The communication of the user ID and the associated permissions have to be clarified. The required level of granularity for permissions has to be specified by SSR and operational requirements. Depending on the query the results may not be XML any more this might be an issue when using binding classes.

Last modified: Thu Sep 25 16:08:05 CEST 2003