Übungsblatt 2: Kommunikation und XSS

Größe: px
Ab Seite anzeigen:

Download "Übungsblatt 2: Kommunikation und XSS"

Transkript

1 Wintersemester 2016/2017 Verteilte Systeme Universität Paderborn Fachgebiet Rechnernetze Übungsblatt 2: Kommunikation und XSS Synchron vs. Asynchron Ausgehend vom Zeitpunkt 0 rechne ein Client 100 ms bevor er die Daten für eine Server-Anfrage ermittelt hat. Es sei angenommen, dass der Server 500 ms an der Anfrage rechnet bevor er die Antwort zurück sendet. Die Übertragung vom Client zum Server bzw. vom Server zum Client dauere jeweils 50 ms. Nachdem der Prozess auf dem Client insgesamt 500 ms gerechnet hat, werden die vom Server erhaltenen Daten gebraucht. Die Verarbeitung der Daten dauere weitere 100 ms. Zu welchem Zeitpunkt ist der Client frühestens mit der vollständigen Abarbeitung der erhaltenen Serverdaten fertig, wenn die folgenden Anfragemodi vorausgesetzt sind. Skizzieren Sie die Abarbeitung auch in Form eines Zeitdiagramms. (a) Synchrone Anfrage. (b) Asynchrone Anfrage. (a) Synchron: msc Synchron Client Server 100ms 50ms 500ms 50ms 400ms 100ms Result: 1200ms Verteilte Systeme WS 2016/17 Übungsblatt 2 1

2 (b) Asychron: msc Asynchron Client Server 100ms 400ms 50ms 500ms 50ms 100ms Result: 800ms 2 Gruppenkommunikation In der Vorlesung wurden die folgenden Begriffe eingeführt: Reliable Multicast, FIFO Multicast, Causal Multicast, Atomic Multicast und Total Multicast. (a) Erklären Sie die Semantik dieser Begriffe. (b) Geben Sie zu den in Abb. 1 abgebildeten Beispielen jeweils die passende Multicast-Semantik an. (c) Geben Sie jeweils ein Beispiel an, wo ein Atomic Multicast bzw. ein Causal Multicast Sinn macht. A B C A B C A B C A B C Beispiel 1 Beispiel 2 Beispiel 3 Beispiel 4 Abbildung 1: Multicast Beispiele. Bestimmen Sie hierzu die passende Semantik. (a) Siehe Vorlesungsfolien Verteilte Systeme WS 2016/17 Übungsblatt 2 2

3 (b) Lösung FIFO atomic causal Beispiel 1 No No No reliable Beispiel 2 No Yes No atomic Beispiel 3 Yes No Yes causal Beispiel 4 Yes No No FIFO (c) Atomic Multicast: Bankkonto, Befehle add 100 und multiply 1.01 (Zinsen), dürfen nicht vertauscht werden. Causal Multicast: Forum, Antwort auf eine Frage sollte nicht vor der Frage sichtbar werden. 3 Socket Programmierung mit ZeroMQ ZeroMQ ist eine leichtgewichtige Bibliothek, welche verschiedenste Kommunikations-Funktionen anbietet und für eine Vielzahl von Programmiersprachen zur verfügung steht. Informationen zur Installation von ZeroMQ und die zugehörige API Dokumentation finden Sie auf: (a) Machen Sie sich mit den grundlegenden Konzepten von ZeroMQ vertraut. Welche Art von ZeroMQ- Sockets bietet sich für die Implementation eines Client-Server Systems an? REQ-REP (b) Implementieren Sie nun einen Server, welcher mittels eines ZeroMQ-Sockets auf den TCP-Port 5678 horcht und eine Nachricht mit dem Inhalt Ping! erwartet. Immer, wenn Ihr Server eine solche Nachricht empfängt, wird die Nachricht ausgegeben und als Antwort eine Nachricht mit dem Inhalt Pong! zurückgeschickt. Sie können für diese, wie auch die folgenden Teilaufgaben, eine Programmiersprache Ihrer Wahl nutzen. import zmq d ef main ( ) : # c r e a t e ZMQ c o n t e x t c t x = zmq. C o n t e x t ( ) # our s e r v e r w i l l use a REPLY s o c k e t s o c k e t = c t x. s o c k e t ( zmq. REP ) # l e t s o c k e t l i s t e n t o a l l i n t e r f a c e s on TCP 5678 s o c k e t. bind ( " t c p : / / :5678 " ) # some i n f o p r i n t " S t a r t i n g ZMQ s e r v e r. P r e s s CTRL C t o e x i t. " # i n f i n i t e loop t o s e r v e r r e q u e s t s while True : # w a i t f o r message t o be r e c e i v e d msg = s o c k e t. r e c v ( ) p r i n t " Received : %s " % s t r ( msg ) # check i f we ve r e c e i v e d a Ping! message i f s t r ( msg ) == " Ping! " : # send r e p l y Verteilte Systeme WS 2016/17 Übungsblatt 2 3

4 s o c k e t. send ( " Pong! " ) i f name == main : main ( ) (c) Implementieren Sie nun den passenden Client zu Ihrem Server. Der Client soll die vom Server erhaltene Antwort ebenfalls ausgeben. import zmq d ef main ( ) : # c r e a t e ZMQ c o n t e x t c t x = zmq. C o n t e x t ( ) # we w i l l use a REQUEST s o c k e t f o r our c l i e n t s o c k e t = c t x. s o c k e t ( zmq.req) # c o n n e c t t o t h e s e r v e r s o c k e t. c o n n e c t ( " t c p : / / : " ) # send a r e q u e s t r e q = " Ping! " p r i n t s o c k e t. send ( r e q ) # g e t t h e r e p l y. " Sending : %s " % r e q msg = s o c k e t. r e c v ( ) p r i n t " Received : %s " % msg i f name == main : main ( ) (d) Erweitern sie Ihren Client und Server nun dahingehend, dass der Client zwei ganzzahlige Kommandozeilenparameter entgegennimmt und diese, anstatt der Ping! Nachricht, an den Server sendet. Der Server soll die beiden empfangenen Zahlen addieren das Ergebnis an den Client zurückschicken. # S e r v e r import zmq import j s o n d ef main ( ) : # c r e a t e ZMQ c o n t e x t c t x = zmq. C o n t e x t ( ) # our s e r v e r w i l l use a REPLY s o c k e t s o c k e t = c t x. s o c k e t ( zmq. REP) # l e t s o c k e t l i s t e n t o a l l i n t e r f a c e s on TCP 5678 s o c k e t. bind ( " t c p : / / :5678 " ) # some i n f o p r i n t " S t a r t i n g ZMQ s e r v e r. P r e s s CTRL C t o e x i t. " # i n f i n i t e loop t o s e r v e r r e q u e s t s while True : # w a i t f o r message t o be r e c e i v e d msg = s o c k e t. r e c v ( ) Verteilte Systeme WS 2016/17 Übungsblatt 2 4

5 p r i n t " Received : %s " % msg # c o n v e r t from JSON t o Python l i s t t e r m s = j s o n. l o a d s ( msg ) # send sum r e s u l t s o c k e t. send ( s t r ( sum ( t e r m s ) ) ) i f name == main : main ( ) # C l i e n t import zmq import s y s import j s o n d ef main ( ) : # check and c o n v e r t i n p u t s t r y : t e r m s = [ i n t ( a ) f o r a in s y s. argv [ 1 : ] ] except : p r i n t " I n v a l i d i n p u t s. Stop. " e x i t ( 1 ) # c r e a t e ZMQ c o n t e x t c t x = zmq. C o n t e x t ( ) # we w i l l use a REQUEST s o c k e t f o r our c l i e n t s o c k e t = c t x. s o c k e t ( zmq.req) # c o n n e c t t o t h e s e r v e r s o c k e t. c o n n e c t ( " t c p : / / : " ) # send a r e q u e s t ( c o n v e r t Python l i s t t o JSON ( s e r i a l i z a t i o n ) ) p r i n t " Sending : %s " % s t r ( t e r m s ) s o c k e t. send ( j s o n. dumps ( t e r m s ) ) # g e t t h e r e p l y. msg = s o c k e t. r e c v ( ) p r i n t " Received : %s " % msg i f name == main : main ( ) (e) (Optional) Erweitern Sie die Lösung aus der vorhergingen Teilaufgabe dahingehend, dass eine beliebige Anzahl von ganzzahligen Parametern übergeben und addiert werden kann. 4 Java RMI Siehe Lösung der vorherigen Teilaufgabe (dort schon integriert). Betrachten Sie im Folgenden einen Server, welcher eine Funktion zur Addition zweier Zahlen bereitstellt. Ein Client rufe die Server-Funktion durch Übergabe zweier Parameter auf und erhalte nach erfolgreicher Berechnung das Ergebnis zurück. (a) Implementieren Sie Client und Server mithilfe des Java RMI-Konzepts. (b) Skizzieren Sie den Ablauf ihres RMI-Programms. Berücksichtigen Sie hierbei auch die Erstellung von Stubs und die versteckte Kommunikation zwischen Client und Server. Verteilte Systeme WS 2016/17 Übungsblatt 2 5

6 (a) SimpleRemoteMessage: p u b l i c i n t e r f a c e SimpleRemoteMessage extends j a v a. rmi. Remote { i n t add ( i n t a, i n t b ) throws j a v a. rmi. RemoteException ; Server import import import j a v a. rmi. ; j a v a. rmi. r e g i s t r y. ; j a v a. rmi. s e r v e r. ; p u b l i c c l a s s S i m p l e S e r v e r extends j a v a. rmi. s e r v e r. U n i c a s t R e m o t e O b j e c t implements SimpleRemoteMessage { / r e g i s t r y h o l d i n g t h e remote o b j e c t s / p r i v a t e j a v a. rmi. r e g i s t r y. R e g i s t r y o b j e c t R e g i s t r y ; p r o t e c t e d S i m p l e S e r v e r ( i n t p o r t ) throws j a v a. rmi. RemoteException { t r y { / / c o n n e c t t o t h e RMI r e g i s t r y o b j e c t R e g i s t r y = j a v a. rmi. r e g i s t r y. L o c a t e R e g i s t r y. c r e a t e R e g i s t r y ( p o r t ) ; / / a s s i g n t h i s c l a s s as " example " o b j e c t R e g i s t r y. bind ( " example ", t h i s ) ; System. o u t. p r i n t l n ( " S e r v e r r e a d y on p o r t " + j a v a. rmi. r e g i s t r y. R e g i s t r y. REGISTRY_PORT ) ; catch ( j a v a. rmi. RemoteException e ) { / / s e t t i n g up t h e r e g i s t r y f a i l e d throw e ; catch ( j a v a. rmi. AlreadyBoundException e ) { / / a l r e a d y bound ( s h o u l d n o t happen ) throw new RuntimeException ( e ) p u b l i c i n t add ( i n t a, i n t b ) { System. o u t. p r i n t l n ( " add ( ) g o t c a l l e d r e m o t e l y! " ) ; return a + b ; p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { t r y { new S i m p l e S e r v e r ( ) ; catch ( RemoteException e ) { System. e r r. p r i n t l n ( " F a i l u r e i n t h e RMI s e r v e r : " + e ) ; Verteilte Systeme WS 2016/17 Übungsblatt 2 6

7 Client import j a v a. rmi. NotBoundException ; import j a v a. rmi. RemoteException ; p u b l i c c l a s s S i m p l e C l i e n t { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { SimpleRemoteMessage myserver ; j a v a. rmi. r e g i s t r y. R e g i s t r y s e r v e r R e g i s t r y ; S t r i n g s e r v e r A d d r e s s = " " ; / / args [ 0 ] ; S t r i n g s e r v e r P o r t = " 7620 " ; / / args [ 1 ] ; i n t p o r t = I n t e g e r. valueof ( s e r v e r P o r t ) ; t r y { / / a t t a c h t o t h e remote r e g i s t r y s e r v e r R e g i s t r y = j a v a. rmi. r e g i s t r y. L o c a t e R e g i s t r y. g e t R e g i s t r y ( s e r v e r A d d r e s s, p o r t ) ; / / f e t c h t h e s e r v e r o b j e c t myserver = ( SimpleRemoteMessage ) s e r v e r R e g i s t r y. lookup ( " example " ) ; / / perform t h e a c t u a l RMI c a l l System. o u t. p r i n t l n ( " = " + myserver. add ( 4 2, 5 8 ) ) ; catch ( RemoteException e ) { System. e r r. p r i n t l n ( " Got an remote e x c e p t i o n : " + e. getmessage ( ) ) ; e. p r i n t S t a c k T r a c e ( ) ; catch ( NotBoundException e ) { System. e r r. p r i n t l n ( " Remote r e g i s t r y doesn t know example. " ) ; e. p r i n t S t a c k T r a c e ( ) ; (b) Message Sequence Chart: Verteilte Systeme WS 2016/17 Übungsblatt 2 7

8 msc Ablauf Server Object Server RMI Client RMI Client Object bind(...) lookup(...) connect OK create Stub return Stub looks like local Forward add(...) Forward add(...) sum Forward Forward sum 5 Cross Site Scripting (XSS) XSS bezeichnet das Einschleusen von HTML Code auf fremden Internetseiten. Dieser HTML Code wird dazu verwendet, um einen Angriff auf einen Client, der die Internetseite besucht, durchzuführen. Für diese Übung benötigen Sie ein Linux System (z.b. Ubuntu LTS), mit einem installierten Apache 2 Webserver mit aktiviertem PHP. Sie können eine Virtualisierungslösung, wie z.b. das frei erhältliche VirtualBox, verwenden um eine frische Linux Installation auf Ihrem Computer aufzusetzen ohne Ihr Produktivsystem verändern zu müssen. 1. Laden Sie die Datei xss.html von unser Internetseite (bzw. PAUL) und speichern Sie diese in Ihrer virtuellen Maschine unter /var/www/xss.php (Bitte beachten Sie hierbei die Dateiendung!). Führen Sie den Befehl chown -R www-data:www-data /var/www aus, um der Datei die benötigten Rechte zuzuweisen. 2. Suchen Sie Sicherheitslücken in dem php Script und zeigen Sie, wie Sie diese ausnutzen können, um einen XSS Angriff auf einen anderen Client zu starten. (Hinweis: Es reicht aus, sich den von dem php Script erzeugten HTML Code anzuschauen.) 3. Moderne Browser (wie z.b. Google Chrome 39.x) erkennen das Einschleusen von JavaScript Code über Parameter in der URL. Erläutern Sie, wie Sie die XSS Abwehrmaßnahmen moderner Browser umgangen haben. Verteilte Systeme WS 2016/17 Übungsblatt 2 8

9 4. Nutzen Sie XSS um das Passwort eines Benutzers abzugreifen. 5. Sie wollen die erbeuteten Zugangsdaten nun automatisch durch das eingeschleuste Java-Script an einen weiteren Server senden, damit dieser die Daten speichert. Dies soll geschehen, ohne, dass der Benutzer dies bemerkt. Welche Methoden können hierbei zum Einsatz kommen? Entscheiden Sie sich für eine Methode und setzen Sie diese um. 6. Die Links, die bei dem reflexiven XSS eingesetzt werden, sind sehr auffällig. Diskutieren Sie Methoden, um den Inhalt dieser Links zu verschleiern. Verteilte Systeme WS 2016/17 Übungsblatt 2 9

Übungsblatt 2: Kommunikation und XSS

Übungsblatt 2: Kommunikation und XSS Wintersemester 2012/2013 Verteilte Systeme Universität Paderborn Fachgebiet Rechnernetze Übungsblatt 2: Kommunikation und XSS 13.12.2012 1 Synchron vs. Asynchron Ausgehend vom Zeitpunkt 0 rechne ein 100

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

Mehr

7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.

7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc. 7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.html) bietet leider nur begrenzte Verteilungsabstraktion Unterstützung

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Spezielle Technik aus dem Java-Umfeld Ausführung von Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VMs Aufruf

Mehr

Konzepte von Betriebssystem-Komponenten Middleware RMI

Konzepte von Betriebssystem-Komponenten Middleware RMI Konzepte von Betriebssystem-Komponenten Middleware RMI Mario Kiefer 21. Januar 2005 1 Einführung RMI (Remote Method Invocation) ermöglicht es mit relativ einfachen Mitteln verteilte Anwendungen zu erstellen.

Mehr

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker RMI, Zusammenfassung und Lehrevaluation PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik 8. Juli 2013 Übersicht

Mehr

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1 Komponenten 1 2. Die Anfänge 3 Peter Sturm, Universität Trier 1 Selbstzufrieden Anwendung Hardware 4 Oh? Da gibt es noch jemanden? Anwendung Anwendung TCP/IP Hardware Hardware 5 Peter Sturm, Universität

Mehr

Einführung: Verteilte Systeme - Remote Method Invocation -

Einführung: Verteilte Systeme - Remote Method Invocation - Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

Mehr

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006 Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006 Aufkleber Name: Vorname: Matrikel: Studiengang: inkl. DPO4, B/M, Schwerp., Schreiben Sie zunächst Ihren

Mehr

Grundlagen Internet-Technologien INF3171

Grundlagen Internet-Technologien INF3171 Grundlagen Internet-Technologien INF3171 ekaay AJAX Version 1.0 01.07.2013 aktuelles 2 Ajax: zunächst Abkürzung für Asynchronous JavaScript And XML Jesse J. Garrett (AdaptivePath) http://www.adaptivepath.com/publications/essays/archives/

Mehr

Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7. RMI Projekt gettime 1

Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7. RMI Projekt gettime 1 Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7 Inhaltsverzeichnis RMI Projekt gettime 1 Schritt 1: Interface Klasse definieren 1 Schritt 2: Implementation Class definieren 2 Schritt 3: RMI Compiler erstellen

Mehr

Pyro - Python Remote Objects

Pyro - Python Remote Objects Pyro - Python Remote Objects Eine Bibliothek zum Erstellen verteilter Anwendungen unter Python Oliver Burger DHBW Stuttgart - Campus Horb Zusammenfassung. In der hier vorliegenden Arbeit werden die Grundzüge

Mehr

Websockets. Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server.

Websockets. Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server. Websockets Websocket: Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server. Vergleichbar mit TCP/IP-Socket, aber durch Client-Skript direkt nutzbar Mit eingebauter Nachrichten-Fragmentierung.

Mehr

Pyro - Python Remote Objects

Pyro - Python Remote Objects 13. Mai 2012 Pyro - Python Remote Objects 1 Pyro - Python Remote Objects Oliver Burger DHBW Stuttgart - Campus Horb 13. Mai 2012 Was ist Pyro? 13. Mai 2012 Pyro - Python Remote Objects 2 13. Mai 2012 Pyro

Mehr

Übungen zum Bioinformatik-Tutorium. Blatt 3

Übungen zum Bioinformatik-Tutorium. Blatt 3 Institut für Informatik Wintersemester 2018/19 Praktische Informatik und Bioinformatik Prof. Dr. Ralf Zimmer Übungen zum Bioinformatik-Tutorium Blatt 3 Termin: Dienstag, 6.11.2018, 11 Uhr 1. Hello World

Mehr

Grundlagen Rechnernetze und Verteilte Systeme IN0010, SoSe 2018

Grundlagen Rechnernetze und Verteilte Systeme IN0010, SoSe 2018 Grundlagen Rechnernetze und Verteilte Systeme IN0010, SoSe 2018 Übungsblatt 11 2. Juli 6. Juli 2018 Hinweis: Mit * gekennzeichnete Teilaufgaben sind ohne Lösung vorhergehender Teilaufgaben lösbar. Aufgabe

Mehr

Verwendung der Gruppenkommunikation JGroups

Verwendung der Gruppenkommunikation JGroups Entwickelt von Bela Ban als flexibel konfigurierbare Gruppenkommunikation in Java Information und Sourcen Webseite: http://www.jgroups.org/javagroupsnew/docs/index.html Manual und Tutorial CIP: /local/jgroups/

Mehr

MIT3 Serverseitige Programmierung. Claudius Coenen

MIT3 Serverseitige Programmierung. Claudius Coenen MIT3 Serverseitige Programmierung Claudius Coenen Organisatorisch Vorlesungsfolien & Weiterführendes www.claudiuscoenen.de/hda (mein Name, am Stück) (wo ihr studiert) (3-Tier-Reprise) Client Applikations-Server

Mehr

Höhere Programmierkonzepte Praktikum V Verteilte Programmierung

Höhere Programmierkonzepte Praktikum V Verteilte Programmierung Höhere Programmierkonzepte Praktikum V Verteilte Programmierung Prof. Dr. Nikolaus Wulff 08. 17. Jan 2019 Abbildung 1: Test des REST Integration Service per HTML Browser. 1 1 REST Service mit HTTP Web

Mehr

Node.js Einführung Manuel Hart

Node.js Einführung Manuel Hart Node.js Einführung Manuel Hart Seite 1 Inhalt 1. Node.js - Grundlagen 2. Serverseitiges JavaScript 3. Express.js 4. Websockets 5. Kleines Projekt Seite 2 1. Node.js Grundlagen Node.js is a JavaScript runtime

Mehr

Lösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18)

Lösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18) Dr. Annette Bieniusa Mathias Weber, M. Sc. Peter Zeller, M. Sc. TU Kaiserslautern Fachbereich Informatik AG Softwaretechnik Lösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18)

Mehr

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 30. März 2006

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 30. März 2006 Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 30. März 2006 Aufkleber Name: Vorname: Matrikel: Studiengang: inkl. DPO4, B/M, Schwerp., Schreiben Sie zunächst Ihren Namen

Mehr

Programmierung für Mathematik HS10

Programmierung für Mathematik HS10 Department of Informatics software evolution & architecture lab Programmierung für Mathematik HS0 Übung Aufgabe: Calculator Fortsetzung. Lernziele. Probleme mit Integer-Rechnung kennenlernen und Lösungen

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2010/2011 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Java Remote Method Invocation (RMI) Realisierung

Mehr

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

Mehr

Software Engineering I (IB) Node.js. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Software Engineering I (IB) Node.js. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München Software Engineering I (IB) Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 15.11.2018 08:01 Inhaltsverzeichnis JavaScript auf dem Server!?............................ 1 Hello

Mehr

PHP-5-Zertifizierung. Block 12 Security.

PHP-5-Zertifizierung. Block 12 Security. PHP-5-Zertifizierung Block 12 Security Allgemeine Regeln Alle Eingaben (von außen) sind (potenziell) böse Eingaben filtern/validieren Ausgaben escapen Trauen Sie nichts von außen! GET-/POST-Daten Cookies

Mehr

01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion

01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion 01 Einführung in PHP Einführung in PHP 1/13 PHP in Aktion PHP ist eine Programmiersprache, die ganz verschiedene Dinge tun kann: von einem Browser gesendete Formularinhalte auswerten, angepasste Webinhalte

Mehr

Institut für Betriebssysteme und Rechnerverbund Übungslösungen zur Vorlesung Verteilte Systeme, WS 02/03 http:www.ibr.cs.tu-bs.de/lehre/ws0203/vs/ Dozent: Prof. Dr. Stefan Fischer

Mehr

Literatur und Links. Webtechnologien WS 2017/18 Teil 1/Entwicklung

Literatur und Links. Webtechnologien WS 2017/18 Teil 1/Entwicklung Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html http://sourceforge.net/projects/xampp/files/ [1-3] http://aktuell.de.selfhtml.org/extras/download.shtml

Mehr

9. Ausnahmebehandlung

9. Ausnahmebehandlung Schwerpunkte Ausnahmen und Laufzeitfehler 9. Ausnahmebehandlung Java-Beispiele: Ausnahme.java TryCatch.java TryCatchAll.java Finally.java TryInTry.java KeyboardTry.java Oeffnungszeit.java Stack-Trace Java-Ausnahmeklassen-Hierarchie

Mehr

Webtechnologien Teil 1: Entwicklungsumgebung(en)

Webtechnologien Teil 1: Entwicklungsumgebung(en) Webtechnologien Teil 1: Entwicklungsumgebung(en) 05.04.17 1 Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem

Mehr

Java Remote Method Invocation (RMI)

Java Remote Method Invocation (RMI) Java Remote Method Invocation (RMI) Alexander Petry 13. Mai 2003 engl.: Entfernter Methodenaufruf 1 Übersicht 1. Einleitung 2. RMI Interfaces und Klassen 3. Parameterübergabe 4. Dynamisches Nachladen von

Mehr

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion 1 Java 1.1 e B Java RMI orientierte Sprache e beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. referenzen Verweise auf e keine Zeiger, Adressen o.ä. B.1 B.2 1.1 e (2)

Mehr

Installationsanleitung

Installationsanleitung 1. C Installationsanleitung C-Programmierung mit Hilfe von Eclipse unter Windows XP mit dem GNU C-Compiler (GCC) 2. Inhaltsverzeichnis 1. Einleitung... 3 2. Cygwin... 3 2.1 Cygwin-Installation... 3 2.2

Mehr

pue13 January 28, 2017

pue13 January 28, 2017 pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern

Mehr

Medien und Webtechnologie

Medien und Webtechnologie Medien und Webtechnologie Herstellerkatalog als Webanwendung Wintersemester 2005/06 18. Januar 2006 M. Wintermeier, C. Brottka, S. Keitsch Unser Ziel Beim Ausführen einer Funktion soll keine neue HTML-Seite

Mehr

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html http://sourceforge.net/projects/xampp/files/ [1-3] http://aktuell.de.selfhtml.org/extras/download.shtml

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 16. Ausnahmen (Exception Handling)

Grundlagen der Programmierung Prof. H. Mössenböck. 16. Ausnahmen (Exception Handling) Grundlagen der Programmierung Prof. H. Mössenböck 16. Ausnahmen (Exception Handling) Motivation Fehler können nicht immer dort behandelt werden, wo sie auftreten void p() { q(); Lösung void q() { r();

Mehr

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Aufgabe 1 Bitte schreiben Sie ein RMI Objekt, das eine Person repräsentiert. Es soll die folgende Schnittstelle implementieren: public interface Person

Mehr

Middleware. im Schweinsgalopp

Middleware. im Schweinsgalopp Middleware im Schweinsgalopp 1 Szenario Unternehmen verwendet SAP als ERP-System wickelt Versand über Dienstleister, hier UPS ab UPS bietet Verfolgung der Lieferung über Web- Schnittstelle Daten im ERP

Mehr

Musterlösung zu Übungsserie 09

Musterlösung zu Übungsserie 09 Musterlösung zu Übungsserie 09 Prof. Dr. H. Schweppe I. Dageförde M. Waldvogel Aufgabe 9.1 Für diese Aufgabe gibt es nicht genau eine beste Lösung. Zunächst sei bemerkt, dass eine rekursive Lösung möglich

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Aufgabe 1: Wintersemester 07/08 Übungsblatt 2 20.11.07 Grundlagen verteilter Systeme Lösungsvorschlag

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2017/2018 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 12. Januar 2018 Betriebssysteme / verteilte

Mehr

APEX Office Print - Einfach Druck machen! Daniel Hochleitner Freelance APEX Developer, FOEX GmbH

APEX Office Print - Einfach Druck machen! Daniel Hochleitner Freelance APEX Developer, FOEX GmbH APEX Office Print - Einfach Druck machen! Daniel Hochleitner Freelance APEX Developer, FOEX GmbH APEX Connect 2018 Call for Papers bis 08.11.2017!! Agenda About APEX Office Print Lizenz / Architektur /

Mehr

Web-basierte Anwendungssysteme PHP-Einführung

Web-basierte Anwendungssysteme PHP-Einführung Web-basierte Anwendungssysteme PHP-Einführung Prof. Dr. Armin Lehmann (lehmann@e-technik.org) Fachbereich 2 Informatik und Ingenieurwissenschaften Wissen durch Praxis stärkt Seite 1 Prof. Dr. Armin Lehmann

Mehr

9. Ausnahmebehandlung

9. Ausnahmebehandlung 9. Ausnahmebehandlung Java-Beispiele: Ausnahme.java TryCatch.java TryCatchAll.java Finally.java TryInTry.java KeyboardTry.java Oeffnungszeit.java Version: 11. Jan. 2016 Schwerpunkte Ausnahmen und Laufzeitfehler

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Datenschutztag. Eine Präsentation von Mateusz Gwara, Philipp Leder, Paul Panser und Patrick Wilke

Datenschutztag. Eine Präsentation von Mateusz Gwara, Philipp Leder, Paul Panser und Patrick Wilke Datenschutztag Eine Präsentation von Mateusz Gwara, Philipp Leder, Paul Panser und Patrick Wilke 1. Website Security Gliederung 2. Viren, Trojaner & Antivirensoftware 3. Phishing & Gefahren des World Wide

Mehr

Anleitung unter Windows

Anleitung unter Windows 20.01.2019 16:58 1/10 Anleitung unter Windows Anleitung unter Windows Um einen VPN-Zugang auf Ihrem Windows-Gerät herzustellen, folgen Sie bitte dieser Anleitung. Konfiguration Die Nutzung des VPN kann

Mehr

Linux-Camp: Linux als Server am Beispiel LAMP

Linux-Camp: Linux als Server am Beispiel LAMP Linux-Camp: Linux als Server am Beispiel LAMP Linux, Apache, MySQL, PHP mit Ubuntu Version 8.04 Inhalt LAMP-Komponenten LAMP-Komponenten installieren, konfigurieren und prüfen Apache Webserver PHP5 MySQL

Mehr

Mul$media im Netz Wintersemester 2012/13. Übung 06

Mul$media im Netz Wintersemester 2012/13. Übung 06 Mul$media im Netz Wintersemester 2012/13 Übung 06 Ludwig- Maximilians- Universität München Mul6media im Netz WS 2012/13 - Übung 6-1 Lösung zu Übungsbla5 04 Ludwig- Maximilians- Universität München Mul6media

Mehr

Einfache Liste: Ein Stapel (Stack) Ansatz. Schaubild. Vorlesung 1. Handout S. 2. Die einfachste Form einer Liste ist ein Stapel (stack).

Einfache Liste: Ein Stapel (Stack) Ansatz. Schaubild. Vorlesung 1. Handout S. 2. Die einfachste Form einer Liste ist ein Stapel (stack). Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 64 2 / 64 Motivation Hauptteil dieser Vorlesung sind die so genannten. Zur Motivation (und als Vorbereitung der Datencontainer-Klassen

Mehr

Ausnahmen (Exceptions)

Ausnahmen (Exceptions) Ausnahmen (Exceptions) Herkömmliche Fehlerbehandlung Jede Methode liefert einen Fehlercode int result; result = p(); if (result == ok) { result = q(); if (result == ok) { result = r(); if (result == ok)

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Formulare. Definition. Definition & Beispiele P-IT. Fach: Klasse: TD1. Datum: (Freitag) Agenda zu HTML und PHP

Formulare. Definition. Definition & Beispiele P-IT. Fach: Klasse: TD1. Datum: (Freitag) Agenda zu HTML und PHP 1 2 Fach: Klasse: Datum: P-IT TD1 08.02.2019 (Freitag) Agenda zu HTML und PHP Formulare - Definition & Beispiele PHP - Definition XAMPP - PHP-Quelltext ausführen mit XAMPP 3 4 Formulare Definition & Beispiele

Mehr

Abgabe: (vor 12 Uhr)

Abgabe: (vor 12 Uhr) TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 11/12 Einführung in die Informatik I Übungsblatt 1 Prof. Dr. Helmut Seidl, M. Schwarz, A. Herz,

Mehr

Warum EJB Technologie (1)?

Warum EJB Technologie (1)? Datenbanken und Informationssysteme 2 SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher - SS 2004 Folie EJB - 1 Warum EJB Technologie

Mehr

-Testen verteilter Anwendungen

-Testen verteilter Anwendungen -Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote

Mehr

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Möge das Abenteuer beginnen!

Möge das Abenteuer beginnen! xvi Einleitung Stück Programmcode macht. Schließlich wirst du wieder nur im Buch öfter dieses Zeichen am Ende von Programmzeilen sehen: 8. Es sagt nur aus, dass die laufende Zeile an dieser Stelle aus

Mehr

Grundlagen Internet-Technologien. Serverseitige Web-Programmierung mit CGI, Teil II: Perl im Web Version 1.11

Grundlagen Internet-Technologien. Serverseitige Web-Programmierung mit CGI, Teil II: Perl im Web Version 1.11 Serverseitige Web-Programmierung mit CGI, Teil II: Perl im Web Version 1.11 31.5.2010 1 aktuelles twitter: Mikroblogging seit 2006 typischer Dienst für Web 2.0 eigene twitter-api Nutzung in Massenmedien,

Mehr

Programmierung für Mathematik HS11

Programmierung für Mathematik HS11 software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

Formulare mit HTML. Beispiele. Beispiele & Nutzen. Web. Fach: Klasse: BW2. Datum: (Freitag) Agenda zu HTML und PHP

Formulare mit HTML. Beispiele. Beispiele & Nutzen. Web. Fach: Klasse: BW2. Datum: (Freitag) Agenda zu HTML und PHP 1 2 Fach: Klasse: Datum: Web BW2 01.03.2019 (Freitag) Agenda zu HTML und PHP Formulare mit HTML Beispiele & Nutzen PHP - Definition XAMPP - PHP-Quelltext ausführen mit XAMPP 3 4 Formulare mit HTML Beispiele

Mehr

Datenbanken und Netzanbindung

Datenbanken und Netzanbindung Datenbanken und Netzanbindung Zusammenfassung von Michael Reiher zum Vortrag Webserver und Sicherheit. Meine Ausarbeitung befasst sicht sich mit Möglichkeiten eines Angriffs auf einen Webserver. Seite

Mehr

Lösungshinweise/-vorschläge zum Übungsblatt 8: Software-Entwicklung 1 (WS 2017/18)

Lösungshinweise/-vorschläge zum Übungsblatt 8: Software-Entwicklung 1 (WS 2017/18) Dr. Annette Bieniusa Mathias Weber, M. Sc. Peter Zeller, M. Sc. TU Kaiserslautern Fachbereich Informatik AG Softwaretechnik Lösungshinweise/-vorschläge zum Übungsblatt 8: Software-Entwicklung 1 (WS 2017/18)

Mehr

Programmieren II. Remote Method Invocation (RMI) Heusch -- Ratz. Institut für Angewandte Informatik

Programmieren II. Remote Method Invocation (RMI) Heusch -- Ratz.  Institut für Angewandte Informatik Programmieren II Remote Method Invocation (RMI) Heusch -- Ratz KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote Method

Mehr

Übung Programmierung WS 2007/08 - Blatt 6

Übung Programmierung WS 2007/08 - Blatt 6 RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.

Mehr

Leistungskurs C++ Einführung

Leistungskurs C++ Einführung Leistungskurs C++ Einführung Martin Knopp, Stefan Röhrl, Martin Gottwald 17.10.2017 Folie 1/18 LK C++: Einführung Martin Knopp, Stefan Röhrl, Martin Gottwald 17.10.2017 Das Team Martin Knopp Martin.Knopp@tum.de

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation Teil 3 RMI over IIOP

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation Teil 3 RMI over IIOP UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation Teil 3 RMI over IIOP el0100 copyright Abt. Technische Informatik,

Mehr

3. Übung zur Vorlesung Verteilte Betriebssysteme

3. Übung zur Vorlesung Verteilte Betriebssysteme UNIVERSITÄT ULM Fakultät für Informatik Verteilte Systeme Prof. Dr. Peter Schulthess Markus Fakler 3. Übung zur Vorlesung Verteilte Betriebssysteme 21.11.2007 Aufgabe 1: Verteilte Algorithmen (3 + 1 +

Mehr

Lösungen. Programmiermethodik. Sommersemester 2013 Übungstest Dauer: 60 Minuten

Lösungen. Programmiermethodik. Sommersemester 2013 Übungstest Dauer: 60 Minuten Programmiermethodik LV-Nr.: 703017- Sommersemester 2013 Übungstest 3.6.2013 Dauer: 60 Minuten Name: Matrikelnummer: Lösungen Dieser Test enthält 10 Seiten (inklusive Deckblatt) und 4 Probleme. Bitte überprüfen

Mehr

Verteilte Systeme - Java Networking (Sockets) 2 -

Verteilte Systeme - Java Networking (Sockets) 2 - Verteilte Systeme - Java Networking (Sockets) 2 - Prof. Dr. Michael Cebulla 06. November 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 30 Michael Cebulla Verteilte Systeme Gliederung Wiederholung:

Mehr

Servlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans

Servlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans Projekt Entwicklung verteilter Softwaresysteme mit Web Services SoSe 2008 - Java Server Pages und Servlets - 7. April 2008 Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität

Mehr

Kompaktes Hardware-Wissen rund um die Micro-Prozessor-Technik

Kompaktes Hardware-Wissen rund um die Micro-Prozessor-Technik Auszug aus unserem Bestseller Kapitel: Micro-Prozessor-Technik Autor: Rainer Egewardt Copyright by PCT-Solutions 1. Auflage 600 Seiten 2. Auflage 1200 Seiten Kompaktes Hardware-Wissen rund um die Micro-Prozessor-Technik

Mehr

2. WWW-Protokolle und -Formate

2. WWW-Protokolle und -Formate 2. WWW-Protokolle und -Formate Inhalt: HTTP, allgemeiner syntaktischer Aufbau Wichtige Methoden des HTTP-Protokolls Aufbau von Web-Applikationen unter Nutzung von HTTP, HTML, DOM XML, XML-DTD und XML-Schema

Mehr

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape 6. Übung Aufgabe 1: In dieser Übung sollen Sie eine kleine Java-Anwendung schreiben, die auf die Oracle-Datenbank

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

Leistungskurs C++ Einführung

Leistungskurs C++ Einführung Leistungskurs C++ Einführung Martin Knopp, Johannes Feldmaier, Stefan Röhrl 18.10.2016 Folie 1/18 LK C++: Einführung Martin Knopp, Johannes Feldmaier, Stefan Röhrl 18.10.2016 Das Team Martin Knopp Martin.Knopp@tum.de

Mehr

Programmierung für Mathematik HS11

Programmierung für Mathematik HS11 software evolution & architecture lab Programmierung für Mathematik HS11 Übung 2 1 Aufgabe: Calculator Fortsetzung 1.1 Lernziele 1. Probleme bei der Benutzung von Operatoren erkennen und verstehen. 2.

Mehr

Wegleitung Installation, Einstellung und Nutzung der Trader Workstation und dem NinjaTrader für PC

Wegleitung Installation, Einstellung und Nutzung der Trader Workstation und dem NinjaTrader für PC Wegleitung Installation, Einstellung und Nutzung der Trader Workstation und dem NinjaTrader für PC Überprüfung Ihrer Java Version Bitte prüfen Sie als Erstes, welche Java Version auf Ihrem Rechner installiert

Mehr

Python zur Lösung von AvA Übung 1 VON MORITZ FEY

Python zur Lösung von AvA Übung 1 VON MORITZ FEY Python zur Lösung von AvA Übung 1 VON MORITZ FEY Übersicht 2 Einführung Socket-Schnittstellen Datei-Zugriff Aufbau der Nachrichten und Serialisierung Besonderheiten von Python Realisierung des Programms

Mehr

Übungsstunde 9. Einführung in die Programmierung I

Übungsstunde 9. Einführung in die Programmierung I Übungsstunde 9 Einführung in die Programmierung I Probleme bei Übung 8 [TODO Assistent] Nachbesprechung Übung 9 Aufgabe 1 Spieler Spieler[] spieler = { new ZufallsWortSpieler(), new ZufallsWortSpielerMitGedaechtnis(),

Mehr

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES 2016 Software AG. All rights reserved. For internal use only DIGITAL BUSINESS APPLICATIONS DRIVE THE DIGITAL BUSINESS Partner Lieferanten Kunden SaaS

Mehr

Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Aufgabenblatt 3

Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Aufgabenblatt 3 Übung zur Vorlesung Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Allgemeines Aufgabenblatt 3 Abgabe: 10.12.2013, vor der Vorlesung (14:15 Uhr, AM 1) Max.

Mehr

Vorbereitungen Download. AVO-Übung 6. Beispiel. Slice. Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation ICE-Binaries (inkl.

Vorbereitungen Download. AVO-Übung 6. Beispiel. Slice. Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation ICE-Binaries (inkl. Vorbereitungen Download AVO-Übung ICE Andreas I. Schmied (andreas.schmied@uni-ulm.de) AspectIX-Team Abteilung Verteilte Systeme Universität Ulm WS005 Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation

Mehr

hue12 January 24, 2017

hue12 January 24, 2017 hue12 January 24, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr