Low-Level Client-Server Architektur



Ähnliche Dokumente
DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

2. Einrichtung der Verbindung zum Novell-NetStorage-Server

teamsync Kurzanleitung

Enigmail Konfiguration

Erfolgreiche Verbindung. 3. Anmeldung: Bitte geben Sie Ihren Benutzernamen und Ihr Kennwort ein.

E Mail Versand mit der Schild NRW Formularverwaltung

Einrichtung von Mozilla Thunderbird

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server

MARCANT - File Delivery System

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Externe Abfrage von für Benutzer der HSA über Mozilla-Thunderbird

Forum des Freundeskreises der Flüchtlinge Rutesheim:

Konfigurieren mit Mozilla Thunderbird

FL1 Hosting Technische Informationen

User Manual Data 24. Login und Layout

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

Alarmbilder von Bildquellen per empfangen

2015 conject all rights reserved

3. Wählen Sie "Internet- " aus und klicken Sie wiederum auf "Weiter".

Einrichtung eines -konto mit Thunderbird

Anleitung. Lesezugriff auf die App CHARLY Termine unter Android Stand:

Konfigurieren mit Outlook Express (Windows XP) oder Windows Mail (Windows Vista / Windows 7)

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Man liest sich: POP3/IMAP

Maileinstellungen Outlook

Electronic Systems GmbH & Co. KG

Was ist sigmail.de? Sigmail ist der -Server auf www. signaturportal.de. Eine Adresse auf signaturportal.de lautet

Workflows verwalten. Tipps & Tricks

VMWARE HORIZON VIEW DOKUMENTATION V3.5.2 INHALTSVERZEICHNIS

LANiS Mailversender ( Version 1.2 September 2006)

SMS-Dienst SMS-Dienst procar informatik AG Stand: FS 04/2011 Eschenweg Weiterstadt 1

Neoi Chat Service IT-Chat

Python SVN-Revision 12

HANDBUCH MOZILLA THUNDERBIRD So richten Sie Ihren kostenlosen Client ein.

Tipps und Tricks zur Installation von Java-basierten Programmen auf Handys

Das Starten von Adami Vista CRM

Die Konfiguration des Mozilla Thunderbird Mail-Clients an der UniBwM

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

Webseiten mit fragwürdigen Aufrufen von "spy & track" - Unternehmen

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Arbeitsgruppen innerhalb der Website FINSOZ e.v.

Technische Informationen zum Webmail, bereitgestellt durch den Landesverband der Freiwilligen Feuerwehren Südtirols.

Excel Auswertungen in XAuftrag / XFibu

Anleitung zur Installation von PGP auf MacOSx

Medea3 Print-Client (m3_print)

Powermanager Server- Client- Installation

ASDI Benchmarking Projekt. Anleitung zum Datenexport

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil C3:

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

KNV Gutschein-Service. 'Business Client' Juni Koch, Neff & Volckmar GmbH, Stuttgart und Köln

Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet

Übung - Konfigurieren einer Windows 7-Firewall

I Serverkalender in Thunderbird einrichten

D a s P r i n z i p V o r s p r u n g. Anleitung. - & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil C6:

Anleitung für die Hausverwaltung

Einrichtung Ihres 3 Konto unter MAC OS

Datenempfang von crossinx

Konfiguration von Outlook 2007

-passwort ändern

Synchronisations- Assistent

Zwischenablage (Bilder, Texte,...)

FL1 Hosting Kurzanleitung

Speicher in der Cloud

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Anleitung über den Umgang mit Schildern

HOSTED EXCHANGE EINRICHTUNG AUF SMARTPHONES & TABLETS

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Kurzanleitung - Einrichtung Vodafone live! InternetFlat & Em@ilFlat VPA compact

Anleitung zur Mailumstellung Entourage

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Installationsanleitung Scanner des MEDI Baden-Württemberg e.v.

SMS/ MMS Multimedia Center

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Alice & More Anleitung. GigaMail.

Anwendungsbeispiele Sign Live! Secure Mail Gateway

Adressen der BA Leipzig

Outlook und Outlook Express

Privatinsolvenz anmelden oder vielleicht sogar vermeiden. Tipps und Hinweise für die Anmeldung der Privatinsolvenz

Microsoft Outlook 2010

eduroam: Installationsanleitung Windows8 Konfiguration des Zugangs

Hochschulrechenzentrum. chschulrechenzentrum #96. Freie Universität Berlin

BEDIENUNGSANLEITUNG FÜR LIEFERANTEN AUSSCHREIBUNG

Anleitungen zum KMG- -Konto

[Leitfaden] [Sicher kommunizieren mit der Stadt Konstanz (VPS)] Einleitung. [Stadt Konstanz] [Herausgeber: Hauptamt] [Stand: 2010]

Pegasus Mail-POP3-Konfiguration für Studierende

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

anleitung für einen 2Wire- Account im Microsoft Outlook 2007

Dieses HowTo darf nicht vervielfältigt oder veröffentlich werden ohne Einverständnis des Erstellers. Alle Angaben ohne Gewähr.

Benutzerhandbuch - Elterliche Kontrolle

ISA Server 2004 Erstellen einer Webverkettung (Proxy-Chain) - Von Marc Grote

Anleitung zum GUI Version 2.x

S Sparkasse Hohenlohekreis. Leitfaden zu Secure

Outlook 2013

- Tau-Office UNA - Setup Einzelplatzinstallation. * Der griechische Buchstabe T (sprich Tau ) steht für Perfektion. Idee und Copyright: rocom GmbH

Nutzungsbedingungen

Benutzerhandbuch DesignMaster II

Transkript:

Softwareentwicklung in verteilten Umgebungen Einführung Übung 1 Low-Level Client-Server Architektur Alexander Lex 1

KEINE PLAGIATE! Einzel-Übungen! Eigenständige Arbeit jedes Teilnehmers Weitergabe von Code unzulässig (absichtlich oder fahrlässig) Datensicherheit ist Aufgabe der Studierenden Vorsicht mit Zugriffsrechten (Kaffee holen, etc.) Null Punkte für alle Beteiligten! Kein Abschreiben von Code aus vorhandenen Quellen (Internet, Bücher,...) Automatische und manuelle Prüfung 2

Website Gültige Informationen auf der Website: http://www.icg.tugraz.at/courses/svu_ue Was dort steht gilt! Folien nur Anhaltspunkt! Übungsstart: 29.10.2009 Ausgabe der Interfaces, Server läuft Abgabe: Bis Sonntag, 06.12.2009, 24:00 https://lehre.icg.tugraz.at/students/submit.php Abgabesystem rechtzeitig testen (z.b. leere Interfaces abgeben) 3

Client-Server System Verbindung über Sockets Server wird von uns zur Verfügung gestellt Ihre Aufgabe: Client Programmierung Kommunikations-Protokoll vorgegeben 4

Teilaufgaben SSL-verschlüsselte Übertragung Authentifizierung mittels ICG Username und Passwort Sollte heute via E-Mail gekommen sein Abfrage aktive Users Chat mit Kollegen Bildoperationen (serverseitig) 5

Beispiel Client A fragt Client B um Erlaubnis If B accepted: Client A & Client B übertragen Bild zu Server Server antwortet mit Bild Result portrait = morph(portrait A, portrait B) 6

Server: svu.icg.tugraz.at 3 Funktionen: Server Echo Server (auf Port 5555) Zum Testen grundlegendes Netzwerkcodes Echo SSL Server Zum Testen der SSL Verbindung (auf Port 6666), sonst gleich wie Echo Server Der echte Server (auf Port 4444) Testserver laufen bereits! Ping ist abgeschaltet! 7

SSL Verbindung Es wird ein Keystore zur Verfügung gestellt, der den Public Key des Instituts enthält. Um den Keystore zu verwenden muss die Java VM mit folgenden Parametern aufgerufen werden: -Djavax.net.ssl.trustStore=SVUKeyStore -Djavax.net.ssl.trustStorePassword=svu_cert SVUKeyStore ist der vollstaendige Pfad zum KeyStore Beispielaufruf: java -Djavax.net.ssl.keyStore=/home/svu/SVUKeyStore -Djavax.net.ssl.trustStorePassword=svu_cert -jar /home/svu/excercise_1/svu_client_example_1.jar 8

Protokoll Commandos werden in XML versand Syntax: <cmd><daskommando>wert</daskommando></cmd> Kommandos: Heartbeat Authenticatioon Online Benutzer abfragen Nachrichten versenden Bilder versenden Terminieren 9

Heartbeat Wird nur vom Server versand. Stellt sicher, dass der Client nicht abgestürzt ist Der Client muss darauf nicht reagieren! Server entdeckt Fehler automatisch beim Senden. Kommt jede Minute Syntax: <cmd><heartbeat /></cmd> 10

Authentifizierung Verwendung des ICG LDAP Username und Passworts zur Authentifizierung Client sendet seinen Username, Server antwortet und teilt mit ob Authentifizierung erfolgreich war Server teilt auch einen Qualifizierten Benutzernamen mit Dadurch kann man sich mehrfach verbinden und mit sich selbst testen Beispiel: user:0 Client sendet: <cmd><user><username>meinicgldapbenutzername</use rname><password>meinicgldappasswort</password>< /user></cmd> Server antwortet: <cmd><confirmauth><success>true false</success><q ualifiedusername>usernameplusextension:0</quali fiedusername></confirmauth></cmd> 11

Online Benutzer abfragen Client sendet: <cmd><requestonlineuserlist /></cmd> Danach wartet Client auf Antwort des Servers nimmt keine anderen Nachrichten an Antwort: <cmd><onlineusers> <username>hansi:0*</username> <username>hansi:1</username> <username>seppi:0</username> </onlineusers></cmd> Der eigene Username ist mit einem * gekennzeichnet 12

Nachrichten Versenden Partner und Nachricht angeben <cmd><message partner="hansi:0">the Message</message></cmd> Client muss Nachrichten empfangen und senden können Nachrichten werden nicht bestätigt 13

Bilder versenden Zunächst wird ein anderer Benutzer gefragt ob er/sie ein Bild morphen möchte: <cmd><imagepartnerrequest>hansi:1</imagepartnerre quest></cmd> Der gefragte Client antwortet dann entweder ablehnend oder zustimmend: <cmd><imagepartneraccept><username>fullyqualified PartnerName</username><accept>true false</accep t></imagepartneraccept></cmd> Das Bildtransferkommando folgt (siehe Website) 14

Terminieren Zum beenden der Verbindung: <cmd><terminate /></cmd> 15

Interfaces (1/2) Es werden 4 Java Interface Files zur Verfügung gestellt: ICommunication Methoden Interfaces die dann das Versenden eines Kommandos triggern: public void authenticate(string username, String password); IIncommingCommands Methoden Interfaces die nach dem Parsen eines eingehenden Kommandos aufgerufen werden müssen: public void authenticationsuccessful(boolean wassuccessful, String qualifiedusername); 16

IConnection Interfaces (2/2) Stellt die Verbindung zum Server her Terminiert die Vergindung public void establishconnection(); IApplication Initialisiert und startet Programm public void initalize(); public void run(); 17

User Interface Es muss ein User Interface geben! Alle Funktionen müssen via UI bedient werden können Es kann GUI oder Kommandozeile sein Wenn Kommandozeile: Kommandos selbst wählen Beispiel: message user:1 Hallo! Parsen und dann entsprechende Methode in ICommunication aufrufen, von dort wird dann verschickt. User Interface wird nicht automatisch getestet, muss aber beim Abgabegespräch demonstriert werden 18

Gutes Design! Zusatzbedingungen Javadoc für jede Methode und jede Klasse, außer für Methoden die im Interface dokumentiert sind KEIN busy wait! 19

Tipps (1/2) Multi-threading verwenden Eigener Thread für UI und Rest des Programms Synchronisation mit Java Mechanismen (z.b. BlockingQueue und synchronised Methoden) IDE verwenden Empfohlen: Eclipse Eclipse Fragen werden in der Newsgroup von uns beantwortet andere IDEs ok, aber nicht supported 20

Tipps (2/2) XML Parser verwenden, nicht selbst parsen DOM documents oder SAX parser Java DocumentBuilder empfohlen 21

Nach der Abgabe Programm wird über die Interfaces automatisch getestet. Pro failure einer Methode: Punkteabzug Punkteabzüge für schlechtes Design, nicht funktionierendes UI, mangelnde Dokumentation 22

Abgabegespräch Ein Abgabegespräch pro Übung Reservierung von Terminen via: https://lehre.icg.tugraz.at/students/reservation.php Demonstration Verständnisfragen Fragen zum Code Kein Problem, wenn Übung selbst gemacht 23

Weiter Informationen Bis 29.10 gesamte Übungsangabe und Downloads auf http://www.icg.tugraz.at/courses/svu_ue verfügbar Fragen in der Newsgroup stellen! E-Mails nur im Notfall, oder bei individuellen Problemen 24

Viel Erfolg! 25