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:
database and
user
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
Customer
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
objects
, 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
business objects.
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 ...
Get Python Programming On Win32 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.