# Web-Architektur



## Foermchen82 (28. Sep 2011)

Hallo zusammen,

ich baue mir gerade eine AJAX Webanwendung. Diese besteht aus 3 Schichten:

Webserver, Logik-Server, Datenbank.

Meine Idee war jetzt, dass der Web-Server die LogIns der User verwaltet. Die Verbindung zwischen Webserver und Logik-Server soll mittels einer RMI Verbindung geschehen.

Meine Frage ist jetzt: Ist es Sinnvoll, dass alle Angemeldeten User sich quasi eine RMI-Verbindung zum Logik-Server teilen?
Wie sehe ein alternatives Konzept aus?

Danke für eure Vorschläge


----------



## TheDarkRose (28. Sep 2011)

Stichwort JAAS. Das erledigt alles für dich im Hintergrund.


----------



## Foermchen82 (28. Sep 2011)

Die Verbindung zwischen Webserver und LogikServer benötigt keine zusätzliche Autentifizierung. Was soll mit also JAAS da bringen?

Mir geht es primär darum, ob durch die Architektur eine Bottleneck entstehn kann, und wie eine alternative Architektur aussehen kann!


----------



## TheDarkRose (28. Sep 2011)

Wie wärs mit einer normalen Jave EE Architektur mit Application Server, EJB's, JSF oder beliebig anderen Webframeworks, wo auch dann JAAS problemlos geht. Was eigenes zusammenschustern ist völliger Schwachsinn.

Und JAAS ist leider ein komplexes Thema und ich glaube du hast in diesem Fall was falsch verstanden. Der Webteil benutzt JAAS zur Authentifizierung der User und reicht höchstens den Pricinipal an den Logikteil weiter.


----------



## maki (28. Sep 2011)

TheDarkRose hat gesagt.:


> Wie wärs mit einer normalen Jave EE Architektur mit Application Server, EJB's, JSF oder beliebig anderen Webframeworks, wo auch dann JAAS problemlos geht. Was eigenes zusammenschustern ist völliger Schwachsinn.


:toll:


----------



## Foermchen82 (28. Sep 2011)

@TheDarkRose Ich glaube du hast mich nicht richtig verstanden.

Mit geht es nicht um die Authentifizierung. Meine Frage ist, ob es sinnvoller ist, dass es nur einen Verbindungskanal zwischen Webserver und LogikServer gibt oder ob es für jeden User einen geben sollte.


----------



## TheDarkRose (28. Sep 2011)

Solange wir nicht konrekt die Anwendungen und welche Technologien du verwendest nennst, können wir dir nicht helfen.


----------



## Foermchen82 (28. Sep 2011)

Als Web-Framework: GWT
Kommunikation zwischen Web-Server und Logik-Server: RMI
LogikServer: Spring-Beans
Persistance-Adapter: Hibernate

Was brauchst du noch an Infos?


----------



## TheDarkRose (28. Sep 2011)

Ähm, wenn du Spring verwendest, ist es irgendwie unsinnig Spring in einem extrigen getrennten Server laufen zu lassen, da soweit mir bekannt, ja Spring einen Webcontainer like Tomcat braucht. GWT und Spring gehört dann IMHO in das ein und das selbe Webprojekt und selben Server. Da braucht es keine extra zwischenkommunikation


----------



## Foermchen82 (28. Sep 2011)

Ich benutze Spring nicht auf dem Webserver sondern nur für die Steuerung der LogikServices und der Konfiguration des LogikServers.

Rein Architektonisch laufen der Webserver und der Logikserver halt auf verschiedenen Maschinen.


----------



## TheDarkRose (28. Sep 2011)

Naja, wie gesagt, ich kenne mich mit Spring nicht wirklich aus, aber warum willst du es zwanghaft trennen?


----------



## Foermchen82 (28. Sep 2011)

Das ist halt die Architekturvorgabe. Das liegt nicht in meiner macht


----------



## maki (28. Sep 2011)

GWT Kompiliert Java zu JavaScript und läuft dann direkt im Browser, teilweise zumindest, da muss man dann genau trennen was für den Client (Browser) gedacht ist, und was für den Server.

Ich frage mich, warum eigentlich RMI?
GWT hat ja seinen eigenen RPC Mechnismus, auch sollte man sich die Sache mit Spring überlegen, wenn Gin & Guice so schön mit GWT laufen... um nicht zu sagen Gin ist für GWT gedacht.


----------



## Foermchen82 (28. Sep 2011)

Die Kommunikation zwischen Browser und Web-Server ist nicht das Problem. die RPC funktionalität von GWT dient genau dafür.

Hat der Browser nun aber die Anfrage an den Webserver geschickt, besorgt dieser sich seine Daten über den LogikServer aus der Datenbank. Daher die trennung


----------



## TheDarkRose (28. Sep 2011)

Foermchen82 hat gesagt.:


> Das ist halt die Architekturvorgabe. Das liegt nicht in meiner macht



Warum dann nicht gleich ne große JavaEE Architektur?


----------



## Foermchen82 (28. Sep 2011)

Weil es nur um ein kleines Datenhaltungstool geht und der LogikServer schon vorhanden ist.


----------

