• Nie Znaleziono Wyników

Dienstintegration an bord von schiffen mit hilfe von CORBA

N/A
N/A
Protected

Academic year: 2021

Share "Dienstintegration an bord von schiffen mit hilfe von CORBA"

Copied!
113
0
0

Pełen tekst

(1)

Deift University of Technology

Ship Hydromechanics Laboratory

Library

Mekelweg 2, 2628 CD Delft

The Netherlands

Phone: +31 15 2786873 - Fax: +31 15 2781836

Dienstintegration an Bord von Schiffen

mit Hilfe von CORBA

Carsten Zerbst

Februar 2004 -

Berich24

(2)

Dienstintegration

an Bord von

Schiffen mit Hilfe

von CORBA

Vom Promotionsausschuss der Technischen Universität Hamburg-Harburg

zur Erlangung des akademischen Grades Doktor-Ingenieur

genehmigte Dissertation

von

Carsten Zerbst aus Bad Homburg v.d.H

(3)

Gutachter Prof. Dr.-Ing. Dr-Ing. E.h. Dr. h.c. E. Lehmann,

Gutachter Prof. Dr.-Ing. Robert Bronsart

Gutachter Prof. Dr. F. H. Vogt

Mündliche Prüfung: 26. Januar 2004

ISBN 3-89220-624-4

©Arbeitsbereiche Schiffbau der

Technischen Universität Hamburg-Harburg

Lämmersieth 90 D-22305 Hamburg

(4)

Vorwort

Die vorliegende Arbeit entstand während meiner Tätigkeitam Arbeitsbereich

«Schiffstechni-sehe Konstruktionen und Berechnungen» der Technischen UniversitätHamburgHarburg.

Mein besonderer Dank gilt Herrn Prof. Dr.-Ing. Dr.-Ing. E.h. Dr. h.c. E. Lehmann, der mit seinem Interesse an interdisziplären Themen diese Arbeit ermöglichte. An dem Arbeitsbereich

ergibt sich unter seiner Leitung ein anregendes Arbeitsumfeld, in dem Mitarbeiter verschie-dener Nationen und Forschungsinteressen zusammengearbeit haben. Diesen möchte ich für viele anregende Diskussionen danken, besonders dem OberingenieurHerrn Dr-Ing. Höft.

Herrn Prof. Dr.-Jng, Bronsart und Herrn Prof. Dr. Vogt möchte ich für die Bereitschaft danken, das Koreferat zu übernehmen.

Diese Arbeit wäre kaum denkbar gewesen ohne die verwendete Software. Hier möchte

ich besonders Frank Pilihofer für sein Tcl-CORBA Binding Combat danken.

Und nicht zuletzt geht mein Dank an meine Eltern und an meine Frau für die langjährige

Unterstützung.

(5)

Inhaltsverzeichnis

1 Einleitung

9

2 Konzeption

13

2.1 Infrastruktur und Basisfunktionalitäten 15

2.1.1 Objektermittlung 15

2.1.2 Benachrichtigung 17

2.1.3 Zeitbehandlung 18

2.1.4 Eigenschaften und Konfiguration 18

2.1.5 Datentransport 19 2.1.6 Sicherheit 21 2.2 Sensor 22 2.3 Berechnung 23 2.4 Datenspeicherung 25 2.5 Zusammenfassung 25 3 Systemwahl 29 3.1 Spezifische Kommunikationsschicht 29 3.2 Fremde Protokolle 30 3.3 Middleware 31 3.3.1 0MG CORBA 31 3.3.2 Microsoft DCOM 35

3.3.3 Die Java Plattformen 37

3.4 Ergebnis 38

4 Schnittstellenbeschreibung 41

4.1 Generelle Erwägungen 41

4.2 Eigenschaften und Konfiguration 42

4.2.1 Allgemeine Beschreibung der Eigenschaftsbehandlung 42

4.2.2 Namensschema 45

4.2.3 IDL Beschreibung der Eigenschaftsbehandlung 46

4.3 DATATRAwLER-Objekte und Objektermittlung 47

4.3.1 Namensauflösung 47 4.3.2 Suchdienst 48 4.4 Datentransport 49 4.4.1 Datenpakete 49 4.4.2 Metadaten 51 5

(6)

4.4.3 Datenströme

4.4.4 Namensschema

4.4.5 IDL Beschreibung für den Datentransport

53 55 56 4.5 Benachrichtigung 58 4.5.1 Namensschema 58 4.6 Zeitbehandlung 58 4.7 Lebensdauer 59 4.7.1 Netzdienste 59 4.7.2 Serverseitig 59 4.7.3 Klientenseitig 60 4.8 Fehlerbehandlung 60

4.8.1 Allgemeine Beschreibung der Fehlerbehandlung 60

4.8.2 IIJL Beschreibung der Fehlerbehandlung 61

4.9 Sensoren 62

4.9.1 Allgemeine Beschreibung der Sensoren 62

4.9.2 Namensschema 62

4.9.3 IDL Beschreibung der Sensoren 63

4.10 Berechnungsdienste 64

4.10.1 Allgemeine Beschreibung der Berechnungsdienste 64

4.10.2 Namensschema 64

4.10.3 IDL Beschreibung der Berechnungsdienste 64

4.11 Logdienste 65

4.11.1 Allgemeine Beschreibung der Datenspeicherung 65

4.11.2 Namensschenia 66

4.11.3 IDL Beschreibung der Datenspeicherung 66

5 Ausführung 73 5.1 Infrastruktur 73 5.1.1 Namensauflösung 73 5.1.2 Suchdienst 74 5.1.3 Time Service 75 5.1.4 Eventservice 76 5.1.5 Propertyservice 76 5.1.6 COSSclient 76 5.2 DATATRAWLER-Komponenten 76 5.2.1 DataDredge 77 5.2.2 Base Klasse 77 5.2.3 Factory Klasse 78 5.2.4 Stream Klasse 78 5.2.5 Sensor Komponente 79 5.2.6 Berechnungs Komponente 80 5.2.7 Speicherungs Komponente 81 5.3 Sicherheit 82 5.4 zusammenfassung 82 6 Zusammenfassung 85

(7)

A DataTrawler IDL 89

B Kennzeichnung der Datenart 99

C Kennzeichnung von Einheiten 103

D NMEA Abbildung 105

E Startskript 107

(8)

JrI;'

.L

Einleftung

Schiffe gehören zu den größten technischen Strukturen die zur Zeit erstellt werden. Ihre Stahistruktur ist eine immer wieder imponierende Ingenieursleistung. Neben der sichtbaren

Stahistruktur bestehen sie jedoch noch aus einer weiteren Struktur, in der Informationen

übertragen werden. Die Menge der an Bord anfallenden Daten in ihren verschiedenen Forma-ten ist groß und nimmt weiter zu, ein Ende ist kaum abzusehen. Die ZeiForma-ten, in denen man

mit Logge, Lot und Kompaß auf der Brücke ausgekommen ist, sind lange vorbei. Neben der

Navigation sind die Maschine, Klimatechnik und die Ladung Untersuchungsgegenstand einer

Unzahl von Sensoren. Hinzu kommt auf Passagierschiffen eine große Menge weiterer Dienste wie Telephon, Fernsehen, Radio

Schaut man auf die technische Realisation der Datenübertragung, entdeckt man ein

Wirr-warr von Kabeln, die jeweils nur einem Zweck dienen. An Bord eines Passagierschiffeszum Beispiel ist zur Zeit meistens je ein Kabel für das Lautsprechersystem, Fernsehen, Telephon,

Brandrnelder, Klimatisierung, Türverriegelung etc. verlegt. Im Kabinenbereich kommen so

et-wa 10 - 15 Dienste mit jeweils einem eigenen Kabel zusammen. Diese Kabelmenge ist sowohl bei der Planung, Erstellung wie Wartung ein erheblicher Kostenfaktor.

Aus dem Gebiet der allgemeinen Computertechnik ist spätestens mit demSiegeszug des Internets bekannt, daß sich Information der verschiedensten Art und Weise mit einem

ein-heitlichen Medium transportieren lassen. Wie in Bild 1.1 illustriert, ist dies aktuell bei weitem

nicht der Fall. Jede Art von Information wird mit unterschiedlicherHardware und

unterschied-lichem Protokoll transportiert.

Doch an Bord befinden sich nur unterschiedliche physikalische Medien zum Transport der

Daten, auch die verwendete Art des Protokolls unterscheidet sich erheblich. Die Abfrage und Übertragung der Daten erfolgt bei jedem Gerät jeweils in einem proprietären Protokoll. Eine

kleine Auswahl umfaßt zum Beispiel die Telephonic mit denanlagenspezifischen Protokollen

für die Konifortmerkmale, Industriebusse für die Anlagensteuerung, UHF-Fernsehübertragung, 20 Milliampere Sensorik oder serielle Protokolle auf Zweidraht-Leitungen. Mit einem

gemein-samen Kabel kann der Zugriff zwar physikalisch von einem Punkt erfolgen, allerdings

erfor-dert jede Datenquelle eine eigene Behandlung. Neben der physikalischenIntegration auf einen

gemeinsamen Übertragungsweg ist eine Einigung auf ein einheitliches Protokoll zur Nutzung

aller im Netzwerk vorhandenen Komponenten notwendig.

Ein erstrebenswertes Ziel ist jedoch ein dienstintegriertes Netzwerk. In diesem wären alle

an Bord anfallenden Informationen auf eine einheitliche Art und Weise verfügbar. Dies würde

nicht nur den direkten Zugriff auf die Sensorik umfassen, es wären auch höherwertige Dien-ste wie Weiterverarbeitung und Speicherung möglich. Neben dem leichteren Zugriff und die Integration der anfallenden Informationen winkt der gesparten Aufwand für die Verkabelung.

(9)

lo Radar Temperatur L Tankpeilung Bild 1.1: STiittstcflenproblematik

lrrkompatb]e ooer fehlence

SohrrsfeThn

Datenbündelung

Datenweiterverarbeitung, Repräsentation,

Speicherung

Allein aus Kostengründen ist dies natürlich auch im Schiff'oaubereich eine attraktive Vision. Bevor nur ein Kabel zum Träger sämtlicher relevanten Informationen dient, muß ein ein-heitliches Format gefunden werden, mit dem die an Bord anfallenden Daten transportiert wer-den können. Dieses Format muß auf der einen Seite die Möglichkeit bieten, schiffsrelevantc Datentransporte durchzuführen, auf der anderen Seite aber auch den besonderen Anforderun-gen an Bord Rechnung traAnforderun-gen. Ein weiterer Punkt, dem bisher neben der puren Übertragung kaum Beachtung geschenkt wird, ist die Datenintegration. Eine weitere Lehre aus dem Erfolg des Internets ist, daß die Integration von verschiedenen Daten einen erhebliche Mehrwert bieten kann. Während diese Versprechung im Internet nur auf dem kleinsten gemeinsamen

Nenner der Texte gehalten wird, ist im Schiffsbereich eine allgemeine Verfügbarkeit von Daten wie Position oder Geschwindigkeit von besonderem Interesse. Mit der allgemeinen

Verfügbar-keit solcher Daten ließen sich interessante Mehrwertdienste wie ein elektronischen Logbuch, ein Passagierinforrnationssystem oder Dienst zur Planung von Serviceintervallen erstellen

er-stellen.

Der aktuelle Stand der Technik an Bord erinnert jedoch an die Stadt Babel, die Anzahl an unterschiedlichen Formaten und Übertragungstechniken geht in die Hunderte. Es existiert weder ein einheitlicher Standard zum Transport noch zur Integration der Daten, obwohl es in Teilbereichen de facto Standards gibt. Der Transport von Daten geschieht meist auf dedizier-ten Leitungen, Sensoren und Endgeräte müssen jeweils speziell aufeinander abgestimmt sein, generische Lösungen existieren nicht. Für jede Datenquelle oder gewünschte Verarbeitung

müssen entsprechende Konverter geschaffen werden. Das Daten von Hand übertragen werden

ist Alltag. Deshalb sind Anwendungen, die übergreifend mit verschiedenen Daten arbeiten oder sie speichern auch kaum verfügbar; es bilden sich lauter Insellösungen. Diese werden

(10)

"ItÇtMtJLI .suw Jrt

zwar mit dem Stempel ,,Integrierte Brücke" angepriesen, sind aber nach außen so zugänglich

wie ein Geldautomat.

Beschäftigt man sich näher mit diesem Gebiet, stellt sich zuerst das Problem eines

einheit-lichen Daterizugriffes. Die Datenquellen an Bord sind von ganz unterschiedlicher Natur, die Bandbreite reicht von einfachen Tastern an Verschlüssen bis hin zu Datenströmen aus Radar und Funk. Diese werden mit den verschiedensten Mitteln übertragen, die die Technik bietet. Von der 20 Milliampere Stromschleife und seriellen Schnittstelle bis hin zu paketvermitteln-den Diensten auf UDP/JP und TCP/IP Basis ist alles anzutreffen. Dabei unterscheiden sich

die Daten nicht nur in ihrem Informationsgehalt, auch die Repräsentation reicht von Boole-schen Variablen über Zeichenketten hin zu Bild- und Tonmaterial. Ein einheitlicher Zugriff aufdiese Daten ist zur Zeit nicht möglich (siehe Bild 1.1).

Neben dem reinen Zugriff auf die Daten von Sensoren gibt es zwei weitere Probleme in diesem Umfeld. Das eine ist die Frage der Weiterverarbeitung der anfallenden Daten. Hier

existiert eine große Anzahl an Lösung für die unterschiedlichen Bereiche,von der Navigation

bis hin zum Ladungsmanagemetit. Die meisten dieser Lösungen könnenjedoch nicht

automa-tisch die Daten von einem Sensor anfordern bzw. es müssen extra proprietäre Lösungen dafür

geschaffen werden. Außerdem lassen sich die Ergebnisse der Berechnungen meistens nur auf

dem Bildschirm betrachten oder auf einem Blatt Papier ausgeben. Des weiteren müssen Daten

für diverse Zwecke an Bord gespeichert werden, sei es nun um der allgemeinen Nachweis-pflicht zu genügen oder um Wartungsintervalle planen zu können. Auch hier fehlt es bislang an Möglichkeiten, übergreifend Daten aufzuzeichnen und später wieder abzurufen.

Die Lösung dieser Probleme ist ein dienstintegriertes Netzwerk. Wesentliches Merkmal eines solchen Netzwerkes ist, daß alle anfallenden Daten mit einheitlichen Methoden übertra-gen werden. Dies trifft sowohl den physikalischen Transport wie auch den Zugriff auf den Inhalt der transportierten Daten. Dies bedeutet, daß auf alle anfallenden Daten transparent, also ohne Ansehen von Hersteller, Einbauort etc. zugegriffen werden kann. Die Konsequenz eines solchen Netzes ist auf der Hardwareseite, daß im einfachsten Fall nur ein Kabel zur Ver-netzung und eines zur Stromversorgung verlegt werden müßte. Auf der Softwareseite benötigt

man eine entsprechende Spezifìkationen, die einen einheitlichen Zugriff auf die unterschied-lichen Dienste gewährleistet. Mit den spezifizierten Schnittstellen kann man dann einheitlich auf alle an Bord anfallenden Daten zugreifen.

Die Anforderungen nach einer durchgehenden Informationskette wird immer dringender.

Für den Ingenieur stehen meist die technischen Möglichkeiten einer solchen Informations-kette im Vordergrund. Dies wären zum Beispiel einfache Systemüberwachung und Datenaus-wertung, Einsparung bei der Verkabelung etc. Eine Motivation für eine durchgehende Infor-mationskette besteht jedoch noch aus anderen Gründen. Ein kleiner Auszug der aktuell im

Schiffsumfeld genannten Normen umfaßt die DIN/ISO 900X (Qualitätsmanagement [13]), ISO

14001 (Umweltmanagement [12]) und nicht zuletzt den ISM Code, diean Bord berücksichtigt

werden müssen [9].

Hallay und Priem [Il] konstatierten schon Anfang der '90 Jahre:

Für eine ökologische Un rnehmenspolitik sind daher entsprech ende Informati-onssystenw nötig, die dazu dienen alle ökologisch wichtigen Infonnationen zu sammeln, sie unter ökologischen und ökonomischem Aspekten zu bewerten und

(11)

leitu ng

An diesen Anforderungen hat sich seitdem nichts geändert. Ganz im Gegenteil, der poli-tische Druck auf die Reeder ist eher größer geworden und wird sie zu einer größeren Trans-parenz zwingen. In diesen Normen werden Anforderungen an die Führung eines Schiffes in Bezug auf Sicherheit, Nachvollziehbarkeit und Umweltschutz gestellt, sie bieten jedoch kei-ne Aussage über die technische Durchführung. Es ist jedoch klar, daß eikei-ne Schiffsführung entsprechend diesen Anforderungen kaum möglich ist, wenn nicht weite Bereiche der Da-tenaufbereitung und -aufzeichnung automatisiert werden. Einer übergreifenden Automation dieser Aufgabe stehtjedoch wieder das Fehlen geeigneter Schnittstellen entgegen. Neben der Vereinfachung bei dem Nachweis eines ökologischen Betriebes kann man davon ausgehen, daß ein dienstintegriertes Netzwerk die an Bord verlegte Kabelmenge wesentlich verringert

[38], was ein erwünschter Effekt wäre.

In dieser Arbeit wurde das Problem eines dienstintegrierten Netzwerkes für den Bord-gebrauch näher untersucht. Das Problem wird dabei in mehreren aufeinander aufbauende Schritten angegangen und eine Lösung vorgeschlagen. Diese Lösung mit dem Projekttitel

DATATRAWLER stellt ein Netzwerk dar, welches transparent den Zugriff auf Datenquellen,

Pro-grammen zur Weiterverarbeitung und Speicherung ermöglicht.

Basis der Betrachtung ist das Kapitel 2, in dem die Anwendungsfälle einer solchen Lösung

beschrieben werden. Diese beschreiben ein System, in dem beliebig viele Komponenten eines Schiffes miteinander kommunizieren können. Aus den möglichen Anwendungsfälle leiten

sich drei wesentliche Komponenten her; die für das Schiffsumfeld von wesentlicher Bedeutung sind: Sensoren, Rechen- und Speicherkomponenten. Mit ihnen lassen sich weiter Bereiche des Bordgebrauches abdecken.

Aus den gewünschten Anwendungsfälle ergeben sich logisch eine Reihe von Anforde-rungen an eine prospektive ImplementieAnforde-rungen eines solchen Systems. Um dieses System zu entwickeln, sind verschiedene Wege und zugrundeliegende Technologien anwendbar. In Kapitel 3 werden die aktuell verfügbaren Möglichkeiten mit ihren Basisprinzipien, Vor- und Nachteilen vorgestellt. Auf Grund der Anforderung wird hier als Softwarebasis C0RBA der

0MG verwendet. Dies ist eine plattform- und sprachübergreifende Middleware, für die eine Vielzahl von freien und kommerziellen Implementierungen existiert.

Unter Verwendung von CORBA und dem dazugehörenden Umfeld wird in Kapitel 4 die Spezifikation für ein dienstintegriertes System entwickelt. Es bietet eine Lösung für die oben angedeuteten Anforderungen mit der eine großzügige Vernetzung des Schiffes erstellt werden

kann. Die Spezifikation besteht dabei aus mehreren Teilen. Die Infrastruktur von

DATATRAW-LER besteht größtenteils aus Standardkomponenten aus dem CORBA-Umfeld. Ihre Verwen-dung in diesem speziellen Umfeld wird explizit beschrieben, damit möglichst wenig Raum

für eine implementierungsspezifische Interpretation des Regeiwerkes bleibt. Hinzu kommt die

Beschreibung der eigentlichen Schnittstellen für die in Kapitel 2 geforderten Komponenten. Neben der reinen Beschreibung der Schnittstellen wurde eine ausführliche textliche

Darstel-lung des geforderten Verhaltens entwickelt.

Um die Spezifikation von DATATRAWLER bezüglich der Implementierbarkeit und

Verwen-dung zu testen, wurde eine prototypische Implementation durchgeführt. Hierzu wurden Kom-ponenten unterschiedlicher Komplexität auf Basis der Spezifikation entwickelt die Bedeutung für den Bordbetrieb haben. Die Ausführung der einzelnen Komponenten, die Beschreibung

der Leistungsfähigkeit des Gesamtsystems enthält Kapitel 5.

Das letzten Kapitel enthält die Zusammenfassung der Arbeit und eine Aussicht auf wei-tere mögliche Schritte mit dem Ziel eines dienstintegrierten Netzwerkes entworfen.

(12)

Konzeption

Begeben wir uns an Bord des hypothetischen Schiffes «MS DataTrawier». Sie verfügt über ein

dienstintegriertes Netzwerk, welches die an Bord befindlichen Komponenten vereint. Dieses Netzwerk ist nicht auf einzelne Bereiche wie Navigation oder Raumüberwachung beschränkt, sondern steht übergreifend in allen Bereichen zur Verfügung.

Rundgang

Die Brücke wird durch einige wenige Großbildschirme in den Pulten beherrscht. Auf

je-dem können die an Bord anfallende Information dargestellt werden, dabei wird durch Filter die Informationsfiut auf wesentliche Details beschränkt. In den Pulten herrscht

nicht das übliche Kabelgewirr, statt dessen liegt nur je ein Kabel für Daten und Strom-versorgung mit entsprechender Redundanz.

Der Serviceingenieur braucht für normale Routineuntersuchungen seinen Arbeitsplatz

nicht zu verlassen. Den aktuellen Zustand der Systeme kann er jederzeit abrufen oder die Aufzeichnungen der letzten Zeit einsehen. Werden Grenzparameter überschritten, wird er sofort alarmiert und kann von jedem Punkt des Schiffes die aktuellen Daten abfordern. Ein Passagier auf der «MS DataTrawier» sieht natürlich nichts von DATATRAWLER. Auf seiner Kabine befinden sich die üblichen Geräte und Dienste, die in der gehobenen Klasse verlangt werden. Die sind Fernseher, Radio, Telephon, Computer mit E-Mail und Inter-netanschluß. Im bordeigenen Netz kann er jederzeit Daten wie Geschwindigkeit, Position

oder den aktuellen Seekarteausschnitt abrufen, aber auch das Abendprogramm oder

In-formationen über das nächste Landziel. Dennoch ist seine Kabine mit nur einem Kabel an das Bordnetz angeschlossen, alle Dienste werden einheitlich über DATATRAWLER trans-portiert. Soll ein weiterer Dienst in seiner Kabine angeboten werden, zum Beispiel Video on Demand, braucht kein weiteres Kabel gezogen werden.

Der Zahlrneister hat einen permanenten Überblick über die an Bord befindlichen

Wa-ren. Sowohl das Warenwirtschaftssystem wie die Kassensystem sind an DATATRAwLER angeschlossen und lassen sich so abfragen.

Der Reeder ist mit der Entscheidung für die Dienstintegration zufrieden. Nicht nur die gesunkenen Baukosten sind von Interesse, auch der direkte Zugriff auf alle relevanten Daten ist von Bedeutung. Die nach ISO 9001 oder 14000 geforderte Datenspeicherung

geschieht mittels DATATRAWLER automatisch und selbst Basel II [2] läßt sich ohne Pro-bleme erfüllen.

Die Vision einer Dienstintegration an Bord von Schiffen ist ohne Frage sehr attraktiv. Die

Gründe sind verschiedenartig, es reizen gesparte Kabelkilometer und Wartungsarbeit,größere

Schiffssicherheit durch einen besseren Überblick über das Bordgeschehen oder die ansonsten

nicht möglichen Mehrwertdienst für die interne Buchhaltung oder den Kunden. Erst durch 13

(13)

die Dienstintegration werden einige Dienste wie automatisches Logbuch,

Schiffsinformations-system etc. sinnvoll möglich.

Das Szenario eines solchen Netzwerkes besteht aus vielen Puzzlestücken, die notwendig, um das Ziel der Dienstintegration zu erreichen. In einem integrierten Netzwerk sind die im Netz vorhandenen Instanzen der unterschiedlichen Komponenten unabhängig von Ort, Her-steller usw. zu benutzen. Eine Komponenten ist dabei die Summe aus ein oder mehreren

Klassen, die jeweils der Erfüllung eines Zweckes (z.B. Abfrage der aktuellen Geschwindigkeit)

dienen. Jede dieser Komponenten kann durch ein oder mehrere Objekte realisiert sein, die sich durch bestimmte Eigenschaften unterscheiden können. Für diesen ersten Entwurf einer übergreifenden Vernetzung werden neben den für die Infrastruktur benötigten Komponenten drei schiffsspezifische Komponenten berücksichtigt: Sensoren, Berechnungsprogramme und

Speicherungsdienste. Beispiele für diese sind: Taster von Lukenverschlüssen

- Nautische Geräte mit NMEA Schnittstelle

Datenströme aus der Bordüberwachung, Radar und Funk

Berechnungsprogramme für Tankinhalt und Medieneigenschaften

Berechnungsprogramme für Ladungsverhalten, Metazentrische Höhe

- Datenspeicherung für ein elektronisches Logbuch

Das Szenario des dienstintegrierten Netzwerkes wird in Form von einzelnen Anwendungs-fällen ( Use Case) entwickelt. Die Usecases beschreiben jeweils, welche Möglichkeiten die

Komponenten dem Anwender bieten, sie sind keine Beschreibung der einzelner Fähigkeit, wie

zum Beispiel die Genauigkeit einer Geschwindigkeitsmessung. Der Schwerpunkt liegt in der Art, wie mit den Komponenten gearbeitet wird, welche Möglichkeiten des Zugriffs

notwen-dig sind und wie die Interaktionen mit anderen Komponenten erfolgt. Für die verschiedenen Komponenten werden verschiedene Anwendungsfällen entwickelt, deren Gesamtheit die

Fä-higkeiten von DATATRAWLER beschreiben.

Grundlage für das Arbeiten mit den Komponenten ist eine gemeinsame Basisarchitek-tur. Diese Basisarchitektur stellt das gemeinsame Netzwerk, über das Klienten und Server verbunden werden. Im Rahmen des Netzwerkes muß der Zugriff auf einzelne Komponenten möglich sein. Die Betrachtung des Netzwerkes kann entsprechend Bild 3.1 in die rein physi-kalische Übertragung und dem darauf verwendeten Protokoll bis hin zur Anwendungsschicht unterteilt werden. Wesentlich für die Anwendung in diesem Kontext ist die gemeinsame

An-wendungsschicht, sie ermöglicht die Interoperabiltät zwischen den Objekten im Netzwerk. Die

Ausführung dieser Schicht muß mehreren Aspekten entsprechen. Hintergedanke dabei muß sein, daß die Aufwendungen zur Integration bestehender Anwendungen oder zur Erzeugung von neuen Anwendungen möglichst gering sein sollen.

Das heißt aus Sicht der beteiligten Firmen minimale Änderung gegenüber dem von ver-wendeten Stand der Technik. Und der ist sehr weit gefächert, im aktuellen Bordgebrauch sind Geräte auf der Basis von einfachen Kontrollerbausteinen über Industrierechner mit x86-Architektur bis hin zu Unix-Workstation. Das zu verwendende Protokoll muß sowohl auf

(14)

2,..,irifrastruktur und

sichergestellt werden, daß die Hersteller von Klient wie Server nicht auf eine bestimmte Pro-grammiersprache festgelegt werden, damit die bisherigen Erfahrungen und Quelltext weiter-verwendet werden kann. Neben der reinen Verfügbarkeit für möglichst alle bisher verwen-deten Geräte dürfen die Anforderungen an den Speicherbedarf und Rechenleistung nicht zu groß sein. Wird die Meßlatte für den Einstieg in die Dienstintegration schon durch die Wahl des verwendeten Protokolls und seine Folgen zu hoch gelegt, wird sich noch lange keine Anwendung an Bord ergeben.

Jenseits des Basisprotokolls bestehen die Anforderungen aus zwei wesentlich Teilberei-che. Der erste betrifft die Anforderungen an die allgemein verfügbare Netzinfrastruktur und das Verhalten von DATATRAWLER eigenen Komponenten in diesem Umfe]d. Er ist in den Kapitel 2.1.1 his 2.1.3 abgehandelt. Der zweite Bereich enthält die spezifischen Fähigkeiten,

die DATATRAWLER-Objekte im allgemeinen ausmachen sowie die spezifischen Fähigkeiten der betrachteten Komponente. Dieser Teilbereich ist in dem Kapitel 2.1.5 bis 2.4 enthalten.

In der kompletten ,Arbeit wird ein Punkt nicht oder nur am Rande behandelt: die ver-wendete Hardware. Sie hat auf das verver-wendete Konzept nur marginalen Einfluß hat. Es wird im Folgenden deshalb nur angenommen, daß eine beliebige geartete Verbindung (siehe Bild 3.1) zwischen den Komponenten und Kiienten vorhanden ist. Ob die Vernetzung auf Basis

von Ethernet, - ATM oder gar Token Ring durchgeführt wird, ist eher eine Frage der

Ko-sten, denn von konzeptioneller Bedeutung. Die genaueren Anforderungen an die Hardware ergeben sich unter anderem aus dem verwendeten Basissystem (siehe Kapitel Kapitel 3), der Anzahl und Art der integrierten Komponenten und nicht zuletzt aus den Anforderungen der beteiligten Klassifikationsgesellschaft und wird deshalb hier nicht behandelt.

2.1

nfrastruktur und Basisfunktionalitäten

Bevor mit den drei schiffsspezifischen Komponenten gearbeitet werden kann, ist eine In-frastruktur notwendig, die das Arbeiten in dienstintegrierten Netzwerken überhaupt erst

er-möglicht oder wesentlich erleichtert. Diese Dienste betreffen vor allem die Objektermittlung (Kapitel 2.1.1), Benachrichtigung von Kiienten über Zustandsänderungen (Kapitel 2.1.2) und ein allgemeines Zeitnormal (Kapitel 2.1.3). Des weiteren gibt es Reihe von Punkten, die alle

DATATRAWLER-Objekte gemein haben sollen. Dies betrifft einmal ein Konzept zum Abfragen und Ändern der Konfiguration (Kapitel 2.1.4) wie natürlich den Datentransport (Kapitel 2.1.5).

2.1.1 Objektermittlung

Bevor ein Klient Zugriff auf das eine Komponente realisierende Objekte in einem Netzwerk

hat, muß eine Referenz auf dieses ermittelt werden. Die Ermittlung der Referenz für ein Objekt

kann dabei abhängig von der Anwendung auf zwei verschieden Weisen geschehen:

> Ermittlung einer Referenz für ein Objekt bekannten Namens

- Ermittlung einer Referenz für ein Objekt mit bestimmten Eigenschaften

Diese Probleme findet man in jedem Netz, zu ihrer Lösung sind meistens zwei verschiedene Dienste vorhanden. Am bekanntesten dürften die vergleichbaren Dienste des Internets sein, hier dient zum Beispiel der Nameserver zur Namensaufiösung [21, 221 von Rechnern und

Anbieter wie Yahoo oder Lycos bieten ihre Dienste als Suchmaschinenan für Dokumente auf

(15)

o

Klient fract nach Referenz DataTrawler Namens-auflösung

fragt nach Zeit

Bild 2.1: Usecase-Dïagramrn der Infrastruktur

fragt nach Referenz

trägt Namen und Referenz ein

trägt Eigenschaften und Referenz ein

fragt nach Zeit

Die Namensauflösung dient dazu, zu einem Namen die Referenz eines Objektes zu

ermit-teln. Vorausgesetzt, der Name des Objektes setzt sich mit Hilfe eines Namensschematas aus den Informationen über Typ, Position, Hersteller... zusammen, kann man bei dem Dienst zur Namensauflösung (Narneserver) sofort die Referenz zu der gewünschten Komponente erhal-ten. Voraussetzung für die Namensauflosung ist ein einheitliches Schema, welches im Sinne der Übersichtlichkeit gut strukturiert sein muß. Der Namensdienst muß in der DATATRAw-LER-Infrastruktur zur Verfügung stehen und die Referenzen auf Objekte entsprechend dem

gewählten Namensschema speichern. Klienten können dort die Referenz zu einem Objekte mit

bekannten Namen auflösen. Des weiteren sind administrative Möglichkeiten zur Überprüfung

der gespeicherten Referenzen oder Löschen von Eintragen beim Namensdierist notwendig. Als Basisdaten für das DATATRAWLER-Namensschema werden daher folgende vorgeschla-gen:

Art des Gerätes Position des Gerätes im Schiff

Hersteller eindeutige Identifikation

Modell des Gerätes

Neben der Namensauflösung soll eine Möglichkeit vorhanden sein, Geräte anhand

ein-zelner Merkmale wie ihres Dienstes oder Position, Typ oder Hersteller finden zu können. Diese

Suchmaschine muß für jedes Objekt ein Satz von Eigenschaften speichern, anhand deren es

bei einer späteren Suche ermittelt werden kann. Damit diese Suche eine große Bandbreite von

Objekten abdeckt, ist die Speicherung eines bekannten Mindestsatz an Eigenschaften notwen-dig. Diese werden später bei den einzelnen Komponenten näher zu beschreiben sein. Wegen

der Ähnlichkeit mit dem Namensschema sind zumindestens die dort beschriebenen Basisdaten

auch für jedes Objekt in der Suchmaschine zu hinterlegen.

(16)

2.1. Jpfrastruktur und BassfunktionaIithten - -

-Da jedoch kaum abzusehen ist, ob die gewählten Eigenschaften jedes Gerät eindeutig beschreiben, muß ein Anbieter in der Lage sein, weitere Eigenschaften in der Suchmaschine für seine Objekte ablegen zu können. Dies ermöglichen ihm, einen technischen Mehrwert anzubieten, ohne die Funktionalität für generische Werkzeuge einzuschränken. Ein Use Case Diagramm mit den eben beschriebenen Diensten ist in Bild 2.1 enthalten.

Das Anmelden mit Namen oder Eigenschaften sowie Referenz und Eigenschaften muß ein einfacher Prozeß sein, da auch Embedded Devices in Betracht kommen, sind zu auf-wendige Verfahren nicht praktikabel. Die Identifikation von Komponenten muß anhand von

verschiedenen Kriterien durchführbar sein.

2.1.2 Benachrichtigung

Betrachtet man den Datenfluß zwischen Server und Klient, gibt es drei grundsätzliche

Lösun-gen:

- der Klient fragt Daten an und bekommt sie vom Server

der Klient meldet sich beim Server an und bekommt irgendwann Daten zugeschickt

- eine dritte Komponente vermittelt die Daten zwischen Server und Klient

Der erste Weg besticht durch seine Einfachheit, außerdem kann so ein Klient gewährleisten,

daß er die Daten dann bekommt wenn er sie braucht. Dieser Weg ist deshalb zu realisieren. Der

Nachteil dieser Lösung wird jedoch bei einer Vielzahl von Klienten sichtbar. Obwohl sie alle identische Daten abfragen, sind sie alle getrennt zu bedienen,was die Last auf der Serverseite

steigert. Die Klienten ihrerseits müssen regelmäßig beim Server anfragen ( Polling), um auf dem neusten Stand zu bleiben. Dies ist besonders auffällig bei Sensoren, deren Wert sich nur selten ändert, deren Änderung aber im Ereignisfall aber schnell bekannt sein muß. Hier

muß mit hoher Rate abgefragt werden, obwohl eventuell nie eine Änderung eintritt. Ein prominentes Beispiel für solche Sensoren sind Brand- oder Einbruchsmelder.

Der zweite Weg hat diesen Nachteil nicht, liegen neue Daten beim Server an, kann er alle

Klienten mit einem Mal versorgen. Allerdings kann die Zeit zwischen dem Schicken zweier Daten sehr lang sein. Neu angemeldete Klienten blieben solange ohne Daten. Zweitens muß sich der Server dann nicht nur um die Verwaltung der eigentlichen Daten kümmern, auch

die Klienten müssen verwaltet werden. Fehlermeldungen durch das Verschicken von Daten an

nicht mehr existenten Klienten müssen interpretiert werden etc. Dadurch wird

Implementie-rung des Servers vergrößert.

Als Ausweg bietet sich der dritte Weg an. Eine drittes Objekt wird zwischen dem Server und den Klienten geschaltet und verteilt Daten vom Server an die Klienten. Der Server ist

von der Verwaltung der Klienten entlastet und muß neue Daten nur noch einmal an das

Verteiler-Objekt übermitteln. Durch diesen Weg wird das - Polling vermieden. Um sowohl die Möglichkeit zu haben, sofort Daten bei einem Server abzufragen, aber auch Polling zu

vermeiden, sollen bei DATATRAWLER der ersten und dritten Weg zu den Daten unterstützt

werden (siehe Bild 2.2).

Hierfür muß die Infrastruktur eine Möglichkeit anbieten, die die Daten für den Serveran

eine Vielzahl von Klienten verteilt. Des weiteren sind auch hier wieder administrative Dinge wie An- und Abmelden von Klient und das Öffnen und Schließen der Verteiler notwendig.

(17)

Th D ataT ra w e r fragt Daten ab fragt Referenz von Ereigniskana vermittelt Daten meldet sich an/ab

Bild 2.2: Usecase-Diarmm für die Benachrichtigung

versorgt mit Daten

2.1.3 Zeitbehandlung

Für einige Dienste ist die korrekte Zeitbehandlung von Bedeutung, sei es bei der

Datenspeicher-ung oder zur Synchronisieren mit anderen Diensten. Hierfür ist es notwendig, ein Zeitnormal zur Verfügung zu haben. Damit können auch Dienste auf Basis von Hardware ohne RTC

mit genauer Zeit arbeiten und zweitens können alle Dienste auf einer gemeinsamen Zeitbasis

arbeiten (siehe Bild 2.1).

Die Infrastruktur muß deshalb eine Komponente enthalten, bei der die aktuelle Zeit mit

hoher Genauigkeit abgefragt werden kann, um sie in in DATATRAWLER-Komponenten

verwen-den zu können.

2.1.4 Eigenschaften und Konfiguration

Nachdem ein Objekt mit Hilfe der im Kapitel 2.1. 1 beschriebenen Techniken gefunden wurde.

muß ein Klient ermitteln können, welche näheren Eigenschaften es hat oder es gegebenfalls den Wünschen des Anwenders anzupassen. Um die Möglichkeit zu haben, mit Objekten zu arbeiten, deren Eigenschaften nicht a priori bekannt sind, müssen es möglich sein die aktuelle

Konfiguration des Objektes zu ermitteln und die Konfiguration des Objekte zu ändeim. Für alle DATATRAWLER-Objekte muß daher ein einheitlicher Mechanismus vorhanden

sein, mit dem Eigenschaften abgefragt und gegebenfalls auch geändert werden können. Ne-ben dem einheitlichen Transport von Konfigurationsattributen verschiedener Natur (Zeichen-ketten, Boolesche oder numerische Werte) stellt sich das Problem, was passiert, wenn unter-schiedlich Klienten eine Komponente in verschiedenen Konfigurationen benötigen. Beispiels-weise wenn unterschiedliche Klienten die Ausgabe der Schiffsgeschwindigkeit in Knoten, in rn/s oder km/h erwarten. Hier sollte ein einheitliche Lösung von Konfigurationskonflikten für alle Geräteklassen gefunden werden. Dabei ist zu bedenken, daß Komponenten möglicherwei-se zehn oder zwanzig Parameter bieten, so daß nicht einfach für jede mögliche Kombination

ein Objekt zur Verfügung gestellt werden kann.

Eine mögliche Lösung ist das Factory Pattern. Dieses Entwurfsmuster sieht eine Objekt (die Factory) vor, deren einzige Aufgabe es ist, weitere Objekte zu erzeugen. Diese, von der Factory erzeugten, Objekte können den Ansprüchen des Klienten entsprechend konliguriert werden. Da jedes Objekte nur einem oder wenigen Klienten zur Verfügung steht, kann dies

,sflt.,,çflNflPtIc,* Konzeption

A

(18)

Klient

t

fragt nach Standardkomponente

und Standarkonfiguration,

fragt nach neuer Komponente

Bild 2.3: Usecase-Diagramm der Erstellung und Konfiguration

ohne Konflikte geschehen. Die eigentlichen Aufgaben wie Meßwert abfragen etc. werden dann durch die konfigurierbaren Objektevorgenommen. Das Use Case Diagramm hierzu ist

in Bild 2.3 enthalten (siehe auch [48, 15]).

Soll zum Beispiel die Windgeschwindigkeit abgefragt werden, so wird bei der entspre-chenden Factory ein Objekt angefragt. Dieses Objekt repräsentiert den Sensor im Netz und kann entsprechend den Anforderungen konfiguriertwerden. Hier würde sich die Verwendung unterschiedlicher Maßeinheiten (Knoten, m/s, km/h) oder Mittelungsverfahren (keine Mitte-lung, über die letzten 10, 30, 60 ... Sekunden) anbieten.

Damit bei Standardaufgaben nicht mehrere Objekte mit der gleichen Konfiguration er-zeugt werden müssen, wird das Entwurfsmuster noch erweitert. Die Factory bietet neben der Erzeugung konfigurierbarer Objekte eine Standard-Objekt an. Diese läßt sich von den

Klien-ten nicht verändern. ist ein Klient mit der Konfiguration des Standard-Objektes einverstanden,

kann er seine Anfragen bei diesem bearbeiten lassen, ansonsten muß er bei der Factory ein

neues Objekt erzeugen lassen.

Mit dieser Aufteilung läßt sich auf der einen Seite eine Komponente exakt an die

Bedürf-nisse des Klienten anpassen. ist eine Komponente durch ihre Implementierung hingegen auf eine Konfiguration beschränkt, kann die Erstellung weitere Komponenten durch die Factory-Komponente unterbunden werden.

2.1.5 Datentransport

Alle Anwendungen in dienstintegrierten Netzen basieren auf Daten über das Schiff und seine Umgebung, dem Datentransport kommt daher eine zentrale Rolle zu. Es gilt, einen Wegzu

finden, in dem Daten beliebiger Art transportiert können, ohne das dadurch ein Wirrwar

spezifischer Schnittstellen entsteht. Dies würde der idee des integrierten Netzes widersprechen.

Bei dem Daten an Bord, kann aus technischen Gründen zwischen zwei verschiedenen Arten unterschieden werden, einmal einzelne Datensätze, zweitens die Datenströme. Die

Da-tensätze fallen bei den meisten Sensoren an, sie sind Bestandsaufnahmen einzelner Parameter.

Beispiel für solche Daten sind Position, Kurs, Verriegelungsstatus. Bei den Datenströme hin-erzeugt konfiguriert, J' löscht Komponente verweistauf Konfiguration Standard-konfiguration Standard-komponen

j

r-DataTrawler

(19)

Server (lin icast) Nachricht L._..[Hrrachnichc 2 i- 4racrict 3 j Nac rict 4

Einfache übertragung eines Packetes,

Unterscheidung nicht möglich,

nur an Interessierte Klienten

Server (MuUicast weiterer Rechner KlientA

L

weiterer Rechner

Bild 2.4: Unicast, Multicast und Broadcast als Übertragungsniethoden

Mehrfache Übertragung jedes Packetes

Unterscheidung möglich,

nur an Interessierte Klienten

weiterer Rechner

j

gegen handelt es sich um die kontinuierliche Aufnahme von Werten, von denen ein Schnapç-schuß meist keinen Aussage enthält. Beispiel hierfür sind Ton- oder Vìdeoübertragung. Sie unterscheiden sich auch im Datenvolumen erheblich von den einzelnen Datensätzen.

Aus technischen Gründen verbietet sich die Übertragung beider Datenarten mit den glei-chen Transportmechanismen, hier läßt sich auch eine Unterscheidung in den Schnittstellen schwerlich umgehen. Ein Großteil der Daten, die an Bord übertragen werden, bestehen aus wenigen Variablen, die eine feste Struktur haben. Beispiele hierfür sind NMEA-Pakete, Meß-werte für Temperatur oder Druck etc. Bei Daten dieser Art besteht weniger das Problem in

der Menge der transportierten Daten, sondern in der Menge der verschiedenen Inhalte. Hier ist wünschenswert, daß diese Daten in einer Struktur vorliegen, die allen Komponenten be-kannt ist und sich leicht erstellen, transportieren und entziffernläßt. Die verwendete Struktur muß dabei so flexibel sein, daß auch das Auftreten neuer Datentypen keine großes Probleme

Server

(Broadcast)

Einfache Ùbertragung eines Packetes,

Unterscheidung nicht möglich,

.NachricbO

1-KlientC KlientD

an alle Rechner

(20)

darstellen darf. Dabei sollten die Daten möglichst in ihrem originalen Format transportiert

werden, es also nicht nötig sein, zum Beispiel alle Gleitzahlen in eine Darstellung als Zeichen-kette umzuwandeln.

Neben einer einheitlichen Struktur zum Transport der Daten selber müssen die Meta-daten vorhanden sein. Dies ermöglicht die Erstellung generischer Klienten, Diagnose- und Speicherungskomponenten. Dank der Metadaten können sie mit Datensätzen beliebiger

Auf-bau arbeiten, zum Beispiel zur Anzeige oder Speicherung.

Anders ist hingegen die Lage bei den Datenströmen. Sie enthalten im allgemeinen

AV-Daten mit einem großen Bandbreitenanspruch, ihr Format ist durch wenige Standards wie

MPEG oder WAV festgelegt. Während bei den Datensätzen eine möglichst einfache

Wei-terverarbeitung von Interesse ist, beschränkt man sich bei den Datenströmen meist auf das

Aufnehmen, Abspielen und Abspeichern.

Zu der Übertragung von Datenströmen ist der Aufbau einer dedizierten Verbindung not-wendig. Für dieses Verbindungen sind zur Zeit drei verschiedenen Methoden (siehe Bild 2.4)

üblich:

Unicast Verbindungen mit TCP- oder UDP-Paketen. Diese Verbindung ist vergleichbar mit einer Telephonverbindung. Bei der Unicast Verbindung wird vom Server für jeden Kli-ent eine spezielle Verbindung geöffnet. Gleiche Daten werden für jeden KliKli-ent einzeln

gesendet, eine Unterscheidung der Klienten ist möglich. [41, 40]

Multicast Verbindungen mit UDP-Paketen. Diese Verbindung ist vergleichbar mit einer Te-lephonkonferenz, nur bestimmte Partner nehmen daran teil. Bei der Multicast Verbin-dung können sich mehrere Klienten an einen Multicast Server hängen. Gleiche Daten werden nur ein einziges Mal gesendet, eine Unterscheidung der Klienten innerhalb der

Multicast-Gruppe ist nicht möglich. [47]

Broadcast Verbindungen mit UDP-Paketen. Diese Verbindung ist vergleichbar mit einem Me-gaphon, alle Netzteilnehmer sind betroffen. Bei der Broadcast Verbindung werden Daten vom Server an alle Rechner im Netz gesendet. Eine Unterscheidung der Rechner ist nicht möglich, eine Eingrenzung auf bestimmte Rechner ebenfalls nicht. [23]

Die beste Art des gewählten Datentransport ist in hohem Maße von der Natur der zu trans-portierenden Daten und deren Verwendung abhängig, jede der drei Methoden ihre Vor- und

Nachteile. Sowohl die gewählte Basisarchitektur wie auch die Schnittstellen der Komponenten

sollten daher alle drei Arten gleichermaßen unterstützen. Die endgültige Wahl der

unterstüt-zen Transportai-t wird erst bei der Implementierung fallen.

2.1.6 Sicherheit

Bei den Vorteilen und Möglichkeiten dienstintegrierter Netzwerke ergibt sich leider auch ein neues Problem, die Sicherheit der zur Verfügung stehenden Daten und Dienste. Sicherheit in

verteilten Netzwerken kann ganz unterschiedliche Aspekte betreffen, Beispiele wären die

ein-deutige Kennzeichnung der Anwender urn Zugriffsrechte vergeben zu können, die Integrität der übertragenen Daten gegenüber Änderungen durch Dritte, der Schutz der übertragenen Da-ten vor unerlaubtem Zugriff Dritter, eine garantierte Verfügbarkeit der Netzwerkverbindung und der Komponenten selber.

(21)

-Ebenso unterschiedlich wie diese Aspekte sind die betroffenen Bereiche, zum Beispiel ist

die Verfügbarkeit unter anderem ein Problem der verwendeten Hardware und der Kabelver-legung, während für Schutz der übertragenen Daten sowohl der physikalischen Zugang zum

Übertragungsweg (Kabel, Switch) wie auch eine Verschlüsselung der Daten in Frage kommt.

Hier die Maximalforderung eines in allen Aspekten ultimativ sicheren Netzwerkes zu stellen, würde dem Problem nicht gerecht werden. Gerade beim Einstieg in die Dienstintegra-tion darf die Einstiegshürde durch zu hohe Anforderungen in Bezug auf die Sicherheit nicht zu hoch gelegt werden. Ein Teilbereich kann bei der Betrachtung sowieso abgetrennt wer-den, an die Verfügbarkeit des Netzwerks und der Komponenten vor einem Bordeinsatz von den Klassifikationsgesellschaften entsprechende Forderungen gestellt. Außerdem haben die einschlägigen Anbieter von Software für den Bordgebrauch ihrerseits Erfahrung im Entwurf zuverlässiger Software gemacht)

Gegenüber der feindlichen" Umgebung des Internets bietet die Bordvernetzung einige Voraussetzungen, die die Sicherheit positiv beeinflussen. Es handelt sich um ein abgeschlos senes Netzwerk mit gut kontrollierten (wenn überhaupt) Schnittstellen nach außen. Dabei bezieht sich das abgeschlossen nicht nur auf die räumliche Ausdehnung, auch der

physikali-sche Zugang für Dritte ist im Allgemeinen stark erschwert. Das Abhören von Daten ist deshalb

in viel geringerem Maß ein Problem als im Internet, wo die Datenverbindung potentiell über mehrere unbekannte Zwischenstationen läuft. Gleichermaßen ist die Änderung der übertrage-nen Daten zwar kein ausgeschlossenes, allerdings ein wenig wahrscheinliches Szenario.

Anders stellt es sich hingegen bei der Authentifizierung der Nutzer dar. Der Normalfall

wird zwar, wie heute, der anonyme Zugriff auf die Komponenten sein, in einigen Fälle ist eine Benutzerauthentifizierung jedoch notwendig. Der Grund kann zum Beispiel in der Verwaltung

wesentlicher Eigenschaften einer Komponente liegen, aber auch die Abrechnung bestimmter

Dienste bei Passagieren (z.B. Video on Demand) ist denkbar.

2.2 Sensor

Mit dem Sensor wird die erste schiffsspezifischen Komponenten vorgestellt. Bei einem Sensor handelt es sich um ein Gerät, welches als Datenquelle dient. An Bord gibt es mehrere Hundert

bis Tausend verschiedener Sensoren. die unterschiedlich komplexe Werte aufnehmen. Dies reicht von einfachen Tastern für Verriegelungen über Sensoren für Temperatur, Druck his hin zu so komplexen Geräten wie Radar oder Flächen-Echolot. Für eine sinnvolle Vernetzung müssen alle Sensoren eine Möglichkeit im Netz anbieten, die aktuellen Werte auszulesen und gegebenenfalls ihre Eigenschaften entsprechend 2.1.4 zu konfigurieren. Dabei können

Sensoren ihre Daten sowohl in Form einzelner Datenpakete oder als Stream (S. 19 ff.) abgeben.

Für die Sensoren müssen wie im Usecase-Diagramm 2.5 abgebildet mindestens folgende

Operationen möglich sein:

)

Größe des aktuellen Wertes abfragen Benachrichtigungen entsprechend

Kapi-tel 2.1.2 anzufordern

)e Konfiguration abfragen und ande

Informationen über die

aufgenomme-nen Daten ermitteln

Dies ist übrigens auch ein Grund, diese nicht durch dic Wahl des Basissystems in eine für sie neue Umgebung zu zwingen, bisher gemachte Erfahrungen wären dort mit großer Wahrscheinlichkeit wertlos.

(22)

2.3

Berechnung

Serrsor-Klient +

fragt nach Referenz

DataTrawler

fragt nach Sensor

nd Sfandarkonfiguration

fragt nach Daten, fragt nach Ereigniskanal

konfiguriert, löscht

Bild 2.5: TJsecase-Diagrarnrn für die Sensorkomponente Sensor

leitet Daten an Klient weiter

erzeugt

fragt nach Referenz

trägt Namen und Referenz ein

trägt Standardeigensohaften und Referenz ein

erzeugt Ereigniskanal, sendet Daten

(eigniskanal

Bild 2.6: Kombinationsmöglichkeit von Sensor- und Berechnii.ngskornponente

Die nächste Komponente dient der Berechnung, mit ihr werden auf Basis von Einga-bedaten unterschiedlich komplexe Berechnungen oder Umwandlungen durchgeführt und das

Resultat ausgeben. Solche Komponente werden an Bord schon in großer Mengeverwendet, sie

sind jedoch meistens in proprietären Programmen eingebettet. Ein Beispiel hierfür ist das

Pro-gramm tames [si] des Bundesamtes für Seeschiffahrt und Hydrographie. Dies berechnet auf

Geschwindigkeit und

Wird-sensor Winkel zum Schiff

Geschwindigkeit und Kurs über Grund

Berechnungs- Wiodgeschwirndigkeit

dienst und -winkel über Grund

(23)

2. Konzeption

fragt nach Referenz

trägt Namen und Referenz ein

fragt nach Berechnungsdienst und Standarkonfiguration

leitet Daten an Klient weiter

Bild 2.7: Usecase-Diagrarnm für die Berechnungskornponenîe

fragt nach Referenz

trägt Standardeigenschaften und Referenz ein

verbindet mit Ereigniskanal, sendet Daten

Cchmaschi)

Basis von Peilwert, Druck und Temperatur das Volumen und die Masse der Ladung in Tanks.

Intern geschieht dies durch die Berechnung der Vo]umina des Tanks unter Berechnung der La-ge, Tankschrumpfung und Peilungskorrektur durch die Temperatur und Dichte des Ladegutes. Obwohl alle diese Werte in elektronische Form vorliegen, müssen sie von den entsprechenden

Anzeigen abgelesen werden und durch den Benutzer neu eingegeben werden, da mangels

In-tegration kein Zugriff auf diese Daten möglich ist. Ähnlich Probleme gibt es an Bord in großer

Menge, allein aus dem Ladungsbereich wäre es zum Beispiel Ladungsrechner zur Ermittlung der Metazentrischen Höhe, Berechnung der Stauposition von Containern, Tankberechnungen für Inhalt, Be- und Entladevorgänge, Inertbegasung, Klimaführung bei Kühliadung usw.

Damit es möglich wird, einen durchgängigen Datenfluß vom Sensor bis hin zu dem gewünschten Ausgangsergebnis zu ermöglichen, muß man auf Berechnungsdienste wie auf einen Filter zurückgreifen können. Eine Beispielanwendung für ein vernetztes System ist in

Bild 2.6 vorgeschlagen. Berechnungsdienst müssen somit sowohl Datenquelle wie -senke

dar-stellen, Ein- und Ausgang werden dabei in der Regeln unterschiedliche Datenformate haben. Genauso wie bei den Sensoren soll nicht nur die einmalige Übertragen von Datenpaket mög-lich sein, sondern auch eine Verknüpfung mit der Benachrichtigung S. 17).

Entsprechend dem Usecase-Diagramm in Bild 2.7 muß ein Berechnungskomponente

fol-Berechnungs-Kflent

fragt nach Berechnung, fragte nach Ereigniskanal, verbindet mit Ereigniskanal

konfiguriert, löscht

erzeugt

(24)

e

gende Möglichkeiten bieten:

Eingabe der benötigten Daten

Ausgabe der berechneten Daten oder Fehlermeldung

) Abfrage der benötigten Daten und Ein-heiten

Lesen der Daten aus einem Ereignis-kanal

Schreiben der Daten in einen

Ereignis-kan al

Entsprechendes gilt natürlich auch für eine Streamvariante der Berechnungskomponente, mit ihr ließen sich zum Beispiel Formatumwandlung, Datenreduktion durch geringere

Auflö-sung oder Kompressionsverfahren realisieren.

2.4

Datenspeicherung

Die dritte DATATRAwLER-Komponente dient der Datenspeicherung. Sie ist für

unterschied-lichen Zwecken notwendig. Kurzfristige ( 10 Minuten - I Stunde) Speicherung von Ge-schwindigkeit, Ruderlage und Radarbildern kann für den Fall einer Havarie durchgeführt werden. Mittel- und langfristige Speicherung (wenige Stunden bis mehrere Jahre) können für

allgemeine Nachweispflichten wie ein Logbuch oder zur Planung von Serviceintervallen ge-nutzt werden. Die Datenspeicherung ist damit ein logisches Ende der Kette vom Sensor über Berechnungskomponente bis hin zur Datenspeicherung.

Die Schnittstellen der Datenspeicherungs-Komponente müssen folgende Methoden

an-bieten:

i- Daten speichern Daten abrufen

Daten speichern aus einem Ereignis- ' Daten löschen (optional)

kanal

Dabei kann der Punkt der Datenabfrage unterschiedliche komplex gestaltet sein, von der Ausgabe aller gespeicherten Daten bis hin zur Datenbank gestützten Abfrage mittels Abfrage-sprache sind diverse Lösungen denkbar. Ebenso natürlich für das Löschen von Daten, was in einigen Anwendungsfällen überhaupt nicht gewünscht sein kann.

2.5

Zusammenfassung

Um das Ziel der Dienstintegration zu erreichen, gibt es eine Reihe von Anforderungen, die

Ver-wendete Basisarchitektur, die realisierte Infrastruktur und durch die im Netzwerk verfügbaren Komponenten zu erfüllen sind.

Die Basisarchitektur muß auf einer Vielzahl von Betriebssystemen, Programmiersprachen

und Hardware verfügbar sein. Der dafür betriebene Aufwand darf insbesondere bei Geräten

am unteren Ende der Leistungsfähigkeit keine zu große Einstiegshürde bieten.

Mit der Basisarchitektur ist eine Infrastruktur zu realisieren, die eine Reihe von Diensten für das Zusammenspiel von Klienten und Server anbietet. Unter diesen sind zwei Dienste, die zur Ermittlung von Objekten im Netzwerk dienen. Der eine dient zur Auflösung von Namen entsprechend eines noch zu spezifierenden Namensschema basierend auf den Objekteigen-schaften von Seite 16. Der andere soll eine freie Suche von Objekten anhand von bestimmten Objekteigenschaften ermöglichen. Ein weiterer Dienst der Infrastruktur dient der Verteilung

(25)

rrIW,flt4en2taYjrM

A

Speicherdienst-Klient

fragt nach Referenz

DataTrawler

r

speichert. sucht und löscht Daten, verbindet mit Ereigrriskanal,

f öst non Ereignokanat, abrrrelden,

löscht

erzeugt Ereigniskanafi, sendet Datan

BHd 2.8:Usecase-Diagramm für die Speicherungs-Komponente

fragt nach Referenz

trägt Standardeigenschahen und Referenz ein

Suchmaschine

von Daten an Klienten, so daß sich die Aufgabe von Datenquellen auf die Erstellung der Da-ten beschränken kann. Ein gemeinsames Zeitnormal im Netzwerk dient dazu, mit möglichst geringem Aufwand für die Administration Zeitunterschiede zwischen den Objekten auf ein Minimum zu reduzieren. Zumindestens optional sollte eine Möglichkeit vorhanden sein, daß Server den zu einer Anfrage gehörende Benutzer eindeutig identifiziert zu können. Für die Verwaltung von Benutzern, Rollen und Gruppen ist ein entsprechendes Werkzeug zur

Verfü-gung zu stellen.

Die Infrastruktur stellt nur die Hülle dar, in der drei verschiedene Arten von

Komponenten-Instanzen ihre Dienste anbieten. Betrachtet werden Sensoren, Berechnungskomponenten und Datenspeicherung. Ihnen gemein sind die Anforderungen an die Konfiguration und den

Da-tentransport. Bei alle DATATRAWLER-Objekte muß die Konfiguration auf einheitliche Art und

Weise abgefragt und gegebenenfalls auch geändert werden können. Um Konflikte zwischen den Anforderungen verschiedener Klienten zu verhindern, ist eine Factory vorgesehen, bei dem die Klienten ein für sie erstelltes und konfigurierbares Objekt anfordern können. Um die Anzahl der Objekte zu reduzieren, kann darüberhinaus noch ein Objekt mit

Standardkonfigu-ration angeboten werden.

Neben der Konfiguration soll auch die Art des Datentransports allen Komponenten ge-mein sein. Entsprechend der transportieren Daten sind zwei verschiedene Transportarten

not-o

ragt nach Log und Standarkorrtiguration

(26)

2.5.

wendige, einzelne Datensätze und Datenströme. Für die einzelnen Datensätze wird ein

Trans-portbehälter gefordert, der in einem einfachen und leicht zu lesenden Aufbau die jeweiligen Daten enthält. Darüber hinaus muß eine Anwendung jederzeit Metadaten über die

empfange-nen Daten abfragen könempfange-nen. In einigen bestimmten Fällen wie der Ton- oder Filmübertragung

muß die Datenübertragung technisch vollkommen anders gehandhabt werden. Statt einzelner Datensätze werden kontinuierliche Datenströme verwendet. Hier existieren drei konkurrie-rende Verbindungsmöglichkeiten, die jeweils in bestimmten Anwendungsfä]len ihre Vorteile

ausspielen können. Deshalb muß die Spezifikation der DATATRAWLER-Schnittstellen so

gehal-ten werden, daß alle drei Möglichkeigehal-ten für den Transport von Dagehal-tenströmen zur Auswahl

stehen.

Auf der Basis dieses Kapitels werden zunächst die zur Auswahl stehenden Basistechno-logien evaluiert und dann mit den Mitteln der gewählten Basistechnologie die Schnittstellen spezifiziert, mit denen sich eine dienstintegriertes Netz entsprechend den hier aufgestellten Forderungen aufbauen läßt.

(27)

1-L

Systemwahl

Bisher wurde bei der Beschreibung der Anforderungen nicht darauf eingegangen, wie diese zu realisieren sind. Da die Art der gewählten Realisation sowohl darüberentscheidet, welche der geforderten Komponenten bereits zur Verfügung stehen und in welcher Form die genaue Beschreibung der Schnittstellen vorgenommen werden muß, ist dies vor ihr zu behandeln.

Bisher wurde pauschal davon ausgegangen, daß dem System eine Technik unterliegt, die den Zugriff auf Objekte im Netzwerk erlaubt. Um dies zu realisieren, können verschiedene

Wege begangen werden:

Erstellung einer spezifischen Kommunikationsschicht fürden Bordgebrauch

Verwendung bereits existierender Protokolle aus anderen Bereichen

> Verwendung bereits vorhandener Standards fürverteilte Objekte

Der gewählte Weg entscheidet als Basistechnologie wesentlich über den Aufwand für die

Realisation von DATATRAWLER. Je nach gewählter Lösung sind sowohl unterschiedlich große

Bereiche selber zu implementieren als auch technischeEinschränkungen hinzunehmen. Dabei

darf der Punkt geeigneter Entwicklungswerkzeuge wie auch Dokumentation nicht vergessen

werden. In Bild 3.1 ist das OSI-Schichtenmodell-Modell mit dem unterschiedlichen

Entwick-lungsaufwand je nach dem gewählten Ansatz abgebildet.

3.1

Spezifische Kommunikationsschicht

Die Implementierung einer spezifischen Kommunikationsschicht, die Low-Level Probleme wie

Unabhängigkeit von unterschiedlicher Hardware, Fehlermeldungen etc., gutmütig behandelt, die einen sinnvolle Leistung in Bezug auf Datenmenge und Ansprechzeit zeigt und plattform-übergreifend verfügbar ist, ist eine nicht triviale Aufgabe. Dieser Ansatz wurde im MiTS Projekt [45] versucht, welches sich jedoch nicht durchsetzen konnte.

Ein weiteres Beispiel für ein spezifisches Protokoll ist die Marine Event Record (MER) Lösung von Procom [16]. Dies ist eine Black-Box, in der an Bord anfallende Daten für den

Havariefall gespeichert werden. Der MER soll in Zukunft zu einer Lösung für das

Schiffsma-nagement ausgebaut werden. Die Daten von Sensoren wie NMEA-Geräten oder Radar werden

bei dieser Lösung in einem ,,Konzentrator" in das MER-Protokoll umgewandelt. Dieser Kon-zentrator ist nur als Haibrücke ( Brücke) ausgelegt, also nur in der Lage, externe Signale in das eigene Format umzuwandeln. Ein Möglichkeit von der MER-Seite auf externe Ger-äte zuzugreifen gibt es nicht. Das MER-Protokoll basiert auf UDP-Paketen und spezifiziert

(28)

Application Layer Presentation Layer

Session Layer

Transport Layer

Network Layer

Logical Link Layer

Physical Layer

Zu erstellen

Vom Betriebssystem bereitgestellt

Bild 3.1: Vergleich der Lösung im OSI-Modell

neben der Möglichkeit zur Datenübertragung einfache Administrationsaufgaben wie

Anmel-den/Abmelden von Geräte etc. Uni die Möglichkeiten dieses Protokolls auszuloten, wurde eine

Implementierung [52] entsprechend der Spezifikation von Procom durchgeführt. An diesem

Protokoll zeichnen sich eine Reihe von Problemen.

Das MER-Protokoll spezifiziert C-Strukturen, die in Paket verpackt und geschickt werden.

Dies ergibt mehrere Problemen, so ist das Alignment der Paketinhalte normalerweise durch

den Compiler optimiert. Um funktionsfbhige MER-Pakete zuerzielen, muß dem Compiler

ex-plizit das Alignment vorgegeben werden. Zweitens sieht das Protokoll keine Umwandlung für

Little/Big Endian Prozessorarchitekturen ( Byteorder) vor, es wird einfach das Little Endian

Format angenommen. Damit ist die Verbindung zwischen Maschinen verschiedener Prozes-sorarchitekturen erschwert. Da das Protokoll auf UDP-Paketen basiert, ist der Transport von Daten nicht garantiert, wie er es bei TCP/IP ist. Hier müßte auf dem Application Layer des OSI Modells sichergestellt werden, daß die Datenübertragung sichergestellt ist. Eine solche Möglichkeit ist jedoch nicht vorgesehen worden.

Nicht zuletzt sind in dem MER-Protokoll keineanderen Dienste vorgesehen, außer denen,

die zum Speichern und Abrufen von Daten auf dem Server nötig sind. Es sind keine höher-wertigen Administrationsmöglichkeiten vorgesehen,keine mehrfachen Server etc. PRO-COM hat mit dem MER als eine der ersten Firmen eine lauffähige Lösung für Black-Box Syste-me an Bord von Schiffen geschaffen, sie stellt sich im Sinne einer Systemlösung nichtals ausbaufähig dar.

3.2

Fremde Protokolle

Die zweite Möglichkeit, ein Netzwerk für den Bordgebrauch zu entwickeln, ist die Verwendung

fremder Protokolle, zum Beispiel aus dem Bereich der Fertigung oder Telekommunikation. Dazu müßte man spezifizieren, wie Daten und Objekte aus dem Schiffsumfeld auf solche aus

der Fertigung oder Telekommunikation abzubilden sind. Hierbei besteht aber die Gefahr, daß

man nicht für alle schiffsspezifischen Daten ein Äquivalent in dem jeweiligen Protokoll findet.

Zu erstellen Von der Middleware

bereitgestellt

Vom Betriebssystem

bereitgestellt

t'Lc Systernwahl

OSI Modell Spezifische Korn- Middleware

munlkationsschicht (Java RMI,

(29)

3.3. Middleware

Dann wäre das Protokoll außerhalb seiner Spezifikation zu betreiben oder zu erweitern, was im Allgemeinen keine elegante Lösung darstellt.

3.3

Middleware

Da die Problematik der Kommunikation verteilter Komponenten nicht nur im Schiffsbereich

vorhanden ist, existieren verschiedene Möglichkeiten, die einen Grundstock für verteilte Rech-nersysteme bieten. Dies sind aktuell CORBA der 0MG, COM/DCOM von Microsoft und die im

Javaumfeld zur Verfügung stehenden Lösungen von Sun Microsystems. Die grundlegende Architektur dieser drei wird im Folgenden kurz vorgestellt.

3.3.1 0MG CORBA

Die Object Management Group ( 0MO) wurde 1989 als gemeinnütziger Verein von

Software-herstellern gegründet, um eine Standard für verteilte Objekte zu schaffen [26]. Die 0MO selber

stellt keine Implementierung her, ihre alleinige Aufgabe ist es, Spezifikationen zu schreiben und zu publizieren. Anders als zum Beispiel die ISO hat sie aber wesentlich kürzere Entwick-lungszeiten. Die Entwicklung der Spezifikation erfolgt durch Firmen oder im Rahmen von Forschungsprojekten, über ihre Annahme als Spezifikation wird dann gemeinsam von den Mitgliedern bestimmt. Einige der 0MG Spezifikationen sind inzwischen auch von der ISO als Norm anerkannt worden.

Das Basismodel der 0MG für verteilte Objekte ist die Object Management Architecture

(OMA), eine Model zur Kommunikation verteilter Objekte. Es unterteilt Objekte entsprechend Bild 3.2 in vier verschiedenen Kategorien:

CüRBAservicesTM Die Services sind Basisdienste, die bei verteilten Objekten benötigt werden.

Beispiele sind der Name Server, mit dem ein Server anhand seines Namens gefunden werden kann oder der Time Service, der zur Synchronisierung von Rechnern im Netz

benutzt werden kann. Ihre Spezifikation steht in [32] zur Verfügung, Implementierungen

sind in Form kommerzieller und freier Software zu finden.

I

¿

¿

CORBA Servìces

(30)

'INTERNET INTER ORB PROTOCOL

DL Stubs

Bild 3.3: Grundlegender Aufbau von CORBA

Eingabe Argumente

o

i

o

Ausgabe Argumente Rückgabewerte ORB Schnittstelle

Kommunikation über GIOP/IIOP

Server

'f c<etMft.aiewfl,w.n 3. 5ystemwahl

CORBAfacilitestm Die Facilities sollten dem Anwendungsentwickler eine Lösung für Drucken

oder Internationalisierung bieten. In diesem Bereich hat es jedoch keine wesentlichen

Entwicklungen gegeben.

CORBAdomainTh' Die Domains sind bieten eine Lösungen für besondere Industriezweige an, zum Beispiel für die Telekommunikation oder das Bankwesen an.

Anwendungsobjekte Anwendungsobjekte sind alle Objekte, die nicht in eine der anderen

Gruppen fallen.

Das Bindeglied zwischen den Objekten aller Kategorien ist der der Objekt Request Broker ORBJ. Erverrnittelt Objektaufrufe von der Klientanwendung an das gewünschten Objekt.

Da-bei übersetzt er wenn nötig zwischen verschiedenen Rechnerarchitekturen, Betriebssystemen und Programmiersprachen.

Die OMA ist die Sichtweise, die die 0MG für das Problem verteilter Objekte entwickelt hat, mit der Common Objekt Request Broker Architecture (CORBA) wird auch eine Lösung angebo-ten. Sie besteht aus einer Spezifikation des ORBs, seiner Schnittstelle, dem Netzwerkprotokoll

und einer Definitionssprache für die Schnittstellen der Objekte. Um Server und Klienten

mit-tels CORBA zu verbinden, ist auf beiden Seiten ein ORB notwendig, der die eigentlich Kommu-nikation abwickelt. Diese findet zwischen dem Server- und Klientseitigen ORB mit Hilfe eines

von der 0MG genormten Netzwerkprotokolls1 statt. ORBs sind sowohl kommerziell wie auch als freie Implementierung für eine große Anzahl von Betriebssystemen und Programmierspra-chen verfügbar, die dank des genormten Netzwerkprotokolls untereinander ohne Ansehen des

Herstellers kommunizieren können.

I Klient DL Skeleton Object Adapter (BOA, POA)

(31)

rwrI.-r*Rranwr,zTz'niaon4nr,n,eat.

A

Benutzer (Principal)

Klient

Bild 34: Posirion des CORBA Security Service

Server

L

Object Request Broker

Implementation des Security Service

J

/

Damit die beiden ORBs miteinander kommunizieren können, müssen sie über eine Be-schreibung des Objektes mit seinen Methoden und Attribute verfügen. Diese BeBe-schreibung geschieht in Form einer speziellen Sprache, der Interface Definition Language . Dies ist eine C++ ähnliche Sprache, die zur Definition der Schnittstellen dient. Mit ihr lassen sich Objekte mit Attributen und Methode, Datenstrukturen und Fehlermeldungen definieren.

Der Aufbau von CORBA Anwendungen ist in Bild 3.3 dargestellt. Auf der Klientseite dienen sogenannte Stubs als Schnittstelle, die automatisch aus der IDL-Datei erzeugt werden. Die Stubs verhalten sich für den Programmierer wie ein normales, lokales Objekt und bieten

alle in der IDL beschriebene Methoden. Ein Anwendungsprogrammierer muß sich bei CORBA

nicht um die unterliegenden Details der Netzwerktechnik wie Öffnen von Sockets, Binding etc., kümmern. Auf der Serverseite werden vom IDL-Compiler virtuelle Funktionen erstellt, die Skeletons. Diese werden durch die reale Implementation überladen. Weder auf der

Klient-noch auf der Serverseite muß man sich Gedanken um Typumwandlung, Adressauflösung oder

ähnliches machen, dies ist die Aufgabe des Object Request Brokers. Dieser hat die Aufgabe,

die Anfragen der Klienten bzw. Antworten der Server über das Netz an den jeweiligen Partner

zu übermitteln. Er läßt sich in gewissen Maßen auch konfigurieren und stellt entsprechende Schnittstellen zur Verfügung.

Neben der einfachen Koppelung von Klient und Server werden in der Konzeption eine Reihe von Diensten gefordert. Diese können durch die CORBA Services abgedeckt werden. Für die einfache Namensauflösung aus Kapitel 2.1.1 ist der Name Service [28] vorgesehen, der zum Lieferumfang vieler ORBs gehört. Zur Suche von Objekten anhand bekannter Eigen-schaften kann der Trading Service [31] herangezogen werden. Basierend auf gespeicherten Objektreferenzen und dazugehörenden Eigenschaften lassen sich mit Hilfe einer einfachen Abfragesprache passende Objekte ermitteln. Die in Kapitel 2.1.2 geforderte Möglichkeit, Ku-enten beim Vorliegen neuer Daten zu Benachrichtigen, kann durch den Event Service [27] abgedeckt werden. Er bietet das Versenden von Nachrichten an viele Empthnger an. Für das

netzweite Zeitnormal existiert mit dem Time Service [30] eine Spezifikation, die die

Möglich-keit hochauflösender Zeitangaben bietet.

Sicherheitsrelevante Themen werden im CORBA Security Service (CORBAsec [34]) behan-delt. Es ist der umfangreichste CORBA Service, dessen ganzer Umfang nur in Ansätzen

(32)

CSI Level O CSI Level 2 Klient verwendet Klient-,Ì\ Principal Klient O

Klient-Í\

Principal +

AZugri?tsrethte,Gruppen etc.

überträgt

Principal /\ Principal

verwendet

CORBA-Objekt

Bild 3.5: Verschiedene CSI-Level des CORBA Security Service

Klient-,/\ Principal Khent-Principal + Zugriffsrechte, Gruppen OtC, überträgt CORBA-Oblekt i verwendet r CORBA-Objekt verwendet p, CORBA-Objekt CORBA-Objekt CORBA-Objekt CORBA-Objekt COHBA-Objekt 1verwendet CoRBA-0bJekt

CORBA-Oblekt

Datenfiuß zwischen Klient und Server eingeklinkt. Die Spezifikation beschreibt die Möglich-keiten zum Schutz einzelner Anwendungen, zur Administration sowie von drei verschiedene Sicherheitsstufen, die das Zusammenspiel von CORBA Objekten im Sicherheitskontext

be-schreiben. Die weiteren Kapitel des CORBA Security Service sind dann an den Entwicklervon

ORB und Security Service gerichtet.

Der Benutzer als Auslöser aller Aktivitäten wird bei CORBAsec durch eine eigene Klas-se, dem CORBA::Principal repräsentiert. Ein Objekt dieser Klasse enthält wesentlichen Daten

über den Benutzer wie Name, verwendete Authentifizierungmethode oder Rechner des

fi-entprogrammes. Die drei Sicherheitsstufen oder Common Secure Interoperabi]ity (CSI) Level unterscheiden sich wie in Bild 3.5 zu sehen sowohl in ihrem Funktionsurn fang wie in der

tech-nischen Durchführung. Im Level O und i wird dem Server nur der Principal übermittelt, im Level 2 können neben der Authentifizierung noch Zugriffsdaten für die Authorisierung oder administrative Daten wie Rollen und Gruppen übermittelt werden. Des weiteren

unterschei-den sich die Level bei der Delegation. Verwendet ein Objekt weitere Objekte, dann wird diesen

bei Level I und 2 der ursprünglich Principal übermittelt. Damit haben sie die selben Authen-tifìzierung als wenn sie direkt vom ursprüngliche Principal aufgerufen würden. Beim Level O hingegen wird der Principal jeweils nur einen Schritt weit übermittelt. Wie im Bild 3.5 zu sehen, wird das über Delegation verwendete Objekte mit einem Principal angesprochen, welches dem Principal des Server-Objektes, nicht dem aufrufenden Benutzer entspricht. Bei Level O wird der Secure Socket Layer (SSL) zur Authentifizierung und Verschlüsselung des

Netzverkehrs verwendet, beim Layer I und 2 kommt das SECIIOP Protokoll zur Verwendung. CS Level i überträgt überträgt verwendet CORBA-Objekt I Klient

(33)

fy1jçidieware

Anwendung

In-Process Server (DLL)

Bild 3.6; Mögliche Komponentenposition bei COM/DCOM

DCOM

Netzwerk

Netzwerk Anwendung

Während bei den anderen Services die Implementation wie bei einem normalen CORBA-Server erfolgen kann, ist der Security Security entsprechend Bild 3.4 direkt im Object Request

Broker verankert. Der Aufwand ist erheblich und deshalb sind wesentlich weniger Implemen-tationen als bei den anderen Services zu finden. Die größte Verbreitung haben die Imple-mentationen des Levels O gefunden, sie bieten neben der Benutzerauthentifizierung auch die Verschlüsselung der Datenübertragung. Security Service Implementationen für den Level I und 2 sind in geringer Anzahl verfügbar, allerdings sind die Anforderungen an die

Infrastruk-mr (GSS [181, Kerberos [19] oder SESAM [49]) erheblich.

CORBA hat sich in einigen Bereichen als die führende Technologie für verteilte Objekte

durchsetzen können. Dies ist vor allem durch die Unabhängigkeit von einzelnen Herstellern und Plattformen bedingt, selbst die Koppelung von Mainframes mit PCs ist problemlos mög-lich Für die meisten zur Zeit verwendeten Programmiersprachen existieren sowohl

kommer-zielle wie freie ORB-Implementierungen, es stehen auch eine ganze Reihe von Implementatio-nen der CORBA Services zur Verfügung.

3.3.2 Microsoft DCOM

Das Distributed Component Object Model (DCOM) wurde von Microsoft auf Basis seines

Com-ponent Object Model (COM) geschaffen, damit dies auch in verteilten Umgebungen

angewen-det werden kann. COM ist in erster Linie als Hilfe bei der Entwicklung im Desktop-Bereich entwickelt worden. Es ermöglicht, schnell Anwendungen mit GUI aus fertigen Komponenten

zusammenzusetzen. Eine Komponente bei COM besteht aus eine Reihe von Schnittstellen mit

Methoden und Attributen. Wie bei CORBA werden ihre Schnittstellen in einer IDL-Datei be-schrieben, wobei das Format von CORBA IDL und COM IDL nicht identisch ist. Anders als bei CORBA, dessen Fokus primär auf dem Netzwerkverkehr liegt, können die Komponenten wie in Bild 3.6 gezeigt entweder in der Anwendung selber laufen, in einer Anwendung auf dem selben Rechner oder bei DCOM auf einem weiteren Rechner. Es steht also weniger der Gedanke verteilter Objekte im Vordergrund, sondern die möglichst einfache Nutzung von

Komponenten. Damit wird zum Beispiel das Einbetten von Tabellen in eine Textverarbeitung realisiert.

COM

Cytaty

Powiązane dokumenty

Taka przestrzeń zrodziła się także w ra- mach dwóch polsko-francuskich projektów, których celem była wymiana artystycz- nych doświadczeń między aktorami zawodowymi z Polski

Można wyróżniać poszczególne etapy historycznego adwentu (jak to czyni np. Jan Paweł II wymieniając: adwent przedwieczny, znajdujący się w zamyśle i planie Boga, adwent

D) Prawdy o niepokalanym poczęciu i wniebowzięciu winny być interpretowane w kontekście podstawowych prawd chrześcijańskich, jakimi są wcielenie, odkupienie i

denn es sah, daß sein gefährlichster Gegner, Rußland, und durch es auch Österreich und Preußen so lange gelähmt seien, bis die Polen niedergerungen wären. Und der

Захист прав споживачів передбачає перехід на стандарти ЄС, модерніза- цію виробництва, передусім сільськогосподарського (виробництво м’ясної 5 Угода про

Denn es lässt sich kaum abstreiten, dass sich die Stärke der Sprache zum einen in ihrem kaum übersetzbaren Vokabular, zum anderen aber in ihrer phonetisch nicht ent- stellten und

Im Fokus dieses Artikels stehen Schutzhütten, die für Menschen in einem un- gangbaren und infrastrukturell anderweitig nicht erschlossenen Gebiet Schutz vor Unwetter und

1853—1856 £)er Ärimfrieg, von ben Stuften gegen bie Surféi, bann gegen $ranfreidj unb (Sngtanb geführt, wirb burd) ben tarifer ^rieben beenbigt. 1859 Sie Öfterreicher, von