Anwendungsdienstelemente nach OSI
Die Anwendungsschicht setzt sich aus verschiedenen spezifischen Anwendungsdienstelementen
(SASE=Specific Application Service Element) zusammen, welche
spezielle Dienste (Dateiübertragung, Directory-Dienste, Nachrichtenübermittlung usw.)
anbieten. Diese verwenden in der Regel gemeinsame Anwendungsdienstelemente (CASE=Ccommon
Application Service Element). SASE wird auch als Anwendungseinheit (AE=Application
Entity) bezeichnet.
Wir betrachten in diesem Abschnitt CASE etwas genauer und gehen in den folgenden
Abschnitten auf die speziellen Anwendungsdienste ein. In CASE sind verschiedene Dienste
zusammengefaßt, die von SASE benutzt werden. Die wichtigsten Beispiele für CASE sind
| Der Verbindungskontrolldienst (ACSE=Association Control Service
Element) baut Verbindung auf und ab. Solche Verbindungen werden auf dieser
Schicht Associations genannt. Der Aufbau einer Verbindung durch A-ASSOCIATE.REQUEST wird von der Gegenseite bestätigt;
der Abbau geschieht geordnet durch A-ASSOCIATE.REQUEST,
bzw. ungeordnet durch A-ASSOCIATE.ABORT. |
| Die Dienste zur entfernten Operationskontrolle (ROSE=Remote
Operation Service Element) rufen mit dem Dienstelement RO-INVOKE eine Operation auf. Ergebnisse werden mit
FACE="Courier,Courier New" >RO-RESULT geliefert, und Fehler durch RO-ERROR gemeldet. Durch RO-REJECT-U
bzw. RO-REJECT-P wird die Ausführung einer
entfernten Operation abgewiesen; U steht
für User, P für Provider.
Die RO-Dienste werden in der Regel über Makros aufgerufen
mit Namen wie Bind, UNBIND, OPERATION
und ERROR. Für den Verbindungsaufbau
werden Dienstelemente des Association Controls und des Reliable
Transfers verwendet. |
| Die Dienste zur zuverlässigen Übertragung von Daten (RTSE=Reliable
Transfer Service Element) sorgen insbesondere bei einer Unterbrechung der
Verbindung dafür, daß eine gesicherte Wiederaufnahme und Beendigung erfolgt. Es werden
die Dienstelemente RT-OPEN und RT-CLOSE für die Verbindungseröffnung sowie RT-TRANSFER für die Datenübertragung verwendet.
Die Sendeberechtigung wird durch einen Token (TURN) geregelt, der durch
RT-TURNPLEASEangefordert und durch RT-TURN-GIVE
überlassen wird. Dieser Dienst wird vorwiegend für die Nachrichtenübertragung (MHS)
verwendet, bei dem ein Monolog-Modus ausreicht. Mit den Dienstelementen RT-U-ABORT und RT-P-ABORT
werden die Verbindungen abgebrochen. |
| Dienste zur Synchronisation atomarer Aktionen (CCR=Commitment, Concurrence,
and Recovery) leiten mit C-BEGIN eine Aktion ein, z.B. die Übertragung von Daten.
Durch ein C-PREPARE wird der Empfänger aufgefordert, die Aktion zu beenden (die Daten zu
speichern). Kann er diese Arbeit erfolgreich abschließen, so sendet er ein C-READY,
ansonsten ein C-ROLLBACK, nach welchem Sender und Empfänger in ihren Anfangszustand
übergehen; danach kann die Aktion durch ein C-RECOVER wieder von vorne aufgenommen
werden. Durch ein C-COMMIT wird der erfolgreiche Abschluß der Aktion noch einmal
ausdrücklich bestätigt.
CCR läßt sich auch verteilt in einem Netz ausführen; es wird dann eine Hierarchie von
Aktionen aufgebaut, die nach einem genau festgelegten Schema bestätigt werden. |
| Ein Dienst zur Transaktionsbearbeitung (TP=Transaction Processing). Eine
Transaktion besteht aus mehreren atomaren Aktionen, von denen entweder genau alle
ausgeführt werden oder keine; dabei hat die Ausführung korrekt zu sein, im Fehlerfall
dürfen keine falschen Zustände hinterlassen werden und Zwischenergebnisse werden nicht
zur Verfügung gestellt. TP ist ähnlich wie die Sitzungsschicht strukturiert und stützt
sich auf CCR ab. |
Eine verfeinerte Struktur der Anwendungsschicht wird als Application Layer
Structure (ALS) bezeichnet und definiert die Art der Referenzierung von
Anwendungsdienstelementen (ASE) durch die Anwendungsprozesse (AP).
Ein Anwendungsprozeß initiiert eine Verbindung (association) über einen SASE
(z.B. FTAM). SASE erzeugt eine Initialisierungs-PDU und verwendet ACSE von CASE, um eine
Verbindung mit der korrespondierenden SASE der gerufenen Gegenstelle zu initiieren. Die
Parameter, die beim Aufruf der SASE zu übergeben sind, enthalten neben der
Initialisierungs-PDU noch Angaben über die Adressen, die SASE (z.B. FTAM),
Steuerungsanforderungen (Marken), Darstellungskontext, usw.
Die ACSE kreiert sodann eine weitere PDU, welche die genannten Parameter enthält, und
welche sie an die entsprechenden Dienstelemente der Darstellungsschicht weiterreicht.
Da Prozesse in der Regel nicht über absolute Adressen, sondern über Namen miteinander
kommunizieren, werden zunächst die Adressen der beteiligten Anwendungseinheiten
ermittelt, welche in den folgenden Dienstaufrufen gleichfalls mitgeteilt werden müssen.
Die Adressen werden von einem speziellen Dienst, dem Verzeichnis-Dienst (DS= directory
service), ermittelt.
Eine weitere Schnittstelle ergibt sich zwischen den Anwendungsdiensten (in der
Anwendungsschicht: OSIE=OSI Environment) und der realen Welt (d.h. den
Anwendungsprozessen, die auf dem jeweiligen Rechner laufen: RSE=Real System
Environment). Letzteren sind die Dienste der Anwendungsschicht zugänglich zu machen.
Dazu wird jedem Anwendungsdienst ein virtuelles Gerät (virtual device)
zugeordnet, welches der Anwendungsprozeß so benutzen kann, als hätte er es alleine zur
Verfügung und als würde er nur mit einer lokalen Instanz kommunizieren. Diesem
virtuellen Gerät werden Dienstelemente zugeordnet, welche Dienstelemente des
Betriebssystems entsprechen, unter dem der Anwendungsprozeß läuft. Bei Aufruf der
entsprechenden Betriebssystemfunktionen (UE=User Element) werden dann die
jeweiligen Dienstprimitive der virtuellen Geräte angesprochen.
|