Home
/
JavaForum
/
Java allgemein
Infos
|
Features
|
Gold-Edition
|
Kundenservice
java
Übersicht
Forum
-
Beginner
-
Java allgemein
-
JDBC
-
JNI
-
Networking
-
Online-Ressourcen
-
Swing + AWT
-
XML
-
Meckerecke
Mitglieder
LOGIN
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
5.084 User online
0 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 1979 von 2212 (89%)
Autor
Thomas
Datum
09.01.04, 13:58
Betreff
Re: Entwurf 3-Schichten-Architektur
Um Deine konkrete Frage nach dem Resultset vorab zu beantworten: Der Business-Layer sollte nichts über ResultSets oder SQL wissen!
Ausführlicher:
Schicht 1: ui
Schicht 2: business
Schicht 3: db
Schicht 1 darf Schicht 3 nicht kennen und umgekehrt soll Schicht 3 nichts machen was nur wegen Schicht 1 gebraucht wird.
Schicht 3 hat eine Schnittstelle die aus serialisierbaren Databeans besteht (idR. repräsentiert solch eine Bean einen Record).
Genauso hat auch Schicht 2 eine Schnittstelle die aus ser. Businessbeans besteht. SERIALIZABLE ist dabei wichtig da ja die GUI ggf. auf einem anderen Rechner als die Logik läuft und dann werden diese Objekte über die Leitung geschickt.
Die Datenbank-Schicht sollte dabei eine "Java"-Logische Sicht zurückliefern und die Business-Schicht sollte eine "Echte"-Logische-Sicht zurückliefern.
Ein typisches Beispiel ist hierbei immer das Datum: In der DB steht z.B. 031201 (für 01.12.2003), die DB-Schicht wird dies in der zugehörigen Databean als java.util.Date zurückliefern und dabei die Umsetzung des Fensters,... machen. In diesem Fall wird die Business-Bean das Objekt einfach (geclont) an die ui-Schicht durchreichen und diese wird es formatieren.
Anders sieht es bei den typischen Enums aus. Beispiel: In einer alten DB-Struktur steht 0,1,2 oder 3. Durch Änderungen ist 2 und 3 inzwischen das gleiche. Die DB-Schicht wird also einen int zurückliefern der 0/1/2 ist (3 wird auf 2 gemappt). Im Business-Bereich gibt es nun aber eine Klasse welche diese 0/1/2 behandelt. Also wird im Business-Layer ein Mapping vorgenommen und die Oberfläche stellt dies irgendwie dar.
Es lässt sich immer leichter mit alten (versauten) Datenbankmodellen erklären da bei einer neu designten Datenbank das meiste ja wirklich 1:1 von der DB bis an die GUI weitergereicht wird.
Hoffe Dir etwas geholfen zu haben. Ansonsten Email an
support
@
gmx
de
Ciao
Thomas
Diskussionsverlauf:
Entwurf 3-Schichten-Architektur
Re: Entwurf 3-Schichten-Architektur
Re: Entwurf 3-Schichten-Architektur
Auf diesen Beitrag antworten
Neuen Beitrag verfassen
Impressum
·
Datenschutz
·
AGB
·
Infos
·
Presse
Ein modernes Forum:
teamturn.com