Pragmatic SOA - nur das Wesentliche

Die Seite wird erstellt Nicolas Jung
 
WEITER LESEN
Pragmatic SOA - nur das Wesentliche
SOA Praxis bei 1&1 SOA Center

Pragmatic SOA –
nur das Wesentliche
Das Kürzel „SOA“ hat seinen Weg in fast jeden entlegenen Winkel der Unterneh-
menswelt gefunden. Komplettpakete für Service-oriented Architecture gibt es
auf dem Markt inzwischen in großer Zahl. Leider wird das Architekturparadigma
SOA oft auf die vorwiegend eingesetzte Technologie reduziert, z. B. Web Service
oder Enterprise Service Bus. Darüber geraten leicht die eigentlichen Ziele und
die Komplexität einer SOA aus dem Blickfeld. Die Technologie sollte dafür nur
das Mittel zum Zweck sein. Abseits ausgetretener Pfade stellt dieser Artikel eine
pragmatische SOA-Lösung auf Basis von Open-Source-Software vor, die den
Grat zwischen der Komplexität einer spezifischen Servicelandschaft und den
harten Ansprüchen eines Unternehmensalltags gemeistert hat.

von Matthias Wittum, Dirk Schmid und Dr. Thomas Breitkopf

         ieser Beitrag befasst sich mit ei-   erung der Onlinewerbeabläufe auf den        ing“ – ein automatisiertes Einordnen
         ner leichtgewichtigen Lösung,        konzerneigenen Portalen (z. B. Web.         von Benutzern nach deren Affinitäten,
         die in einem Unternehmensbe-         de, GMX), entwickelt wurde. Zu diesen       um zielgruppenorientiert Werbung
reich der 1&1 Internet AG für die Steu-       Abläufen zählt z. B. das Produkt „Target-   aussteuern zu können. Die zentralen

www.JAXenter.de                                                                                             javamagazin 2|2010 91
Pragmatic SOA - nur das Wesentliche
SOA Center SOA Praxis bei 1&1

                                                                      Abb. 1:
                                                                      Executables
                                                                      und Sphären

                                                                             Abb. 2:
                                                                         Networklayer

           Anforderungen an die Steuerung dieses        tektur, spielt bei GEPPI eine zentrale       der Konsequenz, dass die Anbindung der
           verteilten Systems ist die einfache und      Rolle. Auf technischer Ebene wurde           Services auf jeder Zielmaschine durch ei-
           schnelle Einbindung bereits vorhande-        das durch eine völlige Entkopplung der       nen Agenten realisiert wird. Bildlich ge-
           ner und zukünftiger Funktionalitäten         Service-Consumer und -Provider von           sehen stecken wir die anzusprechenden
           als Service, als flexible Umsetzung der      der Technik der Kommunikation und            Softwareartefakte in eine Sphäre, wo sie
           Geschäftsprozesse sowie als Ausrich-         des Routings realisiert. Die vorhande-       die von ihnen benötigte Technologiewelt
           tung an der Organisation                                                                              vorfinden, während die Au-
           des Bereichs. Dazu wurde                                                                              ßenwelt – das verteilte System
           vor etwa drei Jahren das         Es wurde beschlossen eine Lö-                                        – hinter der Hülle für sie ver-
           Projekt „GEPPI“, die Be-                                                                              borgen bleibt (Abb. 1).
           zeichnung ist ein Akro-          sung auf Basis von frei verfüg-                                           Im GEPPI-Jargon spre-
           nym für „General Enter-                                                                               chen wir bei den Softwarear-
           prise Process and Planning       barer Software zu entwickeln.                                        tefakten von Executables,
           Infrastructure“, ins Leben                                                                            also ausführbaren Einheiten
           gerufen. Schnell wurde klar, dass mit den    ne Funktionalität lag in Form von Pro-       (Dreieck, Rechteck usw.), und bei den
           damals zur Verfügung stehenden SOA-          grammen oder Skripten in den unter-          Agenten von ExecutionUnits, den Sphä-
           Softwarekomponenten ein solches Sys-         schiedlichsten Sprachen vor (Java, C,        ren, die sich um die Kommunikation
           tem nicht ohne Weiteres zu realisieren       Perl, Python etc.). Bei den meisten dieser   nach außen und das Auftragsmanage-
           ist. Es wurde deshalb beschlossen, eine      Softwareartefakte handelt es sich um         ment kümmern (Kreise).
           Lösung auf Basis von frei verfügbarer        einen Batch-artigen Betrieb. Die Pro-             In der Praxis ist es naturgemäß nicht
           Software zu entwickeln, die genau diese      gramme oder Skripte werden beim Start        so trivial, wie sich das in einem schönen
           Anforderungen adressiert.                    mit Nutzdaten versorgt und bearbeiten        abstrakten Bild ausdrücken lässt. Als
                Die zu diesem Zeitpunkt bereits         diese gemäß vorgegebener Aufrufpara-         Architekturlösung für das Umsetzungs-
           bestehende Servicelandschaft war sehr        meter. Nach Abschluss der Verarbeitung       problem wurden im Sinne des Separati-
           heterogen und in unterschiedlichsten         liegen dann beispielsweise veredelte         on of Concerns Zuständigkeitsbereiche
           Softwaretechnologien auf diversen Be-        Nutzdaten als Ergebnis vor, die vom          identifiziert und abgegrenzt.
           triebssystemplattformen realisiert. Her-     nächsten Verarbeitungsschritt wieder              Wie in Abbildung 2 zu sehen, vermit-
           ausgekommen ist eine serviceorientierte      aufgegriffen werden können.                  telt die ExecutionUnit zwischen verteil-
           Architektur, die sich auf die Elemente des        Eine Harmonisierung der heteroge-       ter Kommunikationsinfrastruktur und
           SOA- Paradigmas konzentriert, die für        nen Landschaft war aus vielen Gründen        den konkreten Service-Providern (Exe-
           die vorhandenen Anforderungen we-            keine ernsthafte Option (z. B. Third-Par-    cutables). Sie stellt den von der Middle-
           sentlich sind und diese konsequent um-       ty-Produkte, performanteste Technolo-        ware im Netz ansprechbaren Endpunkt
           setzen. Nicht zuletzt durch diese Fokus-     gie für den jeweiligen Anwendungsfall).      und verwaltet Plug-ins, die die Ausfüh-
           sierung auf die tatsächlichen Belange des    Auf der anderen Seite erschien uns die       rungsumgebung für die jeweils techno-
           täglichen Bedarfs konnte eine Lösung ge-     Entwicklung von Wrapper-Code für             logisch unterschiedlichen Programme
           schaffen werden, die durch ihre Klarheit     alle eingesetzten Sprachen zur Einfüh-       bereitstellen. Ihre Hauptaufgabe besteht
           und zielgerichtete Leichtigkeit besticht.    rung eines einheitlichen Kommunka-           darin, Aufträge entgegenzunehmen und
                                                        tionsprotokolls zu aufwändig. Deshalb        an die einzelnen Plug-ins zu delegie-
           Lose Kopplung                                wurde beschlossen, die Kommunikati-          ren, die dann konkrete Programme zur
           Lose Kopplung, als wesentliches Merk-        onsinfrastruktur für die Services völlig     Ausführung bringen. Deren Ergebnisse
           mal einer serviceorientierten Archi-         transparent zu machen. Das bedeutet in       werden über die ExecutionUnit zurück

        92 javamagazin 2|2010                                                                                                www.JAXenter.de
Pragmatic SOA - nur das Wesentliche
SOA Praxis bei 1&1 SOA Center

an die Middleware gemeldet. Zwischen           Abb. 3: Perl
Plug-in und Executable ist es durchaus       Script als Ser-
                                            vice mittels Ant
möglich, eine zusätzliche Adapter-
schicht zu verwenden.
    Ein weiterer wichtiger Aspekt der
ExecutionUnit ist das Publizieren der
Serviceeigenschaften (z. B. Ein- und
Ausgabeparameter) jedes Executables
als überprüfbare Vertragsbedingungen
zur Nutzung des Service. Jedes Plug-in
verwaltet seine ihm zugeordneten Exe-
cutables, für die es die Ausführungsum-
gebung stellt. Als erstes Plug-in wurde
von unserer Seite zunächst ein Ant-Plug-
in erstellt.
    Ant ist vielen noch als Build-Tool
bekannt, das auf XML-Basis sehr ein-
fach bedient werden kann und seit Lan-
gem über viele Erweiterungen und gute      lungen damit arbeiten können. Bei uns      Betriebssystemen mit ein paar Zeilen
Dokumentation verfügt. Ant-Skripte         wurden sie als eine Art Adapterschicht     Code ausführen.
können fast alles aufrufen, auf beliebi-   eingesetzt, um jede Art von Programm/         Abbildung 3 zeigt beispielhaft die
gen Plattformen ausgeführt werden und      Skript aufrufen zu können. Mit Ant als     Schritte, die nötig sind, um ein einfaches
sind im GEPPI-Kontext meist so ein-        Adapterschicht lassen sich praktisch al-   Perl Script inklusive Ein/Ausgabe und
fach zu verstehen, dass auch Fachabtei-    le Softwareartefakte auf allen wichtigen   Fehlerbehandlung mittels Ant-Skript als

                                                                                                                         Anzeige

BPM-Umfrage 2009
  Business Process Management (BPM) wird für Unternehmen in
  allen Branchen ein zunehmend wichtigeres Thema. Wege und
                                                                                                                    Bis zu
  Ziele zu einer erfolgreichen Umsetzung von BPM sind dabei                                                    25. Janu m
                                                                                                                        a
  vielfältig.                                                                                                  mitmac r 2010
                                                                                                                       hen un
                                                                                                              INTEL           d
                                                                                                                     LIBOO
  Wie ist es in deutschen Unternehmen um BPM bestellt?                                                          gewinn      K
                                                                                                                        en!
  Das Business Technology Magazin möchte gemeinsam mit SAP
  genau diese Frage beantworten.

  Nehmen Sie unter www.bt-magazin.de/bpm-umfrage an der
  BPM-Umfrage 2010 teil und gewinnen Sie ein INTELLIBOOK
  des Software & Support Verlags!

  Präsentiert von:

www.bt-magazin.de/bpm-umfrage
www.JAXenter.de                                                                                           javamagazin 2|2010 93
Pragmatic SOA - nur das Wesentliche
SOA Center SOA Praxis bei 1&1

                                                                    Bei der Middleware haben wir uns      Schnittstelle zum Service, dem GEPPI-
                                                               für Jini entschieden, das inzwischen un-   Service-Adapter, obliegt dann der Exe-
                                                               ter dem Projektnamen „Apache River“        cutionUnit. (Man könnte diese Lösung
                                                               weiterentwickelt wird [1]. Das hatte im    durchaus als eine Art verteilten ESB [2]
                                                               Wesentlichen zwei Gründe: Zum einen        verstehen).
                                                               ist Jini ist von Hause aus darauf ausge-
                                                               legt, Teilausfälle durch Redundanz         Geschäftsprozesse: flexibel und
                                                               kompensieren zu können, zum anderen        einfach
                                                               können neue Services extrem flexibel       Orchestriert oder kombiniert, wie es au-
                                                               hinzugefügt werden. Wird z. B. ein neu-    ßerhalb der SOA-Welt heißt, werden die
                                                               er Jini-Service in Betrieb genommen,       einzelnen Services über eine Workflow-
                                                               so meldet er sich (ohne weiteren Kon-      Engine, in unserem Fall die jBPM von
                                                               figurationsaufwand) an der Jini Service    JBoss. Das erlaubt die flexible Kombi-
Abb. 4: Verteilter ESB
                                                               Registry an, beschreibt seinen Funkti-     nation von Services zu neuen Geschäfts-
                 Service verfügbar zu machen. Wie man          onsumfang und steht dann sofort zur        prozessen und die Prozessschritte indi-
                 erkennen kann, werden hier auch die           (Remote-)Verwendung bereit. Das ent-       viduell durch eigene Logik zu erweitern
                 Serviceeigenschaften definiert, die von       spricht in einer typischen SOA der Ser-    [3]. Entsprechend der Kategorienklassi-
                 der ExecutionUnit im Netz publiziert          vice Registry oder einem UDDI-Dienst,      fikation in [4] bildet die jBPM den Kern
                 werden, um diesen Dienst sowohl auf-          nur komfortabler.                          des Business Process Service (BPS) von
                 findbar als auch auswählbar zu machen.             Die Kommunikation zwischen den        GEPPI.
                 Hierbei handelt es sich um Informatio-        Service-Consumern und -Providern                Bei vielen SOA-Systemen besteht
                 nen wie Servicename, Servicemethode,          erfolgt dabei nicht über eine zentrale     zusätzlich noch die Möglichkeit, Servi-
                 Ein- und Ausgabeparameter usw. – aber         Infrastrukturkomponente, einen ESB,        ces aus einem Service heraus im Sinne
                 auch eine „Human Readable“-Service-           sondern auf Basis der Jin Middleware als   eines Composite Service anzusprechen
                 beschreibung sollte nicht fehlen.             Punkt-zu-Punkt-Verbindung zwischen         (nicht nur aus dem BPS heraus). Das ist
                                                               Consumer und Provider. Auf komple-         ein mächtiges, aber potenziell auch sehr
                 Kommunikationsinfrastruktur:                  xe Routing-Funktionalität wie Con-         komplexes Konstrukt. Da die Flexibi-
                 (k)ein Enterprise Service Bus                 tent Based Routing wurde mit diesem        lität dieser Composite Services zwei-
                 Hat man die Hoheit über die Kommu-            Lösungsansatz bewusst verzichtet und       felsfrei die Komplexität des Betriebs
                 nikationsendpunkte, bringt das den            stattdessen der Fokus auf einen einfa-     erhöht, aber in dem beschriebenen
                 Vorteil mit sich, dass das Protokoll frei     chen, stabilen Betrieb gerichtet.          Umfeld der 1&1 kein unverzichtbares
                 wählbar ist. Die anzusprechenden Exe-              Die Middleware Jini übernimmt         Architekturmerkmal darstellt, wurde
                 cutables müssen sich lediglich an die         somit Teile der Aufgaben, die typischer-   diese Möglichkeit in GEPPI explizit aus-
                 lokale Schnittstelle des entsprechenden       weise in einem SOA-System vom Enter-       geschlossen. Es gibt in der Aufrufhie-
                 Ausführungs-Plug-ins halten und sind          prise Service Bus erledigt werden. Das     rarchie der Services also nur zwei Ebe-
                 damit fein raus aus der Netzwerkkom-          Mapping zwischen dem einheitlichen         nen: Die erste Ebene besteht ausschließ-
                 munikation.                                   Kommunikationsprotokoll und der            lich aus einem zentralen Business Pro-
                                                                                                          cess Management, das alle anderen
                                                                                                          Services orchestriert. Darunter steht
                                                                                                          die flache Ebene von gleichberechtigten
                                                                                                          GEPPI-Services, die selbst keine ande-
                                                                                                          ren GEPPI-Services aufrufen können.
                                                                                                          Durch diese Einschränkung konnte die
                                                                                                          Betriebstransparenz deutlich erhöht
                                                                                                          und die Komplexität des Systems stark
                                                                                                          verringert werden.
                                                                                                               Bleibt die Frage, wie unter dieser
                                                                                                          Einschränkung mit technischen oder
                                                                                                          Utility Services [4] umgegangen wird:
                                                                                                          Sie sind weder verzichtbar, noch kann
                                                                                                          ihr Aufruf sinnvoll auf die Ebene des
                                                                                                          Workflows verlagert werden. Hier wur-
                                                                                                          de ein Kompromiss gewählt, der sowohl
                                                                                                          die Nutzung technischer Services er-
                                                                                                          möglicht als auch die Entwicklung der
                 Abb. 5: Aufruf von „Service“ aus „Workflow“                                              Services vereinfacht. Ähnlich wie die

             94 javamagazin 2|2010                                                                                              www.JAXenter.de
Pragmatic SOA - nur das Wesentliche
SOA Praxis bei 1&1 SOA Center

Entkopplung der GEPPI-Services von           (gibt es mehrere Dienste, die den gefor-    Schnittstelle wie ein Java- oder ein Perl-
der Kommunikationsinfrastruktur wer-         derten Merkmalen entsprechen, kann          Plug-in. Sogar ETL-Jobs sind dank eines
den auch die Utility-Services nicht vom      ein finaler Kandidat z. B. anhand der       Kettle-Plug-ins (mittlerweile eher unter
GEPPI-Service direkt angesprochen,           aktuellen Serviceauslastung oder Loka-      Pentaho Data Integration bekannt [5])
sondern in der Schnittstelle (Adapter),      lisierungsbedingungen bestimmt wer-         kein Problem. Und sollte doch was feh-
die den GEPPI-Service mit der Execu-         den). Auftragnehmer ist in diesem Fall      len, besteht die Möglichkeit, selbst eine
tionUnit verbindet, deklarativ beauf-        zunächst eine ExecutionUnit, die den        „neue“ Technologie über ein eigenes
tragt. Die Schnittstellentechnologie         Auftrag über das jeweilige Plug-in an das   Plug-in anzubinden.
(z. B. Ant) bleibt die gleiche                                                                           Vor allem im agilen Um-
und die ExecutionUnit                                                                                feld bietet die Orchestrie-
sorgt für das Auffinden und       Grundlegende Konzepte wur-                                         rung über flexibel anpass-
die Kommunikation mit                                                                                bare Workflows einiges an
den Utility Services.             den an der bestehenden Orga-                                       Dynamik und Flexibilität.
     Abbildung 4 visuali-                                                                            So wurde bei uns binnen
siert die angesprochene               nisation ausgerichtet.                                         vier Wochen ein komplett
Klassifizierung und zeigt                                                                            neuer Ablauf zur Verwen-
exemplarisch die beteiligten Elemente.       Executable weiter delegiert.                dung unserer Targeting Services für
Zentraler Unterschied zum klassischen             Um eine Überwachbarkeit zu rea-        einen neuen Kunden kreiert, wobei die
SOA-Ansatz ist die Verwendung eines          lisieren, wurde ein zentraler Logging-      Workflows als auch die Anbindung an
„verteilten ESBs“ sowie die Aufteilung       Mechanismus namens GAM (GEPPI               die tatsächlichen Programme allein
in Business- und Utility Services (wobei     Activity Monitoring) entwickelt. GAM        durch unser Betriebspersonal realisiert
der BPS, wie bereits erwähnt, eine spezi-    sammelt während der Serviceausfüh-          wurde und sich die Entwickler auf die
elle Variante davon darstellt).              rung zusätzlich noch Informationen          tatsächlichen Herausforderungen im
                                             zu Status und Fortschritt und kann          Businesslogikbereich konzentrieren
Praktisch gesehen                            diese entsprechend visualisieren. Zur       konnten.
JBPM als Workflow Engine bietet die          Unterstützung der ExecutionUnits im
Möglichkeit, die XML-Syntax der Work-        Alltagseinsatz gibt es einen Plug-in-       SOA Governance und
flow-Definition um eigene Elemente zu        Updateservice, der die Aktualisierung       Geschäftsprozesse
erweitern. Das geschieht durch Definiti-     der Plug-ins zentral koordiniert und        In den einleitend aufgelisteten Kernan-
on eigener ActionHandler. Dieses Vor-        weitgehend automatisiert. Das GEPPI-        forderungen an das beschriebene SOA-
gehen wurde verwendet, um eine naht-         System an sich ist umgebungsneutral         System wird auch der organisatorische
lose Integration in das GEPPI-System zu      und kann durch einen eigens dafür           Aspekt des Paradigmas SOA adressiert:
ermöglichen.                                 integrierten Konfigurationsmecha-           Die grundlegenden Konzepte hinter
     Abbildung 5 zeigt beispielhaft den      nismus an eine bestimmte Umgebung           GEPPI wurden an der bestehenden Or-
Aufruf eines Service aus einem Work-         angepasst werden (z. B. Dev-/QS-Sys-        ganisation des Unternehmensbereichs
flow heraus. Bis zum Action-Element          tem). Auf diese Weise bleiben die Soft-     ausgerichtet.
handelt es sich noch um Standard-            warekomponenten unverändert und                  Das Feld der Geschäftsprozesse rund
jBPM-Syntax. Unterhalb der verwen-           werden lediglich an die Gegebenheiten       um die Onlinewerbeabläufe auf den Un-
deten ServiceCallAction kommt die            angepasst.                                  ternehmensportalen ist auf mehrere
GEPPI-eigene Syntax zum Tragen. Hier              Zur Administration und zur Schaf-      Projektteams aufgeteilt, die sich jeweils
wird beschrieben, welcher Service ange-      fung der notwendigen Transparenz im         auf eine spezielle Fachdomäne der ge-
sprochen werden soll (Servicename und        Betrieb wurde zusätzlich eine GUI-Platt-    samten Prozesskette konzentrieren. In
Servicemthode), was er als Parameter         form aufgesetzt, in die einzelne Sichten    diesen Teams sind sowohl die fachlichen
übergeben bekommt und was zurück-            und GUIs wie die Standard-JBPM-Con-         Experten als auch die Entwicklung, Qua-
erwartet wird. Hier gibt es außerdem         sole oder auch ein GAM-Monitoring-          litätssicherung und der applikationsna-
etliche Möglichkeiten, um den Aufruf         GUI eingeklinkt werden können.              he Betrieb zusammengefasst. In einem
noch detaillierter zu konfigurieren (z. B.                                               zusätzlichen Team werden technische
bestimmte Serviceeigenschaften, die er-      Anwendungsszenarien                         Infrastrukturaufgaben bearbeitet, hier
füllt sein müssen, oder diverse Timeouts     Wie bzw. wo nutzt man so ein System?        wird auch GEPPI weiterentwickelt und
wie ein Ausführungs-Timeout). Die            Eine ExecutionUnit kann prinzipiell         betrieben.
ServiceCallAction delegiert den Auftrag      auf jedem Betriebssystem installiert             Durch den fachlichen Zuschnitt der
asynchron an eine zentrale Komponen-         werden, um so alle möglichen Arten          Projektteams können innerhalb eines
te, die sich anhand der Jini Registry pas-   von Programmen aufrufen zu können.          jeden Teams die jeweils zugehörigen
sende Dienste sucht, diese in eine kon-      Sei es über die sehr breite und allgemei-   GEPPI-Services und der entsprechen-
figurierbar sinnvolle Reihenfolge bringt     ne Ant-Adapterschicht, über das Ant-        de Teil des Gesamtprozesses, realisiert
und den optimalsten Dienst beauftragt        Plug-in oder durch eine sehr konkrete       als Subworkflow [3], entworfen, imple-

www.JAXenter.de                                                                                              javamagazin 2|2010 95
Pragmatic SOA - nur das Wesentliche
SOA Center SOA Praxis bei 1&1

           mentiert und betrieben werden. Für           lich der ablaufenden Geschäftsprozesse          einzuhalten oder gegebenenfalls Al-
           domänenübergreifende Prozesse ist            können verwendet werden, um diverse             ternativmaßnahmen wie Notfallpläne
           zusätzlich meist nur noch ein schlanker      Sichten wie eine Art Frühwarnsystem             einleiten zu können.
           Superworkflow nötig, der die Klammer         bereitzustellen. Auch Interpretationen
           um die fachdomänenspezifischen Sub-          von Veränderungen in den Prozessen              Feedback
           workflows bildet.                            sind als Report denkbar (z. B. Auswir-          Für uns als Begründer dieser Ausprä-
                                                        kungen bei Änderung des Datenvolu-              gung einer pragmatischen SOA ist es
           Zusammenfassung                              mens auf die Prozesslaufzeit). Darüber          natürlich interessant zu wissen, wie
           Mit der General Enterprise                                                                                der Rest der SOA-Welt
           Process and Planning Infra-                                                                               diesen Ansatz und diese
           structure wurde bei der 1&1           Für domänenübergreifede                                             Konzepte einschätzt. Ge-
           Internet AG eine Steuerung                                                                                rade der Austausch von
           eines verteilten Systems auf-          Prozesse ist nur noch ein                                          Erfahrungen rund um die
           gebaut, die sowohl technisch                                                                              SOA-Welt ermöglicht uns,
           als auch fachlich und organi-       schlanker Superworkflow nötig                                         mögliche Schwachstellen
           satorisch in ihren Konzepten                                                                              frühzeitig zu erkennen
           einer serviceorientierten Architektur        hinaus ist eine Planungskomponente              und anzugehen. Unter www.pragma-
           entspricht. Abweichungen von typi-           geplant, die die zur Verfügung stehen-          tic-soa.de [8] freuen wir uns über euer
           schen SOA-Umsetzungen finden sich            den Ressourcen in Echtzeit überwacht            Feedback (dort findet ihr auch noch mal
           bei den technischen Konzepten und den        und die Workflows entsprechend be-              ein paar Details mehr sowie ein kleines
           eingesetzten Technologien. So wurde          einflussen kann, um Ablauftermine               Demovideo).
           u. a. anstelle eines zentralen Enterprise
           Service Bus auf eine verteilte Infrastruk-
                                                                   Matthias Wittum ist Software Engineer bei der 1&1 Internet AG in Karls-
           tur auf Basis von Jini gesetzt und die                  ruhe. Sein Aufgabenbereich umspannt die architekturelle Weiterentwick-
           Kopplung der Services auf technischer                   lung einer hausinternen SOA in einem sehr agilen Umfeld. Ansonsten gilt
           Ebene durch die vollständige Transpa-                   seine Aufmerksamkeit weiteren spannenden Einflussfaktoren der Soft-
           renz des Kommunikationsprotokolls                       wareentwicklung wie technologische Reife neuer Frameworks, Trends und
                                                                   Entwicklungen der Branche und dem Faktor Mensch als komplizierteste,
           mit einem Agenten (der ExecutionUnit)         aber auch wesentlichste Größe.
           und Adapterskripten minimiert.
                Mit dem bewussten Verzicht auf ei-
           nige typische SOA-Funktionalität haben                   Dirk Schmid beschäftigt sich als Software Engineer bei der 1&1 Internet AG
           wir die Komplexität des Systems deut-                    mit der Entwicklung von SOA, BPM und Grid-Infrastrukturen im Umfeld einer
                                                                    massiv parallelen und hochverfügbaren Unternehmenslandschaft. Die Architek-
           lich verringert. Dazu zählen z. B. der in
                                                                    tur von GEPPI hat er von Anfang an geprägt und ist bis heute in die Weiterent-
           der Architektur verankerte Verzicht auf                  wicklung involviert. Durch seine mehrjährige Beratertätigkeit kann er aus einem
           Composite Services, die Unsichtbarkeit                   reichen Schatz an Technologien, Verfahren und Lösungsansätzen schöpfen.
           der technischen Services für die Busi-
           nessservices oder die Beschränkung der
           Routing-Funktionalität.                                  Dr. Thomas Breitkopf ist Entwickler und Projektleiter bei der 1&1 Internet
                                                                    AG. Er hat in 10 Jahren als Softwareentwickler umfangreiche Erfahrung
                Die Vorteile dieser Selbstbeschrän-
                                                                    mit verteilten Systemen in unterschiedlichen Technologien gesammelt. Seit
           kung liegen in der verringerten Kom-                     einiger Zeit gilt sein Interesse der serviceorientierten Architektur und den
           plexität der Technik, der dynamischen                    Konzepten dahinter. Daneben beschäftigt er sich mit agilen Methoden der
           Erweiterbarkeit und dem einfachen Be-                    Softwareentwicklung.
           trieb. Die Umsetzung von Anwendun-
           gen und das Einbinden bereits bestehen-
           der Funktionalität in die SOA ist einfach      Links & Literatur
           und sehr schnell zu bewerkstelligen.           [1] Apache River: http://incubator.apache.org/river/RIVER
           Mit Java als Basistechnologie und Ant          [2] Oliver Wolf: „Open Source SOA“, in Java Magazin 2.2009
           als wichtigster Adapterskriptsprache           [3] JBoss jBPM: http://www.jboss.com/products/jbpm/
           konnte außerdem eine weitgehende Un-           [4] Maier, Normann, Trops, Utschig-Utschig, Winterberg: „Die SOA-Service-Kategori-
           abhängigkeit von Betriebssystem und                enmatrix“, in Java Magazin 2.2009 und SOA Spezial Vol. 1
           Plattform erreicht werden.                     [5] Pentaho Data Integration: http://www.pentaho.com/products/data_integration/
                                                          [6] GEPPI-Projekthomepage: http://www.pragmatic-soa.de
           Wo geht der Weg hin?                           [7] Maier, Normann, Trops, Utschig-Utschig, Winterberg: „Lose Kopplung – Warum
           2010 steht vor allem im Zeichen von                das Loslassen verbindet“, in Java Magazin 3.2009 und SOA Spezial Vol. 1
           Komfort und Bedienerfreundlichkeit.            [8] Nicolai M. Josuttis: „SOA in Practice“, O’Reilly
           Viele der vorhandenen Daten bezüg-

        96 javamagazin 2|2010                                                                                                    www.JAXenter.de
Pragmatic SOA - nur das Wesentliche
1/1 SOA Special
Pragmatic SOA - nur das Wesentliche
Sie können auch lesen