Wirtschaftsinformatik (Bachelor-Studiengang): Grundlagen der Kommunikationstechnik (4. Semester)

Sie sind hier: StartseiteWirtschaftsinformatikGrundlagen der Kommunikationstechnologie: Schnittstellen / Übergabeformate (Architektur)

HH / CM, Kurs vom 01.10.2003 - 31.03.2004

Grundlagen der Kommunikationstechnologie: Schnittstellen / Übergabeformate (Architektur): Client Server Architektur (Interaktionsmuster in der IT, Client Server Architektur: Definition, Client Server Architektur: Grundstruktur, Der Begriff der "Middleware"), Kommunikation in Rechnernetzen (Aufgaben von Kommunikationssystemen, Herausforderung Computerkommunikation, Architekturen für Computerkommunikation, Kommunikationsmodelle, Offene Systeme, ISO/OSI-Referenzmodell, Client/Server, Verteilte Applikationen), Middleware (Kommunikationsparadigmen, Kommunikation über Sockets, Nachrichtenbasierte Kommunikation, e-Mail, Funktionales MHS-Modell, SMTP - Simple Mail Transfer Protocol, EDI, Prozedurenfernaufruf - Remote Procedure Call (RPC), Methodenfernaufruf - Remote Method Invocation (RMI)).

  1. Client Server Architektur
  2. Kommunikation in Rechnernetzen
  3. Middleware

Client Server Architektur

Interaktionsmuster in der IT

Client Server Architektur: Definition

Spezielle Form verteilter Systemarchitektur, unterteilt in: mit einer Nachrichtenverbindung zwischen Client und Server.

Oft:

Client Server Architektur: Grundstruktur

  1. Client (z.B. Web-Browser)
  2. Schnittstellen
  3. Connective Technologies (z.B. TCP/IP mit Router, Hub)
  4. Schnittstellen
  5. Server (z.B. Web-Server mit Datenbank)

Der Begriff der "Middleware"

Als Middleware wird eine Software-Schicht zwischen (Netzwerk-) Betriebssystem und Applikationsebene bezeichnet.

Zum Menü Wirtschaftsinformatik | Zum Seitenanfang

Kommunikation in Rechnernetzen

Aufgaben von Kommunikationssystemen

  1. Personenbezogene Kommunikation
    • klassisches Beispiel: Telefonie, heute digital
    • neuere Dienste: Fax, Natel, electronic Mail, video-on-demand
    • Computerkommunikation als Träger (Medium) personenbezogener Kommunikation
  2. Computernetze und verteilte Systeme (computerbezogene Kommunikation)
    • Computerkommunikation dient dem internen Funktionieren von Rechnerverbünden
    • Beispiel: Fileserver, Printserver, Datenbank-Server
  3. Integration
    • beliebige Übergänge: Datenübertragung via Telefon, Telefonie via Computernetze
    • keinen Unterschied zwischen Datenverarbeitung und Computerkommunikation
    • keinen Unterschied bei der Bearbeitung von EDV-Daten, Sprache und Video

Herausforderung Computerkommunikation

Computerkommunikation als komplexe Planungs- und Implementierungsaufgabe

  1. Verschiedenste Anwendungen und Anforderungen:
    • vom einfachen Terminal bis zur Multimedia-Workstation mit Video und Audio
    • Implementierung von Kommunikations-Software für den PC und den Grossrechner
  2. Sehr viele involvierte Parteien:
    • Kommunikations-Software wird von verschiedenen Leuten implementiert
    • diese Versionen müssen untereinander kompatibel sein
    • und richtig konfiguriert sein
    • und unter allen Umständen funktionieren, auch wenn eine Leitung unterbrochen,
    • ein entfernter Rechner abgestellt, ein weiterer Rechner ins Netz dazugeschaltet wird.
  3. Kommunikations-Software ist erfahrungsgemäss robuster als gewöhnliche Software:
    • Fehler werden sehr schnell sichtbar (sind aber deswegen nicht leichter zu beheben)

Fragestellungen:

  1. Zum Inhalt
    • Welche Dienste sollen durch ein Kommunikationssystem unterstützt werden?
    • Welche Dienstqualität ist notwendig?
  2. Zur Anwendung
    • Wie wird ein Kommunikationsdienst dem Benutzer angeboten?
    • Wie kann der Einsatz von Kommunikationsdiensten automatisiert werden?
  3. Zur Technologie
    • Welche Materialien stehen zur Datenübertragung zur Verfügung?
    • Wie kann ein Dienst überhaupt erbracht werden?
    • Wie wird die entsprechende Kommunikations-Software geschrieben?
    • Wie wird die Kompatibilität mit anderen Herstellern erreicht?
    • Wie muss ein Dienst verwaltet und gesteuert werden?

Architekturen für Computerkommunikation

Computerkommunikation verlangt eine perfekte Kooperation!

Im Falle von programmierter Wahlwiederholung kann folgendes passieren:

Der Anruf wird nie zustande kommen, obwohl beide Seiten es möchten.

Bedarf für eine Kommunikationsarchitektur:

Kommunikationsmodelle

Shannons Kommunikationsmodell (1949):

Shannons Kommunikationsmodell

Bildbeschreibung "Shannons Kommunikationsmodell": Meldung des Senders wird codiert als Signal an den Empfänger geschickt. Dieser decodiert das Signal, um die ursprüngliche Meldung zu erhalten.

Die sechs Stufen der Kommunikation:

Spezielles Kommunikationsmodell für Computer:

Notwendigkeit der Standardisierung:

Siehe das Modell von Shannon: Empfänger und Sender müssen einen gemeinsamen Code-Vorrat besitzen.

Die erste Entwicklung (1960-1970):

Deshalb: einen herstellerneutralen Satz von Protokollen definieren (analog der Standardisierung im technischen Bereich: Masseinheiten, Stahlqualitäten)

Heute sind zwei große Schulen "übriggeblieben" (neben herstellerspezifischem):

Offene Systeme

Wörtliche Interpretation von open systems:

Offene Systeme sind bereit, mit allen zu kommunizieren.

Definition offener Systeme:

Bedingung ist eine offene Spezifikation, d.h.

Eigenschaften offener Systeme:

  1. Interoperabilität
    • zwischen verschiedenen Implementierungen der gleichen Spezifikation
    • zwischen Teilimplementierungen eines offenen Systems
  2. Portabilität
    • von Anwendungen, die in offenen Systeme laufen

ISO/OSI-Referenzmodell

Namensgebung:

Das ISO/OSI-Referenzmodell leistet:

Kommunikation in offenen Systemen ist erlaubt.

ISO/OSI-Referenzmodell - Schichten:

Anwendungsschicht:
Die Anwendungsschicht (Application Layer) unterstützt die Endanwendungen durch Dienste bei der selbständigen Kommunikation, wie z.B. Dateitransfer, Datenbankzugriffe und E-Mail. Sie behandelt weiterhin den allgemeinen Netzwerkzugang, Flusskontrolle und die Fehlerbehebung.

Darstellungsschicht:
Die Darstellungsschicht (Presentation Layer) bestimmt das Datenformat, mit dem der Informationsaustausch im Netzwerk erfolgt. Sie trägt damit die Verantwortung für die Protokollumwandlung, Datenverschlüsselung und die Wandlung von Zeichensätze.

Steuerungsschicht:
Die Steuerungsschicht (Session Layer) ermöglicht die Herstellung einer Verbindung zweier Anwendungen auf verschiedenen Rechnern. Diese Schicht erkennt die Namen von Ressourcen (Computer, Drucker usw.) im Netzwerk, um diese ansprechen zu können. Außerdem synchronisiert sie den Datenfluss.

Transportschicht:
Die Transportschicht (Transport Layer) sorgt für eine fehlerfreie Übertragung der Datenpakete in der richtigen Reihenfolge. Hier wird die Nachricht auf die richtige Paketgröße angepasst.

Vermittlungsschicht:
Die Vermittlungsschicht (Network Layer) adressiert die Datenpakete, damit diese zum richtigen Empfänger gelangen. Weiterhin wird festgelegt, auf welchem Übertragungsweg die Pakete zum Empfänger gesendet werden.

Sicherungsschicht:
Die Sicherungsschicht (Data Link Layer) nimmt die Datenrahmen von der Vermittlungsschicht, wandelt diese in die physikalischen Rohbits um und übergibt sie an die Bitübertragungsschicht.

Bitübertragungsschicht:
Die Bitübertragungsschicht (Physical Layer) überträgt die Rohbits auf das physikalische Übertragungsmedium. Diese Schicht definiert die Eigenschaften des Netzwerks, wie z.B. Netzwerkkarte, Übertragungsmedium und Steckertyp.

Client/Server

Client/Server-Modell:

Vorzüge (gegenüber einer monolithischen/nicht-verteilten Architektur):

Diese "Versprechen" lassen sich jedoch nicht immer einlösen: oft anfälliger, aufwendigere Verwaltung, kritische Server und das Netzwerk als Engpass.

Client und Server:

  1. Client fordert Dienst beim Server an und wartet auf Antwort
  2. Server stellt Dienst bereit und antwortet

Verteilte Applikationen

Gründe:

Probleme:

Verteilungstransparenz:

Für den Benutzer/Entwickler steht ein verteiltes System wie ein zentrales System da.

Aufgliederung der Verteilungstransparenz:

Zum Menü Wirtschaftsinformatik | Zum Seitenanfang

Middleware

Kommunikationsparadigmen

Neben der rasanten Entwicklung der Netzwerktechnologie haben sich Kommunikationsparadigmen entwickelt, die dem Entwickler eine sogenannte Kommuniktaionsmidelware zur Verfügung stellt.

Man unterscheidet einerseits andererseits

In der Reihenfolge zunehmender Verteilungstransparenz:

Kommunikation über Sockets

Die drei Phasen der Socket-Kommunikation:

  1. Initialisierungsphase
    Verbindung der Kommunikationsendpunkte
    • TCP: unterschiedliche Initialisierung von Server- und Client-Sockets
    • Unabhängig von Rechnerstandort
  2. Lese- und Schreibphase
    Symmetrische Kommunikation (write und read / send receive)
  3. Aufräumphase
    Freigabe der Ressourcen (symmetrisch)

Elementare Funktionen des Sockets für TCP/IP:

Hinweis: Verbindungsorientiertes Kommunikationsmuster!

Probleme:

Nachrichtenbasierte Kommunikation

Warteschlangensysteme oder MOM (Message Oriented Middleware):

Voraussetzungen:

e-Mail

Geschichtliches:

Technischer Steckbrief:

Funktionales MHS-Modell

Das Message Handling System (MHS) hat zwei Sublayers:

MHS Meldungsformat:

gemäss den MHS-Sublayers hat eine MHS-Meldung zwei Teile:
  1. Envelope (entspricht dem Briefumschlag) mit Adressangaben
  2. Content (entspricht dem Brief) mit Standardinformationen (Briefkopffelder für Von:, An:, Datum:, Betrifft:) und den Dokumenten selbst

MHS Adressformat:

Auswahl möglicher Attribute und Beispiel:

c - country: ch
a - administration domain: 400net
p - private domain: vptt
o - organization: telecom
ou - organizational unit: -
s - surname (Familienname): Mustermann
g - given name (Vorname): Max

Schreibweise (z.B. Visitenkärtchen): C=ch, A=400net, P=vptt, O=telecom, S=mustermann, G=max

Vielzahl von (zum Teil optionalen) MHS-Diensten:

SMTP - Simple Mail Transfer Protocol

Steckbrief:

Zum SMTP-Protokoll:

Historische Lasten:

SMTP Adress- und Mailformat:

Das Grundformat eines UA-Namen gemäss RFC 822 ist: mailbox@location

wobei:

Meldungsformat:

Meldungsaufbau:

Mail Delivery Protocols:

Häufig sind der MUA (Mail User Agent) und der MTA (Mail Transfer Agent) nicht auf dem gleichen Computer installiert:

E-Mail-Gateways:

Tatsache der heterogenen E-Mail-Welt: Probleme beim Koppeln unterschiedlicher E-Mail-Welten:

E-Mail-Verteilerlisten:

E-Mail als "Groupware" Administration von Verteilerlisten

Dafür wird oft eine spezielle E-Mail-Adresse verwendet.

Beispiel:

unterschiedliche Regeln: freier Zugang (alles wird verteilt) oder moderiert (jede Meldung wird zuerst von einem Menschen begutachtet)

E-Mail-Probleme:

Mail-Authentizität und Konfidentialität

Mail-Schleifen, Mail-Storms

Spamming, junk advertising

EDI

EDI, EDIFACT und B2B:

EDI = Electronic Data Interchange; B2B = Business-to-Business

Vordefinierte Formate und Protokolle für elektronische Erfassung und Übertragung von Nachrichten

vereinbart in Trading Partner Agreements (TPA)

Einheit der Übermittlung: Interchange

Nachrichtentypen: PRICAT, ORDERS, INVOIC

Konverter auf beiden Seiten: EDIFACTinhouse format

Classic EDI- Probleme:

Folge:

Entwicklung stagniert, Zurückhaltung der kleinen und mittleren Unternehmen

XML/EDI:

Vorteile:

Nachteile:

Prozedurenfernaufruf - Remote Procedure Call (RPC)

Ein Wunschtraum?

Probleme:

Semantische Unterschiede zwischen einem lokalen Aufruf und RPC:

Aufgaben:

Sechs Schritte:

  1. Prozeduraufruf des Client, Parameter für die Übertragung serialisieren,
  2. Adresse des Server finden, Parameter übertragen,
  3. bei Empfang: Parameter in lokale Form bringen, Dienstprozedur aufrufen,
  4. nach Prozedurende: Ergebnis für die Übertragung serialisieren,
  5. Ergebnisse übertragen,
  6. empfangene Ergebnisse in lokale Form bringen und an Client zurückgeben.

Zwischen Schritt 1 und 6 ist der Client passiv (blockiert)

Ausführungssemantiken eines RPC:

Auch wenn innerhalb der Server-Prozedur kein Fehler auftaucht, kann der RPC-Aufruf wegen eines Server-Problemes (Crash) scheitern: Der Client kann nicht wissen, ob der Fehler vor, während oder nach Ausführung der Server-Prozedur eintrat.

Folgende Semantiken sind implementierbar (in den "Stub-Prozeduren"):

Tools für die RPC-Programmierung:

Drei Schritte für die RPC-Programmierung:

Unter Umständen beträchtlicher Implementierungsaufwand. Deshalb gewünscht:

Spezielle "Interface Description Language":

Methodenfernaufruf - Remote Method Invocation (RMI)

Vergleichbar mit RPC, jedoch werden hier Objekte verbindungsorientiert aufgerufen.

Objekte als gekapselte Daten (Status) mit den zu verwendenden Operationen (Methoden) - Bereitstellung über Schnittstellen

DCOM Distributed Component Object Model:

Verwendung von COM-Objekten:

alle wesentlichen Funktionen von Saperion® werden über COM-Objekte zur Verfügung gestellt (archie32.tlb enthält die Saperion® Objektbibliothek)