Prinzipielle Architektur einer Web-Anwendung

Foermchen82

Top Contributor
Hallo zusammen,

meine (doch etwas zurück liegenden) Erfahrungen sagen mir, dass komplexe Webanwendung immer aus X-Webseiten besteht, die durch Links miteinander Verbunden sind.

Meine Frage ist jetzt: Ist das heute auch noch so? Muss man, wenn man z.b. verschiedene Ansichten braucht (Tabellen mit unterschiedlichen Spaltenanzahlen und Zeilenanzahlen oder Ähnlichem), für jede Ansicht eine extra Seite bauen?
Order gibt es durch Ajax und diverse Frameworks hier alternativen?

Meine Frage kommt daher, dass ich öfter auf Webseiten treffe (z.b. BankPortale, oder auch Amazon), bei denen ich in der URL sehen kann, dass sich die eigentliche Seite nicht ändert. Lediglich ein paar Parameter ändern sich. Scheinbar erzeugen die den Content der HTML-Seite komplett dynamisch. Wie geht das?

Danke im Voraus!
 

robertpic71

Bekanntes Mitglied
Mittlerweile gibt es schon einige Ajax-Frameworks für Java, allerdings mit unterschiedlichen Ansetzen. Also z.b. diverse Zusätze (wie z.B. IceFaces für JSF), Javascript-Bibliotheken zur Seiteneinbindung, welche von Java nur mit Daten gefüttert werden (z.B. jQuery) oder komplett neue UI-Modelle, welche Desktop-Widgets (und -Handling) für das Web abbilden (ZK, GWT...).

Die Wahl des Frameworks hängt natürlich von den Anforderungen (z.B. bestehnde Webseite z.B. JSP anreichern, Desktopapplikation ins Web portieren...) und vom Vorwissen ab.

Da ich im Moment hautsächlich mit ZK arbeite (daneben etwas GWT und jQuery für andere Projekte) beschreibe ich die restlichen Fragen aus der Sicht eines ZK-Entwicklers:

...komplexe Webanwendung immer aus X-Webseiten besteht..Meine Frage ist jetzt: Ist das heute auch noch so?
Ich praktiziere das mit ZK auch noch so. Dialog/Seite (GUI) <> Controller <> Modelschicht ABER! Ich habe die Wahl ob ich wirklich zur einer neue Browserseite wechlse oder die Seite einfach dazulade.

Bespiel:
Liste von Kunden, in der Liste gibt es die Möglichkeit den Kunden zur Änderung markieren
klassiche Webappliakation --> Wechsel zur einer neuen Seite um die Kundendaten ändern zu können
Ajax/ZK --> wie in einer Desktopapplikation geht ein Window für die Kundendaten auf --> ich verlasse die Seite nicht

Je nach Aufbau der Applikation, kann man die Startseite als Desktop verwenden und nie die Seite verlassen.

Muss man, wenn man z.b. verschiedene Ansichten braucht (Tabellen mit unterschiedlichen Spaltenanzahlen und Zeilenanzahlen oder Ähnlichem), für jede Ansicht eine extra Seite bauen?
Order gibt es durch Ajax und diverse Frameworks hier alternativen?
Durch Componenten (z.b. Listbox) die sich (auch) komplett in Java zusammenbauen lassen, kann man komplett generische Funktionen z.B. "JDBC-Resultset anzeigen" erzeugen. Auch gibt es sehr mächtige UI-Componenten, z.B. errechnet die Listbox bei ZK automatisch die Seitengröße für das Paging aufgrund der Höhe im Browserfenster. Außerdem lassen sich die Spalten ein- und ausblenden usw.

Außerdem habe ich manchmal unterschiedliche Seiten für den praktisch gleichen Inhalt z.B. vereinfachte Seite für Mobil, anderes Design für andere Firmengruppe usw. In vielen Fällen läßt sich der gleiche Controller (und natürlich auch die gleich Serviceschicht) für die Seiten verwenden.


Ein Nachteil (zu Ajax) muss aber noch erwähnt werden: Bei klassichen Webapplikationen ergibt sich die Historie (bzw. auch das Vor- und Zurück) durch das die neuen Url's bzw. Seiten. Bei partiellen Seitenupdates ändert sich die Url nicht, d.h. kein vor- und zurück, kein genauer Bookmark). Diese Funktionalität muss bei Ajax "von hand" dazugemacht werden. In der Regel werden (wenn überhaupt) die Zustände von Ajax über das Anchor (#) gesteuert.

Anmerkung: Amazon hat, soweit ich gesehen habe, einen klassichen Aufbau seiner Seiten und ein paar Ajax-Upgrades z.B. Autosuggest, Detailbildanzeige und einzelnen Buttons.
 

brauner1990

Bekanntes Mitglied
Als Frameworks für die Client-Seite kenne ich jQuery, Dojo als Vermittlung bei einer JSP z.B. kann man Struts2 nutzen, ob das auch in JSF funktioniert weiß ich nicht. Ich benutze z.B. eine Kombination aus allem 4. Ich benutze Struts für die Verarbeitung in Java und die Darstellung auf der JSP. Als Verbindung zu Dojo gibt es ein Struts2DojoFramework. Dies kommt aber mit Dojo normal in Konflikt, aber aus einem unerpfindlichen Grund....deswegen nutze ich auf der Client-Side jQuery.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Model2-Architektur Servlets Web Tier 0
T Unterschied Tier3-Architektur und MVC-Entwurfsmuster Web Tier 1
N JSF Architektur/Design einer JEE 6 + JSF 2.x Webanwendung mit Subdomänen Web Tier 4
F Web-Architektur Web Tier 15
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
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