Architektur einer Such-Webanwendung

Status
Nicht offen für weitere Antworten.

nEp

Aktives Mitglied
Hallo,

ich werde bald eine Suchanwendung via JSPs entwickeln, und hätte da eine Frage bezüglich der Aufteilung in Komponenten. Zur Suchanwendung selbst: Das wird so aussehen wie man es halt kennt: Eingabefeld für Suchterm, zusätzliche Suchoptionen, Auto-Suggest,Ergebnisliste und Blätterfunktion, etc... Standard halt.

Und zwar hatte ich die Idee, es grob so aufzuteilen, dass es folgende Komponenten gibt:
- HTML bzw. JSP-Komponente welche im Prinzip nur zur Darstellung des User Interfaces dient. Wenn der User eine Suchanfrage stellt, wird via AJAX ein Request mit den Suchparametern an die nächste Komponente gestellt, nämlich die...
- Business-Komponente welche vom Prinzip her als Servlet implementiert ist und mithilfe den übergebenen Suchparametern die eigentliche Suche ausführt und noch zusätzliche Suchlogiken implementiert. Die Ergebnisse werden als XML-Struktur in die Response geschrieben
- Die User Interface-Komponente verarbeitet das zurückgelieferte XML und transformiert dieses ins entsprechende HTML zur Darstellung des Suchergebnisses
- Für Auto-Suggest gibt es eine weitere Business-Komponente welche ebenfalls durch die User-Interface-Komponente via AJAX aufgerufen wird.

Natürlich werden nicht alle Suchergebnisse aufeinmal zurückgeliefert sondern immer nur eine bestimmte Anzahl, und wenn weitere Ergebnisse geliefert werden wird eben ein neuer AJAX-Request gestellt.

Was haltet ihr davon? Gibts da irgendwelche Fallstricke oder gravierende Dinge die ich übersehen habe? Oder ist das so generell eher nicht zu empfehlen? Würd mich über einige Anregungen etc. freuen...
 

JanHH

Top Contributor
Du kannst kaum das Ergebnis des Ajax-Requests mittels JSP auswerten und in HTML verwandeln, da JSP ebenfalls eine serverseitige Sache ist, der Ajax-Request aber clientseitig ausgewertet wird. Du müsstest also mittels javascript den response auswerten und in HTML verwandeln.

Kann sein dass ich das alles falsch verstehe, aber es klingt nach "warum einfach, wenns auch kompliziert geht". Warum nicht ein ganz normales Formular mit Eingabe-Elemeten, einen submit-Button, und ein Servlet, welches diesen Request entgegennimmt und auswertet? Ajax braucht man da eigentlich nur für das auto-suggest, welches meiner Meinung nach erstmal zweitrangig ist.

Viel interessanter an Such-Anwendungen ist ja eigentlich der Such-Algorithmus..
 

nEp

Aktives Mitglied
Hallo,

danke erst mal für das Feedback.

Du kannst kaum das Ergebnis des Ajax-Requests mittels JSP auswerten und in HTML verwandeln, da JSP ebenfalls eine serverseitige Sache ist, der Ajax-Request aber clientseitig ausgewertet wird. Du müsstest also mittels javascript den response auswerten und in HTML verwandeln.

Richtig, das würde ich auch so machen, d.h. das zurückgelieferte XML via Javascript in HTML transformieren. JSP deshalb weil es vielleicht trotzdem nötig ist hier noch irgendwelche Userdaten z.b. in ner Session abzulegen oder sonstige Funktionalitäten noch auszuführen.

Kann sein dass ich das alles falsch verstehe, aber es klingt nach "warum einfach, wenns auch kompliziert geht". Warum nicht ein ganz normales Formular mit Eingabe-Elemeten, einen submit-Button, und ein Servlet, welches diesen Request entgegennimmt und auswertet? Ajax braucht man da eigentlich nur für das auto-suggest, welches meiner Meinung nach erstmal zweitrangig ist.
Prinzipiell funktioniert es auch so, nur dass eben die Daten via AJAX an das Servlet übergeben werden und nachher ausgewertet werden. Dadurch müsste man halt immer nur die Ergebnisliste aktualisieren und nicht die komplette Page. Ich glaube prinzipiell funktioniert auch die Google-Suche mittlerweile so, oder hab ich mich da vertan?
Für mich stellt sich halt die Frage ob ich mir damit nicht doch irgendwelche Probleme einhandle die ich so momentan gar nicht sehe...
 
Zuletzt bearbeitet:

JanHH

Top Contributor
Ein Problem auf jeden Fall: Es funktioniert nur, wenn im Browser javascript aktiviert ist.
 

nEp

Aktives Mitglied
Ja, wobei das keinerlei Probleme bereitet, da diese Suchanwendung in einem Intranet abläuft mit fest vordefinierten Softwarekonfigurationen und JavaScript auf jeden Fall aktiviert ist.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N JSF Architektur/Design einer JEE 6 + JSF 2.x Webanwendung mit Subdomänen Web Tier 4
F Prinzipielle Architektur einer Web-Anwendung Web Tier 4
T Model2-Architektur Servlets Web Tier 0
T Unterschied Tier3-Architektur und MVC-Entwurfsmuster Web Tier 1
F Web-Architektur Web Tier 15
S Architektur-Problem? 2 Servlets, ein Objekt 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