Chris2an	  Safran,	  Anja	  Lorenz	  und	  Mar2n	  EbnerWebtechnologienTechnische Anforderungen an InformationssystemeDies...
2	  —	  Lehrbuch	  für	  Lernen	  und	  Lehren	  mit	  Technologien	  (L3T)                                               ...
Webtechnologien.	  Technische	  Anforderungen	  an	  Informa2onssysteme—	  3zeichnet. Bekannte Browser sind der Internet E...
4	  —	  Lehrbuch	  für	  Lernen	  und	  Lehren	  mit	  Technologien	  (L3T)   Eine Auszeichnungssprache dient zur Be-     ...
Webtechnologien.	  Technische	  Anforderungen	  an	  Informa2onssysteme—	  5Die technologische Umsetzung erfolgt meist übe...
6	  —	  Lehrbuch	  für	  Lernen	  und	  Lehren	  mit	  Technologien	  (L3T)zu installieren, zu warten und in bestehende   ...
Webtechnologien.	  Technische	  Anforderungen	  an	  Informa2onssysteme—	  7                                              ...
8	  —	  Lehrbuch	  für	  Lernen	  und	  Lehren	  mit	  Technologien	  (L3T)Karten mittels der Google-Maps-API. Abbildung 1...
Webtechnologien.	  Technische	  Anforderungen	  an	  Informa2onssysteme—	  9Engine (wie das Dashboard bei Mac OS X) benutz...
Nächste SlideShare
Wird geladen in …5
×

Webtechnologien - Technische Anforderungen an Informationssysteme

2.173 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Bildung
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.173
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
16
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Webtechnologien - Technische Anforderungen an Informationssysteme

  1. 1. Chris2an  Safran,  Anja  Lorenz  und  Mar2n  EbnerWebtechnologienTechnische Anforderungen an InformationssystemeDieses   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.Quelle:  Robert  UlmerhEp://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. 2  —  Lehrbuch  für  Lernen  und  Lehren  mit  Technologien  (L3T) gelvorschrift, welche den Datenaustausch und die1. Einleitung Kommunikation zwischen Computern detailliert be-Das World Wide Web bzw. das Internet hat in den schreibt. Die verschiedenen Verantwortungen werdenletzten Jahren einen großen Stellenwert in unserer im Fall der Kommunikation in Rechnernetzen aufheutigen „Informationsgesellschaft“ eingenommen. einzelne Protokolle aufgeteilt. Diese Aufteilung kannSo verwundert es auch nicht, dass ein großer Teil der man über das OSI-Schichtenmodell (Open Systemaktuellen Umsetzungen von Informationssystemen Interconnection) der internationalen Standardisie-für das Lernen und Lehren auf Webtechnologien ba- rungsgesellschaft ISO (International Standardizationsiert. 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 dieseWorld Wide Web bieten diese Ansätze zwar ein Schichten in anwendungs- und transportorientiertegroßes Potential, stehen aber auch einigen techni- Schichten unterteilt. Im Rahmen dieses Kapitelsschen 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 diversechenen 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  WebDas 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 wohlARPANET (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. 3. Webtechnologien.  Technische  Anforderungen  an  Informa2onssysteme—  3zeichnet. 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 zuApple 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 denentokoll, 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. SoHTTP   könnten sensible Daten wie zum Beispiel Kenn- wörter durch beliebige „Zuhörer“ (an z.B. den für dieDer 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 TransferProtokoll 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. Daskation erfolgt immer über Anfragen des Clients an Protokoll ist an sich identisch zu HTTP, allerdingsden Server und zugehörige Antworten. Alle Nach- werden die Daten mittels dem Protokoll Securerichten 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 Serverzentrale 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 erstenaus 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ätigtnun 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 vomständen Anfragen über den Status an den Server Server an den Client übermittelt werden, sind meistschicken. 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 undzustandsloses Protokoll handelt. Alle Anfragen sind der mitgelieferten Formatierungsinformation diesesomit voneinander unabhängig zu betrachten. Für die Dokumente am Client an.
  4. 4. 4  —  Lehrbuch  für  Lernen  und  Lehren  mit  Technologien  (L3T) Eine Auszeichnungssprache dient zur Be- kann diese somit einfacher gewartet und erweitertschreibung von Daten und soll in erster Linie deren werden, da Anpassungen nur am Server erfolgenStruktur (Ü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 einigehat sich aus vielfältigen Gründen eingebürgert, das Nachteile. So ist eine ständige InternetverbindungLayout (die Formatierung) eines Dokumentes von mit ausreichender Bandbreite notwendig. Zudemden eigentlichen Inhalten zu trennen. Dadurch kann kann der Server, bedingt durch die Tatsache, dassman 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 ClientsLayout 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 dasBeeinträchtigungen (wie Sehschwächen) effizient zustandslose Design des Protokolls, dass auf einemö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, zentralerwerden 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 andereInformationssysteme 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 desund Lehren solch eine Programmlogik. Diese Pro- Service zuzugreifen.gramme, die auf einem Webserver ausgeführt In Zusammenhang mit Informationssystemen fürwerden, werden als Webanwendungen bezeichnet. das Lernen und Lehren bietet die Integration solcherWie bei statischen Webseiten wird clientseitig ein Webservices innovative Ansätze für die EinbindungBrowser 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 beimittelt der Webserver beim Aufruf der URL aller- Webservices üblicherweise keine HTML-Dokumentedings 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ürVorlage für Inhalt und Formatierung sowie aus va- menschliche Benutzer/innen irrelevant sind und derriablen 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 Datenfü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 beschriebenebrowser bzw. entsprechende PlugIns benötigt. Für Funktionalität hierbei anderen Anwendungen zurdie 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. 5. Webtechnologien.  Technische  Anforderungen  an  Informa2onssysteme—  5Die 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ührt4. 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 Erweiterungenschreibt 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 einsprache. 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 diesekonkreten Plattformen und Implementierungen un- unverändert an den Client. So kann Programmlogikabhä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 imeines Schemas spezialisierte Dialekte für einzelne An- Rahmen vieler günstiger Webhosting-Angebote zurwendungsfälle definieren lassen. So ist beispielsweise Verfügung (vorinstalliert auf Servern), da es einfach
  6. 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) undEntwickler/innen schnell zu erlernen und sehr fle- VB.NET (Visual Basic.NET). Anders als bei PHPxibel. Nachteile liegen in der Tatsache, dass PHP po- werden bei ASP.NET Programm-Code und HTMLtentiell 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.NETkann. Speziell unerfahrenen Entwicklerinnen und liegt in der Tatsache, dass die Technologie sowohlEntwicklern fällt es mit anderen Technologien proprietär als auch kostenpflichtig ist und darüberleichter, 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 hierProgrammiersprache 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 wenigerauf einem Server für die Abarbeitung von Anfragen Datenverkehr notwendig ist, als auch die Ressourcender 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 SoftwareDokumente. 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 zuliegen 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 werdenarbeitung in eine komplexere Technologie bedeutet, sollten.bietet diese Technologie einige Vorteile. So kann sie Die wohl wichtigste Basistechnologie in diesemdurch Anwendung der richtigen Architektur große Zusammenhang ist JavaScript. Der Interpreter fürVerbesserungen 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 nachder den einfachen Webserver ersetzt. Diese technolo- Browser unterschiedlich, was für die Entwicklung dergische 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 inbieten Pakete mit einem Servlet Container an, da die HTML-Seiten integriert sein oder in eigene DateienInstallation 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 derbasierende 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, beipretiert und enthält die HTML-Beschreibung der denen JavaScript eingesetzt wird, um InformationenWebseite. Somit sind JSP Seiten ähnlich den Servlets, von einem Webserver anzufordern. Bei klassischenerlauben jedoch die Kombination von Programm- Webseiten muss wiederum für jede Aktion vomund HTML-Code in einem Dokument und er- Client eine Anfrage erstellt und die Antwort desleichtern 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 werdenPHP ä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 undwicklung 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 nurgentlichen Anwendungen können hierbei in verschie- jene Daten, die wirklich notwendig sind. Dadurch
  7. 7. Webtechnologien.  Technische  Anforderungen  an  Informa2onssysteme—  7 Serverseiger   Clientseiger   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  Ansatzeserhält man wesentlich performantere („schnellere“) Funktionalitäten oder Integration fremder Inhalte inApplikationen, 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. Imzu RIA. Zusammenhang von Webapplikationen bedeutet es Als „Rich Internet Application“ (RIA) bezeichnet eine in der Anwendung transparente Integrationman 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üssenbieten 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 zuBetriebssystem). 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. magWebserver 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) sindModerne Webapplikationen verdanken einen großen wohldefinierte Schnittstellen für die Interaktion mitTeil 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 oderlinks weit hinaus: Inhalte und Funktionalitäten vergleichbare strukturierte Daten wie die einfacherewerden 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 derder 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 verwendetrenden 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 instellbar wäre. Die Syndikation mehrerer fremder
  8. 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. Diezeigt ein Beispiel der Visualisierung von geographi- Daten liegen hierbei in einem XML Format vor. RSSschen 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 WidgetsNetzwerken, 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 entwederReal 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. 9. Webtechnologien.  Technische  Anforderungen  an  Informa2onssysteme—  9Engine (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 Integrationnerhalb 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 undeinen RSS-Feed abrufen, oder auf Funktionalitäten Inhalte anderer Anwendungen leicht zurückgegriffenmittels 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- Literaturderen Entwicklerinnen und Entwicklern erstellt, aberin die Webapplikation Facebook integriert werden. ▸ Vinton Cerf (1993). The history of Internet. In: B. AbobaFür Benutzer/innen ist kaum ein Unterschied er- (Hrsg.), The Online Users 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, IEEEIn 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 Webverschiedenen Google-Produkte oder Facebook, par- Service. In: Proceedings of the Seventh International Databaseallel 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/#id2268743der Technik. Hier wird bei vielen Webanwendungen [2010-01-12].darauf Wert gelegt, dass den Benutzern die An-

×