In a three-tier application, the presentation tier is the logical group of components that provide a user interface. In a Uniface web application, these components are dynamic and static server pages, in a desktop application, they are forms and reports.
Presentation tier components allow users to interact with the application, but they typically do not process data, handle business rules, or directly access databases or other storage media. This has implications for how the data is validated before it is submitted to the business tier and stored in the database.
When developing presentation tier components, you are advised to use declarative validation using development object properties, rather than procedural validation using script. This ensures that the data is substantially correct before it is submitted to the business tier. This reduces network traffic and server overhead, and is also more user-friendly. Procedural validation enforces business rules in the business logic tier, which can result in a lot of unnecessary processing and network traffic if the submitted data is incorrect.
Records in the presentation layer are referred to as disconnected record sets because they are not directly connected to the data source. When data is returned to the business tier, there must be a mechanism for reconnecting the data to existing occurrences. The business layer must be able to identify new occurrences, modified occurrences, and occurrences marked for deletion. Support for disconnected record sets is essential for fully separating the presentation tier from the business tier.
Uniface supports disconnected record sets by including processing information with XML streams. This processing information is available to any application or component that can parse XML streams and is also accessible via ProcScript functions.