Client/Server

Client/Server ist als Anwendungsstruktur in aller Munde. Die Erfahrung zeigt, daß ohne entsprechendes Know How die erhofften Ziele selten erreicht werden. Wir kennen die verfügbaren Technologien und setzen sie in der Praxis ein. Als unabhängiger, kompetenter Partner

Client/Server als Software-Architektur baut auf Middleware auf und bietet

Mit unserer Hilfe erreichen Sie Ihre Ziele.

Wir verfügen über die notwendigen theoretischen Kenntnisse und praktischen Erfahrungen, um effiziente Client/Server-Anwendungen zu konzipieren. Client/Server als Software-Architektur ermöglicht zusammen mit der Objekt-Orientierung flexible, zukunftssichere Anwendungsstrukturen. Wir setzen standardisierte Middleware ein:


Zum Thema

Definitionen
Client/Server ist ein allgemeiner Begriff, mit dem das Zusammenarbeiten von Anwendungen bzw. Anwendungs-Modulen charakterisiert wird. Client/Server befaßt sich also mit verteilten Anwendungen.

Eine Anwendung kann zunächst in die Schichten Datenhaltung, Anwendungslogik und Anwender-Oberfläche unterteilt werden. Erfolgt die Datenhaltung auf einem Server und läuft die Anwendung samt Oberfläche auf dem Client, spricht man vom thick client-Modell. Wird dagegen nur die Oberfläche auf dem Client dargestellt und laufen Datenhaltung und Anwendung auf dem Server, handelt es sich um ein thin client-Modell. Jedes Modell hat seine Vor- und Nachteile. Beide sind sogenannte 2 tier-Modelle, da die Anwendung in zwei miteinander kommunizierende Module geteilt ist.

Eine Weiterentwicklung stellen die 3 tier bzw. n tier-Modelle dar. Bei ersteren werden auch die Anwendung und die Datenhaltung auf getrennten Servern ausgeführt. Bei n tier-Modellen ist die Anwendungslogik selbst in Module aufgeteilt, die auf verschiedenen Servern ablaufen können.

Es ist klar, daß die auf verschiedenen Rechnern ablaufenden Module einer Anwendung über das verbindende Netzwerk Daten austauschen müssen. Das Programmieren der Netzwerk-Kommunikation ist sehr aufwendig. Deshalb wurden Standards entwickelt, die dem Programmierer diese Arbeit abnehmen sollen. Für den Zugriff auf Datenbanken sind dies z.B. "SQL Services", ODBC und JDBC. Zur Verteilung von Anwendungs-Modulen wurden OSF/DCE, CORBA, DCOM und Message-Queuing entwickelt.

Diese Schnittstellen, Software-Bibliotheken und Protokolle bezeichnet man als Middleware.

Sicherheit
Die Sicherheit in Netzen ist ein großes Thema. Viele Middleware-Systeme bieten umfangreiche Möglichkeiten zur Sicherung des Zugriffes. Es würde hier zu weit führen, auf diese näher einzugehen. Wichtig ist indes, sich des Problems "Sicherheit" bewuß zu sein und die gegebenen Möglichkeiten zu nutzen. Der Zettel an der Wand, auf dem die Paßworte der Mitarbeiter notiert sind, ist sicher nicht der richtige Weg.

Performance
Die Performance einer Anwendung hängt in erster Linie von ihrem Design ab. Im Client/Server-Umfeld können Anwendung nicht mehr so erstellt werden, wie dies auf dem Mainframe der Fall war. Der Engpaß Netz ist u.a. zu berücksichtigen, was Auswirkungen bis hin zur Gestaltung der Anwender-Oberfläche hat.

Stabilität
Es gibt keinen Grund, warum Client/Server-Anwendungen weniger stabil laufen sollten als monolithische Anwendungen. Für die in letzter Zeit durch die Presse geisternde "Instabilität bei Client/Server" ist vielmehr der Einsatz unsicherer Betriebssysteme wie *IX und Windows verantwortlich. Letzteres wird sicher nicht mehr von den Schreibtischen zu verdrängen sein. Aber auf der Server-Seite haben *IX-Systeme und NT in sicherheitskritischen Bereichen keine Chance. Hier sind die proprietären Systeme wie OpenVMS, MVS usw. ungeschlagen.


© 2000, Lothar Geyer EDV-Berater