Distributed application development, also called multitier development, offers a natural way to separate the user interface components of an application from the business logic that the application requires. By centralizing business logic on a middle-tier server, you can reduce the workload on the client and control access to sensitive information.
In a distributed application, the client and server work together to perform tasks for the business user. The client handles all interactions with the user while the middle-tier server provides background services to the client. Typically, the middle-tier server performs most of the processing and database access. To invoke the services of the server, the client calls a method (or function) associated with a component (or object) that resides on the server.
Client-side logic for enterprise applications must be as small and efficient as possible to conserve network bandwidth. To accomplish this goal, applications are partitioned into three parts: presentation, business logic, and database access. The database resides on the bottom tier of the enterprise system to maintain and secure the organization's information assets. The business logic resides in the middle tier or server. The presentation is on the user's desktop, or top tier, or is dynamically downloaded to the user's desktop.
The server is then responsible for executing and securing the vast majority of a corporation's business logic. This makes it a critical component in the network-centric architecture. The client communicates with the server, calling middle-tier components that perform business logic.
A Web application is a variation of the distributed architecture where the client is hosted in a Web browser. PowerBuilder provides several technologies for building Web applications, including .NET Web Forms deployment and the Web DataWindow, which provide a thin client solution. The architecture of your application varies depending on which technologies you decide to use.
For more information, see Chapter 28, “Web Application Development with PowerBuilder.”