# Struts shale



## miketech (15. Jan 2006)

Hi zusammen,

in letzter Zeit stolpere ich immer öfter über den Begriff Struts, weshalb ich mich entschlossen habe mir das doch mal anzuschauen  

Erstmal vorweg: Wenn ich das richtig verstanden habe, ist Struts doch "nur" ein MVC Framework, oder? Also ähnlich zu zum Beispiel RubyOnRails und was es so alles gibt. 

Der Zusammenhang zu J2EE ist mir nun nicht klar. Oder gibt es da gar keinen?

Nun hört man von Struts ja oft, dass es ziemlich überladen und umständlich ist, weshalb es nun wohl Struts Shale geben soll. Bisher weiß ich nur, dass man Struts damit auf den neuesten Stand bringen möchte und auf JSF setzt. Weiß jemand, ob man das schon benutzen kann und wo nun die genauen Unterschiede sind? Ich habe bisher kaum Informationen über Struts Shale gefunden. 

Das ganze läuft ja mit Tomcat. Da hört man nun ja immer, dass die Performance der Server doch ganz schön beansprucht wird  Wie ist das denn im Vergleich zum Beispiel zu RubyOnRails oder Python für Webentwicklung? Ich hätte schon Lust ein Web-Projekt mit Struts zu entwickeln, allerdings weiß ich nicht, ob Struts für meine kleinen Projekte nicht vielleicht zu übertrieben ist. Außerdem möchte ich nicht, dass die Performance von meinem Server darunter leidet, nur weil ich von PHP auf Struts schwenke.

Kann mir jemand dazu ein paar Erfahrungen mitteilen? 

Wie ist der Zusammenhang von Spring und Struts? Auf der einen Seite habe ich gelesen, dass man beides kombinieren kann, auf der anderen Seite höre ich, dass beide doch dasselbe Ziel verfolgen? 

Würde mich über ein paar Informationen hierzu freuen.

Gruß

Mike


----------



## bronks (15. Jan 2006)

miketech hat gesagt.:
			
		

> ... in letzter Zeit stolpere ich immer öfter über den Begriff Struts, weshalb ich mich entschlossen habe mir das doch mal anzuschauen  ...


Was willst Du damit wachen und warum willst Du etwas damit machen?

Kannst Du gut mit MVC, JSP und Servlet umgehen, was die Voraussetzung für Struts ist?


----------



## miketech (15. Jan 2006)

Hi,

naja, meine derzeitigen Web-Projekte beschränken sich auf Webseiten, in denen vielleicht Forum-ähnliche Anwendungen zum Einsatz kommen. Bisher habe ich sowas primär mit PHP gelöst, aber ich schaue immer gerne über den Tellerrand. Die Konzepte von MVC sind mir bekannt, aber Kenntnisse im Umgang mit JSP, oder Servlets habe ich bis jetzt noch keine. Java habe ich bisher ausschließlich auf der Client-Seite eingesetzt.

Gruß

Mike


----------



## bronks (16. Jan 2006)

miketech hat gesagt.:
			
		

> .... Kenntnisse im Umgang mit JSP, oder Servlets habe ich bis jetzt noch keine ...


Wenn Du Dich in das Thema einarbeitest, dann werden viele Fragen beantwortet und Du wirst herausbekommen, daß Du die von Dir genannten Techniken nicht mit J2EE vergleichen kannst.


----------



## miketech (20. Jan 2006)

Hi,

leider komm ich da total durcheinander. Ich bin zwar jetzt schon etwas weiter und J2EE, bzw. ja neuerdings JavaEE scheint ja ein ganz gewaltiger Komplex zu sein. Kann man das überhaupt noch Überschauen? Da wird mit Begriffen um sich geworfen, die man erstmal zuordnen muss 

Von Struts bin ich nun, wie schon geschrieben auf Spring aufmerksam geworden. Mein Problem ist: Erstmal weiß ich nicht, wo ich anfangen soll, geschweige denn, ob mein Anwendungsfall überhaupt etwas für Java und JavaEE ist.

Also ich will jetzt z.B. eine Art Online Forum zum Testen programmieren. Ist das etwas, was man mit und JavaEE anpackt? Oder ist das total übertrieben? Oder ist gerade Spring, oder Struts (wo besteht denn der Unterschied?) gerade für kleinere Projekte geeignet? Es heißt, dass man Spring mit Struts verwenden könne. Aber ich dachte beide haben dasselbe zum Ziel? Mich interessieren auch diese JavaServer Faces. Nur weiß ich nicht, wie ich die jetzt schon wieder einbinden soll. Oder kann ich einfach nach Belieben die Komponenten zusammenstellen?

Die Applikationsserver wie JBoss scheinen ja eher eine Sammlung von APIs zu sein, oder? Was mir nicht klar ist: Es heißt immer JBoss und Co implementieren JavaEE. Soweit ok. Aber dann heißt es, dass Struts das auch tut? Aber das sind doch zwei paar Schuhe. Oder ist das so zu verstehen: Mit Struts und Co entwickele ich JavaEE konforme Anwendungen, bzw. Komponenten, die ich in einem und JavaEE Applikations-Server einsetzen kann?

Mein Problem ist eben, dass ich vielleicht ein total überdimensionalisiertes Monster auf meine kleine Aufgabe loslasse, welches am Ende nur dazu führt, dass mein Server unter der Last dieses Monsters, wovon ich nur 5% benötige zusammenbricht. Oder liege ich mit der Annahme total daneben? Meine Kiste hat nur 1,5 GHz und 512 MB RAM. Und da soll noch mehr als ein Forum drauf laufen nach Möglichkeit 

Was mir auch aufgefallen ist, dass man gewaltiges Wissen über Java haben muss. Ich habe mich noch nie mit Ant beschäftigt, was aber wohl nicht unerheblich ist, wenn man mit J2EE entwickeln will. 

Ich kann J2EE auch überhaupt nicht einschätzen. Auf mich macht es einen ewig großen Eindruck. Oder täuscht das nur und ist letztenendes schon beherrschbar? 

Würde mich über ein paar Klarstellungen freuen 

Gruß

Mike


----------



## Bleiglanz (20. Jan 2006)

vergiss den ganzen schwachsinn (J2EE, Spring, Shale) mal vorläufig

ant brauchst du auf jeden fall, also unbedingt lernen

programmier kleine minimale apps mit JSP

dann versuch dich an Servlets

dann lern JDBC auf die harte Tour

das alles brauchst du sowieso UNBEDINGT

alle Frameworks (Struts, Shale, JSF, WebWork) sind nur ein Versuch, den Aufwand zum Erstellen einer JSP/Servletbasierten
Webanwendung zu vermindern - aber man kann das nicht lernen ohne vorher die Basics zu beherrschen

erst wenn du den technischen "Unterbau" einigermassen draufhast (üben üben üben) kannst du

-> mit Struts arbeiten

-> wenn du hinreichend verstanden hast, wie ein Webcontainer (z.B. Tomcat) arbeitet, kannst du versuchen in den Komplex JavaEE einzusteigen

Vergeude nicht deine Zeit damit, das "Lernen" zu wollen wie aus einem Schulbuch. 



> Würde mich über ein paar Klarstellungen freuen


Das geht nicht. JavaEE ist einfach zu riesig, und jeder der Teile

Persistenz
Transaktionen
Messaging

würde einen haufen Geschwafel erfordern, von dem du in deiner Situation erst mal nix hast...

aber mal zum Webteil:

Die Servlet/JSP APIs sind ein (kleiner) Teil des ganzen J2EE APIs

Es gibt Container (Tomcat, Jetty) die NUR diesen Teil bereitstellen und alles andere "weglassen"

Struts Shale Spring haben NICHTS mit der ganzen Sache zu tun, das sind nur HELFER! Und die
kann man leider nicht in Anspruch nehmen, wenn man nicht weiss, wobei man Hilfe braucht...


----------



## miketech (21. Jan 2006)

Hi,

zunächst Danke für die Antwort. Nun ist mir die Rolle von Spring, Struts und Co schon etwas klarer. Wo werden JEE Anwendungen eigentlich eingesetzt? Im Grunde ist doch jede Webanwendung in Java eine JEE Anwendung, oder? Oder wird das primär in Intranet-Lösungen verwendet? Lohnen sich denn auch kleinere Anwendung mit JEE, oder ist das nur was für wirklich große Brummer, wie z.B. ebay und Co? 

Dann werde ich mal versuchen mich Stück und Stück vorzutasten. Ist echt Wahnsinn, was es da alles gibt *g*

Gruß

Mike


----------



## Bleiglanz (22. Jan 2006)

>>Wo werden JEE Anwendungen eigentlich eingesetzt? 

Im Enterprise  oder auf gut Deutsch: "in Firmen". Einsetzen kann man es überall, aber die ursprüngliche Zielgruppe waren eher "grosse Unternehmen", in denen es Bedarf für verteilte Transaktionen, Messaging usw. gibt

Wegen des Overheads und der doch nicht ganz einfachen Handhabung ist eine "echte" J2EE Anwendung für kleine schnelle Projekte ungeeignet

>>Im Grunde ist doch jede Webanwendung
>>in Java eine JEE Anwendung, oder?

Ja ganz genau. Allerdings gibts da ein bischen newspeak, viele Chief Enterprise Information Architects würden sagen, dass eine "J2EE Anwendung" immer auch EJBs benutzt

rein sprachliches Gedöns, ausserdem weiss eh keiner mehr welchen Namen das Kind gerade hat: J2EE JEE Java EE oder was auch immer

>>Oder wird das primär in Intranet-Lösungen verwendet?

kann man nicht so sagen

>>Lohnen sich denn auch kleinere Anwendung mit JEE,
>>oder ist das nur was für wirklich große Brummer, wie z.B. ebay 

ebay ist wohl die falsche Messlatte

für ein popeliges Gästebuch ists Overkill

normale Webanwendung (wie z.B. dieses Forum) könnte man mit J2EE realisieren, allerdings mit vielen Nachteilen verbunden (Overhead, Maintanance)

gedacht eher für die Firma "Huber Enterprises" (500 Mitarbeiter), die ein Programm braucht, das auf zwei verschiedene Datenbanken zugreifen muss und das an eine dritte Applikation "Nachrichten" verschicken soll (so in der Art...)


----------

