OUAF Web Services

The OUAF system makes heavy use of web services, which are data access and update services ultimately implemented in Java, accessing Oracle databases. Each service invocation represents a distinct database transaction.

There are three kinds of services: Page, List, and Search.

A Page service defines all the data needed to display data on a single tab menu (e.g. across all child tab pages). The data structure is logically a tree, with a root object containing attributes as field/value pairs, and recursively containing lists of similarly structured objects. The typical maximum nesting depth is four levels of contained lists. Page service names end with the letter "P", e.g. CILCACCP. Page services may be called in five primary "modes": Read, Change, Add, Copy, Delete, and Default.

List services define a list of objects, possibly containing nested lists. In addition to being accessible independently for list-oriented data, they can be used to flesh out lists contained in page services where more data is available than can fit in the (fixed-size) buffer. List services do not support database updates.

Search services are used to support ad-hoc user searches for data. The results are structurally similar to List services. The input is a set of criteria and a search mode, with values "MN", "AL", "A2", A3", etc.

Service requests can return a normal result, or create an error or warning. A warning displays a message with a list of warning lines, and offers the choice of proceeding (which triggers the same call with a flag set to suppress warnings), or cancel. Errors create descriptive messages. Search and List services can only create errors, not warnings, while all Page services except Copy can create warnings and errors.