View
1.716
Download
2
Embed Size (px)
DESCRIPTION
Kapitel des L3T Lehrbuch (http://l3t.eu)
Citation preview
#webtech
#einfuehrung #informa2k
Version vom 1. Februar 2011
Jetzt Pate werden! Für dieses Kapitel wird noch ein Pate gesucht,mehr Informa2onen unter: hEp://l3t.eu/patenschaH
WebtechnologienTechnische Anforderungen an Informationssysteme
Chris2an Safran, Anja Lorenz und Mar2n Ebner
Quelle: Robert UlmerhEp://www.flickr.com/photos/46422485@N03/5335122125 [2011-‐01-‐28]
Dieses Kapitel gibt eine Einführung in die technischen Grundlagen von Webtechnologien, welche imRahmen von LernsoHware Verwendung finden können. Basierend auf der zugrunde liegenden Infra-‐struktur des Internets hat vor allem das World Wide Web im letzten Jahrzehnt alle Arten von Informa2-‐onssystemen, auch solche für das Lernen und Lehren, nachhal2g beeinflusst. Dementsprechend ist einGrundverständnis der entsprechenden Technologien und technischen Anforderungen von Vorteil, umChancen und Grenzen von webbasierter LernsoHware zu erläutern. Durch die zugrunde liegenden Archi-‐tekturen und Protokollen des World Wide Web haben sich in den letzten Jahren Technologien wie Weban-‐wendungen und Webservices entwickelt, die größere und reichhal2gere Applika2onen im Web ermög-‐lichen als zu dessen Anfangszeit. Diese Möglichkeiten führten einerseits zu der Entwicklung von Rich In-‐ternet Applica2ons als „Internetanwendungen mit Desktop-‐Feeling“ und andererseits zum Aukommenvon Mashups, in welchen diverse Inhalte und Funk2onalitäten anderer Applika2onen in innova2ven Sze-‐narien neu kombiniert werden. Beide Ansätze sind in der aktuellen Entwicklung von Informa2onssystemenfür das Lernen und Lehren unabdingbar.
2 — Lehrbuch für Lernen und Lehren mit Technologien (L3T)
1. Einleitung
Das World Wide Web bzw. das Internet hat in denletzten Jahren einen großen Stellenwert in unsererheutigen „Informationsgesellschaft“ eingenommen.So verwundert es auch nicht, dass ein großer Teil deraktuellen Umsetzungen von Informationssystemenfür das Lernen und Lehren auf Webtechnologien ba-siert. Auch Trendtechnologien wie Soziale Medienfinden zunehmend Eingang in das Lernen undLehren mit Technologien.
Für das Verständnis der technischen Anforde-rungen an speziell für das Lernen und Lehren entwi-ckelte Informationssysteme ist demnach auch ein zu-mindest grundlegendes technisches Verständnis derdarunter liegenden Webtechnologien notwendig. Be-dingt durch die Architektur und Geschichte desWorld Wide Web bieten diese Ansätze zwar eingroßes Potential, stehen aber auch einigen techni-schen Einschränkungen gegenüber. Dieses Kapitelsoll grundlegendes Wissen über diese Technologienvermitteln und bestenfalls das Interesse nach detail-lierter weiterführender Information zu den angespro-chenen Technologien, welche in einschlägiger Fachli-teratur nachgelesen werden können, wecken.
2. Grundlegende Technologien
Das Internet ist eine weltweite Verknüpfung von Da-tennetzen, welche Ende der 1960er Jahre in den USAvom DARPA (Defense Advanced Research ProjectsAgency) initiiert und aus dem daraus entstandenenARPANET (Advanced Research Projects Agency)hervorging (Vinton Cerf, 1993).
Die Kommunikation in diesem Netzwerk wirdüber Protokolle geregelt. Ein Protokoll ist eine Re-
gelvorschrift, welche den Datenaustausch und dieKommunikation zwischen Computern detailliert be-schreibt. Die verschiedenen Verantwortungen werdenim Fall der Kommunikation in Rechnernetzen aufeinzelne Protokolle aufgeteilt. Diese Aufteilung kannman über das OSI-Schichtenmodell (Open SystemInterconnection) der internationalen Standardisie-rungsgesellschaft ISO (International StandardizationOrganisation), in dem Protokolle einer Ebene nur je-weils über Protokolle der benachbarten Ebenen Be-scheid wissen müssen, einheitlich beschreiben.
Die Ebenen des OSI-Schichtenmodells (siehe Ta-belle 1) beschreiben die Kommunikation in verschie-denen Abstraktionsstufen. So beschäftigt sich die un-terste Schicht (1) mit der physikalischen Übertragung,während sich die oberste Schicht (7) mit Anwen-dungen auseinandersetzt. Grob werden dieseSchichten in anwendungs- und transportorientierteSchichten unterteilt. Im Rahmen dieses Kapitelswerden wir uns nur mit anwendungsorientierten Pro-tokollen beschäftigen.
Basierend auf dem Internet, als Verbindung unter-schiedlicher Computernetze, ermöglichen diverseProtokolle den Zugriff auf eine Vielzahl von Anwen-dungen. Die wohl prominenteste dieser Anwen-dungen ist das World Wide Web.
3. Das World Wide Web
Seit seiner Entwicklung im Jahr 1989 durch die For-schergruppe um Sir Tim Berners-Lee (Cailliau, 1995),wurde aus dem World Wide Web (WWW) die wohlbekannteste und meist benutzte Anwendung des In-ternets. In vielen Fällen wird der Begriff Internet,obwohl er nur die darunterliegende Netzwerkinfra-struktur bezeichnet, inzwischen als Synonym für dasWorld Wide Web verwendet. Beim WWW handelt essich um eine verteilte Sammlung von Dokumenten,welche unter Verwendung von Internet-Protokollenüber eine Anwendung abrufbar sind. Diese Doku-mente sind untereinander mittels Hyperlinks ver-knüpft und bilden dadurch ein weltweites Netz an In-formationen. Die Anwendung, mit der auf dieseSeiten zugegriffen werden kann, wird als Browser be-
Der Begriff Internet als solcher bezeichnete hierbei ei-‐gentlich das entstehende „interconnected network“,also eine Technologie zur Kommunika2on (Austauschvon Daten) zwischen verschiedenen, weltweit ver-‐teilten Computernetzen, ohne die dazu nö2geHardware und Netzwerktechnologie genau zu kennen.
!
7 AnwendungsschichtAnwendungsorien2erte
Schichten
HTTP(S)FTP
POP, SMTP6 Darstellungsschicht5 Kommunika2onsschicht4 Transportschicht
Transportorien2erte Schichten
TCP UDP3 VermiElungsschicht IP2 Sicherungsschicht
Ethernet1 Physikalische Schicht
Tabelle 1: OSI-‐Schichtenmodell
Webtechnologien. Technische Anforderungen an Informa2onssysteme— 3
zeichnet. Bekannte Browser sind der Internet Ex-plorer von Microsoft, Firefox von Mozilla, Safari vonApple oder Opera von Opera Software.
Jedes Dokument im Web ist durch eine URL(Uniform Resource Locator) identifiziert. Diese URLbesteht im Web zumeist aus drei Komponenten: Pro-tokoll, Host und Pfad.
HTTP
Der Browser verständigt sich mit dem Webserverüber das Hyptertext Transfer Protocol. Wie jedesProtokoll beschreibt HTTP den Aufbau der Nach-richten vom Client an den Server. Die Kommuni-kation erfolgt immer über Anfragen des Clients anden Server und zugehörige Antworten. Alle Nach-richten werden als Klartext, also unverschlüsselt,übermittelt.
Durch diesen Aufbau der Kommunikation ist einezentrale Problematik der Entwicklung von Weban-wendungen bedingt: Der Server kann nicht von sichaus mit dem Client kommunizieren, da er immer aufeine Anfrage angewiesen ist. Wartet eine Anwendungnun auf ein bestimmtes Ereignis (zum Beispiel dasErgebnis einer aufwendigen Berechnung), kann derServer den Client nicht über dessen Eintritt verstän-digen, sondern der Client muss in regelmäßigen Ab-ständen Anfragen über den Status an den Serverschicken. Dies bringt natürlich einerseits zusätzlichenNetzwerkverkehr und anderseits zusätzliche Ar-beitszeit des Servers mit sich.
Zu beachten gilt bei HTTP, dass es sich um einzustandsloses Protokoll handelt. Alle Anfragen sindsomit voneinander unabhängig zu betrachten. Für die
meisten Anwendungen im Web ist es aber notwendig,mehrere Anfragen in Zusammenhang zueinander zusehen. So besteht zum Beispiel der Bestellvorgang ineinem Webshop durchaus aus mehreren sequentiellenAnfragen (Auswahl der Waren, Eingabe der Adresse,Bestätigung des Kaufes). Solche Zusammenhängekönnen nicht durch das Protokoll selbst verwaltetwerden, sondern müssen durch die Anwendungengehandhabt werden, welche ihre Daten über HTTPübertragen. Es können hierzu Sitzungen (Sessions)verwendet werden, in denen eine eindeutige ID mitjeder Anfrage versendet wird. Eine andere Mög-lichkeit ist die Verwendung von Cookies, mit denender Browser persistente Informationen (zum BeispielKundendaten) zu einem Webserver lokal speichernkann. Üblicherweise beginnen solche Sessions mit derAnmeldung mittels Login und Passwort und endendurch Abmeldung, oder wenn der Browser ge-schlossen wird.
HTTPS
Die Übertragung der Daten in Klartextform beiHTTP ist nicht in jedem Fall wünschenswert. Sokönnten sensible Daten wie zum Beispiel Kenn-wörter durch beliebige „Zuhörer“ (an z.B. den für dieÜbertragung nötigen Servern) abgefangen werden.Aus diesem Grund wurde das Hypertext TransferProtocol Secure (HTTPS) als Verfahren entwickelt,um Daten im Web abhörsicher zu übermitteln. DasProtokoll ist an sich identisch zu HTTP, allerdingswerden die Daten mittels dem Protokoll SecureSocket Layer bzw. Transport Layer Security(SSL/TLS) verschlüsselt. Zu Beginn der verschlüssel-ten Verbindung muss sich bei HTTPS der Serveridentifizieren. Dies geschieht über ein Zertifikat,welches die Identität bestätigen soll. Bei der erstenAnfrage an einen Webserver kann es notwendig sein,dass die Authentizität dieses Zertifikates bestätigtwerden muss.
HTML
Die eigentlichen Dokumente, die über HTTP vomServer an den Client übermittelt werden, sind meistHTML-Dokumente. Die Hypertext Markup Lan-guage (HTML) ist eine Auszeichnungssprache,welche in erster Linie die Struktur von Inhalten be-schreibt. Der Browser zeigt anhand von HTML undder mitgelieferten Formatierungsinformation dieseDokumente am Client an.
Iden2fizieren Sie die drei Teile der URLhEp://de.wikipedia.org/wiki/Wikipedia:Hauptseite?
HTTP ist ein zustandsloses Anfrage/Antwort-‐Protokollund dient zur ÜbermiElung von Daten im WWW.!
Weitere Browser können Sie bspw. bei Wikipediafinden (hEp://de.wikipedia.org/wiki/Liste_von_Web-‐browsern) oder in der L3T-‐Gruppe bei Mister Wongunter #webbrowser #l3t .
!
Diese Komponenten der URL sind folgendermaßen an-‐geordnet: protokoll://host/pfad
Die URL kann darüber hinaus einen Port („Anschluss“am Server; hEp://www.example.org:80) und Anfrage-‐string (zusätzliche Informa2onen wie die Inhalte einerSuchanfrage; hEp://www.example.org:80/demo/ex-‐ample.cgi?land=de&stadt=aa) beinhalten.
!
4 — Lehrbuch für Lernen und Lehren mit Technologien (L3T)
Eine Auszeichnungssprache dient zur Be-schreibung von Daten und soll in erster Linie derenStruktur (Überschriften, Tabellen, etc.) und die Ver-bindungen der Dokumente (mittels Hyperlinks) be-schreiben. HTML erlaubt darüber hinaus auch dieBeschreibung der Formatierung des Dokumentes. Eshat sich aus vielfältigen Gründen eingebürgert, dasLayout (die Formatierung) eines Dokumentes vonden eigentlichen Inhalten zu trennen. Dadurch kannman Dokumente für verschiedene Schnittstellen undAnwendungen verwenden und muss nur das jeweiligeLayout anpassen. Zudem ist auf diese Weise aucheine Verwendung der Dokumente für Menschen mitBeeinträchtigungen (wie Sehschwächen) effizientmöglich. Üblicherweise wird also das Aussehen derHTML-Dokumente in einer separaten Datei be-schrieben. Diese Cascading Style Sheets (CSS)werden ebenfalls vom Browser über HTTP ange-fordert.
Webanwendungen
Im Laufe der Zeit haben sich die Anforderungen anInformationssysteme im Web vom der bloßen Zur-verfügungstellung von Dokumenten in Richtung aus-gefeilter Programmlogik weiterentwickelt. Wie imKapitel Informationssysteme aufgezeigt, erfordernnatürlich auch Informationssysteme für das Lernenund Lehren solch eine Programmlogik. Diese Pro-gramme, die auf einem Webserver ausgeführtwerden, werden als Webanwendungen bezeichnet.Wie bei statischen Webseiten wird clientseitig einBrowser zur Interaktion mit dem Webserver ver-wendet und die Daten werden mittels HTTP(S) über-mittelt.
Im Unterschied zu einer einfachen Webseite über-mittelt der Webserver beim Aufruf der URL aller-dings nicht ein bereits vorliegendes Dokument,sondern ruft ein Programm auf, welches aus einerVorlage für Inhalt und Formatierung sowie aus va-riablen Daten dynamisch ein Dokument erstellt undan den Client übermittelt. Der Browser übernimmt indiesem Fall also die Rolle der Benutzerschnittstellefür ein auf dem Server ausgeführtes Programm. Mit Webanwendungen kann komplexe Software reali-siert werden, welche clientseitig nur einen Web-browser bzw. entsprechende PlugIns benötigt. Fürdie Entwicklerin oder den Entwickler der Software
kann diese somit einfacher gewartet und erweitertwerden, da Anpassungen nur am Server erfolgenmüssen. Bei der Benutzung ergibt sich der Vorteil,dass die zusätzliche Installation einer Software wei-testgehend entfällt.
Andererseits bringt dieser Ansatz auch einigeNachteile. So ist eine ständige Internetverbindungmit ausreichender Bandbreite notwendig. Zudemkann der Server, bedingt durch die Tatsache, dassHTTP auf dem Anfrage-/Antwort-Prinzip basiert,nicht selbstständig Informationen an die Clientssenden, sondern ist auf periodische Anfragen ange-wiesen. Zu guter Letzt bedeutet unter anderem daszustandslose Design des Protokolls, dass auf eineVielzahl von möglichen Angriffsszenarien einge-gangen werden sowie die Sicherheit der Weban-wendung ein nicht zu vernachlässigender, zentralerBestandteil der Entwicklung der Software sein muss.
Webservices
Webservices sind eine spezielle Art von Webanwen-dungen, die der Bereitstellung von Daten für andereApplikationen dienen (World Wide Web Consortium,2004). Sie sind üblicherweise Application Programm-ing Interfaces (API) und stellen als solche eine ein-heitlich definierte Schnittstelle für fremde Anwen-dungen zur Verfügung um auf die Funktionalität desService zuzugreifen.
In Zusammenhang mit Informationssystemen fürdas Lernen und Lehren bietet die Integration solcherWebservices innovative Ansätze für die Einbindungexterner Ressourcen und Funktionalitäten in ein der-artiges Informationssystem (Vossen & Westerkamp,2003).
Anders als bei Webanwendungen werden beiWebservices üblicherweise keine HTML-Dokumentevom Server geladen, da für die aufrufenden Applika-tionen Formatierungen sowie die Lesbarkeit fürmenschliche Benutzer/innen irrelevant sind und derFokus rein auf dem Inhalt liegt.
Der Grundgedanke von Webservices ist die Mög-lichkeit der automatischen Verarbeitung von Datenim Web durch Softwareagenten, welche lose ge-koppelt Aufgaben für Benutzer/innen ausführen.Webservices stellen ihre detailliert beschriebeneFunktionalität hierbei anderen Anwendungen zurVerfügung, seien dies autonome Agenten, Weban-wendungen oder andere Webservices. Dadurchkönnen Entwickler/innen bereits bestehende Funk-tionalitäten in ihren eigenen Anwendungen ver-wenden (Mashup, siehe Seite 7).
Webanwendungen sind Computerprogramme, die aufeinem Webserver laufen und den Browser des Clientsals BenutzerschniEstelle verwenden.
!
Webtechnologien. Technische Anforderungen an Informa2onssysteme— 5
Die technologische Umsetzung erfolgt meist übereine der folgenden Möglichkeiten: ▸ SOAP/WSDL: Ein flexibles System, in dem
Nachrichten über das Simple Object AccessProtocoll (SOAP) ausgetauscht werden. Wie dieseNachrichten für die einzelnen Webservices aus-sehen, wird über die Web Services DescriptionLanguage (WSDL) beschrieben. Anfragen undAntworten sind in XML, einer allgemeinen Aus-zeichnungssprache für hierarchische Daten, ge-schrieben. In den Nachrichten werden die ge-wünschten Funktionen des Webservice aufge-rufen, die Antworten werden vom Server retour-niert.
▸ Representational State Tranfer (REST) be-zeichnet eine Technologie, in der jede einzelneFunktion des Webservice über eine individuelleURL aufgerufen wird. Die Kommunikation er-folgt zustandslos, ist also nicht von Sitzungen, Be-nutzerdaten oder ähnlichem abhängig.
4. XML
Die EXtensible Markup Language (XML) be-schreibt eine sehr allgemeine, flexible und für indivi-duelle Bedürfnisse erweiterbare Auszeichnungs-sprache. Wie HTML dient sie zur Darstellung struk-turierter Inhalte, ist aber in erster Linie nicht für diemenschenlesbare Darstellung gedacht. Sie ist vonkonkreten Plattformen und Implementierungen un-abhängig und durch ihre Charakteristik als Meta-sprache vielseitig verwendbar. Letzteres bedeutet,dass sich auf Basis von XML durch Verwendungeines Schemas spezialisierte Dialekte für einzelne An-wendungsfälle definieren lassen. So ist beispielsweise
XHTML eine auf XML basierende Auszeichnungs-sprache, welche zur Beschreibung von Webseitendient.
5. Einführung in die Applika8onsentwicklung für dasWeb
Die Entwicklung von Webapplikationen und -ser-vices kann generell in zwei Gruppen von Ansätzenunterteilt werden. Bei serverseitigen Ansätzen er-folgt die Verarbeitung der Programmlogik amWebserver, der Client (und damit der Benutzer unddie Benutzerin) erhält lediglich das Ergebnis. Bei cli-entseitigen Ansätzen erfolgt zumindest ein Teil desProgrammablaufes am Rechner der Benutzer/innen.In realen Anwendungen wird meist eine Kombi-nation von Ansätzen beider Gruppen verwendet.
Seversei8ge Ansätze
Der Vorteil von serverseitigen Ansätzen liegt in derTatsache, dass der Client außer einem Browser keineweiteren Programme benötigt. Der eigentliche Pro-grammcode wird serverseitig verarbeitet und das Er-gebnis, meist ein (X)HTML-Dokument, an denClient gesandt. Der Nachteil von serverseitigen An-sätzen liegt an der Verminderung der Reaktionsge-schwindigkeit. Einerseits erfordert jede Nutzeraktioneinen erneuten HTTP-Request (Anfrage) und damiteinen neuen Aufruf der Seite. Andererseits benötigtdas Ausführen der Programmlogik Rechenzeit amServer und vermindert somit zusätzlich dessen Reak-tionszeit.
PHP ist der heute wohl am meisten verbreiteteserverseitige Ansatz für Webapplikationen. Die Ab-kürzung, ursprünglich „Personal Home Page tools“,ist ein rekursives Akronym für PHP:, „Hypertext Pre-processor“ (The PHP Group, 2010). Es handelt sichbei PHP um eine Skriptsprache, das heißt der eigent-liche Programmcode wird nicht zu einem Bytecodekompiliert (der direkt vom Rechner ausgeführtwerden kann), sondern bei jedem Aufruf von einemInterpreter neu verarbeitet. Dieser Performance-Nachteil kann aber durch optionale Erweiterungender Software kompensiert werden. PHP-Pro-grammcode wird innerhalb der Dokumente durch einvorangestelltes <?php und ?> am Ende des Codes ge-kennzeichnet. Der Interpreter ignoriert Inhalte au-ßerhalb dieser Begrenzungen und übermittelt dieseunverändert an den Client. So kann Programmlogikbeispielsweise direkt in HTML-Auszeichnungen ein-gebettet werden. Seine Verbreitung hat PHP meh-reren Aspekten zu verdanken. Einerseits steht es imRahmen vieler günstiger Webhosting-Angebote zurVerfügung (vorinstalliert auf Servern), da es einfach
Beschreiben Sie die Unterschiede zwischen Weban-‐wendungen und Webservices! Vergleichen Sie IhreAntwort mit Tabelle 2.
?
Webanwendung Webservice
Zielgruppe: (menschliche)Benutzer
Ausgabe als HTML
Clientsei2ges Programm:Browser
Zielgruppe: andere Ap-‐plika2onen
Ausgabe als XML o.ä. fürMaschinen op2mierteFormate
Verarbeitung in anderenApplika2onen
Tabelle 2: Unterschiede von Webanwendung undWebservice
6 — Lehrbuch für Lernen und Lehren mit Technologien (L3T)
zu installieren, zu warten und in bestehendeWebserver zu integrieren ist. Andererseits ist PHP fürEntwickler/innen schnell zu erlernen und sehr fle-xibel. Nachteile liegen in der Tatsache, dass PHP po-tentiell erlaubt, schlechter skalierbare und unsichereWebanwendungen zu entwickeln, auch wenn hier diekonkrete Umsetzung einen deutlichen Einfluss habenkann. Speziell unerfahrenen Entwicklerinnen undEntwicklern fällt es mit anderen Technologienleichter, auf die Aspekte Skalierbarbeit und SicherheitRücksicht zu nehmen, da sie dort zur Einhaltung ent-sprechender Regeln gezwungen werden.
Java Servlets basieren auf der objektorientierenProgrammiersprache Java. Sie sind Java-Klassen (lo-gisch gekapselte Teile von Programmcode), welcheauf einem Server für die Abarbeitung von Anfragender Clients zuständig sind. Als Antwort auf diese An-fragen liefern Servlets dynamisch generierte HTML-Dokumente. Anders als bei PHP werden diese Pro-gramme nicht zur Laufzeit interpretiert, sondernliegen bereits kompiliert vor, was die Abarbeitung be-schleunigt. Obwohl die Entwicklung mit Java die Ein-arbeitung in eine komplexere Technologie bedeutet,bietet diese Technologie einige Vorteile. So kann siedurch Anwendung der richtigen Architektur großeVerbesserungen in Skalierbarkeit und Erweiterbarkeitbedeuten. Um abgearbeitet zu werden benötigen JavaServlets einen Servlet Container, wie Apache Tomcat,der den einfachen Webserver ersetzt. Diese technolo-gische Einschränkung ist auch der Grund dafür, dassJava Servlets eher bei großen (Business-)Anwen-dungen als bei kleinen und mittleren Webanwen-dungen verwendet werden. Nur wenige Webhosterbieten Pakete mit einem Servlet Container an, da dieInstallation und die Administration aufwendiger ist.
Java Server Pages (JSP) sind eine weitere auf Javabasierende Technologie. Bei klassischen Servlets istdie Ausgabe der resultierenden Webseiten recht auf-wendig. Syntaktisch wird bei JSP, ähnlich wie beiPHP, der Java Programmcode mit <%@ und %> abge-grenzt. Der Rest des Dokumentes wird nicht inter-pretiert und enthält die HTML-Beschreibung derWebseite. Somit sind JSP Seiten ähnlich den Servlets,erlauben jedoch die Kombination von Programm-und HTML-Code in einem Dokument und er-leichtern so beide Technologien miteinander zu kom-binieren.
Active Server Pages (ASP) war ursprünglich einPHP ähnlicher Ansatz, der auf proprietären Techno-logien der Firma Microsoft basiert. In der Weiterent-wicklung als ASP.NET basiert die aktuelle Techno-logie auf dem Microsofts .NET-Framework. Die ei-gentlichen Anwendungen können hierbei in verschie-
denen .NET-Programmiersprachen erstellt werden.Gebräuchlich sind hierbei C# (C Sharp) undVB.NET (Visual Basic.NET). Anders als bei PHPwerden bei ASP.NET Programm-Code und HTMLvoneinander getrennt. Da der Programmcode da-durch kompiliert vorliegen kann, wird die Abar-beitung beschleunigt. Der Nachteil von ASP.NETliegt in der Tatsache, dass die Technologie sowohlproprietär als auch kostenpflichtig ist und darüberhinaus einen Microsoft Webserver erfordert.
Clientsei(ge Ansätze
Im Gegensatz zu serverseitigen Ansätzen wird hierdie Programmlogik direkt auf dem Client abgear-beitet. Dies bietet den Vorteil, dass sowohl wenigerDatenverkehr notwendig ist, als auch die Ressourcendes Webservers geschont werden. Von Nachteil ist al-lerdings, dass clientseitig eine komplexere Softwareerforderlich ist, der Client entsprechend leistungs-fähig sein muss um die Programme abarbeiten zukönnen und potentiell sicherheitskritische Berech-nungen nur auf der Serverseite durchgeführt werdensollten.
Die wohl wichtigste Basistechnologie in diesemZusammenhang ist JavaScript. Der Interpreter fürdiese Sprache ist bereits in den Browser integriert,wodurch keine zusätzliche Softwareinstallation not-wendig ist. Allerdings sind diese Interpreter je nachBrowser unterschiedlich, was für die Entwicklung derSoftware zusätzlichen Aufwand bedeutet, um Java-Script-Programme auf allen (bzw. möglichst vielen)Browsern lauffähig („browser-save“) zu machen. Ja-vascript-Programme können entweder direkt inHTML-Seiten integriert sein oder in eigene Dateienausgelagert werden. Die implementierte Funktiona-lität kann hierbei von einfachen Aufgaben, wie derValidierung von Formulareingaben, bis hin zu dyna-mischer Manipulation der vom Webserver übertra-genen Webseite reichen.
Asynchronous JavaScript and XML (AJAX) be-zeichnet ein Konzept von Webanwendungen, beidenen JavaScript eingesetzt wird, um Informationenvon einem Webserver anzufordern. Bei klassischenWebseiten muss wiederum für jede Aktion vomClient eine Anfrage erstellt und die Antwort desServers vom Browser interpretiert werden. Dies er-fordert ein komplettes Neuladen der Seite, auchwenn sich nur kleine Teile ändern. Mit AJAX werdenvom Webserver nur mehr Teilinhalte angefordert.Diese werden als XML-Dokumente übermittelt undanhand der XML-Struktur interpretiert. AJAX mani-puliert nun die bereits geladene Seite und ändert nurjene Daten, die wirklich notwendig sind. Dadurch
Webtechnologien. Technische Anforderungen an Informa2onssysteme— 7
erhält man wesentlich performantere („schnellere“)Applikationen, mit denen ein Verhalten ähnlich zuDesktop-Anwendungen (in „Klick-Geschwind-igkeit“) erreicht wird. Dies führte im nächsten Schrittzu RIA.
Als „Rich Internet Application“ (RIA) bezeichnetman jene Webanwendungen, welche durch client-seitige Anwendung von JavaScript Möglichkeiten wievergleichbare Desktop-Anwendungen bieten. So istes zum Beispiel mit diesem Ansatz möglich, Office-Anwendungen als Webanwendungen zu implemen-tieren. Anders als bei Desktop-Anwendungen müs-sen diese allerdings nicht installiert werden undbieten die Möglichkeit auf jedem Rechner, welcherüber einen kompatiblen Browser verfügt, ausgeführtzu werden (sind also unabhängig vom verwendetenBetriebssystem). Die Daten werden hierbei zentralauf dem Server hinterlegt. Die Interaktion mit demWebserver ist auf ein Minimum beschränkt, was flüs-siges Arbeiten mit RIA ermöglicht.
6. Vor Gebrauch gut schü:eln – Syndika(on und Inte-‐gra(on
Moderne Webapplikationen verdanken einen großenTeil ihrer Verbreitung der Tatsache, dass deren Ver-knüpfung zu einem immer zentraleren Teil ihrerFunktionalität wird. Dies geht über einfache Hyper-links weit hinaus: Inhalte und Funktionalitätenwerden zur Verfügung gestellt und in andere Web-Applikationen integriert. So wird eine Kreativität beider Erstellung von neuen Applikationen ermöglicht,wie sie ohne diese Offenheit und den daraus resultie-renden Vorteil bestehende Funktionalität nicht erneutselbst implementieren zu müssen, nur schwer vor-stellbar wäre. Die Syndikation mehrerer fremder
Funktionalitäten oder Integration fremder Inhalte ineine Webapplikation werden als Mashup bezeichnet.Dieser Begriff wurde ursprünglich in der Musik-branche verwendet, um Remixes zu beschreiben. ImZusammenhang von Webapplikationen bedeutet eseine in der Anwendung transparente Integrationfremder Dienste und Inhalte.
Damit sind jedoch auch Nachteile verbunden: ▸ Wer haftet bei sicherheitskritischen Anwendungen,
wenn Funktionen nicht korrekt funktionieren,zum Beispiel wenn bei Lernsoftware eine Appli-kation die Prüfungsfragen falsch auswertet?
▸ Alle Server, welche die Services anbieten, müssenständig verfügbar sein – dies liegt jedoch nicht inder Verantwortung des Betreibers.
▸ Das Urheberrecht bzw. die Lizenzierung führt zuder Frage, ob man die Funktionen überhaupt inte-grieren darf (bei Facebook, Google Maps etc. magdies augenscheinlich sein, bei kommerziellen An-bietern ist dies aber nicht gegeben).
Programmierschni:stellen
Application Programming Interfaces (API) sindwohldefinierte Schnittstellen für die Interaktion mitApplikationen. Im Zusammenhang mit Webapplika-tionen werden sie üblicherweise als Webservices im-plementiert und liefern entweder XML-Daten odervergleichbare strukturierte Daten wie die einfachereJavaScript Object Notation (JSON). Sowohl SOAP-als auch REST-Ansätze sind möglich, auch wenn derTrend der letzten Jahre in Richtung REST-Anwen-dungen weist. Einerseits können API dazu verwendetwerden um Funktionalität zur Verfügung zu stellen,wie zum Beispiel die Darstellung von Koordinaten in
Stellen Sie die Vor-‐ und Nachteile von server-‐ und cli-‐entsei2gen Ansätzen gegenüber. Vergleichen Sie IhreAntwort mit Tabelle 3.
?
Serversei'ger Ansatz
Clientsei'ger Ansatz
Vorteile unabhängig von clientsei2ger SoHwareausstat-‐tung
gleiches Verhalten auf allen Clients
Reak2onszeiten ähnlich zu Desktop-‐Anwendungen
nur benö2gte Inhalte werden geladen und in die aktuelleSeite integriert
Nachteile jede Ak2on erfordert einen Aufruf serversei2gerFunk2onalität
jede Ak2on erfordert kompleEes Neuladen deraktuellen Seite
Verhalten von Browser (JavaScript Engine) abhängig
Sicherheit der Anwendungen ist aufwendiger zu gewähr-‐leisten
Tabelle 3: Vor-‐ und Nachteile des serverseitigen und des clientseitigen Ansatzes
Ein Mashup ist die Integra2on von Inhalten und Funk-‐2onalitäten anderer Webapplika2onen in die eigene.!
8 — Lehrbuch für Lernen und Lehren mit Technologien (L3T)
Karten mittels der Google-Maps-API. Abbildung 1zeigt ein Beispiel der Visualisierung von geographi-schen Koordinaten mittels der Google Maps API.
Andererseits können solche Applikationen auchInhalte zur Verfügung stellen. So ist es mit der Flickr-API zum Beispiel möglich, auf Fotos des Internet-dienstes zuzugreifen. Andere API ermöglichen bei-spielsweise die Integration von Daten aus sozialenNetzwerken, wie die Facebook-API.
RSS
Real Simple Syndication (RSS) beschreibt eine Tech-nologie, mit deren Hilfe Inhalte von Websites, soge-
nannte Feeds, zur Verfügung gestellt werden. DieDaten liegen hierbei in einem XML Format vor. RSSdient hauptsächlich zur Benachrichtigung bei häufigaktualisierten Informationen, wie Weblogs oderNachrichtenseiten. Benutzer/innen können RSS-Feeds mit einem Client abonnieren, der ihnen immerdie jeweils neuesten Meldungen anzeigt. Abbildung 2zeigt das gebräuchlichste Icon für RSS-Feeds, wie eszum Beispiel im Browser Firefox Verwendung findet.In Webapplikationen bietet RSS eine gute Mög-lichkeit zur Syndikation von Daten aus unterschied-lichen Quellen. Da die Daten in XML vorliegen,können sie einfach maschinell weiterverarbeitet undin die eigene Webseite integriert werden.
Widgets Eine dritte Technologie, die bei der Integration ver-schiedener Webanwendungen Anwendung findet,sind Widgets. Ein Widget ist ein kleines, in sich abge-schlossenes Programm, das im Rahmen einer an-deren grafischen Benutzeroberfläche abläuft. Übli-cherweise ist die Funktionalität solch eines Widgetsspezialisiert und eingeschränkt. Im Desktop-Bereichhaben sich Widgets inzwischen bei den meisten Be-triebssystemen durchgesetzt und können entwederdirekt als Teil des Desktops (wie Gadgets in Mi-crosoft Windows) oder über eine getrennte Widget-
Abbildung 2: Icon für RSS Feeds
In der Praxis: Die Personal Learning Environment an der TU GrazAls Praxisbeispiel für ein Mashup kann die Personal LearningEnvironment (PLE) an der Technischen Universität Graz ge-‐nannt werden. In dieser persönlichen Lernumgebung sindverschiedene, zum Teil unabhängige und verteilte Diensteder TU Graz so wie andere Webanwendungen aus dem In-‐ternet integriert. Abbildung 3 stellt dieses Grundkonzept gra-‐p h i s c h d a r . U n i v e r s i t ä t s d i e n s t e w i e d a sAdministra2onssystem (TUGRAZ.online), LMS (TUGTC), Blo-‐gosphere (TUGLL) und viele Lernobjekte für unterschiedlicheLehrveranstaltungen sind in der PLE kombiniert.Zusätzlich dazu können zahlreiche fremde Lernobjekte undwebbasierte Dienste wie Google-‐Applika2onen, Flickr,YouTube, TwiEer, FaceBook, etc. integriert werden. Die Inte-‐gra2on dieser Dienste erfolgt miEels Widgets. Das PLE alseine Rich Internet Applica2on (RIA) bietet ein Mashup vonWidgets, die an den persönlichen Nutzungsbedürfnissen an-‐passbar sind. Die Benutzer/innen sind in der Lage sich die ge-‐
eigneten, zu ihrem Studium benö2gten Widgets auszusuchenund diese nach ihren aktuellen Bedürfnissen zu konfigu-‐rieren.
Abbildung 3: PLE: Mashup von Widgets ermöglicht die Inte-‐gra2on von verschiedenen Universitätsdiensten sowie derfremden Ressourcen aus dem Internet.
Abbildung 1: TUGeowiki: Integration von Kartenma-‐terial über die Google Maps API. Quelle: Safran undZaka, 2008
Webtechnologien. Technische Anforderungen an Informa2onssysteme— 9
Engine (wie das Dashboard bei Mac OS X) benutztwerden. Im Zusammenhang mit Webapplikationenbezeichnet der Begriff Widget genauso eine eigen-ständige, abgeschlossene und in eine andere Appli-kation integrierte Funktionalität. Diese sind meist in-nerhalb der Benutzerschnittstelle der eigentlichenWebapplikation mehr oder weniger frei positio-nierbar. So können Widgets zum Beispiel Daten übereinen RSS-Feed abrufen, oder auf Funktionalitätenmittels einer API zugreifen. Ein Beispiel für Widgetssind die Apps des sozialen Netzwerks Facebook,welche nicht selbst von Facebook, sondern von an-deren Entwicklerinnen und Entwicklern erstellt, aberin die Webapplikation Facebook integriert werden.Für Benutzer/innen ist kaum ein Unterschied er-kennbar. Über eine API greifen diese Apps zusätzlichauf die Funktionalität von Facebook zu.
7. Aktuelle Trends in der Entwicklung von Webanwen-‐dungen
In den letzten Jahren haben sich drei Ansätze bei derEntwicklung von Webanwendungen durchgesetzt.Vom serverseitigen Standpunkt aus bieten viele, vorallem bekannte und große Webanwendungen, wie dieverschiedenen Google-Produkte oder Facebook, par-allel zu ihren Webanwendungen Webservices als APIan. Dies ermöglicht und ermutigt die Verwendungihrer Funktionalität in anderen Webanwendungen.
Vom clientseitigen Standpunkt sind RIA der Standder Technik. Hier wird bei vielen Webanwendungendarauf Wert gelegt, dass den Benutzern die An-
mutung einer Desktop-Anwendung vermittelt wird.Durch die Anwendung von AJAX haben sich die Re-aktionszeiten der Webanwendungen erheblich ver-bessert.
Zu guter Letzt gehört Syndikation und Integrationzum Stand der Technik in vielen Anwendungsbe-reichen. Durch die Möglichkeiten, welche Webser-vices und RIA bieten, kann auf Funktionalität undInhalte anderer Anwendungen leicht zurückgegriffenwerden. Diese können nahtlos in die eigene Benut-zungsschnittstelle integriert werden.
Literatur
▸ Vinton Cerf (1993). The history of Internet. In: B. Aboba(Hrsg.), The Online User's Encyclopedia, Addison-Wesley.
▸ Cailliau, R. (1995). A Little History of the World Wide Web.URL: http://www.w3.org/History.html [2010-09-08].
▸ Safran, C. & Zaka, B. (2008). A Geospatial Wiki for m-Learning. In: Proceedings of the 2008 International Confe-rence on Computer Science and Software Engineering, IEEEComputer Society, Washington, 5, 109-112.
▸ The PHP Group. (2010). Hypertext Preprocessor. URL:http://www.php.net [2010-01-04].
▸ Vossen, G. & Westerkamp, P. (2003). E-Learning as a WebService. In: Proceedings of the Seventh International DatabaseEngineering and Applications Symposium, Los Alamitos, CA,USA: IEEE Computer Society, 242.
▸ World Wide Web Consortium (2004). Web Services Archi-tecture. URL: http://www.w3.org/TR/ws-arch/#id2268743[2010-01-12].