
This description only touches a tiny subset of the facilities provided by the
kbmMW™ n-tier framework. For more complete info, please check the
kbmMW™ feature matrix and visit the
kbmMW™ university.
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/C++Builder/.Net 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™ contains countless features to integrate with the
world, and can mimic as a SOAP server, a WEB server, a AJAX server, a AMF3
server and much more. It also contains one of the most advanced messaging
framework for Delphi/C++Builder/Kylix, supporting multiple topologies incl. Peer
2 Peer, Hub/Spoke and Broadcast using Publish/Subscribe based messaging via
multiple types of fully developer accessible and configurable message
queues.
There are no runtime fees or royalties except for the developer licenses.
The source is fully included in the package.
(Top)
|