41
Informationsmanagement Vorlesung 8: Webarchitekturen Univ.-Prof. Dr.-Ing. Wolfgang Maass Lehrstuhl für Betriebswirtschaftslehre, insb. Wirtschaftsinformatik im Dienstleistungsbereich (Information and Service Systems ISS) Universität des Saarlandes, Saarbrücken SS 2012 Donnerstags, 10:00 – 12:00 Uhr (s.t.) Audimax, B4 1

Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Embed Size (px)

Citation preview

Page 1: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Informationsmanagement Vorlesung 8: Webarchitekturen

Univ.-Prof. Dr.-Ing. Wolfgang Maass Lehrstuhl für Betriebswirtschaftslehre, insb. Wirtschaftsinformatik im Dienstleistungsbereich (Information and Service Systems ISS) Universität des Saarlandes, Saarbrücken SS 2012 Donnerstags, 10:00 – 12:00 Uhr (s.t.) Audimax, B4 1

Page 2: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 2  

Vorlesungsagenda Übersicht

1.  Einleitung Managementsicht des Informationsmanagement

2.  Grundlagen des Informationsmanagement 3.  Aufgaben des Informationsmanagement – Management der Informationswirtschaft (2-stündig!) 4.  Aufgaben des Informationsmanagement – Management der Informationssysteme und

Führungsaufgaben (2-stündig!) 5.  Aufgaben des Informationsmanagement – IT-Controlling

Unternehmensarchitekturen 6.  Grundlagen der Unternehmensarchitekturen – Gastvortrag Dr. Steffen Roehn (2-stündig!)

Systemarchitekturen 7.  Architekturen von Informationssystemen 8.  Webarchitekturen (2-stündig!) 9.  Mobile & Cloud Computing

Datenmodellierung 10.  Grundlagen der Datenmodellierung (2-stündig!) 11.  Semantische Datenrepräsentationen (2-stündig!)

Prozessmodellierung 12.  Grundlagen der Prozessmodellierung

Page 3: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 3  

Agenda „Webarchitekturen“

(1) Grundlagen

(4) Architekturen

(2) Client-Technologien

(3) LAMP Stack und Server-Technologien

(5) Anwendungsbeispiele

Page 4: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 4  

Grundlagen – (1) World Wide Web

•  Web entstand 1989 als Projekt an Forschungseinrichtung CERN - Tim Berners-Lee baute ein Hypertext-System auf, welches es ermöglichen sollte, Forschungsergebnisse auf einfache Art und Weise mit Kollegen auszutauschen („Verflechten“ von wissenschaftlichen Artikeln)

„Das World Wide Web ist eine großräumige Hypermedia-Initiative zur Informationsbeschaffung mit dem Ziel, den allgemeinen Zugang zu einer großen Sammlung von Dokumenten zu erlauben.“ (Tim Berners-Lee, 1989)

•  Grundidee: offene Architektur, die beliebige lokale Netze auf beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft

•  Berners-Lee entwickelte zudem einen ersten Editor mit dem Ziel das „Web“ in einen Kreativraum zu verwandeln -- man kann Informationen editieren und mit anderen teilen

(Münz & Gull, 2010)

Page 5: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 5  

Grundlagen – (2) Client und Server

•  Internet-Dienste arbeiten nach dem Client/Server-Prinzip à 2-Schichten-Architektur

•  Web-Browser = Client; Aufgabe: Informationen vom Web-Server empfangen, präsentieren und umwandeln

•  Web-Server = Server; Aufgabe: Informationen an Clients liefern

•  Client nimmt Kontakt zu Web-Server auf, um Dokument zu laden à beauftragt den Web-Server mit der Lieferung des Dokuments

•  Web-Server wartet rund um die Uhr auf Anfragen von Clients

•  Kommunikation wird grundsätzlich vom Client initiiert; er generiert Anfrage und wartet auf die Lieferung des gewünschten Dokumentes

Clients Server

z.B. Firefox z.B. Apache Webserver

Page 6: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 6  

Grundlagen – (3) Wie finden sich Client und Server im Web?

•  Internet-Infrastruktur basiert auf TCP/IP Protokollfamilie

•  IP = Internet Protocol à Vermittlungsschicht -  IP stellt sicher, dass Daten an den richtigen

Empfänger im richtigen Netz weitergeleitet werden

-  Jeder Rechner im Internet muss deswegen über eindeutige IP-Adresse verfügen

-  IP teilt die Daten für den Versand in kleine Pakete auf

•  TCP = Transmission Control Protokoll à Übertragungsschicht -  TCP sorgt für das korrekte

Zusammensetzen der Pakete beim Empfänger

IP Adresse = 149.204.34.22

IP Adresse = 194.97.17.25 TCP

Page 7: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 7  

Grundlagen – (4) Wie kommunizieren Web-Client und Web-Server miteinander?

•  Hypertext Transfer Protocol = HTTP •  Gemeinsame Sprache von Client und Server •  Eignet sich für Austausch von Daten beliebiger

Formate •  Request/Response-Paradigma à Web-Server

liefert nur Dokument, wenn Web-Client dies auch vorher angefragt hat

•  Client “zieht” aktiv die Inhalte, die er wünscht (Pull-Medium)

Ablauf: ①  Web-Client baut eine TCP-Verbindung zum Server

auf ②  Web-Client sendet HTTP-Request (Anfrage bzgl.

Dokument) an Server ③  Server schickt eine HTTP-Response (Dokument)

zum Web-Client ④  Server baut Verbindung wieder ab •  Kommunikation zwischen anderen Formen von

Clients und Servern im Internet über eigene Protokolle, z.B. E-Mail àIMAP

Page 8: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 8  

Grundlagen – (5) Inhalte im Web

•  Typisierung der Daten / Dokumente, die zwischen Client und Server ausgetauscht werden auf Basis von MIME-System

•  MIME = Multimedia Internet Message Extension •  MIME-Typ stellt Label dar, das zusammen mit Daten übertragen wird

Warum ist das nötig? •  Unterschiedliche Dateinamensweiterungen eines bestimmten Dateityps bei

verschiedenen Betriebssystemen (Windows, MacOS)

Typen (Auszug): •  text - für Textdateien, z.B. text/html, text/rtf •  image - für Grafikdateien, z.B. image/gif, image/jpeg •  video - für Videodateien, z.B. video/mpeg •  audio - für Sounddateien, z.B. audio/x-wav, audio/x-aiff •  application - für Dateien, die an ein bestimmtes Programm gebunden sind, z.B.

application/pdf, application/x-shockwave-flash

•  Browser kann nur wenige Dateitypen darstellen – er ist auf zusätzliche Programme angewiesen

a.  Externe Viewer = eigenständige Programme, die sich zusätzlich öffnen, z.B. Microsoft Word Viewer

b.  Plugins = Programm-Komponenten, die das Dokument im Browser darstellen, z.B. Acrobat Reader, Adobe Flash Plugin

(http://trailers.apple.com/trailers/)

Page 9: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 9  

Grundlagen – (6) Wie werden Inhalte gefunden?

•  Adressierung von Inhalten (z.B. Dateien, News Artikel, Programme) im Internet durch URL

•  URL = Uniform Resource Locator •  URL zeigt auf einen bestimmten Inhalt

an einem bestimmten Ort

protokoll://host/pfad/zu/inhalt!!!

http://iss.uni-saarland.de/workspace/documents/ifm-5_it-controlling.pdf!!

http://iss.uni-saarland.de/workspace/documents/ifm-5_it-controlling.pdf!!

PDF!!

Page 10: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 10  

Agenda „Webarchitekturen“

(1) Grundlagen

(4) Architekturen

(2) Client-Technologien

(3) LAMP Stack und Server-Technologien

(5) Anwendungsbeispiele

Page 11: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 11  

Client Technologien – HTML als Sprache des Web

•  Websites bestehen aus untereinander verlinkten HTML-Dokumenten •  HTML (Hypertext Markup Language) = Auszeichnungssprache, aber keine

Programmiersprache

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Erstes HTML-Dokument</title> </head> <body> <h1>Hallo!</h1> <p>Dies ist mein erstes HTML- Dokument</p> <footer><address>Jens Mustermann, [email protected]</address> </footer> </body> </html>

mySite.html •  HTML5 = aktueller Standard für Websites •  HTML-Dokumente können...

a)  von Benutzer per Hand oder mittels Hilfssoftware erstellt werden und auf Server zum Abruf bereit liegen

b)  beim Aufruf durch den Benutzer dynamisch auf dem Webserver erzeugt werden

Page 12: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 12  

Client Technologien – Grundstruktur von HTML

•  HTML beschreibt nur den Inhalt und die Struktur eines Dokuments à Struktur wird vom Browser verarbeitet und dargestellt

•  HTML-Dokumente bestehen aus umklammernden HTML-Tags zur Auszeichnung des Inhalts

•  Tags können Attribute haben, welche den Tag um weitere Informationen erweitern

•  HTML-Tags werden zur Strukturierung verschachtelt •  Der Tag „DOCTYPE“ ist in der ersten Zeile bei HTML5

zwingend •  Das komplette Dokument ist in den Tag „html“

eingeschlossen •  Innerhalb des Tags „head“ sind Meta-Informationen

zum Dokument abgelegt •  Innerhalb des Tags „body“ ist die komplette Struktur

und der Inhalt des Dokumentes abgelegt

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Erstes HTML-Dokument</title> </head> <body> <h1 class=“red“>Hallo!</h1> <p>Dies ist mein erstes HTML-Dokument</p> <footer><address>Jens Mustermann, [email protected]</address> </footer> </body> </html>

mySite.html

Page 13: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 13  

Client Technologien – Cascading Style Sheets (CSS)

•  HTML beschreibt nur den Inhalt und die Struktur eines Dokuments, das Erscheinungsbild wird mittels CSS beschrieben

•  Cascading Stylesheets (CSS) ermöglichen die Anpassung des optischen Erscheinungsbildes von HTML-Dokumenten im Browser à aktuell CSS3

body { font-family: sans-serif; } h1 { color: red; font-size: 22px; } p { font-size: 16px; }

myStyles1.css  

<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="myStyles1.css"/> <meta charset="utf-8"> <title>Erstes HTML-Dokument</title> </head> <body> <h1>Hallo!</h1><p>Dies ist mein erstes HTML-Dokument<//p> <footer><address>Jens Mustermann, [email protected] </address></footer> </body></html>

mySite9.html  

Page 14: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 14  

Client Technologien - XML

•  XML = eXtensible Markup Language •  Auszeichnungssprache zum Austausch von

Informationen, z.B. zwischen Server und Client •  Einfach zu lesen durch Menschen; leicht zu

verarbeiten und zu generieren •  Standardisiert, d.h. weitreichend akzeptiertes

Format; lizenzfrei und plattformunabhängig •  Wie bei HTML ist das Dokument strukturiert durch

verschachtelte Elemente mit Attributen

•  Durch Namensräume können Bedeutungsräume geschaffen und Namenskonflikte gelöst werden

•  Alle Zeichen im Zeichensatz außer den Steuerungszeichen (z.B. &, <, >) sind erlaubt, selbige müssen codiert werden

<?xml version="1.0" encoding="UTF-8"?> <rezept xmlns:lm="http://lebensmittel.org"> <zutaten anzahl="3"> <lm:zutat>Ei</lm:zutat> <lm:zutat>Mehl</lm:zutat> <lm:zutat>Salz</lm:zutat> </zutaten> <anleitung> Alles zusammenrühren und backen. </anleitung> <foto><![CDATA[BELIEBIGE DATEN]]> </foto> </rezept>

Ei Mehl Salz Alles zusammen-

rühren und backen.

rezept

zutaten anleitung

{ anzahl="3" }

zutat zutat zutat

(Harold & Means, 2005)

Page 15: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 15  

Betriebs-­‐  

system

 Brow

ser  

Client-Technologien - JavaScript

•  JavaScript ≠ Java (Namensgebung Netscape & Sun Microsystems)

•  JavaScript = Skriptsprache à Programmiersprache zur Steuerung von ein oder mehreren bestehenden Anwendungen (hier: Browser)

•  Sandbox-Prinzip: Im Allg. nur Zugriff auf Elemente des Browsers, nicht auf das Betriebssystem

•  JavaScript kann durch unterschiedliche Browser verschieden interpretiert werden

•  JavaScript ermöglicht es, Website-Inhalte client-seitig zu generieren, verändern, validieren und nachzuladen ①  Weniger Datentransfer zwischen Server und Client ②  schnellere Reaktionszeiten ③  asynchrone Kommunikation mit dem Server

JavaScript  

Steuerung  

Anwendungsbeispiele:

(Crockford, 2008; Wenz, 2002)

Page 16: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 16  

Client  

Server  

Client-Technologien - JavaScript

(h0p://web2.0calc.com/widgets/minimal/)    

BA  

SV  

BA  

SV  

BA  

SV  

BA  

SV  

BA  CV  SV  

BenutzerakCvität  Client-­‐seiCge  Verarbeitung  Server-­‐seiCge  Verarbeitung  Datenübertragung  Ein-­‐/Ausgabe  

Client      

Server  

BA  

CV  

BA  

CV  

BA  

CV  

BA  

SV  

BA  

Client-seitige Programmlogik

(JavaScript)

Server-seitige Programmlogik

Page 17: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 17  

Client      

Server  

Client-Technologien – JavaScript (AJAX)

•  Bis jetzt: alle benötigten Inhalte werden mit dem Aufruf der Website übertragen

•  Stehen zu diesem Zeitpunkt nicht alle Inhalte bei diesem Aufruf zur Verfügung (z.B. wg. Aktualität), muss eine neue Website angefragt werden

BA  

CV  

BA  

CV  

BA  

CV  

BA  

SV  

BA  

BA  CV  SV  

BenutzerakCvität  Client-­‐seiCge  Verarbeitung  Server-­‐seiCge  Verarbeitung  Datenübertragung  Ein-­‐/Ausgabe  

Client-seitige Programmlogik (JavaScript)

Client      

Server  

BA  

CV  

BA  

CV  

BA  

CV  

BA  

SV  

BA  

SV   SV  

CV   CV  

Client-seitige Programmlogik (AJAX)

•  Asynchronous JavaScript and XML (AJAX) verfolgt den Ansatz nachträglich weitere Inhalte hinzuzuladen

•  Request-Response-Prinzip bleibt verborgen è Webanwendung verhält sich wie eine Desktopanwendung

(Wenz, 2007)

HTTP-Anfrage ohne komplettes Neuladen der Website

Page 18: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 18  

Client-Technologien - AJAX Anwendungsbeispiele

(facebook.com; google.de; maps.google.de)

Page 19: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 19  

Agenda „Webarchitekturen“

(1) Grundlagen

(4) Architekturen

(2) Client-Technologien

(3) LAMP Stack und Server-Technologien

(5) Anwendungsbeispiele

Page 20: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 20  

Vorteile serverseitiger Skripte

•  Quellcode/Geschäftslogik und Daten für den Website-Besucher nicht oder nur teilweise einsehbar, nicht kopierbar und nicht manipulierbar (= Sicherheit)

•  Persistente Speicherung der Nutzerdaten auf dem Server •  Direkte und indirekte Kommunikation zwischen verschiedenen

Besuchern der Website durch kontrollierten Zugriff auf gemeinsame Datenbasis (z.B. Chats, Foren)

•  Realisierung komplexer Anwendungen mit umfangreicher Geschäftslogik (z.B. Online Shop, soziale Plattform)

•  z.B. PHP, Python, Ruby on Rails, JavaServer Faces (JSF), Active Server Pages (ASP.NET), Perl

Page 21: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 21  

LAMP Stack

•  Der Linux, Apache, MySQL, PHP Stack (= LAMP) = Sammlung von Standardsoftware zur Realisierung serverseitiger dynamischer Websites

•  LAMP Stack besteht aus Open Source Software

Browser

Clie

nt

Browser mit Website und clientseitigen Skripten

Linux

Apache MySQL

PHP , (Python, Perl)

Ser

ver

Betriebssystem

Webserver und Datenbank

Serverseitige Skripte

•  Open Source à Idee der gemeinsamen Entwicklung einer Software zur Vorteil aller Beteiligten

•  Vorteile: kostenlos; frei zugänglicher Quellcode; plattformunabhängig; kulturelle und einsatztechnische Offenheit

Page 22: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 22  

PHP

•  PHP = „Hypertext Preprocessor“; PHP 5.3.8 ist die aktuellste Version •  PHP wie JavaScript eine Skriptsprache, mit Objektorientierung,

Datenbankzugriff und verschiedenen Zusatzbibliotheken zum Mailversand, Grafikmanipulation etc.

•  Ist die Dateiendung eines HTML-Dokument .php oder .php5 (konfigurierbar), dann wird selbige nicht direkt vom Webserver an den Browser geschickt, sondern zuvor an PHP (à Preprocessor)

firstScript.php

<html> <head> <title>PHP Beispiel</title> </head> <body> <?php echo 'Hallo Welt! Es ist gerade '.date('H:i').' Uhr.'; ?> </body> </html>

<html> <head> <title>PHP Beispiel</title> </head> <body> Hallo Welt! Es ist gerade 18:05 Uhr. </body> </html>

Aufruf der URL im Browser

Webserver lädt PHP-Dokument und

leitet es an PHP weiter

(Ler

dorf

et a

l., 2

006)

Page 23: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 23  

PHP-Beispiel: Formulare

<html> <body> <?php if (!isset($_GET['firstname'])) { ?> <form method="GET"> <input type="text" name="firstname"> <input type="text" name="lastname"> <input type="submit"> </form> <?php } else { $firstname = $_GET['firstname']; $lastname= $_GET['lastname']; echo "Hello $firstname $lastname!"; } ?> </body> </html>

form.php •  PHP-Quellcode kann gemeinsam mit HTML in einem

Dokument gespeichert werden •  PHP Quellcode wird immer innerhalb des Tags „?php“

geschrieben •  Befehlszeilen werden mit einem Strichpunkt beendet

(Lerdorf et al., 2006)

Page 24: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 24  

ASP.NET

•  ASP.NET (Active Server Pages .NET) = serverseitige Technologie von Microsoft zum Erstellen dynamischer Webseiten, Webanwendungen und Webservices auf Basis des Microsoft-.NET-Frameworks

•  Entwicklung von Webanwendungen in von .NET unterstützten, im Allg. objektorientierten Sprachen, z.B. C#

•  Keine Programmiersprache, sondern Bündelung von Techniken

•  ASP.NET-Webseiten = Web Forms; Dateiendung “.aspx" à enthalten HTML sowie u.a. sogenannte Web Controls, die auf Webserver verarbeitet und als dynamisches HTML ausgegeben werden, z.B. Gridview (Tabellenansicht von Daten), Kalender-Control

•  Einbettung von dynamischen Code-Inhalten a)  .aspx-Datei durch <% -- dynamic code -- %> (vgl. PHP)

(Achtung: Überprüfung erst durch Webserver)

   <html> <body bgcolor="yellow"> <center> <h2>Hello W3Schools!</h2> <p><%Response.Write(now())%></p> </center> </body> </html>

CurrentTime.aspx

Page 25: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 25  

ASP.NET

•  Einbettung von dynamischen Code-Inhalten

b)  in separaten Code-Behind-Dateien (Überprüfung durch Compiler)

<%@ Page Language="C#" CodeFile=„MyGrid.aspx.cs" Inherits="MyNamespace.MyGrid" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>GridView example</title> </head> <body> <form id="form1" runat="server"> <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </form> </body> </html>

MyGrid.aspx

using System; using System.Web.UI; using System.Web.UI.WebControls; namespace MyNamespace { public partial class MyGrid : Page { protected void Page_Load(object sender, EventArgs e) { DataTable dtGridData = this.SomeDataService.GetGridData(); this.GridView1.DataSource = dtGridData; this.GridView1.DataBind(); } } }

MyGrid.aspx.cs

Page 26: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 26  

Agenda „Webarchitekturen“

(1) Grundlagen

(4) Architekturen

(2) Client-Technologien

(3) LAMP Stack und Server-Technologien

(5) Anwendungsbeispiele

Page 27: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 27  

Basis Web-Architektur

•  2-Schichten-Architektur •  Web Browser fragt Inhalt an und stellt ihn dar à Client •  Web Server wartet auf Anfragen und sendet Inhalt an Client

Page 28: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 28  

Datenbankbasierte Web-Architektur

Page 29: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 29  

Service-Oriented Architecture (SOA)

SOA ist… •  eine Softwarearchitektur, die Dienste modularisiert •  ein flexibler und modularer Ansatz zur Entwicklung von gemeinsam genutzten

Services (shared service) •  Das Ergebnis einer logischen Evolution von Softwaremodularisierungstechniken

SOA ermöglicht … •  Neukombinationen von Diensten in verschiedenen Formen, um neue oder

verbesserte betriebliche Prozesse zu implementieren •  Die bedarfsgerechte Verbindung betrieblicher und rechnergestützer Ressourcen (on

demand) •  Flexibilität in der Auswahl von (1) Technologien zur Softwareimplementierung, und

(2) der Standorte von Dienstleistern und Konsumenten

(OCG, 2011; Valipour et al., 2009)

Page 30: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 30  

Service-Oriented Architecture (SOA)

①  SOA != web services – Web-Services sind eine Implementierung von SOA, aber sie implementieren nicht alle Aspekte z.B., keine Spezifikation der Service Levels

②  Trennt das “was” (Interface) von dem “wie” (Implementierung)

③  Dynamische Einbindung von modularen Komponenten – lockere Verbindung

④  Plattform- und sprachenübergreifende Funktionalitäten

(Valipour et al., 2009)

SAP Enterprise Service Oriented Architecture (Enterprise SOA) SAP Lösungen die derzeit Enterprise SOA benutzen : mySAP CRM, mySAP ERP, mySAP SRM

IBM WebSphere software for SOA environments Anwendungsinfrastruktur, Anwendungsintegration, Betriebsprozessmanagement etc.

Exemplarische Implementierungen der SOA-Idee:

SOA Konzepte, z.B.: •  RPC protocol = Remote Procedure Call –

Aufruf von Programmfunktionen, die in einem anderen Adressbereich (z.B. shared network) durchgeführt werden, z.B., SOAP

•  Jini Framework zur Entwicklung von verteilten Computersystemen

•  REST Programmier-Architektur für Webanwendungen

•  WSDL = Web Services Description Language – wird genutzt, um die Funktionalität, die durch einen Web-Service bereitgestellt wird, zu beschreiben

(http://www.sap.com/germany/solutions/business-suite/index.epx; http://www-01.ibm.com/software/solutions/soa/offerings.html)

Page 31: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 31  

Frameworks – Kampf um den Middleware-Markt

•  Java Platform, Enterprise Edition = Java EE (V6.0) = Spezifikation einer Softwarearchitektur für transaktionsbasierte Ausführung von in Java programmierten Anwendungen, insb. Web-Anwendungen

•  Definition von modularen Softwarekomponenten und Diensten zur Entwicklung von verteilten Anwendungen

•  Klar definierte Schnittstellenà Interoperabilität zw. Softwarekomponenten unterschiedlicher Hersteller

•  Must have: Laufzeitumgebung à Java EE Application Server, z.B. JBoss Application Server

(http://www.oracle.com/technetwork/java/javaee/overview/index.html)

Page 32: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 32  

Frameworks – Kampf um den Middleware-Markt

•  .NET = Software-Plattform zur Entwicklung und Ausführung von Anwendungsprogrammen von Microsoft

•  Besteht aus (1) Laufzeitumgebung, in der die Programme ausgeführt werden, (2) Sammlung von Klassenbibliotheken, Schnittstellen und Diensten

•  .NET ist im vollen Umfang nur für Windows verfügbar

•  Unterstützt Vielzahl von Programmiersprachen sowie gemischtsprachige Programmierung

(http://www.microsoft.com/de-de/download/details.aspx?id=17718#overview)

Page 33: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 33  

Agenda „Webarchitekturen“

(1) Grundlagen

(4) Architekturen

(2) Client-Technologien

(3) LAMP Stack und Server-Technologien

(5) Anwendungsbeispiele

Page 34: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 34  

Anwendungsbeispiele: Rich Internet Applications

•  Rich Internet Application (RIA) = reichhaltige Internet-Anwendung •  Keine eindeutige Definition oder Standardisierung à Konzept, aber keine Technologie •  Vielfalt von Interaktionsmöglichkeiten durch Benutzeroberfläche, Verbindung mit Internet •  RIAs im Webbrowser ähneln eher dynamischen Desktopanwendungen als klassischen

Webseiten, z. B. “Drag and Drop”, 3D-Effekte, Animationen, Unterstützung diverser Videoformate

Plug-in-basiert, z.B.: JavaFX (Oracle/SUN), Flash (Adobe), OpenLaszlo, Microsoft Silverlight HTML/JavaScript-basiert, z.B.: Apache Wicket, Google Web Toolkit, jQuery oder ähnliche JavaScript-Frameworks

Technologien

(https://maps.google.de/)

Page 35: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 35  

Anwendungsbeispiele: Rich Internet Applications

+  Benutzerfreundlicher +  Schnellere Reaktion auf Benutzereingaben +  Reduzierte Server- und Netzwerklast durch

lokale Berechnungen +  Zugriff auf lokales Dateisystem und Peripherie

möglich +  Einfache Entwicklung durch RIA-Frameworks +  Plug-ins à mehr Performanz als bei reinen

HTML/JavaScript-Varianten

-  Evtl. lange Download- und Ladezeiten -  Höhere Ressourcenbelastung des

Clientrechners möglich -  Manchmal Installation eines Plug-ins notwendig -  Evtl. Sicherheitslücken durch installierte Plug-ins

Pro

Contra

(http://www.aldifotos.de/)

Page 36: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 36  

Anwendungsbeispiele: Rich Internet Applications

•  Trend à RIA = nächste Generation von Software-Anwendungen

•  Vorteile z.B. im Intranet-Bereich: neue Software-Versionen müssen nicht mehr verteilt/installiert werden

•  RIA Geschäftsmodelle, z.B. Software as a Service oder Application Service Provider (Anwendungsdienstleister bietet Anwendung über öffentliches oder privates Netz an)

•  Großer Bedarf nach reichhaltigen Benutzerschnittstellen, Standardisierung und Herunterladbarkeit (ohne Installation) bei Mobile Devices (z.B. Smart Phones) und Embedded Devices (z.B. Navigationssystemen)

(http://konfigurator.audi.de/)

Page 37: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 37  

Anwendungsbeispiele: Mashups

•  Mashup (to mash = vermischen) = Erstellung neuer Medieninhalte durch Kombination bestehender Inhalte, z.B. Inhalte des Webs, wie Text, Daten, Bilder, Audio, Videos à Collagen

•  Nutzung von offenen Programmierschnittstellen (APIs), die andere Webanwendungen zur Verfügung stellen, z.B. o  Google Maps API – Einbindung von Landkarten

und Satellitenfotos auf der eigenen Webseite o  Flickr API zur Einbindung von Fotos o  Amazon API zur Darstellung von

Produktangeboten bzw. Verwertung von Produktdaten

Kommunikation zwischen Client und Server, z.B.: REST, SOAP Umgebung, z.B.: JavaScript, AJAX, Adobe Flash, JavaFX, Microsoft Silverlight

Technologien

Page 38: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 38  

Anwendungsbeispiele: Mashups

Mashup AirTraffic (Züricher Hochschule für Angewandte Wissenschaften) •  Programmierumgebung:

Java 6, .NET 2.0 •  Webserver: Apache Tomcat •  Kommunikationsprotokoll:

SOAP •  Datenbank: mySQL •  Interaktion im Client: AJAX •  Kartenmaterial: Google

Maps •  Flugdaten: ADS-B-

Telegramme mit Flugdaten ca. alle 250ms und kommerzielle Webservices

•  Daten zu Flugzeug: Extraktion aus HTML-basierten Webseiten (http://radar.zhaw.ch/)

Page 39: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 39  

Literatur

Bücher: •  Crockford, D. (2008), JavaScript: The Good Parts, Yahoo Press. •  Harold, E. R. & Means, W. S. (2005), XML in a Nutshell, Third Edition, O'Reilly Media. •  Lerdorf, R. & Tatroe, K. (2006), Programming PHP, O'Reilly Media. •  Münz, S. & Gull, C. (2010), HTML 5 Handbuch - Die neuen Features von HTML5, Franzis Verlag GmbH. •  of Government Commerce (OGC), O. (2011), ITIL Service Strategy, The Stationery Office (TSO), London. •  Wenz, C. (2007), JavaScript und AJAX, Galileo Computing. •  Wenz, C. (2002), JavaScript, Galileo Computing.

Paper: •  Berners-Lee, T. (1991), 'WorldWideWeb - Executive Summary’. •  Valipour, M. H.; Amirzafari, B.; Maleki, K. N. & Daneshpour, N. (2009), A brief survey of software architecture concepts and service oriented architecture,

in '2nd IEEE International Conference on Computer Science and Information Technology, 2009', pp. 34--38.

Web: •  http://trailers.apple.com/trailers/ •  http://web2.0calc.com/widgets/minimal/ •  facebook.com •  google.de •  maps.google.de •  http://www.sap.com/germany/solutions/business-suite/index.epx •  http://www-01.ibm.com/software/solutions/soa/offerings.html •  http://www.oracle.com/technetwork/java/javaee/overview/index.html •  http://www.microsoft.com/de-de/download/details.aspx?id=17718#overview •  http://www.aldifotos.de •  http://konfigurator.audi.de/ •  http://radar.zhaw.ch/

Page 40: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

21.06.12 Slide 40  

Vorlesungsagenda Übersicht

1.  Einleitung Managementsicht des Informationsmanagement

2.  Grundlagen des Informationsmanagement 3.  Aufgaben des Informationsmanagement – Management der Informationswirtschaft (2-stündig!) 4.  Aufgaben des Informationsmanagement – Management der Informationssysteme und

Führungsaufgaben (2-stündig!) 5.  Aufgaben des Informationsmanagement – IT-Controlling

Unternehmensarchitekturen 6.  Grundlagen der Unternehmensarchitekturen – Gastvortrag Dr. Steffen Roehn (2-stündig!)

Systemarchitekturen 7.  Architekturen von Informationssystemen 8.  Webarchitekturen (2-stündig!) 9.  Mobile & Cloud Computing

Datenmodellierung 10.  Grundlagen der Datenmodellierung (2-stündig!) 11.  Semantische Datenrepräsentationen (2-stündig!)

Prozessmodellierung 12.  Grundlagen der Prozessmodellierung

Page 41: Informationsmanagementiss.uni-saarland.de/workspace/documents/ifm-8_web-architekturen.pdf · beliebigen Rechner-Plattformen (z.B. Windows, Mac OS) miteinander verknüpft • Berners-Lee

Univ.-Prof. Dr.-Ing. Wolfgang Maass  

Univ.-Prof. Dr.-Ing. Wolfgang Maass Lehrstuhl für Betriebswirtschaftslehre, insb. Wirtschaftsinformatik im Dienstleistungsbereich (Information and Service Systems ISS) Universität des Saarlandes, Saarbrücken