Professional Documents
Culture Documents
Executive Summary
Two-tier Architecture
Three-tier Architecture
Multi-tier Architectures
Conclusion
Executive Summary
More and more companies are embracing the Delphi Client/Server Suite for the
development of complex, mission critical, applications. Delphi Client/Server Suite steps up
to meet and exceed the rapidly growing challenges for data accessibility and Return On
Investment (ROI). Delphi Client/Server Suite provides developers with the scalability
necessary to develop traditional two-tier and three-tier Client/Server applications.
Delphi Client/Server Suite includes the essential technologies for successful n-tier
Client/Server development: object-oriented architecture, open tools architecture, and an
extensible, component based development environment.
The Bank of First Chicago has turned to Delphi Client/Server and AT&T/NCR's TopEnd
middleware product for the development and enhancement of their Funds Transfer
Processing System. Spectra Securities of Canada has implemented a three-tier financial
management system using Delphi and EZRpc from NobelNet. Spectra developed new
solutions which leveraged existing legacy applications.
Why multi-tier?
Multi-tier Client/Server architecture offers the developer a methodology for building
Client/Server applications based on an extensible, reusable, component based, model. This
architecture provides for clean standardized interfaces between logical-component levels
called 'Tiers'.
The Garner Group has stated that it believes that multi-tier architectures will become
increasingly important in 1997 and beyond. While the number of companies who actually
require this technology is somewhat small, the applications work with thousands of clients,
with very high transaction volumes, distributed over wide-area networks.
Part I of this document introduces the concepts of two-tier and multi-tier development,
explains their significance, and shows how Delphi Client/Server provides great tools for C/S
development. Part II will present case studies from the companies mentioned above and
others.
Delphi strengths for 2-tier and n-tier development
DataModules can be stored in the repository and descendants created for use in other
applications. The same business rules can be shared among a team of developers and
applied to many different applications, ensuring consistent logic.
The Delphi Client/Server Suite empowers the developer to develop applications which fit
the business needs of today and scale to meet tomorrow's challenges. As new
technologies evolve for n-tier application development, Delphi Client/Server Suite's
extensible architecture can be expanded by the developer to meet new or custom
requirements. Applications achieve blazing performance, thanks to Delphi Client/Server
Suites' 32-bit highly optimized native code compiler.
Two-tier architectures
About the terms 'Client/Server,' 'two-tier,' and 'three-tier'
The term 'Client/Server' has traditionally been associated with a desktop PC connected
over the network to some sort of SQL-database server. In fact, the term Client/Server
formally refers to a logical model that provides for a division of tasks into 'client' and
'server' layers or 'tiers'. The two-tier physical representation that we have become
accustomed to is actually just one possible implementation of the Client/Server logical
model. Mainframe programmers have employed the Client/Server model for years and
most mainframe applications have a Client/Server architecture.
There are no limitations to the number of tiers an application may have. The 'three' in
three-tier represents the most common number of logical separations for an application.
These logical separations are broken down into Presentation, Application, and Data
services, as described further below.
Two-tier architecture
Two tier Client/Server provides a basic separation of tasks. The client, or first tier, is primarily
responsible for the presentation of data to the user and the 'server,' or second tier, is primarily
responsible for supplying data services to the client. So far, so good.
Presentation services
'Presentation services' refers to the portion of the application which presents data to the
user. In addition, it also provides for the mechanisms in which the user will interact with
the data. More simply put, presentation logic defines and interacts with the user interface.
The presentation of the data should generally not contain any validation rules. Delphi
Client/Server Suite's Rapid Application Development (RAD) approach to application
development and component architecture allows the developer to easily assemble the
presentation layer and move quickly from prototype to production.
Business services/objects
'Business services' are a category of application services. Business services encapsulate or
componentize an organizations business processes and requirements. These rules are
derived from the steps necessary to carry out day-today business in an organization.
These rules can be validation rules, used to be sure that the incoming information is of a
valid type and format, or they can be process rules, which ensure that the proper business
process is followed in order to complete an operation.
Application services
'Application services' provide other functions necessary for the application.
Data services
'Data services' provide access to data independent of thier location. The data can come
from legacy mainframe systems, SQL RDBMS systems, or proprietary data access systems.
Once again, the data services provide a standard interface for accessing data. Delphi
Client/Server Suite includes connectivity to Informix, InterBase, Microsoft SQL Server,
Oracle, Sybase and any other data source which supports ODBC.
Delphi Client/Server Suite outpaces the competition such as PowerBuilder, SQL Windows
and Visual Basic for two-tier application development. Delphi Client/Server Suite employs a
true object-oriented language, to support a component-based RAD model offering greater
re-use and scaleability. Unlike competing products, Delphi allows developers to create
custom components (VCLs) in Delphi to extend the Delphi development environment
without having to resort to using another tool or language. Delphi Client/Server Suite's 32-
bit optimized native-code compiler delivers high performance native-code applications.
Three-tier architecture
A 'Multi-tier', often referred to as 'three-tier' or 'n-tier,' architecture provides greater application
scaleabilty, lower maintenance, and increased reuse of components. Three-tier architecture offers
a technology neutral method of building Client/Server applications with vendors who employ
standard interfaces which provide services for each logical 'tier'.
Through standard tiered interfaces, services are made available to the application. A single
application can employ many different services which may reside on dissimilar platforms
or are developed and maintained with different tools. This approach allows a developer to
leverage investments in existing systems while creating new application which can utilize
existing resources.
Multi-tier architectures
A multi-tier, three-tier, or N-tier implementation employs a three-tier logical architecture
superimposed on a distributed physical model. Application Servers can access other
application servers in order to supply services to the client application as well as supply
services for other application servers.
For example, in the diagram below the client application looks to Application Server #1 to
supply data from a mainframe based application. Application Server #1 has no direct
access to the mainframe application but, it does know, through the development of
application services, that Application Server #2 provides a service to access the data from
the mainframe application which satisfies the client request. Application Server #1 then
invokes the appropriate service on Application Server #2 and receives the requested data
which is then passed on to the client.
Application servers can take many forms. An application server may be anything from custom
application services, Transaction Processing Monitors, Database Middleware, Message Queue to a
CORBA/COM based solution.
Application server vendors such as Open Environment Corporation (Entera), BEA Systems
(Tuxedo), IBM (CICS, MQSeries), IBM/Transarc (Encina), Iona Technologies (ORBix), NCR
(TopEnd) in combination with their partners offer connectivity solutions for Delphi
Client/Server Suite.
Conclusion
This paper has provided a quick overview of 2-tier and n-tier Client/Server terms, concepts and
characteristics. It has shown how Delphi Client/Server has features which are important to
Client/Server development and can help developers leverage existing legacy applications.