ebook img

Multimediale Client-Server-Systeme PDF

363 Pages·2010·10.28 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Multimediale Client-Server-Systeme

eXamen.press eXamen.press ist eineReihe, dieTheorieund Praxis aus allen Bereichen der Informatik für dieHochschulausbildungvermittelt. · Klaus Chantelau René Brothuhn Multimediale Client-Server-Systeme 123 Prof.Dr.KlausChantelau Dipl.Inform.(FH)René B rothuhn FH-Schmalkalden FH-Schmalkalden FachbereichInformatik FachbereichInformatik Blechhammer4-9 Blechhammer4-9 98574Schmalkalden 98574Schmalkalden [email protected] [email protected] ISSN1614-5216 ISBN978-3-540-79748-7 e-ISBN978-3-540-79749-4 DOI10.1007/978-3-540-79749-4 SpringerHeidelbergDordrechtLondonNewYork DieDeutscheNationalbibliothek verzeichnet diesePublikation inderDeutschenNationalbibliografie; detailliertebibliografischeDatensindimInternetu¨berhttp://dnb.d-nb.deabrufbar. (cid:2)c Springer-VerlagBerlinHeidelberg2010 Dieses Werk ist urheberrechtlich geschu¨tzt. Die dadurch begru¨ndeten Rechte, insbesondere die der U¨bersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung,derMikroverfilmungoderderVervielfa¨ltigungaufanderenWegenundderSpeicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfa¨ltigungdiesesWerkesodervonTeilendiesesWerkesistauchimEinzelfallnurindenGrenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zula¨ssig. Sie ist grundsa¨tzlich vergu¨tungspflichtig. ZuwiderhandlungenunterliegendenStrafbestimmungendesUrheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigtauchohnebesondereKennzeichnungnichtzuderAnnahme,dasssolcheNamenimSinneder Warenzeichen-undMarkenschutz-Gesetzgebungalsfreizubetrachtenwa¨renunddahervonjedermann benutztwerdendu¨rften. Einbandentwurf:Ku¨nkelLopka, Werbeagentur Heidelberg Printedonacid-freepaper SpringeristTeilderFachverlagsgruppeSpringerScience+BusinessMedia(www.springer.com) Vorwort DasvorliegendeBuchrichtetsichanLeser,dieaufderBasisvonGrundkenntnissen der objektorientierten Programmierung (z.B. in den Sprachen Java, C++ oder C#) ihreFach-undMethodenkenntnisseinderMedieninformatikmitSchwerpunktauf dem Bereich Webentwicklung vertiefen möchten. Der Leser soll nach der Lektüre dieImplementierungderwichtigstenFunktionalitätenmultimedialerInternetdiens- te vornehmen können. Darüber hinaus soll er aber auch in der Lage sein, einen komplexen, multimedial geprägten Dienst konzipieren und hierfür die geeigneten Technologienauswählenzukönnen.IndieserHinsichtunterscheidetsichdasvor- liegendeBuchvonWerken,diesichdemThemenkreis„Rich-Internet-Applications“ dadurch nähern, dass ausgewählte Technologien, wie z.B. AJAX, Flash oder Java, detailliertundumfassendvorgestelltwerden.Dieeinzelnenmiteinanderkonkurrie- rendenTechnologienweisenunterschiedlicheVorzügeauf,diefürdieEntwicklung eines multimedialen Client-Server-Systems zu berücksichtigen sind. Andererseits gibtesvieleGemeinsamkeiten,welcheaufgrundlegendeProzessebeimultimedia- lenverteiltenSystemenzurückzuführensind.UmdiekonkurrierendenTechnologi- envergleichenundbewertenzukönnen,isteinumfangreichesVerständnisdertheo- retischenGrundlagenausdemBereichderverteiltenSystemeundderMedienver- arbeitungerforderlich.Diesewerdendaherstärkerthematisiert,alsinBüchern,die eineTechnologiedetailliertvorstellen.ZentraleAnwendungsfällewerdenanHand von drei Softwarebibliotheken bzw. Programmierschnittstellen mit unterschiedli- chertechnologischerAusrichtungbisindieDetailsausgearbeitet.DasBuchistauf derBasisvonVorlesungenindenStudiengängenInformatikundWirtschaftsinfor- matikentstanden.DerbehandelteStoffbildetdieGrundlagevonzweiVorlesungen inBachelor-StudiengängenmiteinemUmfangvonjeweils4Semesterwochenstun- den. Die weitere Einarbeitung in eine ausgewählte Technologie kann vom Leser aufderBasisdiesesBuchesunterZuhilfenahmeweiterführenderDokumentationen, z.B.imInternet,leichtselbstvorgenommenwerden. Schmalkalden, KlausChantelau August2009 RenéBrothuhn v Inhaltsverzeichnis Einführung ........................................................ 1 AnwendungsszenarienmultimedialerClient-ServerSysteme ........... 1 AufbaudesBuches.............................................. 2 DieEntwicklungdesmultimedialenInternets........................ 4 1 MultimedialeClient-Server-Systeme ............................. 7 1.1 Einleitung................................................. 7 1.2 MultimedialeDateninClient-Server-Systemen.................. 8 1.2.1 FotografienundRasterbilder........................... 9 1.2.2 ComputergrafischerzeugteEinzel-undBewegtbilder ...... 9 1.2.3 Audio-undVideomedien.............................. 11 1.3 InteraktionmitClient-Systemen .............................. 12 1.3.1 GrafischeNutzeroberflächen........................... 13 1.3.2 Rich-Clients ........................................ 14 1.4 TechnologienzurEntwicklungmultimedialerClient-Server-Systeme 14 1.4.1 InternationaleStandards,Protokolle,Empfehlungenund Programmierschnittstellen............................. 15 1.4.2 StandardszurEntwicklungvonRich-Clients ............. 16 1.4.3 Programmierschnittstellen für die Entwicklung von Rich-Clients ........................................ 17 1.4.4 StandardsfürdieClient-Server-Interaktion............... 21 1.4.5 ProgrammierschnittstellenfürdieClient-Serverinteraktion . 23 1.4.6 StandardsfürdieVerarbeitungvonAudio-undVideomedien 24 1.4.7 ProgrammierschnittstellenfürAudio-undVideomedien.... 30 1.4.8 Programmierschnittstellen zur Entwicklung von Serversystemen...................................... 32 1.5 Vergleich der Technologien zur Entwicklung multimedialer Client-ServerSysteme ...................................... 33 1.5.1 AJAXinKombinationmitPHP,JSPoderASP ........... 34 1.5.2 DieJava-Plattform ................................... 35 1.5.3 DieFLEX/FlashPlattform ........................... 36 vii viii Inhaltsverzeichnis Literaturverzeichnis ............................................. 36 2 GrundlagenverteilterSysteme................................... 37 2.1 Einleitung................................................. 37 2.2 Schichten-Modell .......................................... 38 2.2.1 MehrschichtigeArchitekturen.......................... 39 2.3 Client-Server-Modell ....................................... 40 2.3.1 Fat-undThin-Clients................................. 41 2.4 Client-Server-Interaktion .................................... 42 2.4.1 Kommunikationsmodell............................... 43 2.4.2 Serveraktivierung .................................... 47 2.4.3 Serverzustände ...................................... 48 2.4.4 Caching ............................................ 49 2.4.5 VermittlungundLastverteilung ........................ 52 2.5 Parallelverarbeitung ........................................ 55 2.5.1 ParalleleServer...................................... 56 2.5.2 ProzesseundThreads................................. 57 2.5.3 Synchronisation ..................................... 60 2.6 SynchronisationinverteiltenSystemen ........................ 67 2.6.1 ZentraleKoordination ................................ 67 2.6.2 VerteilteSynchronisationsalgorithmen................... 71 Literaturverzeichnis ............................................. 73 3 Client-Server-Programmierung.................................. 75 3.1 Einleitung................................................. 75 3.2 EinführunginJava ......................................... 75 3.2.1 DieProgrammierspracheJava.......................... 76 3.3 DatenströmeinJava ........................................ 80 3.3.1 EigenschaftenvonDatenströmen ....................... 80 3.3.2 BasisklassenzurVerarbeitungvonDatenströmen ......... 81 3.3.3 ByteorientierteDatenströme ........................... 86 3.3.4 ZeichenorientierteDatenströme ........................ 99 3.4 SocketProgrammierung.....................................105 3.4.1 KommunikationüberIP...............................106 3.4.2 SocketsinJava ......................................112 3.4.3 StreamSockets ......................................114 3.4.4 DatagrammSockets ..................................123 3.5 KommunikationmitHTTP...................................131 3.5.1 URLAufbau ........................................132 3.5.2 AblaufderKommunikationzwischenClientundServer....133 3.5.3 EineinfacherHTTP-Server............................143 3.6 Thread-ProgrammierunginJava ..............................154 3.6.1 ParalleleAbarbeitung.................................159 3.6.2 WartenaufThreads ..................................161 3.6.3 UnterbrechenvonThreads.............................162 Inhaltsverzeichnis ix 3.6.4 Thread-Pools........................................163 3.6.5 ParallelerHTTP-Server ...............................165 3.7 SynchronisationinJava .....................................167 3.7.1 JavaMonitor........................................170 3.7.2 SemaphoreinJava ...................................175 3.7.3 Locks-SperreninJava ...............................178 Literaturverzeichnis .............................................179 4 EntwicklungvonRichClients ...................................181 4.1 Graphische Komponenten, Ereignisverarbeitung und das MVC-Muster ..............................................181 4.1.1 NutzeroberflächenunddasMVC-Muster ................181 4.2 EntwicklungvonRichClientsmitJava ........................186 4.2.1 GraphischeKomponentenmitJava-Swing ...............186 4.2.2 ZeichnenmitderGraphics-Klasse....................199 4.2.3 DieEreignisverarbeitungmitJava ......................201 4.2.4 HTTP-KommunikationundgraphischeNutzeroberflächen..205 4.3 EntwicklungvonRichClientsmitHTML,CSS,JavaScriptund AJAX ....................................................211 4.3.1 GraphischeKomponentenmitHTMLundCSS ...........211 4.3.2 GrundlagenJavaScript................................222 4.3.3 JavaScriptunddasDocumentObjectModel(DOM).......226 4.3.4 EreignisverarbeitungmitJavaScript.....................231 4.3.5 InteraktiveGraphikenmitJavaScript....................235 4.3.6 InteraktiveAnwendungenmitAJAX ....................239 4.4 EntwicklungvonRichClientsmitFLEX/Flash/ActionScript ......247 4.4.1 GraphischeKomponentenmitMXMLundFLEX .........248 4.4.2 MXML-TagsundAttribute ...........................249 4.4.3 ActionScript3.0undFLEX............................257 4.4.4 EreignisverarbeitungmitActionScript...................262 4.4.5 ActionScript3.0undFlash ............................265 4.4.6 ZeichnenmitderGraphics-Klasse....................267 4.4.7 AnimierteBewegtbildfolgenundSynchronisation.........271 4.4.8 ErzeugungvonKlassenmitdemFlash-Autorenwerkzeug ..273 4.4.9 AsynchroneClient-Server-KommunikationmitFLEX/Flash 274 4.4.10 InteraktiveGraphikenmitFLEX/Flash ..................279 Literaturverzeichnis .............................................282 5 Audio-,Bild-undVideomedieninClient-Server-Systemen ..........283 5.1 Audio-,Bild-undVideocodierung ............................283 5.1.1 Kompressionvonaudio-visuellenDaten .................284 5.1.2 Irrelevante Information in Audiosignalen und mp3-Audiocodierung.................................287 5.1.3 IrrelevanzreduktioninvisuellenDaten...................292 5.1.4 Redundanzreduktion .................................296 x Inhaltsverzeichnis 5.1.5 Prädiktionscodierung .................................299 5.1.6 JPEG-Bildcodierung .................................302 5.1.7 MPEG-Videocodierung ...............................306 5.2 JavaMediaFrameworkundMicrosoftDirectShow ..............312 5.2.1 ProgressiveDownloadvonAudio-Videomedienmitdem JMF ...............................................315 5.2.2 AnzeigeeinesLive-VideosvoneinerWebcam............324 5.2.3 RTP-StreamingvonAudio-undVideodatenmitdemJMF..326 5.2.4 ProgressiveDownloadundStreamingvonAudio-Video MedienmitDirectShow...............................334 5.2.5 KomplexitätderAnwendungsentwicklungmitdemJMF, DirectShowundFlash ................................337 5.2.6 ErweiterbarkeitdesJMF ..............................337 5.3 VerarbeitungvonAudio-undVideomedienmitdemFlash-API ....338 5.3.1 ProgressiveDownloadoderStreamingvonAudio-und VideomedienmitFlash ...............................338 5.3.2 AnzeigeeinesLive-VideoseinerWebcam................343 5.3.3 EncodierungmitderNetStreamKlasse ...............343 5.3.4 StreamingmitdemFlashMediaServer..................344 Literaturverzeichnis .............................................349 Sachverzeichnis ....................................................351

Description:
Multimediale Client-Server-Anwendungen (insbesondere sog. Rich Internet Applikationen) entwickeln sich rasant. Die Gründe hierfür sind steigende Bandbreiten im Internet, ausgereifte Kompressionstechnologien sowie leistungsstarke Endgeräte. Die Anwendungen sind mittlerweile so attraktiv, dass dies
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.