Application Partitioning

Contact Us or call 1-877-932-8228
Application Partitioning

Application Partitioning

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.

Another application concern that benefits from clear application partitioning is validation. In web based applications, validation can occur at many levels. It can occur in the browser itself (using javascript), at the web server/application server (in application code) in user specified code at the database level (PL/SQL triggers) or through database constraints. Some decisions in this area are influenced by the determination of whether a database is accessed by one application only or many different applications. In any case, developers who understand the limits and possibilities available through the use of PL/SQL and database constraints can provide input to system architects to determine an effective design that will result in a well integrated functioning application.

Next