# Komplexe Applikation



## Mirko (15. Feb 2005)

Hallo Forum!

Ich muss in den nächsten Wochen eine auf Oracle, Java, Tomcat und JSF aufbauende Webseite erstellen.

Dabei geht es im großen und ganzen um die Umsetzung eines Webmenüs, wie das alle von 1&1 & Co. her kennen.

Wie würdet ihr eine solch große Applikation umsetzen? Damit mein ich nicht Bottom-Up oder Top-Down, da das ja nicht zu Diskussion steht. Sondern vielmehr :

Wie weit reiche ich die Exceptions Richtung der Webseite durch? Ein sofortiges CATCH würde ja die Ursache des Fehlers für die restlichen Komponenten verschleiern, was nicht unbedingt gut ist, wenn bei größeren Transaktionen bestimmte Kommandos wiederholt werden müssen.

Diese und viele andere Fragen plagen mich derzeit. Vielleicht könnte mir aber auch schon jemand bei der Frage behilflich sein.

Dank & Gruß
Mirko


----------



## foobar (15. Feb 2005)

> Wie weit reiche ich die Exceptions Richtung der Webseite durch?


So weit wie möglich 
Denn was nützt eine Exception, die irgendwo im inneren des Systems gefangen wird.


----------



## Mirko (15. Feb 2005)

Na nur dann muss ja das letzte Ende, der Software, wo Beans und Co für die Webseite anfangen jede >SORRY< Scheiß Exception gefangen werden und nen sinnvollen Output bereitstellen.

Da könnt ich doch gleich mit Assembler anfangen - ist vielleicht übersichtlicher.  *war n spass* 

Oder zum Thema AutoCommit:

Jede Klasse unterster Ebene holt sich aus dem ConnectionPool eine Connection. Für bestimmte Aufgaben wie Löschen eines Users und Löschen verschiedener aufgelaufener Rechnungen müsste das Objekt User und "Rechnungsbehälter" (oder so ähnlich) zwar je nur ein delete auf die DB absetzen, aber die Objekte kennen sich nicht. 

Ich bräuchte hier doch eine Transaktion über beide Objekte und deren Methoden. 

Schon mal vielen Dank mit den Exceptions - hab schon gedacht ich werd wirre. Obwohl wenn ich das so durchziehe, wie oben gesagt, das wohl werde.

Dank & Gruß
Mirko


----------



## KSG9|sebastian (15. Feb 2005)

Schonmal über ein Persistence Framework nachgedacht?

www.hibernate.org 

Komplex, aber in der neuen Version (3.17) halbwegs performant. Damit brauchste dich nimmer um DB Handlich kümmern. Du erzeugst die Tabellen incl. Constraints u.s.w. , dann lässt du dir MappingFiles und Klassen erstellen. Die kannst du dann noch n bissl anpasen, schreibst dir die Business Logic dazu und fertig ist die Datenbank 

Wenn du was brauchst meld dich..

P.S. auf laliluna.de (oder so ähnlich, google weis es) gibt es ein sehr gutes Hibernate Tutorial


----------



## Mirko (15. Feb 2005)

Sieht ja sehr interessant aus! Obwohl mir irgendwann dann doch Microprozessoren und Register lieber wären.

Werde ich mir morgen mit nem frischen Kopf reinziehen. Dann überschau ich das sicher besser.

Danke & Schönen Feierabend!


----------



## KSG9|sebastian (16. Feb 2005)

Gutes Tutorial:

Struts Hibernate Tutorial (englisch)
http://www.laliluna.de/113.html


Sonstige Nützliche Tools:
  - MyEclipse 
  - Hibernate Tools (www.hibernate.org)
  - xDoclet zum erzeugen der MappingFiles aus JavaKlassen


----------



## Guest (17. Feb 2005)

Hallo!

Habe mir das reingesaugt und für sehr toll befunden. Jedoch kommen da in mir immer noch einige Fragen hoch, die einer, der aus der C, C++ Welt kommt, nicht einfach vergessen kann:

Wie funktioniert das mit den Sessions, wenn ein zweites Browserfenster geöffnet wird? Oder irgendwann müssen doch die in der DB "schlafenden" Objekte wieder gelöscht werden, wenn keine Anfrage mehr an diese gestellt wird.

Gibt es hinsichtlich dieser Technologie irgendwie noch mehr unterlagen irgendwo?

Dank & Gruß
Mirko


----------



## KSG9|sebastian (17. Feb 2005)

www.hibernate.org gibt es ne riesige Dokumentation

Was meinst du mit "schlafende Objekte" ? Es werden nur Objekte in der Datenbank gespeichert  wenn sie gemappt sind.


----------



## bronks (17. Feb 2005)

Anonymous hat gesagt.:
			
		

> ... Habe mir das reingesaugt und für sehr toll befunden. Jedoch kommen da in mir immer noch einige Fragen hoch, die einer, der aus der C, C++ Welt kommt, nicht einfach vergessen kann:
> 
> Wie funktioniert das mit den Sessions, wenn ein zweites Browserfenster geöffnet wird? Oder irgendwann müssen doch die in der DB "schlafenden" Objekte wieder gelöscht werden, wenn keine Anfrage mehr an diese gestellt wird.


In C++ geht man mit Sessions genauso um, wie in Java. Dürfte wohl nicht das Problem sein? Oder liegt es doch an etwas anderem?  ???:L


----------



## Mirko (17. Feb 2005)

Mag ja durchaus sein. Nur wenn Du C++ nur für µC und kleine Applikationen verwendest, wo Du keine Verwaltung von Sessions brauchst.....


----------



## KSG9|sebastian (17. Feb 2005)

Was suchst du genau? Dokus zum SessionHandling ? oder was ?


----------



## Mirko (18. Feb 2005)

Hi!

sicherlich würde es Sinn machen eine Persistenzschicht einzuführen, jedoch hat mein Chef dies abgelehnt.

Einerseits bin ich zufrieden, mich nicht in ein weiteres, relativ schlecht dokumentiertes Thema einarbeiten zu müssen, andererseits klingt das alles sehr interessant.

Naja ist nicht meine Entscheidung.  8) 

Trotzdem vielen Dank.
Gruß Mirko


----------

