Anfängerfragen J2EE

Status
Nicht offen für weitere Antworten.

McTrevor

Mitglied
Irgendwie finde ich im Netz keine konkreten Antworten zu meinen Fragen nur so Wischi-Waschi-Aussagen... Hier also die Fragen:

  1. Kann jemand mal kurz und knapp erklären, wie die Skalierung bei J2EE funktioniert? Wie läuft das in der Praxis ab? Für mich ist hierbei die Skalierung über mehrere Rechner interessant. Nicht einfach den Rechner durch einen dickeren zu ersetzen (das macht wohl jedes Programm schneller :roll: ).
  2. Gibt es Application Server, die verteilt auf mehreren Rechnern laufen können? Wenn nicht, dann endet die Skalierbarkeit doch bei einem System, oder nicht?
  3. Braucht ein J2EE-Server eigentlich eine JRE um zu laufen? Oder gibt es da Unterschiede bei den verschiedenen Implementierungen?
  4. Wieviel/was muss geändert werden um eine normale Java-Anwendung auf einem Apllication-Server laufen zu lassen?
  5. Auf einem Application-Server laufende Anwendungen müssen doch multithreaded programmiert sein, um zu skalieren, wenn man die Anzahl der Maschinen erhöht. Wobei Threads wohl eher schlecht auf verteilten Systemen laufen, immerhin teilen sie sich den Speicherbereich mit ihrem Vaterprozess. Muss eine skalierende Anwendung also aus mehreren Prozessen statt aus mehreren Threads bestehen? Oder verbirgt der Application-Server komplett die Existenz des Clusters auf dem er läuft (falls das überhaupt geht) und stellt sich der Anwendung als ein (kompaktes) System dar und verteilt selbstständig die Threads je nach Last auf die einzelnen Hosts?

Ich freue mich auf die Antworten, die da kommen mögen, damit ich das endlich mal ralle.

Bis dann denn!

McTrevor
 

hannes.de

Neues Mitglied
Hallo,

auf ein paar von deinen Fragen kann ich dir schon Antworten geben.

Beim Tomcat-Server ist es tatsächlich möglich, dass dieser auf mehreren Rechner läuft. Ein sogenanntes Cluster.
Threads können natürlich auf einen anderen Rechner übertragen werden. Jeder hat seine eigenen Threads.

In der Regel wirst du einen Loadbalancer vor deinem Cluster setzen. Anfragen vom gleichen Client, sollten auch vom gleichen Server behandelt werden, wenn Daten zwischen gespeichert werden müssen. Dieser Punkt ist wohl etwas schwieriger, weil es hier darum geht den Loadbalancer entsprechend zu konfigurieren. Hier fehlt mir die Praxis.

Um eine J2EE Anwendung zum Laufen zu bringen, brauchst du natürlich eine Java-Umgebung. ???:L

> Wieviel/was muss geändert werden um eine normale Java-Anwendung auf einem Apllication-Server laufen zu lassen?
Das hängt davon ab, welchen Application-Server du nutzen möchtest. Wenn du J2EE mit EJB nutzen möchtest, gibt es da einiges zu tun.
Ansonsten gibt es genügend andere Frameworks (z.B. Spring), wo sich das ein bisschen in Grenzen hält.

Hoffe, ich konnte dir ein bisschen helfen.

Hannes
 

McTrevor

Mitglied
hannes.de hat gesagt.:
Hallo,

auf ein paar von deinen Fragen kann ich dir schon Antworten geben.

Danke schonmal dafür! :toll:

Beim Tomcat-Server ist es tatsächlich möglich, dass dieser auf mehreren Rechner läuft. Ein sogenanntes Cluster.
Threads können natürlich auf einen anderen Rechner übertragen werden. Jeder hat seine eigenen Threads.

Um eine J2EE Anwendung zum Laufen zu bringen, brauchst du natürlich eine Java-Umgebung. ???:L

Ja wie nu? Wenn der Application-Server in einer JVM läuft, damm muss doch defacto die JVM verteilt auf mehreren Rechnern laufen, damit der Tomcat verteilt laufen kann? Also kann es in dem Fall doch jeder J2EE-Server oder keiner, oder nicht?

In der Regel wirst du einen Loadbalancer vor deinem Cluster setzen. Anfragen vom gleichen Client, sollten auch vom gleichen Server behandelt werden, wenn Daten zwischen gespeichert werden müssen. Dieser Punkt ist wohl etwas schwieriger, weil es hier darum geht den Loadbalancer entsprechend zu konfigurieren. Hier fehlt mir die Praxis.

Praktischerweise wird das zu entwickelnde Programm keine Clients benötigen. Die Überlegung, J2EE zu nutzen, rührt allein von der Performance (Skalierbarkeit her). Darum möchte ich vorher ausloten, wie das faktisch aussieht. Das Schlagwort "Skalierbarkeit" liest man an jeder Stelle, aber sobald man es was konkreter möchte, wird es dunkel.

> Wieviel/was muss geändert werden um eine normale Java-Anwendung auf einem Apllication-Server laufen zu lassen?
Das hängt davon ab, welchen Application-Server du nutzen möchtest. Wenn du J2EE mit EJB nutzen möchtest, gibt es da einiges zu tun.
Ansonsten gibt es genügend andere Frameworks (z.B. Spring), wo sich das ein bisschen in Grenzen hält.

Hoffe, ich konnte dir ein bisschen helfen.

Hannes

Ja danke, das war schonmal ein Anfang. Andere Meinungen sind aber auch noch willkommen! :wink:

Bis dann denn!

McTrevor
 

Ralf Ueberfuhr

Bekanntes Mitglied
Zum Clustern:
Die VM-Threads laufen lokal, also auf jedem Rechner einer. Es laufen auch die Instanzen der Application Server auf den verschiedenen Rechnern. Ein Cluster ist nur ein Zusammenspiel mehrerer Application Server, reguliert durch Load Balancer. Diese können auch - wenn gewünscht - Sessiondaten austauschen. Wenn dann eine Anfrage ankommt, wird diese auf einen der Server verteilt.

Grundsätzlich:
Wenn du keine Clients hast, dann brauchst du auch kein J2EE. Was macht das für einen Sinn?
 

McTrevor

Mitglied
Die Aufgabe besteht darin, in Java ein Programm zu schreiben, daß Dateien analysiert, um wandelt und umherschiebt. Da das erwartete Arbeitsvolumen von moderat bis gewaltig schwankt, muss die Geschichte skalierbar über mehrere Systeme sein. Ausfallsicherheit (Hot-Standby evtl.) ist auch gefordert.

Wenn ein J2EE-Server dafür nicht geeignet ist, wie würde man sowas dann in Java umsetzen?

Bis dann denn!

McTrevor
 
G

Gast

Gast
Dann nimmst du einen JMS-Server, (JMS ist Teil von J2EE), behandelst die Datenmengen dort asynchron in Form von Warteschlangen. Es gibt eigene JMS-Server (z.B. JBoss oder WebSphere MQ), die ebenfalls in Clustern laufen können.
 

Czapie

Mitglied
Hallo,

vllt. sollte man dazu erstmal klären, für was ein Applikation-Server überhaupt da ist.

Meiner Ansicht nach ist ein App-Server (egal welche zugrundeliegende Technologie) ein Mittel,
um Geschäftslogik auszulagern bzw. an einem zentralen Punkt zu halten.

Aber, brauchst du überhaupt eine Auslagerung deiner Geschäftslogik aus deiner
Software? Oder brauchst du eigentlich nur sehr viel Rechenleistung, aber willst / kannst
nicht auf entsprechende Hochleistungsrechner zugreifen, und kommst daher auf die
Idee einer Verteilung der Last auf mehrere Rechner und damit auf einen App.-Server?
 

T0M

Mitglied
Hab auch eine Anfängerfrage zu JavaEE: Wo gehören Dateien rein, die ein Servlet zur Ausführung braucht, also z.B. eine Textdatei mit Konfigurationen? Zu den Class-Dateien des Servlets in WEB-INF (verwende TomCat)?
 

McTrevor

Mitglied
Und die JMS-Server laufen auch auf Clustern von mehreren Rechnern und skalieren dort gut? Das Programm soll ja in mehreren Umgebungen gleichzeitig eingesetzt werden und sollte darum möglichst ohne weitere Anpassungen gut skalieren.

Also ist die zu behandelnde Aufgabe ohne J2EE zu lösen, wenn man auf einen (StandAlone-)JMS-Server zurückgreift?

Worin liegt hier der Vorteil gegenüber einer Lösung, bei der man RMI nutzt und mehrere Server in der Registry einträgt, die die Aufträge abarbeiten? Ist es überhaupt möglich, sowas mit RMI zu realisieren?

Bis dann denn!

McTrevor

p.s.: Danke schonmal für die bisherige Hilfe.
 

McTrevor

Mitglied
Wo ist jetzt genau das Problem? Ob die Aufträge jetzt in der JMS-Queue landen oder von mir per RMI in entfernte Queues gepackt werden, die dort von Threads abgearbeitet werden, macht doch keinen großen Unterschied, oder?

Bis dann denn!

McTrevor
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
4a61766120617274697374 Managed Server im J2EE Umfeld Allgemeines EE 0
R DotNet für J2EE Programmierer Allgemeines EE 1
BuckRogers Jboss 7** und j2ee 1.7 Allgemeines EE 1
T Einstieg in J2EE: Remote auf Bean zugreifen Allgemeines EE 11
T The server does not support version 3.0 of the J2EE Web module specification. Allgemeines EE 6
M Messwertarchiv unter J2EE Allgemeines EE 4
S J2EE Grundlagen - Kommunikation Allgemeines EE 6
K J2EE Grundlagen - Verständnisfragen Allgemeines EE 2
G J2EE Architektur Allgemeines EE 40
T J2EE, MySQL, Linux, Applikationsverfügbarkeit mangelhaft, Analyse Allgemeines EE 2
ModellbahnerTT Welche J2EE Buch? Allgemeines EE 4
W Daten mit j2ee aus datenbank abfragen Allgemeines EE 8
S J2EE Architektur/Pattern/... Allgemeines EE 11
G Persistenz mit Hibernate oder J2EE? Allgemeines EE 11
T E-Mail in J2EE Plattform Allgemeines EE 6
R Sourcen einbinden von J2EE bzw auch für Servlets in Eclipse Allgemeines EE 8
M J2EE beim SCJA Allgemeines EE 4
B J2EE Frage Allgemeines EE 4
R Tutorial für J2EE Allgemeines EE 3
T J2EE Einstieg - Mit was? Allgemeines EE 7
K J2EE Security - A JSF based Login Form Allgemeines EE 7
J Rechnername auf dem eine J2EE läuft Allgemeines EE 10
G Suche Tutorials/Bücher - J2EE Allgemeines EE 5
A Wie werden Template Engines unter J2EE umgesetzt? Allgemeines EE 3
S JSF mit Eclipse J2EE Allgemeines EE 6
G grundlegendes j2ee verständniss Allgemeines EE 6
P Basissystem für J2EE App Allgemeines EE 5
ARadauer aus j2se anwendung auf j2ee elemente zugreifen Allgemeines EE 2
T Probleme beim Einsatz von J2EE / JBoss Allgemeines EE 4
G J2SE vs J2EE Allgemeines EE 4
X J2EE Anfängerfrage ( JSF / EJB 3.0 Tutorial) Allgemeines EE 1
S Anfängerfrage zu J2EE Allgemeines EE 2
B Wozu J2EE ? Allgemeines EE 2
M J2EE Entwicklung mit Eclipse Allgemeines EE 5
M Brauche ich J2EE ? Allgemeines EE 2
E J2EE unter Eclipse Allgemeines EE 6
L jsdk oder j2ee Allgemeines EE 5
K Design einer J2EE applikation? Allgemeines EE 2
G j2ee eclipse bekanntmachen Allgemeines EE 4
G properties file im J2EE Server - wo wird genau gesucht? Allgemeines EE 6
M MVC in J2EE: mehrere JSPs über ein Servlet kontrollieren Allgemeines EE 7
M Wo finde ich den j2ee-source? Allgemeines EE 5
P J2EE Struts - Database connection failed - Hilfe?:( Allgemeines EE 6
P J2EE Struts Allgemeines EE 2
H Schnelleinstieg für J2EE Projekt? Allgemeines EE 5
B J2EE-App mit Netbeans4.1 Allgemeines EE 3
K J2EE WebAnwendung - Umfrage - Planung/Techniken Allgemeines EE 8
G Gute Bücher zu J2EE Allgemeines EE 5
A Kolloquium J2EE / Struts Allgemeines EE 16
S J2EE, Java - Beans, Datenbankzugriff, JSP Allgemeines EE 7
A Probleme mit J2EE und Tomcat Allgemeines EE 7
A Brauche ich J2EE für Beans? Allgemeines EE 9
S Servlets zum laufen bringen mit J2EE Allgemeines EE 3

Ähnliche Java Themen

Neue Themen


Oben