Application Partitioning Strategies

Application partitioning refers to deploying different components of an application at various locations. For example, an order entry application may consist of:

  • Data entry screens on order entry clerks’ PCs

  • Bar code scanners collecting shipping information at the fulfillment center

  • A web server hosting management reporting

  • Business rule enforcement via stored procedures in the database

The order entry application is the sum of all of these parts. The components of a partitioned, or tiered, application always fall into one of three broad categories: user interface, business logic, or data access logic.

As you design a distributed database, you must make decisions about where to locate different types of processing. Some of the choices are obvious: bar code data collection has to occur where the bar codes are. But in other cases, the decision is not so obvious. Where should we enforce the requirement that customers cannot place new orders if their accounts are more than 90 days in arrears? What factors should you consider when you make these choices?

Actually, application partitioning entails both a hardware level and a software (or logical) level. At the hardware level, we decide what equipment is best suited for various portions of the application. And at the logical level, we decide where business rules will be enforced, how the user interface will work, and what data access methods we will provide. The logical application partitioning always precedes ...

Get Oracle Distributed Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.