Client/Server-Systeme



Ähnliche Dokumente
SDD System Design Document

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

CORBA. Systemprogrammierung WS

ObjectBridge Java Edition

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

Man liest sich: POP3/IMAP

Java Enterprise Architekturen Willkommen in der Realität

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Thin versus Fat Clients

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Client/Server-Systeme

Anwenderleitfaden Citrix. Stand Februar 2008

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

ANYWHERE Zugriff von externen Arbeitsplätzen

Übungen zu Softwaretechnik

Content Management Datenbanken, Schnittstellen

Ein buchner Unternehmen: Starke Software Gmbh Lise-Meitner-Str Schwentinental Tel.:

Vorstellung - "Personal Remote Desktop" für (fast) alle Hardwareplattformen und Betriebssysteme

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

JPC Visualisierung in Java

Java und XML 2. Java und XML

Übungen zur Softwaretechnik

Übungsklausur vom 7. Dez. 2007

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. 7 Key Features.

Virtual Desktop Infrasstructure - VDI

Inhaltsverzeichnis: Definitionen Informationssysteme als Kommunikationssystem Problemlösende Perspektiven Allgemeine System Annäherung Fazit

1 Kurzanleitung IMAP-Verfahren

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

SE2-10-Entwurfsmuster-2 15

4D Server v12 64-bit Version BETA VERSION

2. Installation unter Windows 8.1 mit Internetexplorer 11.0

SharePoint Demonstration

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Was ist neu in Sage CRM 6.1

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

How-to: VPN mit PPTP und dem Windows VPN-Client. Securepoint Security System Version 2007nx

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

3. Stored Procedures und PL/SQL

Ein buchner Unternehmen: Starke Software Gmbh Lise-Meitner-Str Schwentinental Tel.:

Ein buchner Unternehmen: Starke Software Gmbh Lise-Meitner-Str Schwentinental Tel.:

BitDefender Client Security Kurzanleitung

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung

Bundeskanzlei BK Programm GEVER Bund. als Basis für GEVER. 29. November 2012

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Musterlösung Klausur SS 2004

OP-LOG

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Nutzung von GiS BasePac 8 im Netzwerk

Teil 1: IT- und Medientechnik

Mobile und Verteilte Datenbanken

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server?

PRESman. Presentation Manager. Reduzieren Sie nachhaltig die Kosten für das. Erstellen, Verwalten und Verteilen Ihrer

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Java 2, Enterprise Edition Einführung und Überblick

IEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version Deutsch

Workflow, Business Process Management, 4.Teil

Windows Server 2008 für die RADIUS-Authentisierung einrichten

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

smis_secure mail in der srg / pflichtenheft /

Lizenzierung von System Center 2012

OpenGL. (Open Graphic Library)

SIP Konfiguration in ALERT

Verwendung des Terminalservers der MUG

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Leitfaden zur Nutzung von binder CryptShare

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Windows Server 2008 (R2): Anwendungsplattform

meta.crm meta.relations

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Umstieg auf Microsoft Exchange in der Fakultät 02

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

SolarWinds Engineer s Toolset

ModeView Bedienungsanleitung

Vereinfachte Ticketerfassung oxando GmbH

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

Eine Anwendung mit InstantRails 1.7

Was versteht man unter Softwaredokumentation?

Reporting Services und SharePoint 2010 Teil 1

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

10 größten SLA Irrtümer. Seminar: 8663 Service-Level-Agreement. Qualified for the Job

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Erfassung von Umgebungskontext und Kontextmanagement

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Vortrag von: Ilias Agorakis & Robert Roginer

Installationsvoraussetzungen

Java RMI, CORBA und Firewalls

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Online Banking System

How to: VPN mit L2TP und dem Windows VPN-Client Version 2007nx Release 3

Transkript:

Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000

Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen Teil 3 Verteilungsplattformen Teil 4 verteilte Objektmodelle

Das Client/Server-Konzept (1) Anwendungen werden in einzelne Komponenten zerlegt, und zwar: Ein oder mehrere Clients Ein oder mehrere Server Die Client-Komponenten fordern zur Bearbeitung einer Aufgabe sogenannte Dienste an, die von den Server-Komponenten zur Verfügung gestellt werden. 1

Das Client/Server-Konzept (2) Das Client/Server-Konzept definiert: die Bezeichnung der Anwendungskomponenten: Client (nutzt Dienste) oder Server (bietet einen Dienst an) und den zeitlichen Ablauf einer Interaktion zwischen Client und Server. 2

Das Client/Server-Konzept (3) Es handelt sich bei der Client Server- Interaktion keineswegs um eine eins-zu-eins- Kommunikation, denn ein Client kann mehrere Server zur Bearbeitung einer Aufgabe in Anspruch nehmen. ein Server kann Aufträge mehrerer Clients zu bearbeiten haben. Außerdem sind die Rollen der Anwendungsbausteine nicht fest vergeben, denn Ein Server kann zur Bearbeitung eines Auftrages selbst einen Dienst in Anspruch nehmen damit wird er zum Client. 3

Definition eines Client/Server-Systems Anhand der folgenden 6 Merkmale werden Client/Server-Systeme identifiziert: Bildung von Diensten Aufteilung der Applikation in Clients und Server. Verteilung von Diensten Anwendungskomponenten können sich auf verschiedenen Rechnern befinden. Interoperabilität der Dienste Die Anwendungskomponenten arbeiten an einer gemeinsamen Aufgabe. Kapselung von Diensten Den Clients ist es egal, wie die Servern intern arbeiten. Nachrichtenbasierter Datenaustausch Daten werden über Nachrichten zwischen den Anwendungskomponenten ausgetauscht. Standort-Transparenz Die Clients wissen nicht, auf welchen Rechnern sich die Server befinden. 4

Bestandteile eines Client/ Server-Systems Hardware: Rechner, Peripheriegeräte, Kommunikationsausrüstung. Software: Unterscheidung folgender Elemente: Infrastrukturfunktionen Bildschirmausgabe, Datenverwaltung, Kommunikationsmechanismen. Client/Server-Architekturen Beschreiben, wie die Clients und Server auf mehrere Rechner verteilt werden. Verteilungsplattform Software, die den Nachrichtenaustausch zwischen Clients und Servern regelt. 5

Client/Server-Architekturen Die Client/Server-Architekturen werden anhand der Verteilung der Komponenten (der Verteilungsform) klassifiziert. Um eine Client/Server-Anwendung verteilen zu können, teilt man sie in die folgenden 5 Schichten ein: Präsentation Bildschirmausgabe Steuerung Interaktion mit dem Benutzer Applikation Anwendungslogik Datenverwaltung Überprüft Geschäftsregeln, die Abhängigkeiten zwischen den Anwendungsdaten beschreiben Datenhaltung Persistente Speicherung der Anwendungsdaten 6

Client/Server-Architekturen Verteilungsformen Aus der Sicht des Benutzers ergeben sich mit den 5 Schichten die folgenden 6 Verteilungsformen: Verteilungsform Präsen- Steuer- Appli- Datenver- Datentation ung kation waltung haltung verteilte Client Server Präsentation entfernte Client Server Präsentation kooperative Client Client/ Server Verarbeitung Server persistente Client Server Geschäftsregeln entfernte Client Server Datenbank verteilte Client Client/ Datenbank Server 7

Auswahlkriterien für die Client/ Server-Architektur Anhand der folgenden Kriterien wird eine Verteilungsform und damit die entsprechende Client/Server-Architektur ausgewählt: Herausbilden von Diensten Mehrfach verwendete Funktionen als Dienste anbieten können. Einfache Integration der Teilnehmerprogramme Einfaches Einbinden der Mitspieler möglich. Erweiterbarkeit Später problemlose Erweiterung des Funktionsumfanges durch Hinzufügen neuer Dienste möglich. Performance Möglichst wenig Netzwerkbelastung. 8

Auswahl einer Client/ Server-Architektur Für die Entwicklung des COSI-Systems wird die Architektur kooperative Verarbeitung eingesetzt. Überprüfung der Kriterien: Herausbilden von Diensten: Sehr anwendungsnahe Dienste. Einfache Integration der Teilnehmerprogramme: Spieler und Spielleiter kommunizieren über das Netzwerk. Erweiterbarkeit: Gut strukturierter Systemaufbau. Performance: Verschiedene Teile der Anwendungslogik kommunizieren über das Netzwerk miteinander. 9

Verteilungsplattformen Die folgenden Software-Infrastrukturen können als Verteilungplattform für Client/Server- Applikationen dienen: Peer-to-Peer-Kommunikation Übertragung von Datenströmen. Client/Server-Datenbanken Trennung von Anwendungslogik und Daten. Verteilte Objektmodelle Objektreferenzen über Prozeß- und Rechnergrenzen hinaus. Message Passing Nachrichten werden zentral verwaltet. Remote Procedure Calls Funktionsaufrufe über Prozeß- und Rechnergrenzen hinaus. Verteilte Transaktionsmonitore Asynchroner Zugriff auf Datenbestände, deren Konsistenz gesichert ist. 10

Auswahlkriterien für die Verteilungsplattform Anhand der folgenden Kriterien wird eine Verteilungsplattform ausgewählt: Kompatibilität Unabhängigkeit von der Rechnerplattform. Transparenz Verbergen der Netzwerktechnik. Adaption Anpaßbar an die organisatorischen Strukturen des Problembereichs. Unabhängigkeit vom Transportsystem Funktioniert mit jeder Netzwerktechnik. Funktionalität Alle Komponenten lassen sich realisieren. Einfachheit Keine Spezialkenntnisse erforderlich. Effizienz Geringe Netzwerkbelastung. 11

Auswahl einer Verteilungsplattform Für die Entwicklung des COSI-Systems wird ein verteiltes Objektmodell verwendet. Überprüfung der Kriterien: Kompatibilität: Erfüllt, da standardisiert. Transparenz: Aufrufe entfernter Methoden unterscheiden sich nicht von denen lokaler. Adaption: Beschreibung des Aufgabenbereichs durch Objekte einfach. Unabhängigkeit vom Transportsystem: Erfüllt, da hohes Abstraktionsniveau. Funktionalität: Sehr umfangreiches Funktionenangebot. Einfachheit: Kaum Spezialkenntnisse erforderlich. Effizienz: Nicht erfüllt, da hohes Abstraktionsniveau. 12

Verteilte Objektmodelle Verteilte Objektmodelle erlauben eine Verwendung von Objekten über die Grenzen eines Prozesses/Rechners hinaus. Die drei wichtigsten verteilten Objektmodelle sind: RMI Remote Method Invocation Bestandteil des Java Development Kits von Sun DCOM/COM Distributed Component Object Model/Component Object Model Entwicklung von Microsoft CORBA Common Object Request Broker Architecture Entwicklung der Object Management Group 13

Die Funktionsweise verteilter Objektmodelle Erweiterung einfacher Objektmodelle: Trennung von Schnittstelle und Implementierung eines Objektes. Schnittstellen werden mit programmiersprachenunabhängigen Interface Definition Languages beschrieben. Einführung von Referenzen auf Objekte, die sich in einem anderen Prozeß oder auf einem anderen Rechner befinden. Einführung von lokalen Stellvertreterobjekten für die entfernten Objekte. 14

Auswahlkriterien für das verteilte Objektmodell Anhand der folgenden Kriterien soll ein verteiltes Objektmodell ausgewählt werden: Kompatibilität Unabhängigkeit von der Rechnerplattform. Sprachunabhängigkeit Miteinander kommunizierende Objekte dürfen in verschiedenen Sprachen implementiert sein. Flexibilität Einbindung von Objekten möglich, die zur Zeit des Übersetzens der Applikation unbekannt waren. Objektorientierung Unterstützung des objektorientierten Konzeptes. Funktionalität Es werden erweiterte Funktionen angeboten. 15

Auswahl eines verteilten Objektmodells Für die Entwicklung des COSI-Systems wird das verteilte Objektmodell CORBA eingesetzt. Überprüfung der Kriterien: Kompatibilität: Standardisiert und für viele Plattformen verfügbar. Sprachunabhängigkeit: Die verwendete Interface Definition Language ist programmiersprachenunabhängig. Flexibilität: Unterstützt dynamische Methodenaufrufe. Objektorientierung: Bildet das klassische Objektmodell ab. Funktionalität: Es werden über das verteilte Objektmodell hinausgehende Funktionen angeboten. 16

Vor- und Nachteile bei Client/ Server-Systemen Vorteile Flexibel. Strukturiert. Einzelne Server sind einfach wartbar. Nachteile Gesamtsystem ist komplex. Bei Verteilung über das Netzwerk sind Sicherheitsmechanismen erforderlich. 17