Previous Topic: Logic TypesNext Topic: Remote Presentation


Logic Types Defined

User task support—The part of the application that deals with the supporting the many daily user tasks and workflow between users.

Typical support of user tasks are listed next:

Business rule—The part of the application that deals with business rules and policies.

While most business rules have something to do with persistent data, which is clearly the domain of data manipulation logic, business rule logic holds the fundamental definition that binds data accesses together. It defines such elements of an application as the sequence in which steps must be performed and the conditions that determine which steps are performed.
This layer protects the underlying data manipulation layer from inadvertent actions that might lead to data inconsistency.

Data manipulation—The part of the application that deals with data.
Data manipulation logic determines what persistent data is actually read or written. It requests services of a data management component, the DBMS, or file system responsible for the physical storage of the data.

In CA Gen methodology, business rule logic and data manipulation logic are generally found in elementary processes, as illustrated in the following illustration.

business rule logic and data manipulation logic in elementary processes

In some application programs, there is no business logic apart from that directly governing data. There may be little or no business rule logic.

Many current systems contain little or no user task support or workflow (because the technology of host-terminal was not very convenient for these purposes). This relationship is depicted on the left side of the previous illustration.

Most applications will, however, contain significant business logic. Even simple information retrieval may include business rules for allocating or grouping transactions.

As client/server applications become more sophisticated, they tend to include all four types of logic shown on the right-hand side of the previous illustration (presentation, user task support, business rule, and data manipulation).

The four types of logic in client/server applications can be divided into the following components targeting different machines:

A basic information retrieval application may be composed of only a client presentation workstation accessing a database server.

The result is described by Paul Winsberg as a ham and cheese sandwich (Paul Winsberg, “Designing for Client/Server” Database Programming and Design, July 1993, 29-31):