Plugin API


Die Plugin-API dient zum Einbinden von konkreten Service-Plugins, welche Einfluss auf den Registrierungsvorgang sowie das Benutzen externer Dienste haben. Es gibt vorgefertigte Plugins für Standardaufgaben und Standarddienste. Eigene Plugins für spezielle Problemstellungen können gefertigt werden. Da die Plugin-API offen ist, kann dies auch durch den Betreiber der Web-Präsenz selber geschehen.
Service-Plugins sind Perl-Klassen. ECCE Roma stellt ein Framework zur Verfügung, in welchem neue Klassen definiert werden können, die gleichwertig zu den mitgelieferten Plugins von ECCE Roma verwendet werden. Damit kann man sich gezielt in die Registrierung oder die Benutzung eines Services einklinken.
Die Abbildung zeigt das Objektmodell für Service-Plugins (aufgebaut nach dem Kompositum-Muster)

Abb.5: Plugin-API

Beispiele für kundenspezifische Anforderungen, die durch neue Plugins einfach in ECCE Roma integriert werden können

  • Bei der Anmeldung muss der Kunde eine schon vorhandene Kundennummer eingeben (z.B. eine Abo-Nummer), welche ihm mehr Rechte verleiht. Die Abonummern könnten z.B. eine Tabelle in der Datenbank sein oder mittels SOAP von einem zentralen Dienst abgefragt werden.
  • Bei der Anmeldung soll die Bankleitzahl geprüft werden. Ist sie nicht korrekt, so wird die Anmeldung mit entsprechender Fehlermeldung abgelehnt.
  • Die Anmeldedaten sollen intern angereichert werden. Es soll festgehalten werden, welcher Browser verwendet wurde und über welche IP der Benutzer kam.
  • Es gibt eine selbst programmierte Datenbankanwendung, welche angebunden werden soll. Bei der Anmeldung an ECCE Roma soll der Benutzer auch an die diese Anwendung angemeldet werden. Die Anmeldung geschieht via XML-RPC.
  • Es existieren einige Dokumente, welche nur von angemeldeten Benutzern mit „member“-Rechten heruntergeladen werden sollen, nicht jedoch von „guest“-Benutzern. Der Zugriff soll protokolliert werden.
  • Eine Anwendung X, welche normalerweise nicht Web-fähig ist, soll mittels eines Service-Plugins gekapselt und sämtliche Zugriffe über ECCE Roma getunnelt werden. Es sind nur bestimmte Zugriffe erlaubt.
  • Wann immer ein Surfer mit dem Status „watch“ sich am System anmeldet, soll dies protokolliert werden.