SOA - und wie integriere ich ein Drittsystem mittels Web-Interface?
In einem aktuellen Kundenprojekt hatten wir eine interessante Fragestellung zu lösen. Im Kontext des Foreign Corrupt Practices Act (FCPA), des FSA Kodex der forschenden Arzneimittelhersteller sowie kommender gesetzlicher Anti-Korruptions-Anforderungen müssen Pharmaunternehmen an Fachkreise (Health Care Professionals) gewährte geldwerte Vorteile ausweisen können. Bei unserem Pharma-Kunden existiert ein FCPA-Tool, für das es außer einem Web-Interface leider keine Schnittstelle (wie Java, SOAP oder RESTful) gibt. Aber wie integriert man nun so ein System?
Zuerst dachten wir, dass wir mit dem Apache HttpClient - den wir in verschiedenen Projekten bereits erfolgreich eingesetzt haben - hier weiterkommen würden. Da die Web-Seite massiv Javascript einsetzt, kamen wir jedoch mit dem HttpClient nicht voran. Auch HtmlUnit - obwohl es besser Javascript unterstützt - half nicht spürbar weiter.
Eine weitere betrachtete Option war die Nutzung von Selenium, mit dem wir normalerweise Tests von Web-Applikationen über die Oberfläche durchführen. Hiermit konnten wir leider keine Dateien an das Formular anhängen.
Integration mit Kapow
Schließlich haben wir die professionelle Lösung von Kapow benutzt. Bei Kapow wird mithilfe einer IDE interaktiv (ohne Programmierung, siehe Bild links) ein Robot zusammengesetzt. Diesen kann man sich wie einen virtuellen User vorstellen, der sich durch die Web-Maske hindurchklickt und ebenfalls Werte per Variablen setzen kann. Gleichermaßen wird Javascript äußerst umfänglich unterstützt. Des Weiteren kann der Robot über eine Java bzw. REST Schnittstelle, die automatisch erzeugt wird - befüllt werden (siehe Bild rechts unten).
Als ergänzende Szenarien für die Verwendung von Kapow wären die Content-Migration - bei der
Content mittels eines Robotos migriert wird - oder die Datenbank-Migration bei einem Alt-System zu erwähnen.
Fazit
Mit Hilfe von Kapow konnten wir zeitnah das existierende System per Web-Frontend einbinden. Es ist auch möglich, JavaScript durch eigene Code-Snippets zu beeinflussen. Dies war nötig, da das FCPA-Tool massiv Javascript benutzt. Kapow ist unserer Meinung nach eine elegante Lösung, um bestehende Systeme, die über keine Schnittstelle - außer einem Web-Frontend - verfügen, einzubinden.