Why distributed computing
About distributed computing
Distributed computing allows you to get the most out of your
investment in the network computer architecture. By taking advantage
of the capabilities of distributed computing, you can streamline
the process of developing and deploying PowerBuilder applications
on network computer systems.
Distributed computing is a natural outgrowth of the client/server
model. In the client/server environment, the process of
developing and deploying complex business applications presents
some difficult problems, particularly in a large organization.
Problems with the client/server model
Lack of centralized control Many of the problems associated with the client/server
architecture stem from the fact that the network computer system does
not make it possible to deploy application components in a central location.
Often, the business logic required for an application is deployed
on each client computer, making maintenance and security difficult.
In this environment, making even trivial changes to a production
application can be problematic:
This approach is sometimes referred to as the two-tier
model. In the two-tier model, the user interface and
business logic reside together on the client computer, while data
is accessed from a database server.
Lack of security In a decentralized computing environment, controlling access
to information is extremely difficult. Security leaks can easily
occur because client machines often have access to algorithms for
handling sensitive business data.
Heavy client workload When all of the business logic required for an application
is deployed on each client machine, the clients must have the processing
power needed to handle the workload. This puts an undue burden on
desktop resources.
As applications become more complex, desktop computers must
be upgraded to cope with performance demands. Sometimes the demands
even exceed the capabilities of the standard desktop machine. For
example, advanced operating system features such as multithreading
and symmetrical multiprocessing may not be supported by the standard
desktop. Without access to the computing power of a multitasking
server machine, client applications cannot take advantage of these
operating system features.
Distributed computing offers some solutions
Distributed computing addresses many of these problems. By
allowing you to partition application functions between the client
and the server, distributed computing offers a natural way to separate
user interface components from the business logic required by an
application. By centralizing business logic on application servers,
you can reduce the workload on the client and control access to
sensitive information:
This approach is sometimes referred to as the three-tier
model. In the three-tier model, the user-interface components
reside on the client computer, while business logic components reside
on an application server. The data required for the application
resides on a database server.
In a three-tier application, the user interface is insulated
from internal changes made to the business logic stored on the server.
Similarly, the business logic is not affected by user interface
changes made to the client applications.