SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Policy-basierte Konfiguration und Verwaltung
                   adaptiver Service-Systeme

                           Dr. Ingo Lück




© MATERNA GmbH 2009          www.materna.de              1
Inhalt



       Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme


                      • OSAmI Commons Projekt

                      • Modellbasierte Ableitung von Konfigurationsdateien

                      • Gesetzte Basistechnologien in OSAmI-D

                      • Policy-basiertes Management
                         - Configuration Management
                         - Policy Management
                         - Association Management



© MATERNA GmbH 2009                        www.materna.de                    2
OSAmI Commons Projekt


• Open Source Ambient Intelligence Commons



• ITEA2 Projekt mit Partnern aus
  Spanien, Frankreich, Türkei, Finnland und Deutschland



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


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.

© MATERNA GmbH 2009                   www.materna.de                                3
OSAmI-D Szenario


                                                                    (max, min)



                                                   Set thresholds
                                                               ALERT




                                                      Start
                                                Video Conference




               Clinic        Home Gateway                               Ergometer
            (Supervisor)                                           (Supervised Training)




© MATERNA GmbH 2009            www.materna.de                                         4
Modellbasierte Ableitung von Konfigurationsdateien

                                               System                   Policy

                       Use Cases & Assets                                        Use Case
                         abstrakteste Sicht:                                     Anforderungen
                         Ziele des Systems                                                               Deklarative
                                                                                                         Policies
Design              Services & Domains                                           Service
                             SOA Sicht:                                          Anforderungen
Phase            Dienste, Abhängigkeiten
                       und Zuordnungen


                Components & Devices                                             Regeln: „event-
                  Implementierungssicht:                                         condition-action“       Imperative
                Komponenten, Verteilung
                     und Kommunikation                                                                   Policies


                                                           Modell
                                                        Reales System

                                                                                 Konfigurationsdateien für:
Laufzeit                                                                         • Configuration Management
Phase                                                                            • Policy Management
                                                                                 • Association Management



 © MATERNA GmbH 2009
Gesetzte Basistechnologien in OSAmI-D



              • 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



© MATERNA GmbH 2009                         www.materna.de          7
Policy-basiertes Management – Manager Hierarchie




                      Use Case Manager          Use Case Manager




                       Service Manager           Service Manager                    Nicht-Exklusive Zuordnung




     Component Manager             Component Manager            Component Manager

                                                                                    Exklusive Zuordnung

      Component                     Component                    Component
        Component                     Component                    Component
           Component                     Component                    Component




© MATERNA GmbH 2009                                    www.materna.de                                     8
Policy-basiertes Management – Übersicht


                                                                             Remote
                                                                             Service




                                                   Configuration




                                                                                                                                                Configuration
                                     Association




                                                                                                                                  Association
                                                                                              Service A
                                                                   Policy




                                                                                                                                                                Policy
      Status     Configuration         Status            Configuration                       Status          Configuration          Status              Configuration
     Management Variables            Management Variables                                    Management Variables                 Management Variables

          Client Bundle                    Component Manager                                          Service Bundle                     Component Manager

                          OSGi Framework                                                                               OSGi Framework




© MATERNA GmbH 2009                                                         www.materna.de                                                                               9
Configuration Management (Management Service)

   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);
        }



© MATERNA GmbH 2009                           www.materna.de                  10
Configuration Management (Client)

   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();}}}     www.materna.de
© MATERNA GmbH 2009                                                                           11
Policy Management (Policy Expressions)


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"


    © MATERNA GmbH 2009                   www.materna.de                           12
Policy Management (Policy Rules)




    „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")




© MATERNA GmbH 2009                        www.materna.de                    13
Association Management (Client)

Beispiel für die Nutzung eines Service Ensembles durch einen Client:
         …
         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);
         …


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>
 © MATERNA GmbH 2009                      www.materna.de                              14
Association Management (genutzter Service)

Von einem Service zu implementierende Association Management Schnittstelle:

    • 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);




 © MATERNA GmbH 2009                    www.materna.de                       15
Zusammenfassung

   • 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
                                                                                              Association




                                                                                                                            Policy
         - Configuration Management
         - Policy Management                                       Status     Configuration       Status            Configuration

                                                                   Management Variables          Management Variables

         - Association Management                                    Client Bundle            Component Manager

                                                                                   OSGi Framework



© MATERNA GmbH 2009                           www.materna.de                                                                         16

Más contenido relacionado

Destacado

Determining Multiple Steady State Zcs Operating Points Of A Switch Mode Conta...
Determining Multiple Steady State Zcs Operating Points Of A Switch Mode Conta...Determining Multiple Steady State Zcs Operating Points Of A Switch Mode Conta...
Determining Multiple Steady State Zcs Operating Points Of A Switch Mode Conta...tchunsen
 
Конкурентоспособность ОАО «Газпром» на европейском рынке газа
Конкурентоспособность ОАО «Газпром» на европейском рынке газаКонкурентоспособность ОАО «Газпром» на европейском рынке газа
Конкурентоспособность ОАО «Газпром» на европейском рынке газаDmitry Potapov
 
Angajatii Vorbesc ... Despre Ce Mai Conteaza La Un Loc De Munca
Angajatii Vorbesc ... Despre Ce Mai Conteaza La Un Loc De MuncaAngajatii Vorbesc ... Despre Ce Mai Conteaza La Un Loc De Munca
Angajatii Vorbesc ... Despre Ce Mai Conteaza La Un Loc De MuncaCorneliaPopa
 
режущие инструменты
режущие инструментырежущие инструменты
режущие инструментыtjklegion
 
Конкурентоспособность ОАО «Газпром» на европейском рынке газа
Конкурентоспособность ОАО «Газпром» на европейском рынке газаКонкурентоспособность ОАО «Газпром» на европейском рынке газа
Конкурентоспособность ОАО «Газпром» на европейском рынке газаDmitry Potapov
 
Exploring the fault finding capabilities of online testing in OSGi
Exploring the fault finding capabilities of online testing in OSGiExploring the fault finding capabilities of online testing in OSGi
Exploring the fault finding capabilities of online testing in OSGiKai Hackbarth
 
Security in OSGi applications: Robust OSGi Platforms, secure Bundles
Security in OSGi applications: Robust OSGi Platforms, secure BundlesSecurity in OSGi applications: Robust OSGi Platforms, secure Bundles
Security in OSGi applications: Robust OSGi Platforms, secure BundlesKai Hackbarth
 
Seminario #eMadridNet sobre "CloudComputing". Cloud computing en entornos cor...
Seminario #eMadridNet sobre "CloudComputing". Cloud computing en entornos cor...Seminario #eMadridNet sobre "CloudComputing". Cloud computing en entornos cor...
Seminario #eMadridNet sobre "CloudComputing". Cloud computing en entornos cor...eMadrid network
 
Imagenes
ImagenesImagenes
ImagenesPercy
 
ME 597 final ppt_Force Distance curves on Polyurethane foam
ME 597 final ppt_Force Distance curves on Polyurethane foamME 597 final ppt_Force Distance curves on Polyurethane foam
ME 597 final ppt_Force Distance curves on Polyurethane foamTejasvi Parupudi
 

Destacado (11)

Determining Multiple Steady State Zcs Operating Points Of A Switch Mode Conta...
Determining Multiple Steady State Zcs Operating Points Of A Switch Mode Conta...Determining Multiple Steady State Zcs Operating Points Of A Switch Mode Conta...
Determining Multiple Steady State Zcs Operating Points Of A Switch Mode Conta...
 
Конкурентоспособность ОАО «Газпром» на европейском рынке газа
Конкурентоспособность ОАО «Газпром» на европейском рынке газаКонкурентоспособность ОАО «Газпром» на европейском рынке газа
Конкурентоспособность ОАО «Газпром» на европейском рынке газа
 
Thesis S1140168
Thesis S1140168Thesis S1140168
Thesis S1140168
 
Angajatii Vorbesc ... Despre Ce Mai Conteaza La Un Loc De Munca
Angajatii Vorbesc ... Despre Ce Mai Conteaza La Un Loc De MuncaAngajatii Vorbesc ... Despre Ce Mai Conteaza La Un Loc De Munca
Angajatii Vorbesc ... Despre Ce Mai Conteaza La Un Loc De Munca
 
режущие инструменты
режущие инструментырежущие инструменты
режущие инструменты
 
Конкурентоспособность ОАО «Газпром» на европейском рынке газа
Конкурентоспособность ОАО «Газпром» на европейском рынке газаКонкурентоспособность ОАО «Газпром» на европейском рынке газа
Конкурентоспособность ОАО «Газпром» на европейском рынке газа
 
Exploring the fault finding capabilities of online testing in OSGi
Exploring the fault finding capabilities of online testing in OSGiExploring the fault finding capabilities of online testing in OSGi
Exploring the fault finding capabilities of online testing in OSGi
 
Security in OSGi applications: Robust OSGi Platforms, secure Bundles
Security in OSGi applications: Robust OSGi Platforms, secure BundlesSecurity in OSGi applications: Robust OSGi Platforms, secure Bundles
Security in OSGi applications: Robust OSGi Platforms, secure Bundles
 
Seminario #eMadridNet sobre "CloudComputing". Cloud computing en entornos cor...
Seminario #eMadridNet sobre "CloudComputing". Cloud computing en entornos cor...Seminario #eMadridNet sobre "CloudComputing". Cloud computing en entornos cor...
Seminario #eMadridNet sobre "CloudComputing". Cloud computing en entornos cor...
 
Imagenes
ImagenesImagenes
Imagenes
 
ME 597 final ppt_Force Distance curves on Polyurethane foam
ME 597 final ppt_Force Distance curves on Polyurethane foamME 597 final ppt_Force Distance curves on Polyurethane foam
ME 597 final ppt_Force Distance curves on Polyurethane foam
 

Similar a Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...OPITZ CONSULTING Deutschland
 
Intelligent Workload Management by Werner Lütkemeier
Intelligent Workload Management by Werner LütkemeierIntelligent Workload Management by Werner Lütkemeier
Intelligent Workload Management by Werner LütkemeierMedien Meeting Mannheim
 
Challenges in converting from Oracle Forms to Oracle ADF
Challenges in converting from Oracle Forms to Oracle ADFChallenges in converting from Oracle Forms to Oracle ADF
Challenges in converting from Oracle Forms to Oracle ADFUlrich Gerkmann-Bartels
 
Enterprise Content Management im Zeichen von Enterprise 2.0
Enterprise Content Management im Zeichen von Enterprise 2.0Enterprise Content Management im Zeichen von Enterprise 2.0
Enterprise Content Management im Zeichen von Enterprise 2.0Thorsten Zoerner
 
Faktoren für die erfolgreiche CRM-Einführung - Thomas Gabriel
Faktoren für die erfolgreiche CRM-Einführung - Thomas GabrielFaktoren für die erfolgreiche CRM-Einführung - Thomas Gabriel
Faktoren für die erfolgreiche CRM-Einführung - Thomas GabrielCRM Partners AG
 
Content Management mit Open Source (am Beispiel von Alfresco) - eine Alterna...
Content Management mit Open Source (am Beispiel von Alfresco) - eine Alterna...Content Management mit Open Source (am Beispiel von Alfresco) - eine Alterna...
Content Management mit Open Source (am Beispiel von Alfresco) - eine Alterna...dm4shi
 
Jax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentationJax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentationcamunda services GmbH
 
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivitySaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivitySaaS-EcoSystem
 
WS: Wiedemann, Proventa - Sustainbility Governance - saas auswahl
WS: Wiedemann, Proventa - Sustainbility Governance - saas auswahlWS: Wiedemann, Proventa - Sustainbility Governance - saas auswahl
WS: Wiedemann, Proventa - Sustainbility Governance - saas auswahlCloudOps Summit
 
IBM SmartCloud Provisioning Workshop, 25. Oktober 2012
IBM SmartCloud Provisioning Workshop, 25. Oktober 2012IBM SmartCloud Provisioning Workshop, 25. Oktober 2012
IBM SmartCloud Provisioning Workshop, 25. Oktober 2012IBM Switzerland
 
Reservoir Project - Digibiz 2009, M.Lindner
Reservoir Project - Digibiz 2009, M.LindnerReservoir Project - Digibiz 2009, M.Lindner
Reservoir Project - Digibiz 2009, M.LindnerDigibiz'09 Conference
 
Encapsulation, the requirement for software modernization?
Encapsulation, the requirement for software modernization?Encapsulation, the requirement for software modernization?
Encapsulation, the requirement for software modernization?Ulrich Gerkmann-Bartels
 
Aras Meiller PLM Software
Aras Meiller PLM SoftwareAras Meiller PLM Software
Aras Meiller PLM SoftwareAras
 
Aras Partner Solution by SEEBURGER
Aras Partner Solution by SEEBURGERAras Partner Solution by SEEBURGER
Aras Partner Solution by SEEBURGERAras
 
SecTXL '11 | Hamburg - Dr. Dietmar Wiedemann: "IT-Governance - die Wolke fest...
SecTXL '11 | Hamburg - Dr. Dietmar Wiedemann: "IT-Governance - die Wolke fest...SecTXL '11 | Hamburg - Dr. Dietmar Wiedemann: "IT-Governance - die Wolke fest...
SecTXL '11 | Hamburg - Dr. Dietmar Wiedemann: "IT-Governance - die Wolke fest...Symposia 360°
 
Mobilisierung Ihres Unternehmens
Mobilisierung Ihres UnternehmensMobilisierung Ihres Unternehmens
Mobilisierung Ihres UnternehmensManuela Vrbat
 

Similar a Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme (20)

Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
 
Intelligent Workload Management by Werner Lütkemeier
Intelligent Workload Management by Werner LütkemeierIntelligent Workload Management by Werner Lütkemeier
Intelligent Workload Management by Werner Lütkemeier
 
Challenges in converting from Oracle Forms to Oracle ADF
Challenges in converting from Oracle Forms to Oracle ADFChallenges in converting from Oracle Forms to Oracle ADF
Challenges in converting from Oracle Forms to Oracle ADF
 
Enterprise Content Management im Zeichen von Enterprise 2.0
Enterprise Content Management im Zeichen von Enterprise 2.0Enterprise Content Management im Zeichen von Enterprise 2.0
Enterprise Content Management im Zeichen von Enterprise 2.0
 
Faktoren für die erfolgreiche CRM-Einführung - Thomas Gabriel
Faktoren für die erfolgreiche CRM-Einführung - Thomas GabrielFaktoren für die erfolgreiche CRM-Einführung - Thomas Gabriel
Faktoren für die erfolgreiche CRM-Einführung - Thomas Gabriel
 
Content Management mit Open Source (am Beispiel von Alfresco) - eine Alterna...
Content Management mit Open Source (am Beispiel von Alfresco) - eine Alterna...Content Management mit Open Source (am Beispiel von Alfresco) - eine Alterna...
Content Management mit Open Source (am Beispiel von Alfresco) - eine Alterna...
 
SE 2010: how we do it
SE 2010: how we do itSE 2010: how we do it
SE 2010: how we do it
 
Jax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentationJax 2012-activiti-und-camel-presentation
Jax 2012-activiti-und-camel-presentation
 
imatics Kurzpräsentation
imatics Kurzpräsentationimatics Kurzpräsentation
imatics Kurzpräsentation
 
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivitySaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
SaaS EcoSystem-Roadshow_hybrid_cloud_connectivity
 
WS: Wiedemann, Proventa - Sustainbility Governance - saas auswahl
WS: Wiedemann, Proventa - Sustainbility Governance - saas auswahlWS: Wiedemann, Proventa - Sustainbility Governance - saas auswahl
WS: Wiedemann, Proventa - Sustainbility Governance - saas auswahl
 
IBM SmartCloud Provisioning Workshop, 25. Oktober 2012
IBM SmartCloud Provisioning Workshop, 25. Oktober 2012IBM SmartCloud Provisioning Workshop, 25. Oktober 2012
IBM SmartCloud Provisioning Workshop, 25. Oktober 2012
 
Reservoir Project - Digibiz 2009, M.Lindner
Reservoir Project - Digibiz 2009, M.LindnerReservoir Project - Digibiz 2009, M.Lindner
Reservoir Project - Digibiz 2009, M.Lindner
 
Encapsulation, the requirement for software modernization?
Encapsulation, the requirement for software modernization?Encapsulation, the requirement for software modernization?
Encapsulation, the requirement for software modernization?
 
Aras Meiller PLM Software
Aras Meiller PLM SoftwareAras Meiller PLM Software
Aras Meiller PLM Software
 
Aras Partner Solution by SEEBURGER
Aras Partner Solution by SEEBURGERAras Partner Solution by SEEBURGER
Aras Partner Solution by SEEBURGER
 
SecTXL '11 | Hamburg - Dr. Dietmar Wiedemann: "IT-Governance - die Wolke fest...
SecTXL '11 | Hamburg - Dr. Dietmar Wiedemann: "IT-Governance - die Wolke fest...SecTXL '11 | Hamburg - Dr. Dietmar Wiedemann: "IT-Governance - die Wolke fest...
SecTXL '11 | Hamburg - Dr. Dietmar Wiedemann: "IT-Governance - die Wolke fest...
 
IT Autopilot
IT AutopilotIT Autopilot
IT Autopilot
 
imatics ProcessSuite
imatics ProcessSuiteimatics ProcessSuite
imatics ProcessSuite
 
Mobilisierung Ihres Unternehmens
Mobilisierung Ihres UnternehmensMobilisierung Ihres Unternehmens
Mobilisierung Ihres Unternehmens
 

Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme

  • 1. Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme Dr. Ingo Lück © MATERNA GmbH 2009 www.materna.de 1
  • 2. Inhalt Policy-basierte Konfiguration und Verwaltung adaptiver Service-Systeme • OSAmI Commons Projekt • Modellbasierte Ableitung von Konfigurationsdateien • Gesetzte Basistechnologien in OSAmI-D • Policy-basiertes Management - Configuration Management - Policy Management - Association Management © MATERNA GmbH 2009 www.materna.de 2
  • 3. OSAmI Commons Projekt • Open Source Ambient Intelligence Commons • ITEA2 Projekt mit Partnern aus Spanien, Frankreich, Türkei, Finnland und Deutschland • Gefördert vom Bundesministerium für Bildung und Forschung 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. © MATERNA GmbH 2009 www.materna.de 3
  • 4. OSAmI-D Szenario (max, min) Set thresholds ALERT Start Video Conference Clinic Home Gateway Ergometer (Supervisor) (Supervised Training) © MATERNA GmbH 2009 www.materna.de 4
  • 5. Modellbasierte Ableitung von Konfigurationsdateien System Policy Use Cases & Assets Use Case abstrakteste Sicht: Anforderungen Ziele des Systems Deklarative Policies Design Services & Domains Service SOA Sicht: Anforderungen Phase Dienste, Abhängigkeiten und Zuordnungen Components & Devices Regeln: „event- Implementierungssicht: condition-action“ Imperative Komponenten, Verteilung und Kommunikation Policies Modell Reales System Konfigurationsdateien für: Laufzeit • Configuration Management Phase • Policy Management • Association Management © MATERNA GmbH 2009
  • 6. Gesetzte Basistechnologien in OSAmI-D • 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 © MATERNA GmbH 2009 www.materna.de 7
  • 7. Policy-basiertes Management – Manager Hierarchie Use Case Manager Use Case Manager Service Manager Service Manager Nicht-Exklusive Zuordnung Component Manager Component Manager Component Manager Exklusive Zuordnung Component Component Component Component Component Component Component Component Component © MATERNA GmbH 2009 www.materna.de 8
  • 8. Policy-basiertes Management – Übersicht Remote Service Configuration Configuration Association Association Service A Policy Policy Status Configuration Status Configuration Status Configuration Status Configuration Management Variables Management Variables Management Variables Management Variables Client Bundle Component Manager Service Bundle Component Manager OSGi Framework OSGi Framework © MATERNA GmbH 2009 www.materna.de 9
  • 9. Configuration Management (Management Service) 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); } © MATERNA GmbH 2009 www.materna.de 10
  • 10. Configuration Management (Client) 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();}}} www.materna.de © MATERNA GmbH 2009 11
  • 11. Policy Management (Policy Expressions) 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" © MATERNA GmbH 2009 www.materna.de 12
  • 12. Policy Management (Policy Rules) „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") © MATERNA GmbH 2009 www.materna.de 13
  • 13. Association Management (Client) Beispiel für die Nutzung eines Service Ensembles durch einen Client: … 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); … 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> © MATERNA GmbH 2009 www.materna.de 14
  • 14. Association Management (genutzter Service) Von einem Service zu implementierende Association Management Schnittstelle: • 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); © MATERNA GmbH 2009 www.materna.de 15
  • 15. Zusammenfassung • 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 Association Policy - Configuration Management - Policy Management Status Configuration Status Configuration Management Variables Management Variables - Association Management Client Bundle Component Manager OSGi Framework © MATERNA GmbH 2009 www.materna.de 16