Bank 3-Tier, Prof. Knabe, 2002-04-11
Ein Beispiel, wie ein Softwaresystem für eine Bank gemäß der strengen
3-Schichten-Architektur aufgebaut ist.
Es besteht aus den Schichten:
ui User Interface
==============================
lg application LoGic
==============================
db DataBase access
Jede Schicht wird durch ein Paket realisiert.
Die Lg-Schicht und die Db-Schicht exportieren ihre Dienste als API.
Alle von der Db-Schicht exportierten Operationen beginnen mit dem
Namenspräfix 'db', damit unzulässige Aufrufe aus der Ui-Schicht
leicht erkennbar sind.
Statt der noch leeren Ui-Schicht wird hier die Testtreiberschicht _lgTest
benutzt.
Die Db-Schicht setzt auf
JORA, dem Java Object Relational Adapter von
Konstantin Knizhnik auf,
der auf die Access-Datenbank bank3tier.mdb zugreift.
Sie enthält darüberhinaus folgende weitere Features:
- zwecks bequemeren Zugriffs auf die Operationen
dbInsert, dbRetrieve, dbUpdate, dbDelete, dbSelect
eine abstrakte Klasse DbObject, die von allen persistenten Klassen
der Lg-Schicht beerbt werden muß.
- eine eindeutige Kennung jeden Objekts durch eine Object IDentification
(OID) vom Typ Integer
Versionsgeschichte
- 2003-04-02 Aufbau einer TestSuite. Startklasse: bank3tier.TestAll
- 2002-04-11 Lg-Operationen erfassen() und ändern() parameterlos,
deshalb Attributwerte mittels get/set-Operationen verwalten.
Alle Operationen der Db-Schicht mit Namenspräfix 'db'.
- 2001-05-28 Verbesserte Transaktionsunterstützung durch Operation
DbObject.retrieve(). Getter für OID umbenannt nach getOid().
Applikationsspezifische Teile der DB-Schicht isoliert in
Klasse DbBankApplication.
- 2001-05-17 Verbesserte Diagnosehilfen (Warnungen) in JORA bei Problemen
in der Abbildung von Java-Typen in die Datenbanktypen.
- 2001-05-10 Berücksichtigung von Assoziationen