A Three-Tier Architecture with Business Objects
For our final example of what Python can do with data, we’ll look at how Python supports building a three-tier client/server architecture. This will be a fairly straightforward example, as we did a lot of the groundwork in the last section.
Simple database applications have two tiers:
interface. A dialog to maintain client details might perform a
SELECT query to get all the details of a customer
and store those details in the user interface; either directly in
text boxes, or in variables stored in the same form or module. When
the data has been changed, the system performs an
UPDATE query to store the results.
A three-tier architecture creates a
class to hold the information, and
provides functions to load customers from the database and store them
back to it. The GUI layer gets data from the
Customer objects. Objects in the middle layer are
often known as business
, because they model things in the
business or problem domain, rather than systems objects like database
connections, or GUI objects like queries. If you are writing
object-oriented programs, you’re already at work on the
Three-tier also describes network partitioning. With modern
distributed-object technologies such as COM and CORBA (and some much
lighter alternatives like Python’s
RemoteCall package), it’s easy to run the database on one machine, the business objects on another, and the GUI on a third. It’s highly likely ...