Studienarbeit Thomas Fischer Betreuer: Michael Klein

Post on 19-Jan-2016

47 views 0 download

description

Entwicklung eines Kontainermanagers zur Unterstützung der Konfigurierung und Ausführung semantisch beschriebener Dienste. Studienarbeit Thomas Fischer Betreuer: Michael Klein. Inhalt. Ausführungsprozess Beschreibung eines Dienstes Aufgabenstellung Lösung 1. Der Kontainermanager - PowerPoint PPT Presentation

transcript

Entwicklung eines Entwicklung eines KontainermanagersKontainermanagers

zur Unterstützung der Konfigurierung zur Unterstützung der Konfigurierung und Ausführung semantischund Ausführung semantisch

beschriebener Dienstebeschriebener Dienste

StudienarbeitStudienarbeit

Thomas FischerThomas Fischer

Betreuer: Michael KleinBetreuer: Michael Klein

InhaltInhalt

AusführungsprozessAusführungsprozess

Beschreibung eines DienstesBeschreibung eines Dienstes

AufgabenstellungAufgabenstellung

LösungLösung 1. Der Kontainermanager1. Der Kontainermanager 2. 2. Konfigurations- und AusführungsprotokollKonfigurations- und Ausführungsprotokoll 3. Grounding und Verbindung zum Profile3. Grounding und Verbindung zum Profile

ZusammenfassungZusammenfassung

AusführungsprozessAusführungsprozess

Dienstnehmer

Dienstgeber

Verteilte DienstvermittlungA

ngebot

Anfrage

AusführungsprozessAusführungsprozess

Dienstnehmer

Dienstgeber

Schätzanfrage mit INe Parametern

Schätzwerte (OUTe)

AusführungsprozessAusführungsprozess

Dienstnehmer

Dienstgeber

Ausführungsauftrag mit INx Parametern

Ergebnis und Quittung (OUTx)

Beschreibung eines DienstesBeschreibung eines Dienstes

DIANE Service Offer Description (DSOD)DIANE Service Offer Description (DSOD)in der Java-Repräsentationin der Java-Repräsentationsemantisch ausdrucksstarksemantisch ausdrucksstark

Service

Profile

presents

Modeldescribes

Grounding

supports

Beschreibung eines DienstesBeschreibung eines DienstesBeispiel: Druckdienst-ProfileBeispiel: Druckdienst-Profile

printingService

presents

printingServiceProfilelocally available:

Statepre-condition printed:state

effect

document

entity entity

INx: Stringtype/pdf

format

INe: Integer

filesiz

eURL

INe/x: QualityType INe/x: ResType

OUTx: LocationType

OUTe: Time

time

location

quality resolution

Beispiel: DruckdienstBeispiel: Druckdienst

Dienstnehmer

Dienstgeber

Schätzanfrage: <600dpi, 130kB>

Schätzwerte: <0min34sec>

Beispiel: DruckdienstBeispiel: Druckdienst

Dienstnehmer

Dienstgeber

Ausführungsauftrag: </home/fischer/document.pdf>

Ergebnis und Quittung:

<stud_p_sw1>

ProblemeProbleme

DIANEDienstnehmer

DIANEDienstgeber

realerDienstnehmer

realerDienstgeber

Schätzanfrage (INe)calculatePrintingTime(filesize, resolution)

Schätzwerte (OUTe) return time

Ausführungsauftrag (INx)

Ergebnis (OUTx)

printDocument(file, quality, resolution)

return printerID

AufgabenstellungAufgabenstellung

Idee:Idee: dazwischengeschaltete Hilfskomponentedazwischengeschaltete Hilfskomponente

Aufgaben:Aufgaben:1. Entwicklung Kontainermanager1. Entwicklung Kontainermanager

Verwaltung der DiensteVerwaltung der Dienste Übernimmt Kommunikation und MappingÜbernimmt Kommunikation und Mapping

2. Konfigurations- und Ausführungsprotokoll2. Konfigurations- und Ausführungsprotokoll Realisiert Kommunikation Dienstnehmer/-geberRealisiert Kommunikation Dienstnehmer/-geber

3. Grounding und Verbindung zum Profile3. Grounding und Verbindung zum Profile Realisiert Variablen- und MethodenmappingRealisiert Variablen- und Methodenmapping

1. Kontainermanager1. Kontainermanager

Der KontainermanagerDer Kontainermanager

DienstnehmerKontainermanager

Registry

DienstDienstnehmer

Dienstnehmer

Administrator

Dienstgeber

Der KontainermanagerDer Kontainermanager

Admin ProtocolAdmin Protocol

• Verwalten des Kontainers

• lokal oder enfernt nutzbar

• Auslesen der Registry

Add_Service Remove_Service Start_Service

Stop_Service Get_ServiceList …

2. Konfigurations- und 2. Konfigurations- und AusführungsprotokollAusführungsprotokoll

Konfigurations- und Konfigurations- und AusführungsprotokollAusführungsprotokoll

Service Estimation ProtocolService Estimation Protocol

Anforderungen erfüllbar?

freie Dienstinstanzen?

Success(<OUTe>)

Failure(<error>)

Estimate(ServiceName, <INe>)

Dienstnehmer Kontainermanager Dienst

Nebenbedingungen erfüllbar?

Schätzwerte berechnen

Konfigurations- und Konfigurations- und AusführungsprotokollAusführungsprotokoll

Service Execution ProtocolService Execution Protocol

freie Dienstinstanzen?

Success(<OUTx>)

Failure(<error>)

Execute(ServiceName, <INx>)

Dienstnehmer Kontainermanager Dienst

Nebenbedingungen erfüllbar?

Dienst ausführen

3. Grounding und 3. Grounding und Verbindung zum ProfileVerbindung zum Profile

Grounding und Verbindung zum Grounding und Verbindung zum ProfileProfile

Teil der DIANE Service Offer DescriptionTeil der DIANE Service Offer Description

Wrapper für beliebige DiensttypenWrapper für beliebige Diensttypen

Mapping der MethodenMapping der Methoden

Mapping der VariablenMapping der Variablen

Grounding und Verbindung zum Grounding und Verbindung zum ProfileProfile

ServiceGrounding

- supportedBy : Service

JavaServiceGrounding

- javaVersion : String

WebServiceGrounding

- URL : String

Variable

JavaVariableMapping

- outVariable: Variable- className : String- methodName : String

1..*

1

1..*

1

hasOUTeMapping

hasOUTxMapping

1

1..*

- name: String

hasParameter

Grounding und Verbindung zum Grounding und Verbindung zum ProfileProfile

JavaServiceGrounding

- javaVersion : „1.4.1“

JavaVariableMapping

- outVariable : *time

- className : „testservice.Printer.class“- methodName : „calculatePrintingTime“

.

.

.

hasOUTeMapping

INe : Integer

- name: „filesize“

INe : ResType

- name: „resolution“hasParameter

hasParameter

vom

Pro

file

Grounding und Verbindung zum Grounding und Verbindung zum ProfileProfile

JavaServiceGrounding

- javaVersion : „1.4.1“

JavaVariableMapping

- outVariable : *location

- className : „testservice.Printer.class“- methodName : „printDocument“

.

.

.

hasOUTxMapping

INx : String

- name: „URL“

INx : QualityType

- name: „quality“hasParameter

hasParameter

INx : ResType

- name: „resolution“

hasParameter

ZusammenfassungZusammenfassung

Kontainer als Tool für DienstanbieterKontainer als Tool für Dienstanbieter

Konfigurations- und AusführungsprotokollKonfigurations- und Ausführungsprotokoll

Integration fast beliebiger DiensttypenIntegration fast beliebiger Diensttypen

Ausblick:Ausblick:

Zusammengesetzte DiensteZusammengesetzte Dienste

Authentifizierung und SicherheitAuthentifizierung und Sicherheit

Vielen DankVielen Dankfür diefür die

Aufmerksamkeit!Aufmerksamkeit!