You may have heard about 2-tier and n-tier applications. What are they exactly?
2-tier - also called client/server - applications are applications
which consist of two separate applications, one server application
(typically a database server like Oracle, MSSQL or any other
standalone database) and a client application.
n-tier applications consist of 3 or more active applications
which data must pass, from the backend server to the front
end client. Usually 3-tier models are used, where one tier
is the backend database engine, one is the front end client
and one is just in between them, also named the application
server or business logic node.
What is the purpose of having more than 2 tier?
Well.. if you want to have many different client frontends,
like f.ex. one written in Delphi/BCB as a normal fat client,
one as a web server, one as a WAP server, one as a linkup
server to a mainframe etc. it would be unwise to copy all
the business logic (all the rules of your application) to
each client application/server. It would be a nightmare to
support. Instead its better to create a middle layer containing
the business logic, and then let the clients talk with this
middle layer. Thus the clients can relatively easily be changed
for other types of clients, without need for remembering how
was the business logic put together.
Using n-tier models also gives other positive side effects:
- Load balancing. They are capable of serving many more clients
than a 2-tier solution, simply because the middle node (the
application server) can be copied to more than one machine,
and thus divide the load between more CPU's.
- Fault tolerance. If more application servers are running,
the clients can simply try the request on another appserver
if the first one didnt reply.
kbmMW is about all that and much more. It will support different
database backends directly without you having to write any
code. Thus if you need to perform a SQL query you will do
it much the same way you are used to in a normal 2-tier setup.
The specialized client and server service classes will handle
everything for you. Further kbmMW contains advanced connection
pooling on both client to server and server to database, caching
of result sets on both client to server and server to database
and much more. The database handling with its advanced caching
and connectionpooling can aciually be used in 2-tier (Client/Server)
setups aswell without using the remaining part of kbmMW giving
you freedom in creating your application or web application
the way you want to.
kbmMW is a commercial product but for a very fair price.
A freeware license can be obtained for specific non commercial
applications. Ask for more info if such a license is needed.
There are no runtime fees or royalties except for the developer
The source is fully included in the package.
Copyright © 2001-2003 Components4Developers