MACROMEDIA COLDFUSION MX-CLUSTERCATS Use Manual page 25

Table of Contents

Advertisement

Application partitioning
The way an application is partitioned and deployed dramatically affects its ability to
scale. A key development objective must be to ensure that each partition scales
independently of the others, thereby eliminating application bottlenecks.
Application partitioning refers to the logical and physical deployment of an application's
three core types of logic, or services — presentation, business, and data access. If you are
familiar with the concept of tiered client/server application development, you already
understand the rationale for developing applications in this way. The following short
review highlights this methodology's benefits.
An application, regardless of whether it is a web application or a more traditional client/
server application, has three main categories of logic, or services:
Presentation services — a user interface, by which users interact with the application's
features. In a traditional client/server application, this logic resides on a client
computer, typically as a proprietary executable file. In a web paradigm, there is no
specific proprietary client software required, other than a browser. Emerging web
technologies can help you leverage powerful client-side processing available through a
browser. These technologies include Enterprise JavaBeans (EJB), scriptlets,
JavaScript, applets, and Dynamic HTML. Well-planned use of these technologies can
reduce unnecessary trips to the server, thereby minimizing performance degradation.
Business services — the custom business logic and rules that an application uses to
perform calculations and application-specific functions. An example of a business
service is an algorithm that automatically calculates shipping and handling charges
for an order, based on the total cost of the order. In JRun, this logic is contained
within scriptlets and EJBs. In ColdFusion, this logic is contained in ColdFusion
pages. Depending on the nature of the business and how often the business rules
change, business logic can be partitioned to reside on its own server for easier access
that expedites frequent logic modifications, or it can reside in stored procedures on
the database server.
Data services — the interaction between the application and the database in which
the application stores and manipulates data. The way application manages data
services is directly tied to the application's performance capability. In short, accessing
a database can be costly and can cause significant performance degradation,
depending on a variety of factors. For example, the types of database drivers used for
connections, the construction of SQL queries, the manner in which database
connections are pooled and maintained, and whether stored procedures are
implemented for frequent database access, all directly impact the application's
performance.
The way that architects and web developers decide to partition and deploy these core
application services significantly affects the application's ability to scale. Although your
development efforts may no longer be burdened with developing, distributing,
customizing, and updating proprietary client software for your applications, the
ubiquitous graphical user interface (GUI) — the web browser — presents new interface
issues and challenges. For example, you must ensure that your application's presentation
remains performance-friendly. It should minimize the number and size of graphic
elements that must be downloaded to the client. Also, because some browsers cannot
Successful scalability implementations
15

Advertisement

Table of Contents
loading

This manual is also suitable for:

Clustercats

Table of Contents