9
#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 Webtechnologien Technische Anforderungen an Informationssysteme Chris2an Safran, Anja Lorenz und Mar2n Ebner Quelle: Robert Ulmer hEp://www.flickr.com/photos/46422485@N03/5335122125 [20110128] 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 DesktopFeeling“ 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.

Webtechnologien - Technische Anforderungen an Informationssysteme

Embed Size (px)

DESCRIPTION

Kapitel des L3T Lehrbuch (http://l3t.eu)

Citation preview

Page 1: Webtechnologien - Technische Anforderungen an Informationssysteme

#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.

Page 2: Webtechnologien - Technische Anforderungen an Informationssysteme

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

Page 3: Webtechnologien - Technische Anforderungen an Informationssysteme

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.

!

Page 4: Webtechnologien - Technische Anforderungen an Informationssysteme

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.

!

Page 5: Webtechnologien - Technische Anforderungen an Informationssysteme

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

Page 6: Webtechnologien - Technische Anforderungen an Informationssysteme

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

Page 7: Webtechnologien - Technische Anforderungen an Informationssysteme

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.!

Page 8: Webtechnologien - Technische Anforderungen an Informationssysteme

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

Page 9: Webtechnologien - Technische Anforderungen an Informationssysteme

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].