15
© MATERNA GmbH 2009 www.materna.de 1 Dr. Ingo Lück Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009 www.materna.de 1

Dr. Ingo Lück

Policy-basierte Konfiguration und Verwaltung

adaptiver Service-Systeme

Page 2: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009 www.materna.de 2

Inhalt

• OSAmI Commons Projekt

• Modellbasierte Ableitung von Konfigurationsdateien

• Gesetzte Basistechnologien in OSAmI-D

• Policy-basiertes Management

- Configuration Management

- Policy Management

- Association Management

Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

Page 3: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

OSAmI Commons Projekt

www.materna.de 3

Ziel des OSAmI Projekts ist die Erforschung und Entwicklung grundlegender und für

dynamische service-orientierte Architekturen notwendiger Komponenten („Commons“)

für den Einsatz in unterschiedlichen Anwendungsbereichen und deren Bereitstellung als

Open-Source.

• Gefördert vom Bundesministerium für Bildung und Forschung

• Open Source Ambient Intelligence Commons

• ITEA2 Projekt mit Partnern aus

Spanien, Frankreich, Türkei, Finnland und Deutschland

Page 4: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

OSAmI-D Szenario

www.materna.de 4

(max, min)

Home GatewayClinic

(Supervisor)

ALERT

Set thresholds

Ergometer

(Supervised Training)

Start

Video Conference

Page 5: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

Modellbasierte Ableitung von Konfigurationsdateien

System Policy

Reales System

Laufzeit

Phase

Design

Phase

Modell

Use Cases & Assets

abstrakteste Sicht:

Ziele des Systems

Services & Domains

SOA Sicht:

Dienste, Abhängigkeiten

und Zuordnungen

Components & Devices

Implementierungssicht:

Komponenten, Verteilung

und Kommunikation

Konfigurationsdateien für:

• Configuration Management

• Policy Management

• Association Management

Deklarative

Policies

Imperative

Policies

Use Case

Anforderungen

Service

Anforderungen

Regeln: „event-

condition-action“

Page 6: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

Gesetzte Basistechnologien in OSAmI-D

www.materna.de 7

• OSGi

- unabhängig von einer speziellen Implementierung

• Remote-Service-Spezifikation (RFC 119)

- als gemeinsame Grundlage in

• Devices Profile for Web Services (DPWS)

- OASIS Standard (WS-DD)

- Remote-Service Implementierung

• Java Implementierung für DPWS (JMEDS)

- Open Source (EPL)

- Informationen auf www.ws4d.org

Page 7: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

Policy-basiertes Management – Manager Hierarchie

www.materna.de 8

Service Manager Service Manager

Use Case Manager Use Case Manager

Component Manager Component Manager Component Manager

Exklusive Zuordnung

Nicht-Exklusive Zuordnung

Component

Component

Component

Component

Component

Component

Component

Component

Component

Page 8: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

Policy-basiertes Management – Übersicht

www.materna.de 9

OSGi Framework

Client Bundle

Remote

Service

Component Manager

Asso

cia

tion

Po

licy

Management Variables

ConfigurationStatus

OSGi Framework

Service Bundle

Se

rvic

e A

Co

nfig

ura

tion

Management Variables

ConfigurationStatus

Management Variables

ConfigurationStatus

Component Manager

Management Variables

ConfigurationStatus

Asso

cia

tion

Po

licy

Co

nfig

ura

tion

Page 9: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

Configuration Management (Management Service)

www.materna.de 10

Der Configuration Service bietet Komponenten Zugriff auf ihre

Management Variablen:

public interface ConfigurationService {

public SharedSession getSharedSession();

public ExclusiveSession getExclusiveSession();

}

public interface SharedSession {

public Object getConfigurationValue(String uri);

public Object getStatusValue(String uri);

public void close();

}

public interface ExclusiveSession extends SharedSession {

public void setStatusValue(String uri, Object value);

}

Page 10: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

Configuration Management (Client)

www.materna.de 11

Jede Komponente, die konfiguriert werden soll,

muss das Interface Configurable implementieren:

public interface Configurable {

public void configure(String[] uris);

}

Ein Beispiel:

public class Sensor implements Configurable {

private ConfigurationService configurationService;

private int internalPollingRate;

public void configure(String[] uris) {

SharedSession session = null;

try {

session = configurationService.getSharedSession();

internalPollingRate =

((Integer)session.getConfigurationValue(uris[0])).intValue();

} finally {

session.close();}}}

Page 11: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

Policy Management (Policy Expressions)

www.materna.de 12

Komponenten können beim Policy Service die Auswertung einer

„Policy Expressions“ anfordern:

public interface PolicyService {

public Object requestEvaluation(String policyName, Hashtable<String, String> parameters)throws PolicyNotFoundException, PolicyExecutionException;

public boolean requestDecision(String policyName , Hashtable<String, String> parameters)throws PolicyNotFoundException, PolicyExecutionException;

}

Beispiel für eine Policy Expressions mit dem Namen “Is backup service running“:

result = mgmtData.getStatus("Service B","runningState“)

if (result == "running")

return "true"

else

return "false"

Page 12: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

Policy Management (Policy Rules)

www.materna.de 13

„Policy Rules“ werden durch Ereignisse ausgelöst,

sie entsprechen dem Event Condition Action (ECA) Muster

Beispiel für eine Policy Rule, die durch das Ereignis

„running state changed“ eines bestimmten Service ausgelöst wird:

if ("running state" == "unstable")

mgmtData.setConfig("Client Bundle", "service error", "true")

Page 13: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

Association Management (Client)

www.materna.de 14

Beispiel für die Nutzung eines Service Ensembles durch einen Client:

Beispiel für die Beschreibung eines Service Ensembles:

<metadata client_id=„1234“><ensemble><type>VitalSignMonitoring</type><endpoint slot=„1“>de.osami.BloodpressureMeasurement</endpoint><endpoint slot=„2“>de.osami.PulseMeasurement</endpoint>

</ensemble><ensemble>…</ensemble>

</metadata>

…Ensemble e = null;try {e = AssociationService.getEnsemble(„VitalSignMonitoring“, 1800);

} catch (NoSuchEnsembleException ex) {};…PulseMeasurement pM = (PulseMeasurement) e.getAssociation(1).getService();int actPulse = pM.getPulse();…AssociationService.releaseEnsemble(e);…

Page 14: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

Association Management (genutzter Service)

www.materna.de 15

• Reservierungs-Anfrage:

public LeaseHandle reserveService (long reserveTime, long leaseTime, Hashtable<String, String> requirements);

• Lease-Anfrage:

public boolean leaseService (LeaseHandle leaseHandle);

• Lease-Verlängerung:

public boolean prolongateLease (LeaseHandle leaseHandle);

• Lease-Beendigung:

public void clearLease (LeaseHandle leaseHandle);

Von einem Service zu implementierende Association Management Schnittstelle:

Page 15: Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

© MATERNA GmbH 2009

Zusammenfassung

www.materna.de 16

• Design Phase:

- Modellschichten:

Use Cases & Assets

Services & Domains

Components & Devices

- Ableitung von Konfigurationsdateien

Modellierung des Systems in allen drei Schichten

Modellierung von Use Case Anforderungen

Automatische Ableitung von Service Anforderungen

und Management Regeln

Automatische Generierung von Konfigurationsdateien

• Laufzeit Phase:

- Configuration Management

- Policy Management

- Association ManagementOSGi Framework

Client Bundle Component Manager

Asso

cia

tion

Polic

y

Management Variables

ConfigurationStatus

Config

ura

tion

Management Variables

ConfigurationStatus