SOA Architekturen

Status
Nicht offen für weitere Antworten.

tecow

Grünschnabel
Hallo Community,

wie und wo soll ich nur anfangen. Am besten ich fange mit der Herausforderung, vor der ich stehe, an.

Unter anderem ist es meine Aufgabe aktuelle Technologien und Frameworks im Bezug auf eine SOA Architektur zu evaluieren. Aktuell existiert eine Webbasierte Javaapplikation (JSP und Javaklassen - keine Beans ;) ). Dies soll geändert werden. Die Hauptanforderung ist eine auf Schnittstellen basierende Architektur.

Die Software verfügt natürlich auch über eine GUI, hierfür habe ich aktuell Portlets im Auge, da ein Teil der Kunden dies als Anforderung definiert.
Eine auf Template/Skin/Themes basierende Applikation zu schreiben, ist weniger das Problem. Die Frage die ich mir stelle ist, wie kann ich den Ablauf der GUI pro Benutzer definieren. Ähnlich wie in JSF / Struts nur optional pro Benutzer.

Sprich Benutzer A sieht: "persönliche Daten eingeben" -> "Meldung ausgeben"
und
Benutzer B sieht: "Meldung ausgeben" -> "persönliche Daten eingeben"

Einzige was ich dazu finden konnte, waren Page- / Workflows. Wobei ich die Ideen und Lösungen von JBoss und Co. versucht habe zu testen aber nicht verstanden habe wie die im Gesamtkontext zu nutzen sind.

Nun zu den eigentlichen Fragen:

  1. Hat jemand praktische (sprich Markt-) Erfahrungen mit solchen Technologien
  2. Hat jemand Erfahrung mit Liferay und JBoss Portal, als Portletsystem? Macht es Sinn diese zu nutzen, wenn alle Portlets der Software eh selber geschrieben werden?
  3. Was ist jBPM und Co.? Wie setzt man diese Techniken als gesamtes ein?
  4. Gibt offene Lösungsansätze zur Kommunikation zwischen den Schnittstellen (z.B. SOAP) und dem "presentation layer"?
  5. Kennt jemand einige gute Portlet Tutorials um für die Evaluierung einen groben praktischen Überblick zu bekommen?

Klingt ein wenig verwirrt, aber bei der Fülle an Informationen zu diesem allg. Thema kein Wunder.

Danke für jede konstruktive und kompetente Antwort.

Gruß

Mike
 
Zuletzt bearbeitet:
tecow hat gesagt.:
Hallo Community,

wie und wo soll ich nur anfangen. Am besten ich fange mit der Herausforderung, vor der ich stehe, an.

Unter anderem ist es meine Aufgabe aktuelle Technologien und Frameworks im Bezug auf eine SOA Architektur zu evaluieren. Aktuell existiert eine Webbasierte Javaapplikation (JSP und Javaklassen - keine Beans ;) ). Dies soll geändert werden. Die Hauptanforderung ist eine auf Schnittstellen basierende Architektur.

Die Software verfügt natürlich auch über eine GUI, hierfür habe ich aktuell Portlets im Auge, da ein Teil der Kunden dies als Anforderung definiert.
Eine auf Template/Skin/Themes basierende Applikation zu schreiben, ist weniger das Problem. Die Frage die ich mir stelle ist, wie kann ich den Ablauf der GUI pro Benutzer definieren. Ähnlich wie in JSF / Struts nur optional pro Benutzer.

Sprich Benutzer A sieht: "persönliche Daten eingeben" -> "Meldung ausgeben"
und
Benutzer B sieht: "Meldung ausgeben" -> "persönliche Daten eingeben"

Einzige was ich dazu finden konnte, waren Page- / Workflows. Wobei ich die Ideen und Lösungen von JBoss und Co. versucht habe zu testen aber nicht verstanden habe wie die im Gesamtkontext zu nutzen sind.

Nun zu den eigentlichen Fragen:

  1. Hat jemand praktische (sprich Markt-) Erfahrungen mit solchen Technologien
  2. Hat jemand Erfahrung mit Liferay und JBoss Portal, als Portletsystem? Macht es Sinn diese zu nutzen, wenn alle Portlets der Software eh selber geschrieben werden?
  3. Was ist jBPM und Co.? Wie setzt man diese Techniken als gesamtes ein?
  4. Gibt offene Lösungsansätze zur Kommunikation zwischen den Schnittstellen (z.B. SOAP) und dem "presentation layer"?
  5. Kennt jemand einige gute Portlet Tutorials um für die Evaluierung einen groben praktischen Überblick zu bekommen?

Klingt ein wenig verwirrt, aber bei der Fülle an Informationen zu diesem allg. Thema kein Wunder.

Danke für jede konstruktive und kompetente Antwort.

Gruß

Mike
Herrzlichen Glückwunsch, da hast dir was vorgenommen :)

Template System: Du solltest dir Facelets anschaun. Ich bin sehr begeistert davon.

jBPM = Feine Granulierung des Workflows im Umgang mit Daten. Ähh das mit ein paar Worten zu erklären ist etwas schwer :)
Unter JBoss Seam findest du auch gute tutorials die einem das näher bringen.

Hat jemand Erfahrung mit Liferay und JBoss Portal, als Portletsystem? Macht es Sinn diese zu nutzen, wenn alle Portlets der Software eh selber geschrieben werden?
da wirst du von Thomas Darimont sicher eine umfassende Antwort finden. Da er sich erst letztends in Liferay reingefummelt hat, und ziemlich begeistert war.

Gibt offene Lösungsansätze zur Kommunikation zwischen den Schnittstellen (z.B. SOAP) und dem "presentation layer"?

Sehr interressant ist hier JBoss Seam, welches einem erlaubt das EJB Session Beans als JSF managed Beans angesprochen werden können. Damit hast du eine Nahtlose aber dennoch Komponenten Verbindung zwischen Middletier und Presentation Tier.
Setzt natürlich vorraus das ganze auf JEE 5 Basis zu packen und das ist zwar released aber die Application Server Provider ziehen da erst nach. Zudem ists ein bischen wie im wilden westen :) Doku momentan nur auf Englisch, die ersten Bücher sind noch in der Mache usw. Wen das nicht schreckt der kann nur gewinnen.

Hat jemand praktische (sprich Markt-) Erfahrungen mit solchen Technologien
ja ;)
aber nicht mit JEE 5 (zu neu).
 
Danke für die super Antwort :)

Das Thema an sich habe ich mir nicht ausgesucht, sondern ist eher die Chance die Herausforderung anzunehmen. :D

Was sind Facelets genau? Mit diesem Begriff kann ich nur JSF verbinden. Bisher haben wir JSF für den presentation tier gewählt, da Komponentenbasiert und wahrscheinlich eher zu erlernen als Tapestry.

Einige Beiträge von Thomas Darimont habe ich bereits gelesen gehabt und ich werde heute mal alle Beiträge von ihm studieren. Vielleicht finde ich noch einige Lösungsansätze oder Denkanstöße. :)

Der Vorschlag JBoss Seams anzuschauen ist super. Werde ich auch mit einbinden in die evaluierung. Aber die Idee besteht eher daraus keine direkte Kommunikation mit den EJB zuzulassen, sondern das ganze über eine Schnittstelle laufen zu lassen.
Sprich es wird ein Modul in Form einer Schnittstelle entwickelt und die eigentliche View benutzt die gleiche Schnittstelle wie alle anderen Schnittstellennutzer (z.B. Drittanbieter).

Wenn ich dieses Konzept als gegeben hinnehme stellt sich noch die letzte Frage, wie man den Workflow / Pageflow der View von Benutzer zu Benutzer unterschiedlich modellieren kann. Dies hat ja dann auch Auswirkung auf die anzusteuernden Schnittstellen. So bin ich eigentlich auf jBPM gestoßen - wobei ich jetzt vermute, dass ich hier falsch liege. :)
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück