SLA-Management regelbasierend

18.09.2007
Von Adrian Paschke

RBSLA: Rule Based Service Level Agreements

Ein regelbasierendes SLA-Management muss in der Praxis eine Reihe von Systemanforderungen erfüllen, die sich aus dem Zusammenspiel des Software Engineerings eines Systems in einer offenen, verteilten Umgebung, sowie der Wissensrepräsentation unterschiedlicher Vertragsregeln, Informationstypen wie Domänenvokabulare/Ontologien, externe Daten aus verschiedensten Datenquellen wie Datenbanken oder (Geschäfts-)Prozess- und Objektrepräsentation, ergeben. Im Rahmen des RBSLA-Projekts an der Technischen Universität München und in Kooperation mit Industriepartnern entstand ein entsprechender Ansatz zum Beschreiben und Ausführen von SLAs.

Die Architektur eines regelbasierenden Vertrags-Management von Service Level Agreements.
Die Architektur eines regelbasierenden Vertrags-Management von Service Level Agreements.

Zugrunde liegen Techniken aus der logischen Programmierung, sowie neuen Technologien aus dem SOC, CEP und dem Semantic Web. Ein besonderer Fokus liegt dabei auf der hybriden Kombination von Enterprise-Service- und CEP- Technologien, modernen Internet-Standards und KI-Techniken ausdruckstarker LP und nicht-monotoner Logikkonzepte beispielsweise zur Beschreibung verteilter Vertragsregelbasen, vertraglicher Normen wie Rechte und Pflichten, temporaler ereignisbasierender Vertragszustände, reaktiver Regeln, oder domänen-spezifischer Vertragsvokabulare (Ontologien).

Zur Architektur des implementierten RBSLA-Systems.gehört die Open-Source Regelmaschine Prova, eine ausdrucksstarke, effiziente und verteilte (Semantic)-Web-Inferenzregelmaschine. Sie dient als Ausführungsumgebung für die als Logische Programme formalisierten Vertragsregeln. Die Regeln werden auf Basis des ContractLog-Wissensrepräsentations-Framework in der Prova-Ausführungssprache umgesetzt und in die interne Wissensbasis der Regelmaschine als modulare, möglicherweise im Web verteilte Regelbasen geladen. Die plattform-unabhängige deklarative RBSLA-XML-Mark-Up Sprache wird für die Serialisierung der Regeln und den Regelaustausch verwendet und in die ausführbare Prova/ContractLog Syntax übersetzt.

Eine Benutzeroberfläche, der Contract Manager, wurde prototypisch für die Erstellung und Pflege der in RBSLA spezifizierten Verträge sowie deren Verwaltung in RBSLA Projekten entwickelt. Die Projekten sind dabei entweder persistent in der Contract Base gespeichert oder werden extern als verteilte über das Web geladen. Das Repository beinhaltet typische, von Experten in natürlicher Sprache vorformulierte Regel-Templates und Domänen-spezifische Objekte, Metriken oder Vertragsvokabulare (Ontologien). Sie können auf einfache Weise zur Erstellung von SLA-Spezifikationen wiederverwendet werden.

Der Ansatz folgt grob dem Model-Driven-Architecture-Vorbild.
Der Ansatz folgt grob dem Model-Driven-Architecture-Vorbild.

Während der Überwachung und Ausführung der regelbasierenden SLAs lassen sich externe Datenquellen, Werkzeuge wie Netzwerk- und Systemmanagement Tools, andere IT Dienste oder (Geschäfts-)Objekte (z.B. Enterprise Java Beans) dynamisch in die Regelausführungen integrieren. Ereignisnachrichten können zwischen den RBSLA-Webdiensten und anderen Systemkomponenten über Mule als Enterprise Service Bus ausgetauscht werden. Schlussendlich fungiert das Service Dash Board als Laufzeitumgebung zur Visualisierung der Überwachungs- und Ausführungsergebnisse und unterstützt damit ein SLA-getriebenes Business Activity Monitoring und weitere IT-SLM Prozesse. Dazu können etwa Berichte über verletzte Service Levels oder Vertragsstrafenabrechnungen zählen.

Mehrere RBSLM-Instanzen lassen sich als verteilte Web-Dienste publizieren. In jeder Instanz läuft eine Prova- Regelmaschine, die verteilte RBSLA Projekte und regelbasierende SLAs aus dem Web oder dem lokalen Speicher für RBSLA-Projekte dynamisch laden kann. Ein Enterprise Service Bus (ESB) wird als "Objekt Makler” (engl. object broker) und als asynchroneDatenaustausch Middleware für die RBSLM-Dienste verwendet. Mehr als 30 Transportprotokolle wie etwa JMS, HTTP oder SOAP können zur Übertragung von Regelmengen, Anfragen und Antworten zwischen den RBSLM Diensten, aber auch mit externen Komponenten wie Datenbanken, Web Dienste, Tool APIs, ausgetauscht werden.

Die RBSLA Sprache, die auf dem De-facto-Standard Reaction RuleML basiert, dient dabei als allgemeines Ereignis- und Regelaustauschformat. Die logischen Formalismen in Prova und ContractLog verarbeiten die eingehenden Ereignisnachrichten im Sinne eines Complex Event Processing mittels reaktive Regeln (engl. Reaction Rules).