# JBoss Seam - Spring



## miketech (5. Okt 2006)

Hi,

ich habe durch Zufall auf der JBoss Seite JBoss Seam gefunden. Angeblich ein Framework für Webanwendungen, basierend auf JSF. 

Wo soll ich das denn nun wieder einordnen? Ist das ähnlich wie Spring? Oder wo unterscheidet sich das nun wieder? Sind das dann weiterhin ganz normale JEE Anwendungen, oder bin ich dann auf Seam angewiesen? 

Sollte man für eine neue Anwendung dann z.B. lieber mit Seam, oder doch ohne Framework arbeiten?

Gruß

Mike


----------



## puddah (11. Okt 2006)

So weit ich das mitbekommen habe ist Seam eine Erweiterung von JSF und EJB3. Ich hab es selbst noch nicht ausprobiert aber ich habe gelesen, dass es einem eine bessere Anbindung von JSF an EJB ermöglicht.

Man kann dann aus JSF Seiten herraus auf EJB's zugreifen, so als ob diese eine normale Backing Bean im JSF Framework wären. Seams führt auch noch ein paar zusätzliche scopes  für Beans ein. Wozu das gut sein soll hab ich allerdings nicht verstanden.

Zusätzlich hab ich noch von anderen kleineren features gelesen, wie beispielsweise der Zugriff auf Sessionbeans aus einem Java-script heraus (warscheinlich für AJAX interresant).

Im großen und ganzen würde ich sagen warscheinlich ne nette Sache. Allerdings ist es warscheinlich auch kein Beinbruch, wenn man drauf verzichtet.


----------



## miketech (12. Okt 2006)

Hi,

naja mein Problem ist immer: Es gibt soviele Frameworks, was soll man denn da nehmen? Man steigt ja überhaupt nicht durch, wofür was ist. Und ich wundere mich immer, dass das immer noch alles angeblich J2EE ist, denn jeder baut doch was eigenes und nichts davon ist irgendwie kompatibel. D.h. wenn ich jetzt Seam verwende, bleibe ich auch bei Seam und kann nicht mal eben zu Spring wechseln.

Wahrscheinlich ist es am besten einfach auf Frameworks zu verzichten und erstmal alles per Hand machen, um einen Einblick zu bekomen und zu lernen mit J2EE umzugehen.

Gruß

Mike


----------



## puddah (12. Okt 2006)

Im Grunde ist das alles noch J2EE (bzw. jetzt JEE 5), aber Seams ist halt nochmal ein extra oben drauf von JBoss. Seam ist kein bestandteil der JEE Spezifikation (hab aber gelesen, dass bereits ein entsprechender JCP im Gange ist).
Soll heißen benutzt man Seams, dann legt man sich auf  einen Herrsteller (JBoss fest).


----------



## miketech (12. Okt 2006)

Ja, das ist zum Beispiel auch etwas, was ich nicht verstehe:

Für alles, was es so gibt wird ein JSR beantragt. Das von Seam habe ich nun auch gelesen, nennt sich WebBeans. Ist ja schön, wieder mal was neues. Damit wirds nun wirklich nicht leichter, wenn alles irgendeine Nummer bekommt und "offiziell" standardisiert ist.

Heute habe ich noch ein Spring Buch durchgeblättert. Vielleicht sollte ich mich erstmal damit beschäftigen? Das sieht nicht ganz so kompliziert aus, wie wenn ich manuell mit JEE arbeite. Aber hier nervt mich wieder, dass Spring eben kein Standard ist, d.h. genauso wie Seam ist man dann an ein Framework gebunden.

Die Spring und Seam Leute behaupten ja, dass man damit die Einfachheit erreicht, die mit JEE 5 erreicht werden wollte, aber nicht erreicht wurde. Spring kombiniert AOP mit DI usw. Ist ja schön. Aber bekomme ich mit Spring dann ein Verständnis der Sache?

Ich habe das Problem, dass offensichtlich jeder glaubt, er könne es einem leichter machen und dadurch wirds eher schwerer als leichter  :? 

Ich habe den Rat befolgt, den ich hier im Forum bekommen habe und arbeite nun mit Servlets und JSP. Bißchen was geht schon, ganz den Durchblick habe ich immer noch nicht. Und sobald ich bißchen was lese bekomme ich den Eindruck, dass man mit Servlets und JSP am besten gar nicht in der Praxis arbeiten sollte, weil es doch viel bessere andere Technologien gibt. Ja nun...

Gruß

Mike


----------



## puddah (13. Okt 2006)

Ich denke wie du da ran gehst ist schon ganz richtig. Du must JSP und Servlet ja nicht bis an dein lebensende benutzen aber es ist sinnvoll sich damit zu beschäftigen, weil das die Basis für alle Web Technologien in der Java Welt ist. Wenn du in JSP/Servlets fit bist, dann sollten alle anderen Technologien auch leicht zu verstehen sein.

Ganz generell denke ich sowieso dass man sich nicht gleich halz über Kopf auf jede neue Technologie stürtzen sollte nur weil diese gerade "state of the art" sind. Dann wäre man bis an sein lebensende damit beschäftigt laufende Systeme anzupassen, bzw auf neue Technologien umzustellen.

Nein man sollte sich vor beginn eines Projektes klar machen was man möchte, um dann nachzuschauen, welche Technologien einem bei diesen Zielen am meisten unterstützen.

Man muss ja nicht jede Technologie auswendig kennen. Es muss reichen, wenn man sich für eine Analyse eine kurze Übersicht über die vor und nachteile aufstellt. Die Details kommen dann später.


----------



## miketech (13. Okt 2006)

Hi,

also im Moment schreibe ich ein Gästebuch )

Ich hoffe, ich mache das konzeptionell auch richtig, werde dazu vielleicht nochmal einen neuen Thread erzeugen und meine Dateien vorstellen. Möchte nur sicher gehen, dass das von der Art und Weise korrekt ist.

Aber das war schon gut: Ich arbeite mit JSP + Servlets. Habe dann gesehen, dass JSTL wirklich eine nette Erweiterung ist. Etwas irritiert war ich, als ich gesehen habe, dass die Jakarte Implementierung von 2004 ist. Scheint sich seitdem bei der JSTL nicht mehr viel gemacht zu haben, oder? Woran liegt das?


Auf jeden Fall fehlt mir für mein Gästebuch eigentlich nichts, ich komme damit super klar. Ich habe ein GuestbookEntryDAO und ein GuestbookEntryDTO (abgeschaut aus dem Buch jboss at work).

In meinem Servlet erzeuge ich eine neue Instanz vom GuestbookEntryDAO und lasse mir davon die Einträge, die angezeigt werden sollen als Liste zurückgeben, also eine Liste von GuestbookEntryDTO's. Und die Liste mach ich im JSP verfügbar und zeige sie an.

Das sollte ja soweit passen, oder?


Jetzt könnte ich das ganze um Hibernate und JSF erweitern, oder was macht nun am meisten Sinn?

Gruß

Mike


----------



## puddah (16. Okt 2006)

Nee, nee. Ich denke für ein Guestbook sollte das vollkommen reichen, da das meiste ja nur mit der Präsentation der Daten zu tun hat. Viel Logik und viel Datenmodell hast du dann ja eh nicht, also sollte JSP reichen. Wenn du dich allerdings mit JSF auseinandersetzten möchtest wäre das natürlich ein schönes kleines Projekt zum ausprobieren.


----------



## miketech (17. Okt 2006)

Hi,

ok, dann werde ich das vielleicht mal versuchen. Im Moment hänge ich ja noch an Jdbc fest, um überhaupt die Gästebucheinträge zu finden 

Aber sind die Begriffe DAO und DTO hier richtig verwendet? Ich hab das aus dem Buch Jboss at work.

Allerdings weiß ich nicht: Heißt es GuestbookEntryDAO oder sollte es eher GuestbookDAO heißen? Bezieht sich das DAO auf das, was ich wirklich haben möchte? Also dann GuestbookEntryDAO? Also im Singular, oder müsste es GuestbookEntriesDAO heißen? Worauf bezieht sich das DAO in diesem Fall?

Gruß

Mike


----------



## puddah (19. Okt 2006)

Über solche Dinge würde ich mir garnicht den Kopf zerbrechen. Wenn du denkst, dass der Name GuestbookDAO aussagekräftig ist, dann solltest du den benutzen. Wie du deine Klassen benamst bleibt ja letztendlich dir überlassen. Du solltest halt bloß drauf achten, dass andere Entwickler einen verständlichen Code vorfinden.


----------



## miketech (19. Okt 2006)

Hi,

ok, alles klar.

Gruß

Mike


----------



## Bill Selevan (21. Mai 2008)

2 test message


----------

