Multimedia Kommunikation
|
|
- Kai Hofmann
- vor 6 Jahren
- Abrufe
Transkript
1 1 Überblick Besprechung der 1. Aufgabe Multimedia Kommunikation Übung 2: Real-Time Streaming Protocol Ziel der heutigen Übung RTSP RTSP Client RTSP Server Neue Aufgabenstellung Implementierung eines Senders zur Übertragung von Video Schematische JMF-Umsetzung 0(1) Implementierung eines Senders zur Übertragung von Video (1) Erzeugen Data Source (Input) DataSource ds = Manager.createDataSource(new MediaLocator(file)); Datei Data Source Processor Data Source Data Sink Netzwerk (2) Erzeugen Processor processor = Manager.createProcessor(ds); Entwicklungs-Schritte (1) Erzeugen Data Source (Input) (2) Erzeugen Processor Format setzen Content Deskriptor setzen, etc. (3) Erzeugen Data Sink (Output) 2.1 boolean result = waitforstate(processor, Processor.Configured); if (result == false){// Fehler boolean waitforstate(processor p, int state) { if (state == Processor.Configured) p.configure(); if (state == Processor.Realized) p.realize(); // Warten auf Erfolg (while, wait) if (failed) return false; else return true; 2.2
2 Implementierung eines Senders zur Übertragung von Video Implementierung eines Senders zur Übertragung von Video Video-Track suchen und Output-Format setzen (JPEG/RTP) Content Deskriptor setzen, etc. TrackControl [] tracks = processor.gettrackcontrols(); // DEMUX boolean programmed = false; for (int i = 0; i < tracks.length; i++) { cd = new ContentDescriptor(ContentDescriptor.RAW_RTP); processor.setcontentdescriptor(cd); result = waitforstate(processor, Controller.Realized); Format format = tracks[i].getformat(); if ( tracks[i].isenabled() &&format instanceof VideoFormat &&!programmed) { // Überprüfen ob dimension mehrfaches von 8 (JPEG) VideoFormat jpegformat = new VideoFormat( VideoFormat.JPEG_RTP, new Dimension(w, h), Format.NOT_SPECIFIED, Format.byteArray, framerate); tracks[i].setformat(jpegformat); programmed = true; else tracks[i].setenabled(false); 2.3 setjpegquality(processor, 0.5f); (3) Erzeugung Data Sink (Output) dataoutput = processor.getdataoutput(); String rtpurl = "rtp://"+receiveripaddr+":"+port+"/video"; MediaLocator outlocator = new MediaLocator(rtpURL); rtptransmitter = Manager.createDataSink(dataOutput, outlocator); rtptransmitter.open(); rtptransmitter.start(); dataoutput.start(); processor.start(); 2.4 Implementierung eines Senders zur Übertragung von Audio und Video Implementierung eines Senders zur Übertragung von Audio und Video Schematische JMF-Umsetzung Data Source RTP Manager Netzwerk 0 (1) Erzeugen Data Source (Input) [identisch] DataSource ds = Manager.createDataSource(new MediaLocator(file)); 0 Data Source Processor Datei Entwicklungs-Schritte (1) Erzeugen Data Source (Input) (2) Erzeugen Processor Format setzen Data Source RTP Manager Netzwerk (2) Erzeugen des Processors [identisch] processor = Manager.createProcessor(ds); boolean result = waitforstate(processor, Processor.Configured); if (result == false){ // Fehler Content Deskriptor setzen, etc. (3) Erzeugen RTP Manager (Output)
3 Implementierung eines Senders zur Übertragung von Audio und Video Audio/Video-Track suchen und Output-Format setzen TrackControl [] tracks = processor.gettrackcontrols(); // DEMUX boolean atleastonetrack = false; for (int i = 0; i < tracks.length; i++) { if (tracks[i].isenabled()) { supported = tracks[i].getsupportedformats(); if (supported.length > 0) { if (supported[0] instanceof VideoFormat) { chosen = checkforvideosizes( tracks[i].getformat(),supported[0]); else // Audio chosen = supported[0]; tracks[i].setformat(chosen); else tracks[i].setenabled(false); else tracks[i].setenabled(false); 2.7 Implementierung eines Senders zur Übertragung von Audio und Video Content Decriptor setzen, etc. cd = new ContentDescriptor(ContentDescriptor.RAW_RTP); processor.setcontentdescriptor(cd); result = waitforstate(processor, Controller.Realized); setjpegquality(processor, 0.5f); (3) Erzeugen RTP Manager pbds = (PushBufferDataSource) processor.getdataoutput(); PushBufferStream pbss[] = pbds.getstreams(); rtpmgrs = new RTPManager[pbss.length]; for (int i = 0; i < pbss.length; i++) { rtpmgrs[i] = RTPManager.newInstance(); port = portbase + 2*i; rtpmgrs[i].initialize(localaddr); // IP + Port rtpmgrs[i].addtarget(destaddr); // IP + Port sendstream = rtpmgrs[i].createsendstream(dataoutput, i); sendstream.start(); Schematische JMF-Umsetzung Data Source Netzwerk RTP Manager Data Source Entwicklungs-Schritte (1) Klassendefinition (Listener-Interfaces) (2) Initialisierung RTP Manager (3) Implementierung ReceiveStream Listeners (4) Implementierung Controller Listener (5) Implementierung der Player Darstellung PlayerWindow PlayerPanel Player Player (1) Klassendefinition (Listener-Interfaces) public class Receiver implements ReceiveStreamListener, SessionListener, ControllerListener{ (2) Initialisierung RTP Manager mgrs = new RTPManager[sessions.length]; playerwindows = new Vector(); // wird später benötigt for (int i = 0; i < sessions.length; i++) { session = new SessionLabel(sessions[i]); mgrs[i] = (RTPManager) RTPManager.newInstance(); mgrs[i].addsessionlistener(this); mgrs[i].addreceivestreamlistener(this); ipaddr = InetAddress.getByName(session.addr); if( ipaddr.ismulticastaddress()) { localaddr = new SessionAddress( ipaddr, session.port, session.ttl); destaddr = new SessionAddress( ipaddr, session.port, session.ttl); 2.10
4 Initialisierung RTP Manager (Fortsetzung) else { localaddr= new SessionAddress( InetAddress.getLocalHost(), session.port); destaddr = new SessionAddress( ipaddr, session.port); // typischerweise: destaddr == localaddr mgrs[i].initialize(localaddr); BufferControl bc = (BufferControl)mgrs[i].getControl( "javax.media.control.buffercontrol"); if (bc!= null) bc.setbufferlength(350); mgrs[i].addtarget(destaddr); // for 2.11 (3) Implementierung ReceiveStream Listener public synchronized void update(receivestreamevent evt) { RTPManager mgr = (RTPManager)evt.getSource(); Participant participant = evt.getparticipant(); if (evt instanceof NewReceiveStreamEvent) { stream = ((NewReceiveStreamEvent)evt).getReceiveStream(); DataSource ds = stream.getdatasource(); RTPControl ctl = (RTPControl)ds.getControl( "javax.media.rtp.rtpcontrol"); Player p = javax.media.manager.createplayer(ds); p.addcontrollerlistener(this); p.realize(); PlayerWindow pw = new PlayerWindow(p, stream); playerwindows.addelement(pw); 2.12 (4) ControllerListener public synchronized void controllerupdate(controllerevent ce) { Player p = (Player)ce.getSourceController(); if (ce instanceof RealizeCompleteEvent) { PlayerWindow pw = find(p); pw.initialize(); pw.setvisible(true); p.start(); if (ce instanceof ControllerErrorEvent) { p.removecontrollerlistener(this); PlayerWindow pw = find(p); pw.close(); playerwindows.removeelement(pw); 2.13 (5) Implementierung der Player Darstellung PlayerWindow class PlayerWindow extends Frame {// Abstract Window Toolkit (AWT) PlayerWindow(Player p, ReceiveStream strm) { public void initialize() { add(new PlayerPanel(player)); public void close() { player.close(); setvisible(false); dispose(); 2.14
5 PlayerPanel class PlayerPanel extends Panel { Component vc, cc; PlayerPanel(Player p) { setlayout(new BorderLayout()); if ((vc = p.getvisualcomponent())!= null) add("center", vc); if ((cc = p.getcontrolpanelcomponent())!= null) add("south", cc); Noch einige kleinere Hilfsmethoden nötig Kompletter Download auf der Vorlesungsseite als Eclipse-Projekt Was fehlt jetzt noch? Signalisierung/Steuerung Konfigurieren, Starten, Pausieren, Stoppen der Übertragung Verwendung von RTSP, SIP, etc. public Dimension getpreferredsize() { return new Dimension(w, h); Spezifiziert von der IETF MMUSIC Group RFC 2326 Protokoll zur Steuerung von Multimedia-Datenübertragungen Fernbedienung, v.a. für Video-on-Demand Keine Datenübertragung mit RTSP (=> z.b. RTP) Aufteilung der Nachrichten in Requests und Respones Client/Server Prinzip Zugriff auf einen RTSP Server mit dem JMF Implementierung String url= "rtsp:// :55555/test"; MediaLocator mrl= new MediaLocator(url); Player player = Manager.createPlayer(mrl); player.addcontrollerlistener(this); player.realize(); PlayerWindow pw = new PlayerWindow(player); playerwindows.addelement(pw); JMF unterstützt RTSP nur Client-seitig Teilweise kommerzielle Server: Helix, Sun Streaming Server, Apple Darwin Streaming Server
6 Zugriff auf einen RTSP Server mit dem JMF ControllerListener public class SimpleRTSPClient implements ControllerListener{ public synchronized void controllerupdate(controllerevent ce){ Player p = (Player)ce.getSourceController(); if (ce instanceof RealizeCompleteEvent) { PlayerWindow pw = find(p); pw.initialize(); pw.setvisible(true); p.start(); Verhalten des JMF Clients Vereinfachter Zustandsautomat für den Server DESCRIBE INIT SETUP READY PLAY PAUSED PAUSE PLAYING PLAY Nachrichtenverlauf DESCRIBE-Request DESCRIBE-Response Abruf der Beschreibung zu einem Medium Content-Base: Referenziertes Medium Session Description Protocol (SDP) SDP Beschreibung als Attachment Identifikation mit Hilfe der URL CSeq: Sequenznummer für Request/Response Paar DESCRIBE rtsp:// /test RTSP/1.0 CSeq: 224 Accept: application/sdp User-Agent: JMF RTSP Player Version 2.1.1e Aufgabe des Servers Überprüfen, ob Medium unter URL existiert SDP Beschreibung erzeugen Antwort generieren 2.21 RTSP/ OK CSeq: 224 Content-Base: rtsp:// /test/ Content-Type: application/sdp Content-Length: 302 v=0 o=test IN IP s=matrix i=matrix Trailer u= e=neo@thematrix.com (Neo) c=in IP a=recvonly m=video 2232 RTP/AVP 31 a=control:trackid=4 2.22
7 Aufgabe des Clients Verarbeitung der Informationen v.a. Track-ID als Identifikation für nächste Nachricht verwenden! Nächster Schritt: SETUP SETUP Request (VoD) Session einrichten Verwendete Client Ports zum Empfang von RTP/RTCP SETUP rtsp:// /test/trackid=4 RTSP/1.0 CSeq: 225 Transport: RTP/AVP;unicast;client_port= client port: User-Agent: JMF RTSP Player Version 2.1.1e Aufgabe des Servers Initialisierung der Datenquelle (Videoname, hier: /test) Konfiguration des Datentransfers (IP, Port) Antwort generieren SETUP Response Verwendete Server Ports, IP-Adresse (Empfang RTP/RTCP) Rückgabe der erzeugten Session ID RTSP/ OK CSeq: 225 Transport: rtp/avp/udp;source= ;server_port= Aufgabe des Clients Verwendung der Session-ID für alle folgenden Nachrichten JMF: Verwendung der Server Ports zum Empfang Nächster Schritt: PLAY PLAY Request Wiedergabe der angegebenen Session starten Range: Was soll abgespielt werden? Normal Play Time (npt): <START>-<ENDE> PLAY rtsp:// /test RTSP/1.0 CSeq: 226 Range: npt=0.0- User-Agent: JMF RTSP Player Version 2.1.1e Aufgabe des Servers Starten des bereits konfigurierten Datentransfers Antwort generieren
8 PLAY Response RTP-Info url für welche die Informationen gelten seq für die Sequenznummer des 1. Pakets (v.a. für Suche im Stream) rtptime für Client um Mapping rtptime auf npt zu berechnen RTSP/ OK CSeq: 226 RTP-Info: url=trackid=4;seq=1;ssrc=1;rtptime=0 Aufgabe des Clients Daten werden übertragen => Daten können dargestellt werden! Nächste mögliche Schritte: PAUSE oder TEARDOWN PAUSE Request Medien-Wiedergabe pausieren Identifikation des Tracks über die Session ID PAUSE rtsp:// /test RTSP/1.0 CSeq: 227 User-Agent: JMF RTSP Player Version 2.1.1e Aufgabe des Servers Stoppen des Datentransfers Antwort generieren PAUSE Response RTSP/ OK CSeq: 227 Aufgabe des Clients Warten (solange bis Benutzer Wiedergabe startet/beendet) Nächste mögliche Schritte: PLAY oder TEARDOWN TEARDOWN Request Beenden der Session TEARDOWN rtsp:// /test RTSP/1.0 CSeq: 618 User-Agent: JMF RTSP Player Version 2.1.1e Aufgabe des Servers Stoppen des Datentransfers Aufräumen Antwort generieren
9 TEARDOWN Response RTSP/ OK CSeq: 618 Implementierung eines RTSP Servers RTSP ist Text-basiert Client/Server Modell Requests werden verschickt, Antworten (Responses) kommen zurück Aufgabe des Clients Stoppen des Datenempfangs Aufräumen Wie könnte ein RTSP Server mit Hilfe von Java realisiert werden? Implementierung eines RTSP Servers Wie baue ich einen RTSP Stack? Socket, das auf eingehende Verbindungen wartet Parser, der wichtige Informationen aus den eintreffenden Nachrichten extrahiert Logik für die eigentliche Informationsverarbeitung (Zustandsautomat) Nachrichtengenerator für die Antworten (Responses) Server Socket unter Java ServerSocket listensocket = new ServerSocket(serverPort); while (true){ Socket s = listensocket.accept(); // Wichtig für spätere RTP Datenübertragung! clientipaddr = s.getinetaddress(); reader = new BufferedReader(new InputStreamReader( s.getinputstream())); writer = new BufferedWriter(new OutputStreamWriter( s.getoutputstream())); // Verarbeitung Zeile für Zeile String line = reader.readline(); 2.33 // Antwort writer.write("ok"+"\r\n"); writer.write("\r\n"); writer.flush(); 2.34
10 Einfacher Parser unter Java Einlesen aller Zeilen über reader.readline() Bestimmen des Request-Types DESCRIBE, SETUP, PLAY, PAUSE, TEARDOWN Falls SETUP oder DESCRIBE Extrahieren des Video-Namens Extrahieren und Verarbeiten der wichtigen Header CSeq Transport Logik für die Informationsverarbeitung (Zustandsautomat) while, if/else, switch/case, etc. DESCRIBE INIT SETUP READY PLAY PAUSE PAUSED PLAYING PLAY Einfache Parser Implementierung Verwendung von StringTokenizer, String.substring() Aufteilung des Strings in Tokens 2.35 Nachrichtengenerator Erzeugen der Nachricht als String Senden mit writer.write(message) Letzte Zeile: writer.write("\r\n") Literatur 5 Aufgaben Java Media Framework (JMF) Real-Time Streaming Protocol (RTSP) Java Tutorials - All About Sockets Implementierung eines RTSP Servers Gerüst zum Download auf der Vorlesungsseite vorhanden Zur Vereinfachung: Lediglich 1 Verbindung zulassen, danach beenden Nur Übertragung von Video (kein Audio) Optional Implementierung eines RTSP Client from scratch Übertragung von Audio und Video Anpassung SDP Übertragung von Audio und Video mit RTP
Multimedia Kommunikation
1 Überblick Multimedia Kommunikation Übung 2: Real-Time Streaming Protocol Lösung 1. Aufgabe Real-Time Streaming Protocol (RTSP) Client Server Neue Aufgabe holger.schmidt@uni-ulm.de Implementierung eines
Mehr2006-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2006w-MMK-D-VoD.fm, 2006-11-22 08.08] http://www-vs.informatik.uni-ulm.
D Video on Demand D.1 1 RTSP Real-Time Streaming Protocol (RTSP) IETF Standard definiert in RFC 2326 (1998) Zielsetzung Signalisierung und Kontrolle von multimedialen Datenströmen Aufbau, Abbruch von Sitzungen
MehrMultimedia Kommunikation
1 Überblick Multimedia Kommunikation Übung 3: Session Initiation Protocol () Besprechung der 2. Aufgabe (JAIN, NIST ) Client Server Neue Aufgabenstellung holger.schmidt@uni-ulm.de 2 Besprechung der 2.
MehrInternet Protokolle für Multimedia - Anwendungen
Internet Protokolle für Multimedia - Anwendungen Kapitel 5.7 Streaming im Web (RTSP) 1 Streaming Media (1) Streaming Media Strom ist kontinuierlich wird unmittelbar während des Empfangs wiedergegeben wird
MehrStreaming Protokolle Jonas Hartmann
Streaming Protokolle Jonas Hartmann 1 Streaming Protokolle Inhaltsverzeichnis 1. Definition / Anwendungsfälle 2. Offizielle RFC Streaming Protokolle 3. Ein wichtiges proprietäres Protokoll 4. Konkreter
MehrSIP: Session Initiation Protocol (Signalisierungsprotokoll für Sessions) Request. Response
SIP Happens SIP: Session Initiation Protocol (Signalisierungsprotokoll für Sessions) SIP User Agent Request Response SIP User Agent User Agent: Anwendungssoftware auf Terminals (SIP End Points) Terminals:
MehrVoIP : SIP. Das Session Initiation Protocol. 20. Dezember VoIP : SIP. Johannes Jakob. Überblick. VoIP SIP SDP. Praxis.
Anbieter Das Session Initiation Protocol 20. Dezember 2004 Anbieter 1 2 3 4 5 Anbieter 6 - Anbieter Was ist überhaupt? Voice Over IP Evolution der Festnetztelefonie Analog ISDN Großes Potential ( Bildtelefonie)
MehrClient-Server TCP/IP - Kodierung
Client-Server TCP/IP - Kodierung Die klassen Ein (engl. Sockel) ist eine bidirektionale Netzwerk-Kommunikationsschnittstelle, deren Verwaltung das Betriebssystem übernimmt. Die Kombination aus IP-Adresse
MehrAVO Übung 4. AspectIX. 18. Januar 2005 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik
Universität Ulm Fakultät für Informatik Abteilung Verteilte Systeme Projektgruppe AspectIX AVO Übung 4 AspectIX 18. Januar 2005 (WS 2004) Andreas I. Schmied (schmied@inf...) Quellcodes zur Übersichtlichkeit
MehrJava und Netzwerkkommunikation
Java und Netzwerkkommunikation Ziel: Kommunikation über Rechnergrenzen hinweg Grundlagen Sockets in Java Java-Netzwerk-Einführung Seite 1 Grundbegriffe Senden und Empfangen von Daten! Frau B Herr A Sender
MehrInformatik II Übung 06. Benjamin Hepp 5 April 2017
Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.
MehrInstitut 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
MehrJava Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.
Java Übung Übung 3 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 2. Mai 2006 (UniDUE) 2. Mai 2006 1 / 17 Aufgabe 1 Umwandeln von do while in for Schleife. Listing 1: aufgabe3 1.java 1 public
MehrKommentare, Client-Server, Protokolle
Kommentare, Client-Server, Protokolle Grundlagen für die erste Praktikumswoche 19. Oktober 2006 Dokumentationsziel Zweck und Funktionsweise sollten so dokumentiert werden, dass ein Programmierer eine Klasse
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;
MehrBasler Components. Unicast- & Multicast-Verbindungen mit einer Basler IP-Kamera APPLICATION NOTES
ENT- Basler Components Unicast- & Multicast-Verbindungen mit einer Basler APPLICATION NOTES Dokumentnummer: AW000789 Version: 03 Sprache: 001 (German) Erscheinungsdatum: 14. September 2010 Basler Support-Adressen
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
MehrAusnahmebehandlung in Java
Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A { void foo() throws Help { if (helpneeded()) throw new Help();... try {... catch (Help e) {... catch (Exception
MehrStreaming Media - MPEG-4 mit Linux
Streaming Media - MPEG-4 mit Linux Überblick Streaming Media Streaming Anbieter Benötigte Software Vorführung Videostreaming Streaming Was ist Streaming? Sender Daten Empfänger Kontinuierlicher Datenstrom
MehrReferat: Netzwerkprogrammierung in Java
1.)ISO/OSI und Internet Referenzmodell Referat: Netzwerkprogrammierung in Java ISO/OSI 7 Schichtenmodell (1-Bitübertragung, 2-Sicherung, 3-Netzwerk, 4-Transport, 5-Sitzung, 6- Darstellung, 7-Anwendung)
MehrII.4.2 Abstrakte Klassen und Interfaces - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Ausnahmebehandlung und Nebenläufigkeit 9. Vorlesung am 15. Dezember 2010 Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A
MehrSynchrone Audio- und Videowiedergabe auf mehreren Geräten
Synchrone Audio- und Videowiedergabe auf mehreren Geräten Chemnitzer Linux-Tage 2018 Michael m.tretter@pengutronix.de https://www.pengutronix.de Problemstellung Sportübertragung Multi-Room Audio Video-Wand
MehrVerbindungen zu mehreren Clients. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 23: Netzwerkprogrammierung/ Kommunikation 2
Universität Osnabrück 1 Verbindungen zu mehreren Clients 3 - Objektorientierte Programmierung in Java Vorlesung 23: Netzwerkprogrammierung/ Kommunikation 2 Wie könnte das bereits vorgestellte Programm
MehrUnified-E Standard WebHttp Adapter
Unified-E Standard WebHttp Adapter Version: 1.5.0.2 und höher Juli 2017 Inhalt 1 Allgemeines... 2 2 Adapter-Parameter in Unified-E... 2 3 Symbolische Adressierung... 3 3.1 ReadValues-Methode... 4 3.2 WriteValues
MehrSoftwarepraktikum Sommersemester 2006
Softwarepraktikum Sommersemester 2006 Netzwerkprogrammierung in Java Ralf Wienzek wienzek@informatik.rwth-aachen.de Ulrich Loup loup@i4.informatik.rwth-aachen.de Grundlagen Netzwerkprogrammierung TCP/IP
Mehrebusiness Übung 3a Spezifikation und Nutzung von Web-APIs (Services) Prof. Dr. Andreas Schmietendorf 1
ebusiness Übung 3a Spezifikation und Nutzung von Web-APIs (Services) 14.03.2017 Prof. Dr. Andreas Schmietendorf 1 Aufgabenstellung 14.03.2017 Prof. Dr. Andreas Schmietendorf 2 Ziele der Übung Spezifikation
MehrInstrumentierung und Dekodierung
116 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Instrumentierung und Dekodierung Erweiterung der Grafikklassen Das awt-paket erweitert alle Klassen für Grafikobjekte in java.awt, so
MehrVerteilte Systeme - Java Networking (Sockets) -
Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP
MehrStädtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode
Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode folgt im Anschluss. Beispielcode Es gibt eine Klasse Benutzerverwaltung, welche eine Liste mit Benutzern
MehrService Engineering. Übung 2a Spezifikation und Nutzung von Web-APIs (Services) Prof. Dr. Andreas Schmietendorf 1
Service Engineering Übung 2a Spezifikation und Nutzung von Web-APIs (Services) 15.05.2018 Prof. Dr. Andreas Schmietendorf 1 Aufgabenstellung 15.05.2018 Prof. Dr. Andreas Schmietendorf 2 Ziele der Übung
MehrUrsprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
Mehr1 Nachträge/Klarstellungen (aus Diskussion in der Übung)
Hochschule München/Möncke Wirtschaftsinformatik/SWE 1 von 5 Übungsblatt 3 zum SimpleBoardGame (4. Übungsblatt ) 1 Nachträge/Klarstellungen (aus Diskussion in der Übung) (1) Die Logik von legal sollte aufgelöst
MehrProgrammobjekt-basierter Internet-Rundfunk
Programmobjekt-basierter Internet-Rundfunk Programmobjekt-basierter Internet-Rundfunk Harald Gebhard harald.gebhard@uni-dortmund.de Basics Program Object based Internet Broadcast - Introduction - Internet
MehrEinführung in die Programmierung I. 2.4 Felder. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 2.4 Felder Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.4 Felder (Vektoren, "array"s) 2.5 Verschachtelte Schleifen 2.6 "if" Anweisungen 2.7
MehrWie ich lernte die API zu lieben. 19. März 2013. bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell
Burp- Burp- Wie ich lernte die zu lieben 19. März 2013 bernhard.groehling@sicsec.de 08142-4425 037 sic[!]sec GmbH Industriestraße 29-31 82194 Gröbenzell Burp- Was erwartet uns? Das erwartet euch Theorie:
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
MehrSelbststudium OOP6 & ALG Programmieren 1 - H1103 Felix Rohrer
Kapitel 5.2 1. zu bearbeitende Aufgabe: 5.1 5.1: done 2. Auf Seite 133 wird in der Methode start()ein while-loop verwendet. Kreieren Sie ein Code-Fragment mit derselben Funktionalität unter Verwendung
MehrProgrammieren in Java
Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang
MehrSystemprogrammierung. 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
MehrVorkurs Informatik WiSe 15/16
Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann
MehrSeminararbeit. Konzept einer Schnittstelle zur Benutzerverwaltung in RiskShield-Server. Christoph Laufs INFORM GmbH INFORM GmbH 1
Seminararbeit Konzept einer Schnittstelle zur Benutzerverwaltung in RiskShield-Server Christoph Laufs INFORM GmbH 2016 - INFORM GmbH 1 Agenda 1. RiskShield-Server 2. Motivation und Anforderungen 3. Web
MehrBeispiel Time Client/Server
Beispiel Time Client/Server /** * * Programmbeschreibung: * --------------------- * Dieses Programm ermittelt über eine TCP/IP-Verbindung die Uhrzeit eines * entfernten Rechners, wobei es sowohl die Rolle
Mehr2. 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
MehrAutor: Version: Datum: Auerswald DS
Versionsverfolgung Version Datum Änderung Verfasser 1.0 05.11.2014 Erstellt DS 1.1 09.12.2014 COMfortel 3500 / 3200 DeT Inhaltsverzeichnis 1 Gültigkeit... 2 2 Überblick... 2 3 Aufbau der Konfigurationsdaten
MehrSocket-Programmierung unter Java
Socket-Programmierung unter Java 1 - Grundlagen: Datenströme Datenströme JAVA unterscheidet Streams und Reader/Writer Zur Dateneingabe: InputStream oder Reader Zur Datenausgabe: OutputStream oder Writer
MehrÜBUNGS-BLOCK 8 AUFGABEN
ÜBUNGS-BLOCK 8 AUFGABEN Aufgabe 1: Gegeben sind drei Klassen (linke Spalte) sowie ein Programm (rechts): public class A { this.var = var; public int getvar() { return var; public class Programm { public
MehrBeispiel für überladene Methode
Beispiel für überladene Methode class Gras extends Futter {... abstract class Tier { public abstract void friss (Futter x); class Rind extends Tier { public void friss (Gras x) {... public void friss (Futter
MehrDevice Management Schnittstellen. Referat von Peter Voser Embedded Development GmbH
Device Management Schnittstellen Referat von Peter Voser Embedded Development GmbH Device Management ist Gerätesteuerung Parametrisierung Zugang zu internen Messgrössen und Zuständen Software Upgrade www.embedded-development.ch
Mehrboolean ispalindrome = word.equalsignorecase(reverse.tostring());
Bereich: Input/Output (2) Palindrome speichern Package: de.dhbwka.java.exercise.io Musterlösung Klasse: PalindromeFile package de.dhbwka.java.exercise.io; import java.io.bufferedreader; import java.io.file;
MehrObjektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer
Java Kurs Objektorientierung II & die Java Klassenbibliothek Kristian Bergmann und Arthur Lochstampfer Vergleich class Apfel { String farbe; int gewicht; String geerntetin; class Erdbeere { String farbe;
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
MehrWebentwicklung 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
MehrB5. Frameworks zur Medieneinbindung
B5. Frameworks zur Medieneinbindung B5.1 Frameworks B5.2 Anforderungen an Medien-Frameworks B5.3 Java Media Framework im Überblick B5.4 Videoverarbeitung mit dem Java Media Framework Literatur: H. M. Eidenberger,
MehrWie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?
Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen
MehrProgrammieren in Java
Programmieren in Java Vorlesung 10: Ein Interpreter für While Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1
MehrInnere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.
Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste
MehrWeb-Anwendungsentwicklung mit dem Delivery Server
Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
MehrProgrammieren II. Sockets. Vorlesung 16. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010. Sockets.
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 19 2 / 19 Über einen Socket kann eine Anwendung die Implementierung des Netzwerkprotokolls des darunter liegenden Betriebssystems
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrSelbststudium OOP6 & ALG1 Auftrag
Selbststudium OOP6 & ALG1 Auftrag Kapitel 5.2 1. zu bearbeitende Aufgabe: 5.1 done 2. Auf den Seiten 157/158 wird in der Methode start()ein while-loop verwendet. Kreieren Sie ein Code-Fragment mit derselben
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrÜbung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301
Übung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301 Aufgabe 8: Implementierung eines Ereignis-Automaten a) Modellieren Sie einen Ereignis-Automaten für den in der Abbildung dargestellten und in Calculator.java
MehrProgrammieren in Java
Programmieren in Java Vorlesung 11: Generic Methods Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 15 Inhalt
MehrEinstieg 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
MehrKonfigurationsanleitung IGMP Multicast - Video Streaming Funkwerk / Bintec. Copyright 5. September 2008 Neo-One Stefan Dahler Version 1.
Konfigurationsanleitung IGMP Multicast - Video Streaming Funkwerk / Bintec Copyright 5. September 2008 Neo-One Stefan Dahler Version 1.0 1. IGMP Multicast - Video Streaming 1.1 Einleitung Im Folgenden
MehrJava Media Framework. Capturing, processing, and presenting time-based media with JAVA. Java Media Framework - Monika Wnuk
Java Media Framework Capturing, processing, and presenting time-based media with JAVA. 1 Java Media Framework Definition: Java Media Framework (kurz: JMF) ist eine API für die Integration von zeitabhängigen
MehrRechnernetze und verteilte Systeme Programmieraufgabe
Fakultät für Informatik Lehrstuhl 4 M. Sc.-Inf. Dimitri Scheftelowitsch Wintersemester 2016/17 M. Sc.-Math. Alexander Frank Ausgabe: 12. Dezember, Rechnernetze und verteilte Systeme Programmieraufgabe
MehrPrüfung vom 27. November 2007 Teil 1: 30 Minuten
Prüfung vom 27. November 2007 Teil 1: 30 Minuten Name, Vorname: Allgemeine Hinweise: 1) Diese Prüfung besteht aus zwei Teilen. 2) Für diesen ersten Teil der Prüfung sind keine Unterlagen erlaubt. 3) Bitten
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
MehrDie Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
Mehr4. Vererbung Die Klasse Object. Die Klasse Object
4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige
Mehr8. Digitale Filmverarbeitung
8. Digitale Filmverarbeitung 8.1 Klassische Filmtechnik 8.2 Analoge TV- und Videotechnik TV-Technik Videoaufnahme- und Speichertechnik 8.3 Digitale Videotechnik 8.4 Digitale Videoproduktion 8.5 Software
MehrSocket-Programmierung unter Java
Datenströme -Programmierung unter Java 1 - Grundlagen: Datenströme JAVA unterscheidet Streams und Reader/Writer Zur Dateneingabe: InputStream oder Reader Zur Datenausgabe: OutputStream oder Writer Verwende
MehrHandbuch 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Übung Grundlagen der Programmierung WS 2008/09. Übung 04: Methoden. Abgabetermin: Prosabeschreibung Java-Programm.
Übung 04: Methoden Abgabetermin: 11. 11. 2008 Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Wolfinger) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 4.1 12
MehrDIAMETER Base Protocol (RFC3588)
Base Protocol (RFC3588) ist eine (nicht rückwärtskompatible) Fortentwicklung des RADIUS Protokolls (Remote Authentication Dial In User Service, RFC2865). Die wichtigsten Unterschiede sind: Es benutzt einen
MehrClient-Server TCP/IP - Kodierung
Client-Server TCP/IP - Kodierung Die Socketklassen Ein Socket (engl. Sockel) ist eine bidirektionale Netzwerk-Kommunikationsschnittstelle, deren Verwaltung das Betriebssystem übernimmt. Die Kombination
MehrPraktikum Netzwerke. Für den Speicherort tragen Sie Ihr Netzlaufwerk und entsprechende Unterverzeichnisse ein, z.b.:
Praktikum Netzwerke Socketprogrammierung mit Visual Studio Programmieren eines Servers (1) Erstellen Sie ein neues Projekt mit Visual Studio: Für den Speicherort tragen Sie Ihr Netzlaufwerk und entsprechende
MehrNetzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.
Netzwerk-Programmierung Netzwerke Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de 1 Übersicht Netzwerk-Protokolle Protkollfamilie TCP/IP Transmission Control Protocol
MehrKlausur: Java (Liste P)
Klausur: Java (Liste P) SS05 Erlaubte Hilfsmittel: Gebundene! Unterlagen (Skript mit Anmerkungen, eigene Mitschrift) und maximal ein Buch. Bitte keine losen Blätter. Lösung ist auf den Klausurbögen anzufertigen.
MehrAusnahmebehandlung in Java
Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A { void foo() throws Help { if (helpneeded()) throw new Help();... try {... catch (Help e) {... catch (Exception
MehrProtokolle und Schichten. Grundlagen der Rechnernetze Einführung 41
Protokolle und Schichten Grundlagen der Rechnernetze Einführung 41 Protokoll und Interface Host 1 Host 2 High Level Objekt High Level Objekt Service Interface Service Interface Protokoll Peer to peer Interface
MehrPraktische Informatik 1 Datenstrukturen
Praktische Informatik 1 Datenstrukturen Übung 1 (11.03. 25.03.) Vollversion: unter www.dirschlmayr.studium.at.gs > Dokumente > Praktische Informatik - Datenstrukturen Aufgabe: Wortliste 1. Implementierung
MehrVideos für das Internet
Videos für das Einleitung Verfahren zur Datenkompression MPEG, die 3 Großen und andere Encoder und Decoder (Codec) Streaming Video Literatur und Links 25. DECUS Symposium 3K03 Videos für das Dr. Norbert
MehrMEC: Objektorient. Programmierung - Prüfung
Prof. Dr. Michael Helbig SS 2018 ######### MEC: Objektorient. Programmierung - Prüfung Name Vorname Geburtsdatum Matrikel-Nr. Hinweise Bitte Blätter nicht auseinanderreißen! Hilfsmittel: handbeschriebenes
MehrNetzwerk-Programmierung. Netzwerke.
Netzwerk-Programmierung Netzwerke Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de Übersicht Netzwerk-Protokolle Protkollfamilie TCP/IP Transmission Control Protocol (TCP)
MehrMit CAR4KMU zum estandard auto-gration in der Automobilindustrie
Mit CAR4KMU zum estandard auto-gration in der Automobilindustrie Konfiguration der Verbindungen für ein- und ausgehende Nachrichten am auto-gration Konnektor Agenda auto-gration Erfolgreich einführen auto-gration
MehrJUnit a Cook s Tour. Framework in Java Automatisierter Ablauf von Testfällen Testläufe kombinieren. Unterlagen als PDF auf der Übungsseite!
JUnit a Cook s Tour Ziel des Frameworks Framework in Java Automatisierter Ablauf von Testfällen Testläufe kombinieren Design des Frameworks Beginne bei Nichts Schritt für Schritt aus passenden Mustern
MehrJUnit. Software-Tests
JUnit Software-Tests Übersicht Einleitung JUnit Jia Li Grundlegendes Diana Howey Hendrik Kohrs Praktische Einbindung Benjamin Koch Zili Ye Einleitung in allgemeines Testen Automatische Tests Testen ist
MehrMobile Computing. J2ME - Mobile Media API. Ablauf. 1. Anwendungsbereich. 1. Multimedia-Prozesse. 1. Eigenschaften der MMAPI
Mobile Computing Mobile Media API Ein Einblick in die Multimedia- Programmierung von Pocket-Devices Ablauf 1. Überblick über J2ME und die MMAPI 2. Klassen und Interfaces 3. Abspielen 4. Aufnehmen 5. MIDlet
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrInstitut für Programmierung und Reaktive Systeme 6. Juli Programmieren II. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 6. Juli 2018 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 27. August
Mehr