PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was ist die J2EE genau und wann braucht man sie?


Gast
2007-04-29, 19:36:23
Hallo!

Ich bin seit einigen Jahren C++ Programmierer.

In der Zeit habe ich mich immer an Java vorbeigemogelt. Nun habe ich mich jedoch aufgrund von verfügbaren J2EE Projekten dazu entschieden, mich ein wenig einzuarbeiten.

Was ich bisher kannte und womit ich arbeitete waren ganz normale Javaanwendungen, welche man mit der Standardedition entwickeln konnte. ZB Konsolenanwendungen.

Mir war lange Zeit gar nicht von dieser Enterprise Edition und dessen Ausmaß bewusst.

Als ich mich entschloss, mich in die EE einzuarbeiten, habe ich erstmal in Wikipedia gelesen worum es dabei geht. Scheint ja ein extrem komplexes und vielschichtiges Ding zu sein.


Was ich verstanden habe (stimmt es so?):

- J2EE hat mit der J2SE nicht sonderlich viel zu tun und ist vor allem für Unternehmen gedacht. J2EE Systeme werden meist direkt auf Unternehmen zugeschnitten.
===> Gibt es also überhaupt J2EE Dinge, die auf jedem Rechner laufen?

- J2EE Komponenten benötigen diesen Application Server.

- Dieser enthält verschiedene Container. zB Ist er nötig, um auf einem Webserver Java Applets darstellen zu können (evtl. lieg ich hier auch voll falsch)

- Weiter enthält er einen Container für Enterprise Java Beans. Doch wo unterscheiden sich diese Enterprise JBs von normalen Java Beans? DIese kenne ich als ganz einfache Klassen, welche zB verwendet werden können, um in Applets Steuerelemente zu verwirklichen. Ich weiß hier gibts Entitiy Beans und Sessions Beans etc. Doch wozu diese Unterteilung? Von diesen habe ich nicht wirklich viel verstanden.

Mir scheint dieses gesamte J2EE System äußerst unflexibel und ich verstehe den wirklichen Sinn dahinter nicht. DAs macht es vermutlich auch so schwer für mich, zu verstehen, wie man damit arbeiten kann.

Vielleicht kann mir mal jemand ein wenig Licht ins Dunkel von J2EE bringen.
Wozu braucht man es? Wie wird es gebraucht? In Wikipedia ist alles nur äußerst theoretisch beschrieben ohne jegliche Praxisbeispiele... so kommt mir alles so extrem unflexibel vor... (hach wie schön C++ doch ist)

Viele Grüße!

SGT.Hawk
2007-04-29, 21:09:21
J2EE sind Modelle für Server, d.h es ist keine Implementierung.Erst mit konkreten Servern wie Tomcat werden diese Spezifikationen auch umgesetzt.z.B J2EE 1.4.Erste damit hat man eine API zum Programmieren, die getrennt von J2SE ist.

EcHo
2007-04-29, 21:59:48
JEE sind die Enterprise APIs.
(Ab Versionn 5 nur noch JEE genannt)
Sie besteht aus mehreren Tiers/Schichten auf der Serverseite.


Servlets:
Java-Klassen, die in einem Servlet-Container leben (z.b. Tomcat) leben und einen speziellen Lebenszyklus haben. Sie generieren meistens/oft was zum Klient geht. (HTML, WebService(SOAP))


EJB:
Dienen zur Repräsentation der Datenbank dahinter. EntityBeans sind z.B. die Zeilen einer Tabelle.
Statefull Session Beans / Und Stateless Session Beans kümmern sich als Controller und stellen die Operation zur Verfügung.

Der Vorteil ist: Um Peristence- und Transaktions-Management kümmert sich der Container. Auch Threading usw. wird von ihm übernommen. Der Programmierer muss sich fast nur um die Logik des Programms kümmern.

http://info.borland.com/techpubs/jbuilder/jbuilder2005/j2eeapps/images/j2ee.gif
http://www.software-kompetenz.de/servlet/is/26550/SchichtenModellTechnologieGross.png