JSF Architektur/Design einer JEE 6 + JSF 2.x Webanwendung mit Subdomänen

Kann mir einer von euch bitte erläutern, wie man eine solche JEE 6 Webanwendung mit JSF 2.x Frontend technisch -- insbes. auf Servlet-Ebene -- hinbekommt?

Die Anwendung soll
  • eine gewöhnliche Hauptdomäne [www.acme.org] mit allgem. Infos verwalten können und darüber hinaus
  • N weitere Subdomänen [sd1.acme.org, sd2.acme.org, usw.; oder auch www.acme.org/sd1/, etc.] dynamisch registrieren können, über eine Funktion in der Hauptdomäne.
  • Jede Subdomäne ist für sich isoliert und abgesichert, hat also eigene Sicherheitsrichtlinien (Access Control).

Die Hauptfrage ist nun:
Wie muss ich das eine Frontend-FacesServlet (oder gar mehrere Servlets(?)) konfigurieren, damit die Anfragen/Antworten korrekt und abgesichert zw. Client und der Ziel-Subdomäne vermittelt werden?

Etwas aufgeschlüsselter wären dies die unklaren Aspekte:
  • Wie sind die vermittelnden Steuerungskomponenten (Servlets) organisiert?
  • Wie ermittelt das Front-Servlet die untergeordnete Steuerungskomponente der Subdomäne und erhält eine Referenz darauf? -- Sicherlich über einen Eintrag im ApplicationScope, oder?
  • Was leistet die Steuerungskomponente der Subdomäne im allgemeinen? -- D.h., an welcher Stelle wird die Authentifizierung und Autorisierung für die Subdomäne gewährleistet?
Für eine Erläuterung, Tipps oder Links zu einem solchen Beispiel wäre ich euch sehr dankbar.
Viele Grüße, Natalia
 
N

nillehammer

Gast
N weitere Subdomänen [sd1.acme.org, sd2.acme.org, usw.; oder auch www.acme.org/sd1/, etc.] dynamisch registrieren können, über eine Funktion in der Hauptdomäne.
Das wäre ein Fall fürVvirtual Hosts entweder direkt im Webcontainer oder mit vorgelagertem Apache-Httpd. Das würde eine Isolierung sicherstellen. Allerdings ist das nicht recht dynamisch, weil es konfiguriert wird.
 
Hallo zusammen und Danke für die schnelle Antworten!

Eigentlich soll es eine Std.-JavaEE-Anw. mit Servlets, JSFs und EJBs od. POJOs werden -- zumal ich mich erst gerade mit JavaEE beschäftige und Portal-Technologien u.ä. für mich noch "ganz weit weg" sind. Auch habe ich den Eindruck, dass meine Frage etwas komplizierter rüberkam als gedacht.

Eigentlich soll die Anw. möglichst einfach gestrickt sein, mit -- zur Veranschaulichung -- den folgenden URLs:


  1. www.acme.org/app/
    www.acme.org/app/index.jsf
    www.acme.org/app/provider-registration.jsf
    www.acme.org/app/login.jsf

  2. www.acme.org/app/providerN/admin-console.jsf
    www.acme.org/app/providerN/login.jsf , service-catalog.jsf , pageXYZ.jsf, ...
wobei (1) die a priori bekannten Hauptanwendungs-URLs sind (statische URLs) und (2) die provider-spezifischen URLs, deren relative Pfadteile (bis auf ggf. 'login' u. 'index') erst zur Laufzeit bekannt werden (dyn. URLs), weil jeder Provider sowohl seinen ContextPath (providerN) als auch seine Seitennamen selber benennen können soll. Somit sind für 2 versch. Provider auch versch. Schemas möglich, à la:


Momentan sehe ich 2 denkbare Lösungsansätze:
  1. Eine Webanwendung: Nur 1 FacesServlet, statisch konfiguriert auf ContextPath "www.acme.org/app/", der alle Anfragen erhält und anhand des Provider-URL-Teils (Subdomänen-Bezeichner) die Anfrage an die interne Steuerungs-Komponente dieser Subdomäre delegiert.
  2. Mehrere Webanwendungen: Eine Hauptanw. mit dem obigen einen FacesServlet für "www.acme.org/app/", der jetzt nur noch die (De-)Registrierung der Provider übernimmt UND pro Provider zusätzlich 1 FacesServlet (eigentlich vorbereitete WebAnwendung (im Default-Zustand)) beim AppServer *dynamisch* installiert (soll ja ab Servlet 3.0 ja möglich sein).
Beide Ansätze müssten eine Login-Funktionalität anbieten und für die Sicherheitsrichtlinien selber sorgen, d.h. ein vorkonfigurierter container-basierter Sicherheitsmechanismus wäre bei (1) gar nicht möglich und bei (2) ggf. nur beim dynamischen Deployen der Sub-Anwendungen, wenn der Provider bei der Provider-Registrierung die eigenen Sicherheitsrollen spezifiziert. Oder sehe ich das alles falsch?!?

Im Augenblick macht auf mich der Lösungsansatz 1 den "natürlicheren" Eindruck. Was meint ihr?

Für jede Hilfe vielen vielen Dank im Voraus.
Natalia
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Model2-Architektur Servlets Web Tier 0
T Unterschied Tier3-Architektur und MVC-Entwurfsmuster Web Tier 1
F Web-Architektur Web Tier 15
F Prinzipielle Architektur einer Web-Anwendung Web Tier 4
S Architektur-Problem? 2 Servlets, ein Objekt Web Tier 4
N Architektur einer Such-Webanwendung Web Tier 4
O MVC Architektur - grundlegendes Verständnis Web Tier 13
Todesbote Servlet MVC Design Pattern Web Tier 1
L java.io.NotSerializableException für domain Objekte - Design Problem? Web Tier 12
M Design-Frage: JSP, Servlets und CSS Web Tier 11
M In einer HTML Tabelle positionieren Web Tier 4
I Daten einer Datenbank in ein Formular einfügen Web Tier 3
N RequestDispatcher: include-Aufruf einer jsp scheitert nach mehreren forward-Aufrufen Web Tier 1
Shams Problem mit der verwirklichung einer Readmethode in einer Chatapplikation Web Tier 3
F JSF Popup mit einer Checkbox Auswahlliste Web Tier 1
S Rendern einer Komponente nach actionListener Web Tier 2
A Aufruf eines Servlets auf einer JSP Seite funktioniert nicht Web Tier 10
M JSF JSP, Facelets und einbinden einer js-Datei Web Tier 2
J JSF Initialisierung einer ApplicationScoped Bean Web Tier 2
J Anzeige einer Hierarchie Web Tier 5
M Exception beim Erstellen einer Query Web Tier 9
J Performance einer Webanwendung Web Tier 2
V JSF Rendering abhängig von einer Auswahl Web Tier 8
P JSF Merkwürdiges Verhalten einer Bean Web Tier 11
S Auswahl eine Zeile von einer HTML Tabelle im Servlet Web Tier 4
X JSP Auslesen der Daten einer Session Web Tier 3
J Servlet Manuelles Rendern einer JSF Datei Web Tier 4
1 JSP Mit Daten einer c:forEach Rechnen ? Web Tier 4
H Seiten-reload als Result einer Action Web Tier 3
N Wie mache ich in einer xhtml (JSF) einen redirect? Web Tier 3
A [JSF 2.0] Ausgabe aus Schleife bzw. einer ArrayList Web Tier 9
E Servlet zum speichern einer Datei in einer Datenbank Web Tier 3
K Analye einer Seite (Java, JSP, ...) Web Tier 12
I Automatische Weiterleitung JSF mit Aufruf einer Methode Web Tier 2
O Focus auf Textfeld, in letzter Reihe einer dataTable Web Tier 2
M Frage zur Konfiguration einer RichFaces DataTable Web Tier 4
I Eine Bean von einer anderen Bean aufrufen Web Tier 2
C PanelGrid aus einer Liste Web Tier 3
J JSF: Initialisieren einer Property mit Wert? Web Tier 5
P Struts2 - Mehrere Methoden/Actions in einer Klasse + Validation Web Tier 2
S Attribute einer HttpSession / unchecked cast Web Tier 8
Schandro JSP soll dynamische Anzahl an Parametern einer JavaScript-Function erzeugen Web Tier 8
E Methode einer Bean aus anderer Bean aufrufen Web Tier 10
F Redirect nach Aufruf einer JSP Web Tier 5
O struts - Gültigkeit einer Action an Session binden?! Web Tier 4
C navigation auf einer jsp Seite Web Tier 3
pusteblume Mehrere Objekte einer Bean Web Tier 10
D JSF+Weiterleitung zu einer Login-Page Web Tier 1
F Darstellung einer Tabelle mit JSP Web Tier 4
F Beim Aufruf von einer JSF Seite eine Methode ausführen Web Tier 9

Ähnliche Java Themen

Neue Themen


Oben