PL/SQL developers often create code that is utilized by web based or desktop applications. In a client/server environment, each client application makes a connection to a server. In some cases, this can be a direct connection to a database server itself. Many applications today are multi-tiered and include client applications, one or more middle tier servers and Oracle databases as the backend data store. In web based applications, the web browser is a client application, a web server (along with various application servers) comprise the middle tier, and the Oracle database is data store.
It is important to identify the way an application is partitioned early on in the design process. The architecture selected will determine to a large degree what program functionality is required in each section of the application. For instance, a Model-View-Controller pattern is often used to separate concerns in middle tier development. In this paradigm, the Oracle database provides the model data in raw form. Formatting is done by the view. Interactions between the model and the view are coordinated by the controller. For a PL/SQL developer, the use of such a design would suggest that very little formatting would be done in PL/SQL code. Values would instead be returned in the data type and precision that they are stored.