Die Akteur-Netzwerk-Theorie - Eine Techniktheorie für das Lernen und Lehren m...
Webtechnologien - Technische Anforderungen an Informationssysteme
1. Chris2an
Safran,
Anja
Lorenz
und
Mar2n
Ebner
Webtechnologien
Technische Anforderungen an Informationssysteme
Dieses
Kapitel
gibt
eine
Einführung
in
die
technischen
Grundlagen
von
Webtechnologien,
welche
im
Rahmen
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
ein
Grundverständnis
der
entsprechenden
Technologien
und
technischen
Anforderungen
von
Vorteil,
um
Chancen
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
Aukommen
von
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
Informa2onssystemen
für
das
Lernen
und
Lehren
unabdingbar.
Quelle:
Robert
Ulmer
hEp://www.flickr.com/photos/46422485@N03/5335122125
[2011-‐01-‐28]
#webtech
#einfuehrung
#informa2k
Version
vom
1.
Februar
2011
Für
dieses
Kapitel
wird
noch
ein
Pate
gesucht,
Jetzt Pate werden! mehr
Informa2onen
unter:
hEp://l3t.eu/patenschaH
2. 2
—
Lehrbuch
für
Lernen
und
Lehren
mit
Technologien
(L3T)
gelvorschrift, welche den Datenaustausch und die
1. Einleitung
Kommunikation zwischen Computern detailliert be-
Das World Wide Web bzw. das Internet hat in den schreibt. Die verschiedenen Verantwortungen werden
letzten Jahren einen großen Stellenwert in unserer im Fall der Kommunikation in Rechnernetzen auf
heutigen „Informationsgesellschaft“ eingenommen. einzelne Protokolle aufgeteilt. Diese Aufteilung kann
So verwundert es auch nicht, dass ein großer Teil der man über das OSI-Schichtenmodell (Open System
aktuellen Umsetzungen von Informationssystemen Interconnection) der internationalen Standardisie-
für das Lernen und Lehren auf Webtechnologien ba- rungsgesellschaft ISO (International Standardization
siert. Auch Trendtechnologien wie Soziale Medien Organisation), in dem Protokolle einer Ebene nur je-
finden zunehmend Eingang in das Lernen und weils über Protokolle der benachbarten Ebenen Be-
Lehren mit Technologien. scheid wissen müssen, einheitlich beschreiben.
Für das Verständnis der technischen Anforde- Die Ebenen des OSI-Schichtenmodells (siehe Ta-
rungen an speziell für das Lernen und Lehren entwi- belle 1) beschreiben die Kommunikation in verschie-
ckelte Informationssysteme ist demnach auch ein zu- denen Abstraktionsstufen. So beschäftigt sich die un-
mindest grundlegendes technisches Verständnis der terste Schicht (1) mit der physikalischen Übertragung,
darunter liegenden Webtechnologien notwendig. Be- während sich die oberste Schicht (7) mit Anwen-
dingt durch die Architektur und Geschichte des dungen auseinandersetzt. Grob werden diese
World Wide Web bieten diese Ansätze zwar ein Schichten in anwendungs- und transportorientierte
großes Potential, stehen aber auch einigen techni- Schichten unterteilt. Im Rahmen dieses Kapitels
schen Einschränkungen gegenüber. Dieses Kapitel werden wir uns nur mit anwendungsorientierten Pro-
soll grundlegendes Wissen über diese Technologien tokollen beschäftigen.
vermitteln und bestenfalls das Interesse nach detail- Basierend auf dem Internet, als Verbindung unter-
lierter weiterführender Information zu den angespro- schiedlicher Computernetze, ermöglichen diverse
chenen Technologien, welche in einschlägiger Fachli- Protokolle den Zugriff auf eine Vielzahl von Anwen-
teratur nachgelesen werden können, wecken. dungen. Die wohl prominenteste dieser Anwen-
dungen ist das World Wide Web.
2. Grundlegende
Technologien
3. Das
World
Wide
Web
Das Internet ist eine weltweite Verknüpfung von Da-
tennetzen, welche Ende der 1960er Jahre in den USA Seit seiner Entwicklung im Jahr 1989 durch die For-
vom DARPA (Defense Advanced Research Projects schergruppe um Sir Tim Berners-Lee (Cailliau, 1995),
Agency) initiiert und aus dem daraus entstandenen wurde aus dem World Wide Web (WWW) die wohl
ARPANET (Advanced Research Projects Agency) bekannteste und meist benutzte Anwendung des In-
hervorging (Vinton Cerf, 1993). ternets. In vielen Fällen wird der Begriff Internet,
obwohl er nur die darunterliegende Netzwerkinfra-
Der
Begriff
Internet
als
solcher
bezeichnete
hierbei
ei-‐ struktur bezeichnet, inzwischen als Synonym für das
! gentlich
das
entstehende
„interconnected
network“,
also
eine
Technologie
zur
Kommunika2on
(Austausch
World Wide Web verwendet. Beim WWW handelt es
sich um eine verteilte Sammlung von Dokumenten,
von
Daten)
zwischen
verschiedenen,
weltweit
ver-‐ welche unter Verwendung von Internet-Protokollen
teilten
Computernetzen,
ohne
die
dazu
nö2ge
über eine Anwendung abrufbar sind. Diese Doku-
Hardware
und
Netzwerktechnologie
genau
zu
kennen.
mente sind untereinander mittels Hyperlinks ver-
knüpft und bilden dadurch ein weltweites Netz an In-
Die Kommunikation in diesem Netzwerk wird formationen. Die Anwendung, mit der auf diese
über Protokolle geregelt. Ein Protokoll ist eine Re- Seiten zugegriffen werden kann, wird als Browser be-
7 Anwendungsschicht HTTP(S)
6 Darstellungsschicht Anwendungsorien2erte
FTP
5 Kommunika2onsschicht Schichten POP,
SMTP
4 Transportschicht TCP
UDP
3 VermiElungsschicht Transportorien2erte
IP
2 Sicherungsschicht Schichten
Ethernet
1 Physikalische
Schicht
Tabelle
1:
OSI-‐Schichtenmodell
3. Webtechnologien.
Technische
Anforderungen
an
Informa2onssysteme—
3
zeichnet. Bekannte Browser sind der Internet Ex- meisten Anwendungen im Web ist es aber notwendig,
plorer von Microsoft, Firefox von Mozilla, Safari von mehrere Anfragen in Zusammenhang zueinander zu
Apple oder Opera von Opera Software. sehen. So besteht zum Beispiel der Bestellvorgang in
einem Webshop durchaus aus mehreren sequentiellen
Weitere
Browser
können
Sie
bspw.
bei
Wikipedia
Anfragen (Auswahl der Waren, Eingabe der Adresse,
! finden
(hEp://de.wikipedia.org/wiki/Liste_von_Web-‐
browsern)
oder
in
der
L3T-‐Gruppe
bei
Mister
Wong
Bestätigung des Kaufes). Solche Zusammenhänge
können nicht durch das Protokoll selbst verwaltet
unter
#webbrowser
#l3t
. werden, sondern müssen durch die Anwendungen
gehandhabt werden, welche ihre Daten über HTTP
übertragen. Es können hierzu Sitzungen (Sessions)
Jedes Dokument im Web ist durch eine URL verwendet werden, in denen eine eindeutige ID mit
(Uniform Resource Locator) identifiziert. Diese URL jeder Anfrage versendet wird. Eine andere Mög-
besteht im Web zumeist aus drei Komponenten: Pro- lichkeit ist die Verwendung von Cookies, mit denen
tokoll, Host und Pfad. der Browser persistente Informationen (zum Beispiel
Kundendaten) zu einem Webserver lokal speichern
Diese
Komponenten
der
URL
sind
folgendermaßen
an-‐ kann. Üblicherweise beginnen solche Sessions mit der
! geordnet:
protokoll://host/pfad Anmeldung mittels Login und Passwort und enden
durch Abmeldung, oder wenn der Browser ge-
Die
URL
kann
darüber
hinaus
einen
Port
(„Anschluss“
am
Server;
hEp://www.example.org:80)
und
Anfrage-‐ schlossen wird.
string
(zusätzliche
Informa2onen
wie
die
Inhalte
einer
Suchanfrage;
hEp://www.example.org:80/demo/ex-‐
HTTP
ist
ein
zustandsloses
Anfrage/Antwort-‐Protokoll
ample.cgi?land=de&stadt=aa)
beinhalten.
! und
dient
zur
ÜbermiElung
von
Daten
im
WWW.
Iden2fizieren
Sie
die
drei
Teile
der
URL HTTPS
? hEp://de.wikipedia.org/wiki/Wikipedia:Hauptseite
Die Übertragung der Daten in Klartextform bei
HTTP ist nicht in jedem Fall wünschenswert. So
HTTP
könnten sensible Daten wie zum Beispiel Kenn-
wörter durch beliebige „Zuhörer“ (an z.B. den für die
Der Browser verständigt sich mit dem Webserver Übertragung nötigen Servern) abgefangen werden.
über das Hyptertext Transfer Protocol. Wie jedes Aus diesem Grund wurde das Hypertext Transfer
Protokoll beschreibt HTTP den Aufbau der Nach- Protocol Secure (HTTPS) als Verfahren entwickelt,
richten vom Client an den Server. Die Kommuni- um Daten im Web abhörsicher zu übermitteln. Das
kation erfolgt immer über Anfragen des Clients an Protokoll ist an sich identisch zu HTTP, allerdings
den Server und zugehörige Antworten. Alle Nach- werden die Daten mittels dem Protokoll Secure
richten werden als Klartext, also unverschlüsselt, Socket Layer bzw. Transport Layer Security
übermittelt. (SSL/TLS) verschlüsselt. Zu Beginn der verschlüssel-
Durch diesen Aufbau der Kommunikation ist eine ten Verbindung muss sich bei HTTPS der Server
zentrale Problematik der Entwicklung von Weban- identifizieren. Dies geschieht über ein Zertifikat,
wendungen bedingt: Der Server kann nicht von sich welches die Identität bestätigen soll. Bei der ersten
aus mit dem Client kommunizieren, da er immer auf Anfrage an einen Webserver kann es notwendig sein,
eine Anfrage angewiesen ist. Wartet eine Anwendung dass die Authentizität dieses Zertifikates bestätigt
nun auf ein bestimmtes Ereignis (zum Beispiel das werden muss.
Ergebnis einer aufwendigen Berechnung), kann der
HTML
Server den Client nicht über dessen Eintritt verstän-
digen, sondern der Client muss in regelmäßigen Ab- Die eigentlichen Dokumente, die über HTTP vom
ständen Anfragen über den Status an den Server Server an den Client übermittelt werden, sind meist
schicken. Dies bringt natürlich einerseits zusätzlichen HTML-Dokumente. Die Hypertext Markup Lan-
Netzwerkverkehr und anderseits zusätzliche Ar- guage (HTML) ist eine Auszeichnungssprache,
beitszeit des Servers mit sich. welche in erster Linie die Struktur von Inhalten be-
Zu beachten gilt bei HTTP, dass es sich um ein schreibt. Der Browser zeigt anhand von HTML und
zustandsloses Protokoll handelt. Alle Anfragen sind der mitgelieferten Formatierungsinformation diese
somit voneinander unabhängig zu betrachten. Für die Dokumente am Client an.
4. 4
—
Lehrbuch
für
Lernen
und
Lehren
mit
Technologien
(L3T)
Eine Auszeichnungssprache dient zur Be- kann diese somit einfacher gewartet und erweitert
schreibung von Daten und soll in erster Linie deren werden, da Anpassungen nur am Server erfolgen
Struktur (Überschriften, Tabellen, etc.) und die Ver- müssen. Bei der Benutzung ergibt sich der Vorteil,
bindungen der Dokumente (mittels Hyperlinks) be- dass die zusätzliche Installation einer Software wei-
schreiben. HTML erlaubt darüber hinaus auch die testgehend entfällt.
Beschreibung der Formatierung des Dokumentes. Es Andererseits bringt dieser Ansatz auch einige
hat sich aus vielfältigen Gründen eingebürgert, das Nachteile. So ist eine ständige Internetverbindung
Layout (die Formatierung) eines Dokumentes von mit ausreichender Bandbreite notwendig. Zudem
den eigentlichen Inhalten zu trennen. Dadurch kann kann der Server, bedingt durch die Tatsache, dass
man Dokumente für verschiedene Schnittstellen und HTTP auf dem Anfrage-/Antwort-Prinzip basiert,
Anwendungen verwenden und muss nur das jeweilige nicht selbstständig Informationen an die Clients
Layout anpassen. Zudem ist auf diese Weise auch senden, sondern ist auf periodische Anfragen ange-
eine Verwendung der Dokumente für Menschen mit wiesen. Zu guter Letzt bedeutet unter anderem das
Beeinträchtigungen (wie Sehschwächen) effizient zustandslose Design des Protokolls, dass auf eine
möglich. Üblicherweise wird also das Aussehen der Vielzahl von möglichen Angriffsszenarien einge-
HTML-Dokumente in einer separaten Datei be- gangen werden sowie die Sicherheit der Weban-
schrieben. Diese Cascading Style Sheets (CSS) wendung ein nicht zu vernachlässigender, zentraler
werden ebenfalls vom Browser über HTTP ange- Bestandteil der Entwicklung der Software sein muss.
fordert.
Webservices
Webanwendungen
Webservices sind eine spezielle Art von Webanwen-
Im Laufe der Zeit haben sich die Anforderungen an dungen, die der Bereitstellung von Daten für andere
Informationssysteme im Web vom der bloßen Zur- Applikationen dienen (World Wide Web Consortium,
verfügungstellung von Dokumenten in Richtung aus- 2004). Sie sind üblicherweise Application Programm-
gefeilter Programmlogik weiterentwickelt. Wie im ing Interfaces (API) und stellen als solche eine ein-
Kapitel Informationssysteme aufgezeigt, erfordern heitlich definierte Schnittstelle für fremde Anwen-
natürlich auch Informationssysteme für das Lernen dungen zur Verfügung um auf die Funktionalität des
und Lehren solch eine Programmlogik. Diese Pro- Service zuzugreifen.
gramme, die auf einem Webserver ausgeführt In Zusammenhang mit Informationssystemen für
werden, werden als Webanwendungen bezeichnet. das Lernen und Lehren bietet die Integration solcher
Wie bei statischen Webseiten wird clientseitig ein Webservices innovative Ansätze für die Einbindung
Browser zur Interaktion mit dem Webserver ver- externer Ressourcen und Funktionalitäten in ein der-
wendet und die Daten werden mittels HTTP(S) über- artiges Informationssystem (Vossen & Westerkamp,
mittelt. 2003).
Im Unterschied zu einer einfachen Webseite über- Anders als bei Webanwendungen werden bei
mittelt der Webserver beim Aufruf der URL aller- Webservices üblicherweise keine HTML-Dokumente
dings nicht ein bereits vorliegendes Dokument, vom Server geladen, da für die aufrufenden Applika-
sondern ruft ein Programm auf, welches aus einer tionen Formatierungen sowie die Lesbarkeit für
Vorlage für Inhalt und Formatierung sowie aus va- menschliche Benutzer/innen irrelevant sind und der
riablen Daten dynamisch ein Dokument erstellt und Fokus rein auf dem Inhalt liegt.
an den Client übermittelt. Der Browser übernimmt in Der Grundgedanke von Webservices ist die Mög-
diesem Fall also die Rolle der Benutzerschnittstelle lichkeit der automatischen Verarbeitung von Daten
für ein auf dem Server ausgeführtes Programm. im Web durch Softwareagenten, welche lose ge-
Mit Webanwendungen kann komplexe Software reali- koppelt Aufgaben für Benutzer/innen ausführen.
siert werden, welche clientseitig nur einen Web- Webservices stellen ihre detailliert beschriebene
browser bzw. entsprechende PlugIns benötigt. Für Funktionalität hierbei anderen Anwendungen zur
die Entwicklerin oder den Entwickler der Software Verfügung, seien dies autonome Agenten, Weban-
wendungen oder andere Webservices. Dadurch
Webanwendungen
sind
Computerprogramme,
die
auf können Entwickler/innen bereits bestehende Funk-
! einem
Webserver
laufen
und
den
Browser
des
Clients
als
BenutzerschniEstelle
verwenden.
tionalitäten in ihren eigenen Anwendungen ver-
wenden (Mashup, siehe Seite 7).
5. Webtechnologien.
Technische
Anforderungen
an
Informa2onssysteme—
5
Die technologische Umsetzung erfolgt meist über XHTML eine auf XML basierende Auszeichnungs-
eine der folgenden Möglichkeiten: sprache, welche zur Beschreibung von Webseiten
▸ SOAP/WSDL: Ein flexibles System, in dem dient.
Nachrichten über das Simple Object Access 5. Einführung
in
die
Applika8onsentwicklung
für
das
Protocoll (SOAP) ausgetauscht werden. Wie diese Web
Nachrichten für die einzelnen Webservices aus-
sehen, wird über die Web Services Description Die Entwicklung von Webapplikationen und -ser-
Language (WSDL) beschrieben. Anfragen und vices kann generell in zwei Gruppen von Ansätzen
Antworten sind in XML, einer allgemeinen Aus- unterteilt werden. Bei serverseitigen Ansätzen er-
zeichnungssprache für hierarchische Daten, ge- folgt die Verarbeitung der Programmlogik am
schrieben. In den Nachrichten werden die ge- Webserver, der Client (und damit der Benutzer und
wünschten Funktionen des Webservice aufge- die Benutzerin) erhält lediglich das Ergebnis. Bei cli-
rufen, die Antworten werden vom Server retour- entseitigen Ansätzen erfolgt zumindest ein Teil des
niert. Programmablaufes am Rechner der Benutzer/innen.
▸ Representational State Tranfer (REST) be- In realen Anwendungen wird meist eine Kombi-
zeichnet eine Technologie, in der jede einzelne nation von Ansätzen beider Gruppen verwendet.
Funktion des Webservice über eine individuelle Seversei8ge
Ansätze
URL aufgerufen wird. Die Kommunikation er-
folgt zustandslos, ist also nicht von Sitzungen, Be- Der Vorteil von serverseitigen Ansätzen liegt in der
nutzerdaten oder ähnlichem abhängig. Tatsache, dass der Client außer einem Browser keine
weiteren Programme benötigt. Der eigentliche Pro-
grammcode wird serverseitig verarbeitet und das Er-
Beschreiben
Sie
die
Unterschiede
zwischen
Weban-‐ gebnis, meist ein (X)HTML-Dokument, an den
? wendungen
und
Webservices!
Vergleichen
Sie
Ihre
Antwort
mit
Tabelle
2.
Client gesandt. Der Nachteil von serverseitigen An-
sätzen liegt an der Verminderung der Reaktionsge-
schwindigkeit. Einerseits erfordert jede Nutzeraktion
einen erneuten HTTP-Request (Anfrage) und damit
einen neuen Aufruf der Seite. Andererseits benötigt
Webanwendung Webservice
das Ausführen der Programmlogik Rechenzeit am
Zielgruppe:
(menschliche) Zielgruppe:
andere
Ap-‐ Server und vermindert somit zusätzlich dessen Reak-
Benutzer
plika2onen
tionszeit.
Ausgabe
als
HTML
Ausgabe
als
XML
o.ä.
für PHP ist der heute wohl am meisten verbreitete
Clientsei2ges
Programm: Maschinen
op2mierte serverseitige Ansatz für Webapplikationen. Die Ab-
Browser
Formate
kürzung, ursprünglich „Personal Home Page tools“,
Verarbeitung
in
anderen
ist ein rekursives Akronym für PHP:, „Hypertext Pre-
Applika2onen
processor“ (The PHP Group, 2010). Es handelt sich
bei PHP um eine Skriptsprache, das heißt der eigent-
Tabelle
2:
Unterschiede
von
Webanwendung
und
liche Programmcode wird nicht zu einem Bytecode
Webservice
kompiliert (der direkt vom Rechner ausgeführt
4. XML
werden kann), sondern bei jedem Aufruf von einem
Interpreter neu verarbeitet. Dieser Performance-
Die EXtensible Markup Language (XML) be- Nachteil kann aber durch optionale Erweiterungen
schreibt eine sehr allgemeine, flexible und für indivi- der Software kompensiert werden. PHP-Pro-
duelle Bedürfnisse erweiterbare Auszeichnungs- grammcode wird innerhalb der Dokumente durch ein
sprache. Wie HTML dient sie zur Darstellung struk- vorangestelltes <?php und ?> am Ende des Codes ge-
turierter Inhalte, ist aber in erster Linie nicht für die kennzeichnet. Der Interpreter ignoriert Inhalte au-
menschenlesbare Darstellung gedacht. Sie ist von ßerhalb dieser Begrenzungen und übermittelt diese
konkreten Plattformen und Implementierungen un- unverändert an den Client. So kann Programmlogik
abhängig und durch ihre Charakteristik als Meta- beispielsweise direkt in HTML-Auszeichnungen ein-
sprache vielseitig verwendbar. Letzteres bedeutet, gebettet werden. Seine Verbreitung hat PHP meh-
dass sich auf Basis von XML durch Verwendung reren Aspekten zu verdanken. Einerseits steht es im
eines Schemas spezialisierte Dialekte für einzelne An- Rahmen vieler günstiger Webhosting-Angebote zur
wendungsfälle definieren lassen. So ist beispielsweise Verfügung (vorinstalliert auf Servern), da es einfach
6. 6
—
Lehrbuch
für
Lernen
und
Lehren
mit
Technologien
(L3T)
zu installieren, zu warten und in bestehende denen .NET-Programmiersprachen erstellt werden.
Webserver zu integrieren ist. Andererseits ist PHP für Gebräuchlich sind hierbei C# (C Sharp) und
Entwickler/innen schnell zu erlernen und sehr fle- VB.NET (Visual Basic.NET). Anders als bei PHP
xibel. Nachteile liegen in der Tatsache, dass PHP po- werden bei ASP.NET Programm-Code und HTML
tentiell erlaubt, schlechter skalierbare und unsichere voneinander getrennt. Da der Programmcode da-
Webanwendungen zu entwickeln, auch wenn hier die durch kompiliert vorliegen kann, wird die Abar-
konkrete Umsetzung einen deutlichen Einfluss haben beitung beschleunigt. Der Nachteil von ASP.NET
kann. Speziell unerfahrenen Entwicklerinnen und liegt in der Tatsache, dass die Technologie sowohl
Entwicklern fällt es mit anderen Technologien proprietär als auch kostenpflichtig ist und darüber
leichter, auf die Aspekte Skalierbarbeit und Sicherheit hinaus einen Microsoft Webserver erfordert.
Rücksicht zu nehmen, da sie dort zur Einhaltung ent-
Clientsei(ge
Ansätze
sprechender Regeln gezwungen werden.
Java Servlets basieren auf der objektorientieren Im Gegensatz zu serverseitigen Ansätzen wird hier
Programmiersprache Java. Sie sind Java-Klassen (lo- die Programmlogik direkt auf dem Client abgear-
gisch gekapselte Teile von Programmcode), welche beitet. Dies bietet den Vorteil, dass sowohl weniger
auf einem Server für die Abarbeitung von Anfragen Datenverkehr notwendig ist, als auch die Ressourcen
der Clients zuständig sind. Als Antwort auf diese An- des Webservers geschont werden. Von Nachteil ist al-
fragen liefern Servlets dynamisch generierte HTML- lerdings, dass clientseitig eine komplexere Software
Dokumente. Anders als bei PHP werden diese Pro- erforderlich ist, der Client entsprechend leistungs-
gramme nicht zur Laufzeit interpretiert, sondern fähig sein muss um die Programme abarbeiten zu
liegen bereits kompiliert vor, was die Abarbeitung be- können und potentiell sicherheitskritische Berech-
schleunigt. Obwohl die Entwicklung mit Java die Ein- nungen nur auf der Serverseite durchgeführt werden
arbeitung in eine komplexere Technologie bedeutet, sollten.
bietet diese Technologie einige Vorteile. So kann sie Die wohl wichtigste Basistechnologie in diesem
durch Anwendung der richtigen Architektur große Zusammenhang ist JavaScript. Der Interpreter für
Verbesserungen in Skalierbarkeit und Erweiterbarkeit diese Sprache ist bereits in den Browser integriert,
bedeuten. Um abgearbeitet zu werden benötigen Java wodurch keine zusätzliche Softwareinstallation not-
Servlets einen Servlet Container, wie Apache Tomcat, wendig ist. Allerdings sind diese Interpreter je nach
der den einfachen Webserver ersetzt. Diese technolo- Browser unterschiedlich, was für die Entwicklung der
gische Einschränkung ist auch der Grund dafür, dass Software zusätzlichen Aufwand bedeutet, um Java-
Java Servlets eher bei großen (Business-)Anwen- Script-Programme auf allen (bzw. möglichst vielen)
dungen als bei kleinen und mittleren Webanwen- Browsern lauffähig („browser-save“) zu machen. Ja-
dungen verwendet werden. Nur wenige Webhoster vascript-Programme können entweder direkt in
bieten Pakete mit einem Servlet Container an, da die HTML-Seiten integriert sein oder in eigene Dateien
Installation und die Administration aufwendiger ist. ausgelagert werden. Die implementierte Funktiona-
Java Server Pages (JSP) sind eine weitere auf Java lität kann hierbei von einfachen Aufgaben, wie der
basierende Technologie. Bei klassischen Servlets ist Validierung von Formulareingaben, bis hin zu dyna-
die Ausgabe der resultierenden Webseiten recht auf- mischer Manipulation der vom Webserver übertra-
wendig. Syntaktisch wird bei JSP, ähnlich wie bei genen Webseite reichen.
PHP, der Java Programmcode mit <%@ und %> abge- Asynchronous JavaScript and XML (AJAX) be-
grenzt. Der Rest des Dokumentes wird nicht inter- zeichnet ein Konzept von Webanwendungen, bei
pretiert und enthält die HTML-Beschreibung der denen JavaScript eingesetzt wird, um Informationen
Webseite. Somit sind JSP Seiten ähnlich den Servlets, von einem Webserver anzufordern. Bei klassischen
erlauben jedoch die Kombination von Programm- Webseiten muss wiederum für jede Aktion vom
und HTML-Code in einem Dokument und er- Client eine Anfrage erstellt und die Antwort des
leichtern so beide Technologien miteinander zu kom- Servers vom Browser interpretiert werden. Dies er-
binieren. fordert ein komplettes Neuladen der Seite, auch
Active Server Pages (ASP) war ursprünglich ein wenn sich nur kleine Teile ändern. Mit AJAX werden
PHP ähnlicher Ansatz, der auf proprietären Techno- vom Webserver nur mehr Teilinhalte angefordert.
logien der Firma Microsoft basiert. In der Weiterent- Diese werden als XML-Dokumente übermittelt und
wicklung als ASP.NET basiert die aktuelle Techno- anhand der XML-Struktur interpretiert. AJAX mani-
logie auf dem Microsofts .NET-Framework. Die ei- puliert nun die bereits geladene Seite und ändert nur
gentlichen Anwendungen können hierbei in verschie- jene Daten, die wirklich notwendig sind. Dadurch
7. Webtechnologien.
Technische
Anforderungen
an
Informa2onssysteme—
7
Serversei'ger
Clientsei'ger
Ansatz Ansatz
Vorteile unabhängig
von
clientsei2ger
SoHwareausstat-‐ Reak2onszeiten
ähnlich
zu
Desktop-‐Anwendungen
tung nur
benö2gte
Inhalte
werden
geladen
und
in
die
aktuelle
gleiches
Verhalten
auf
allen
Clients Seite
integriert
Nachteile jede
Ak2on
erfordert
einen
Aufruf
serversei2ger Verhalten
von
Browser
(JavaScript
Engine)
abhängig
Funk2onalität
Sicherheit
der
Anwendungen
ist
aufwendiger
zu
gewähr-‐
jede
Ak2on
erfordert
kompleEes
Neuladen
der leisten
aktuellen
Seite
Tabelle
3:
Vor-‐
und
Nachteile
des
serverseitigen
und
des
clientseitigen
Ansatzes
erhält man wesentlich performantere („schnellere“) Funktionalitäten oder Integration fremder Inhalte in
Applikationen, mit denen ein Verhalten ähnlich zu eine Webapplikation werden als Mashup bezeichnet.
Desktop-Anwendungen (in „Klick-Geschwind- Dieser Begriff wurde ursprünglich in der Musik-
igkeit“) erreicht wird. Dies führte im nächsten Schritt branche verwendet, um Remixes zu beschreiben. Im
zu RIA. Zusammenhang von Webapplikationen bedeutet es
Als „Rich Internet Application“ (RIA) bezeichnet eine in der Anwendung transparente Integration
man jene Webanwendungen, welche durch client- fremder Dienste und Inhalte.
seitige Anwendung von JavaScript Möglichkeiten wie Damit sind jedoch auch Nachteile verbunden:
vergleichbare Desktop-Anwendungen bieten. So ist ▸ Wer haftet bei sicherheitskritischen Anwendungen,
es zum Beispiel mit diesem Ansatz möglich, Office- wenn Funktionen nicht korrekt funktionieren,
Anwendungen als Webanwendungen zu implemen- zum Beispiel wenn bei Lernsoftware eine Appli-
tieren. Anders als bei Desktop-Anwendungen müs- kation die Prüfungsfragen falsch auswertet?
sen diese allerdings nicht installiert werden und ▸ Alle Server, welche die Services anbieten, müssen
bieten die Möglichkeit auf jedem Rechner, welcher ständig verfügbar sein – dies liegt jedoch nicht in
über einen kompatiblen Browser verfügt, ausgeführt der Verantwortung des Betreibers.
zu werden (sind also unabhängig vom verwendeten ▸ Das Urheberrecht bzw. die Lizenzierung führt zu
Betriebssystem). Die Daten werden hierbei zentral der Frage, ob man die Funktionen überhaupt inte-
auf dem Server hinterlegt. Die Interaktion mit dem grieren darf (bei Facebook, Google Maps etc. mag
Webserver ist auf ein Minimum beschränkt, was flüs- dies augenscheinlich sein, bei kommerziellen An-
siges Arbeiten mit RIA ermöglicht. bietern ist dies aber nicht gegeben).
Stellen
Sie
die
Vor-‐
und
Nachteile
von
server-‐
und
cli-‐ Ein
Mashup
ist
die
Integra2on
von
Inhalten
und
Funk-‐
? entsei2gen
Ansätzen
gegenüber.
Vergleichen
Sie
Ihre
Antwort
mit
Tabelle
3.
! 2onalitäten
anderer
Webapplika2onen
in
die
eigene.
6. Vor
Gebrauch
gut
schü:eln
–
Syndika(on
und
Inte-‐ Programmierschni:stellen
gra(on
Application Programming Interfaces (API) sind
Moderne Webapplikationen verdanken einen großen wohldefinierte Schnittstellen für die Interaktion mit
Teil ihrer Verbreitung der Tatsache, dass deren Ver- Applikationen. Im Zusammenhang mit Webapplika-
knüpfung zu einem immer zentraleren Teil ihrer tionen werden sie üblicherweise als Webservices im-
Funktionalität wird. Dies geht über einfache Hyper- plementiert und liefern entweder XML-Daten oder
links weit hinaus: Inhalte und Funktionalitäten vergleichbare strukturierte Daten wie die einfachere
werden zur Verfügung gestellt und in andere Web- JavaScript Object Notation (JSON). Sowohl SOAP-
Applikationen integriert. So wird eine Kreativität bei als auch REST-Ansätze sind möglich, auch wenn der
der Erstellung von neuen Applikationen ermöglicht, Trend der letzten Jahre in Richtung REST-Anwen-
wie sie ohne diese Offenheit und den daraus resultie- dungen weist. Einerseits können API dazu verwendet
renden Vorteil bestehende Funktionalität nicht erneut werden um Funktionalität zur Verfügung zu stellen,
selbst implementieren zu müssen, nur schwer vor- wie zum Beispiel die Darstellung von Koordinaten in
stellbar wäre. Die Syndikation mehrerer fremder
8. 8
—
Lehrbuch
für
Lernen
und
Lehren
mit
Technologien
(L3T)
Karten mittels der Google-Maps-API. Abbildung 1 nannte Feeds, zur Verfügung gestellt werden. Die
zeigt ein Beispiel der Visualisierung von geographi- Daten liegen hierbei in einem XML Format vor. RSS
schen Koordinaten mittels der Google Maps API. dient hauptsächlich zur Benachrichtigung bei häufig
aktualisierten Informationen, wie Weblogs oder
Nachrichtenseiten. Benutzer/innen können RSS-
Feeds mit einem Client abonnieren, der ihnen immer
die jeweils neuesten Meldungen anzeigt. Abbildung 2
zeigt das gebräuchlichste Icon für RSS-Feeds, wie es
zum 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 und
in die eigene Webseite integriert werden.
Abbildung
1:
TUGeowiki:
Integration
von
Kartenma-‐
terial
über
die
Google
Maps
API.
Quelle:
Safran
und Abbildung
2:
Icon
für
RSS
Feeds
Zaka,
2008
Widgets
Eine dritte Technologie, die bei der Integration ver-
Andererseits können solche Applikationen auch schiedener Webanwendungen Anwendung findet,
Inhalte zur Verfügung stellen. So ist es mit der Flickr- sind Widgets. Ein Widget ist ein kleines, in sich abge-
API zum Beispiel möglich, auf Fotos des Internet- schlossenes Programm, das im Rahmen einer an-
dienstes zuzugreifen. Andere API ermöglichen bei- deren grafischen Benutzeroberfläche abläuft. Übli-
spielsweise die Integration von Daten aus sozialen cherweise ist die Funktionalität solch eines Widgets
Netzwerken, wie die Facebook-API. spezialisiert und eingeschränkt. Im Desktop-Bereich
haben sich Widgets inzwischen bei den meisten Be-
RSS
triebssystemen durchgesetzt und können entweder
Real Simple Syndication (RSS) beschreibt eine Tech- direkt als Teil des Desktops (wie Gadgets in Mi-
nologie, mit deren Hilfe Inhalte von Websites, soge- crosoft Windows) oder über eine getrennte Widget-
In der Praxis: Die Personal Learning Environment an der TU Graz
Als
Praxisbeispiel
für
ein
Mashup
kann
die
Personal
Learning eigneten,
zu
ihrem
Studium
benö2gten
Widgets
auszusuchen
Environment
(PLE)
an
der
Technischen
Universität
Graz
ge-‐ und
diese
nach
ihren
aktuellen
Bedürfnissen
zu
konfigu-‐
nannt
werden.
In
dieser
persönlichen
Lernumgebung
sind rieren.
verschiedene,
zum
Teil
unabhängige
und
verteilte
Dienste
der
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 s
Administra2onssystem
(TUGRAZ.online),
LMS
(TUGTC),
Blo-‐
gosphere
(TUGLL)
und
viele
Lernobjekte
für
unterschiedliche
Lehrveranstaltungen
sind
in
der
PLE
kombiniert.
Zusätzlich
dazu
können
zahlreiche
fremde
Lernobjekte
und
webbasierte
Dienste
wie
Google-‐Applika2onen,
Flickr,
YouTube,
TwiEer,
FaceBook,
etc.
integriert
werden.
Die
Inte-‐
gra2on
dieser
Dienste
erfolgt
miEels
Widgets.
Das
PLE
als
eine
Rich
Internet
Applica2on
(RIA)
bietet
ein
Mashup
von
Widgets,
die
an
den
persönlichen
Nutzungsbedürfnissen
an-‐ Abbildung
3:
PLE:
Mashup
von
Widgets
ermöglicht
die
Inte-‐
passbar
sind.
Die
Benutzer/innen
sind
in
der
Lage
sich
die
ge-‐ gra2on
von
verschiedenen
Universitätsdiensten
sowie
der
fremden
Ressourcen
aus
dem
Internet.
9. Webtechnologien.
Technische
Anforderungen
an
Informa2onssysteme—
9
Engine (wie das Dashboard bei Mac OS X) benutzt mutung einer Desktop-Anwendung vermittelt wird.
werden. Im Zusammenhang mit Webapplikationen Durch die Anwendung von AJAX haben sich die Re-
bezeichnet der Begriff Widget genauso eine eigen- aktionszeiten der Webanwendungen erheblich ver-
ständige, abgeschlossene und in eine andere Appli- bessert.
kation integrierte Funktionalität. Diese sind meist in- Zu guter Letzt gehört Syndikation und Integration
nerhalb der Benutzerschnittstelle der eigentlichen zum Stand der Technik in vielen Anwendungsbe-
Webapplikation mehr oder weniger frei positio- reichen. Durch die Möglichkeiten, welche Webser-
nierbar. So können Widgets zum Beispiel Daten über vices und RIA bieten, kann auf Funktionalität und
einen RSS-Feed abrufen, oder auf Funktionalitäten Inhalte anderer Anwendungen leicht zurückgegriffen
mittels einer API zugreifen. Ein Beispiel für Widgets werden. Diese können nahtlos in die eigene Benut-
sind die Apps des sozialen Netzwerks Facebook, zungsschnittstelle integriert werden.
welche nicht selbst von Facebook, sondern von an- Literatur
deren Entwicklerinnen und Entwicklern erstellt, aber
in die Webapplikation Facebook integriert werden. ▸ Vinton Cerf (1993). The history of Internet. In: B. Aboba
Für Benutzer/innen ist kaum ein Unterschied er- (Hrsg.), The Online User's Encyclopedia, Addison-Wesley.
kennbar. Über eine API greifen diese Apps zusätzlich ▸ Cailliau, R. (1995). A Little History of the World Wide Web.
auf die Funktionalität von Facebook zu. URL: http://www.w3.org/History.html [2010-09-08].
▸ Safran, C. & Zaka, B. (2008). A Geospatial Wiki for m-
7. Aktuelle
Trends
in
der
Entwicklung
von
Webanwen-‐
Learning. In: Proceedings of the 2008 International Confe-
dungen
rence on Computer Science and Software Engineering, IEEE
In den letzten Jahren haben sich drei Ansätze bei der Computer Society, Washington, 5, 109-112.
Entwicklung von Webanwendungen durchgesetzt. ▸ The PHP Group. (2010). Hypertext Preprocessor. URL:
Vom serverseitigen Standpunkt aus bieten viele, vor http://www.php.net [2010-01-04].
allem bekannte und große Webanwendungen, wie die ▸ Vossen, G. & Westerkamp, P. (2003). E-Learning as a Web
verschiedenen Google-Produkte oder Facebook, par- Service. In: Proceedings of the Seventh International Database
allel zu ihren Webanwendungen Webservices als API Engineering and Applications Symposium, Los Alamitos, CA,
an. Dies ermöglicht und ermutigt die Verwendung USA: IEEE Computer Society, 242.
ihrer Funktionalität in anderen Webanwendungen. ▸ World Wide Web Consortium (2004). Web Services Archi-
Vom clientseitigen Standpunkt sind RIA der Stand tecture. URL: http://www.w3.org/TR/ws-arch/#id2268743
der Technik. Hier wird bei vielen Webanwendungen [2010-01-12].
darauf Wert gelegt, dass den Benutzern die An-