Web Presentation Tier

Größe: px
Ab Seite anzeigen:

Download "Web Presentation Tier"

Transkript

1 Web Engineering Web Presentation Tier Studienbrief WEB Version 3.2 (Juli 2011) Karl M. Göschka

2 Inhaltsverzeichnis 0. Übersicht Lehrziele Lehrstoff Aufgaben, Übungen Voraussetzungen Literatur World Wide Web Grundlagen Hypertext Markup Language: HTML und XHTML Uniform Resource Identifier Das Hypertext Transfer Protocol Common Gateway Interface Heterogene Clients Web Client User Interface: HTML und JavaScript Protokoll: Probleme mit HTTP Web-Server-Anbindung Verbindung von Web-Server und Middleware: CGI und API Script-basierte Web-Anbindung Seiten-basierte Web-Anbindung Native GUI Clients Java-Applikation Applikation und Datenbank auf dem Client Mobile Devices und Sprach-/Datenkonvergenz Clients am Mobiltelefon: WAP und WML WAP-Protokoll-Stack (*) Wireless Markup Language WML (*) WML Scripting Language (*) Die weitere Entwicklung und WAP und WML Karl M. Göschka Seite 2 / 63 WEB v3.2

3 3. MVC und Frameworks Model View Controller Pattern Das MVC Pattern im Web Java Server Faces - JSF JSF und andere UI Frameworks für das Web JSF ist Server-seitig Die Bausteine von JSF in Bezug auf MVC Die Bearbeitung einer JSF Anfrage Rich Internet Technologien (RIT) Java-Applets Vergleich von Java-Applets und reinem HTML DOM Document Object Model Client-seitiges Scripting: JavaScript Ajax Asynchronous JavaScript and XML Lehrzielorientierte Fragen Karl M. Göschka Seite 3 / 63 WEB v3.2

4 0. Übersicht 0.1. Lehrziele Das primäre Lehrziel der Studieneinheit Web Presentation Tier ist, verschiedene Alternativen für die Web-Client-Anbindung an verteilte Systeme zu kennen und bewerten zu können Lehrstoff In diesem Studienbrief werden die Grundlagen des Web wiederholt (Abschnitt 1), bevor in Abschnitt 2 auf die Probleme und Lösungsansaätze eingegangen wird. Dabei wird der Web- Client auch mit dem Native GUI (Desktop) Client sowie mit dem Mobile Client verglichen. Abschnitt 3 zeigt dann, wie die technologische Vielfalt und die mannigfachen Paradigmenbrüche in einem Web UI durch UI Frameworks überwunden werden können, die auf dem Model View Controller (MVC) Pattern beruhen. Als prominenter Vertreter wird Java Server Faces (JSF) etwas genauer erläutert. Abschnitt 4 schließlich konzentriert sich auf den Web Browser und die Möglichkeiten durch verschiedene Erweiterungen (genannt Rich Internet Technologies ) ein dem Desktop ähnlicheres Look and Feel für den Benutzer herzustellen. Abschnitte, die mit einem (*) gekennzeichnet sind, dienen der freiwilligen Stoffergänzung und werden nicht geprüft Aufgaben, Übungen Der letzte Abschnitt enthält eine Sammlung lehrzielorientierter Fragen zur Selbstüberprüfung. Die Beantwortung sollte nach Durcharbeiten des Studienbriefes möglich sein. Treten bei einer Frage Probleme auf, so versuchen Sie diese mit ihren Studienkollegen zu lösen. Ist das nicht möglich, können den Vortragenden per direkt kontaktieren oder Sie stellen die entsprechende Frage in der nächsten Übungsstunde Voraussetzungen Der vorliegende Kurs setzt Kenntnisse des Software-Engineering und der Netzwerkdienste voraus, sowie Objektorientierte Methoden. Der gegenständliche Studienbrief setzt darüberhinaus ein Verständnis der Komponenten-Technologie voraus. Karl M. Göschka Seite 4 / 63 WEB v3.2

5 0.5. Literatur [1] Heineman, G.T.; Councill, W.T.: Component-Based Software Engineering, Addison- Wesley, [2] Bass, L.; Clements, P.; Kazman, R.: Software Architecture in Practice, Addison- Wesley, Reading, [3] Allen, P.; Frost, S.: Component Based Development for Enterprise Systems: Applying the SELECT Perspective, Cambridge University Press, SIGS Publications, Cambridge, UK, [4] Falb, J.: A Model-Driven Method for the Development of Nomadic Interactive Systems, Dissertation, TU Wien, [5] Fowler, M.: Patterns of Enterprise Application Architecture, Addison-Wesley/Pearson, [6] Mann, K.: Java Server Faces in Action, Manning Verlag, [7] Walter, T.: Kompendium der Web-Programmierung, Springer, [8] Sowa, H., Radinger, W., Marinschek M.: Google Web Toolkit, dpunkt, Karl M. Göschka Seite 5 / 63 WEB v3.2

6 1. World Wide Web Grundlagen Die Tage des wenig benutzerfreundlichen und auch nur wenigen Benutzern vorbehaltenen Internets als Medium für Computerexperten waren gezählt, als Tim Berners-Lee seine erste Version von HTML (Hypertext Markup Language) im Jahr präsentierte, zunächst allerdings nur, um auf einfache Art verlinkte, statische Dokumente (wissenschaftliche Arbeiten in CERN) verteilt zur Verfügung zu stellen. Die ersten Prototypen der Server und Browser wurden 1990 bis 1992 implementiert. Von diesem Moment an begann das Web ein exponentielles Wachstum des Internets auszulösen: Waren es im Juni 1991 noch ca Knoten weltweit, davon in Europa, so waren es im Juni 1998 bereits 35 Mio. Knoten weltweit, davon 6,65 Mio. in Europa. Die monatliche Wachstumsrate im Juni 1998 betrug ca. 1 Mio. weltweit und über in Europa. Nach nur sieben Jahren überstieg die monatliche Wachstumsrate den ursprünglichen Bestand. Ein Grund für dieses exponentielle Wachstum ist in der einfachen grafischen Benutzeroberfläche zu sehen, die nach und nach alle relevanten Dienste in einem einzigen Werkzeug vereinte dem Web-Browser. Als mehr und mehr Web-Server entstanden, begannen auch mehr und mehr Benutzer den Web-Browser zu verwenden. Durch diese defacto Standardisierung (und die Firewall- und Internet-taugliche Protokoll-Anbindung) auf Client-Seite entstand der Bedarf den Browser auch für Anwendungen einzusetzen, für die das Web ursprünglich überhaupt nicht konzipiert war, u.a. als abgesetzter (sogenannter remote ) Universal Client für Enterprise Systeme. Die daraus sich ergebende Forderung nach dynamischen Seiten hat zunächst zu Formularen und einem Standard für die Back-End Anbindung geführt. In weiterer Folge jedoch zu einer viele Jahre andauernden (und noch nicht abgeschlossenen) Entwicklung, aus der verschiedene Werkzeuge und Laufzeitumgebungen entstanden sind. Deren vornehmlichster Zweck besteht darin, den Schmerz für Entwickler (und Anwender) zu lindern, der daraus ensteht, dass eine Technologie (Web statischer Dokumente für Informationssysteme) für etwas anderes (remote UI für EAI) eingesetzt wird, wofür sie eigentlich kaum geeignet ist. Bevor diese Client- und Server-seitigen Technologien erläutert werden, erfolgt eine kurze Wiederholung der Grundlagen der Web-Technologien. 1 Obwohl der Begriff Hypertext bereits 1960 erstmals in der Literatur geprägt wurde, hat er sich erst mit der Erfindung des Web verbreiten können. Karl M. Göschka Seite 6 / 63 WEB v3.2

7 Drei Grundkonzepte sind es im Wesentlichen, die das Web ausmachen: die Hypertext Markup Language HTML, das Hypertext Transfer Protocol HTTP und der Uniform Resource Locator URL Hypertext Markup Language: HTML und XHTML Die Hypertext Markup Language HTML ist eine semantische Markup-Language, also eine Textbeschreibungssprache, wobei Befehle in den Text eingebettet sind, die die Struktur des Textes beschreiben. Leider sind mitunter auch direkte Formatanweisungen enthalten, was dem ursprünglichen Gedanken von HTML widerspricht, weil es sich dabei um physisches Markup handelt. Der Begriff Hyper wird im Wesentlichen von den Links inspiriert, also von der Möglichkeit, von einem Dokument zum nächsten zu traversieren, wobei die Dokumente mitunter von verschiedenen Servern über das Internet geliefert werden. Der ursprüngliche Gedanke von HTML war geprägt von WYSIWYM (What You See Is What You Meant) anstelle von WYSIWYG (What You See Is What You Get). Man wollte also die logische Struktur des Dokumentes und seiner Elemente beschreiben, damit dieses dann in verschiedenen Endgeräten interpretiert werden kann. Das könnte ein Web-Browser sein, aber auch ein Braille-Browser, der den Text blindengerecht auf einem Braille-Terminal wiedergibt oder sogar mittels Text-to-Speech-Synthese vorliest. Die Mehrheit der grafischen Web-Browser und der Wettlauf der Browser-Hersteller um die Gunst der Kunden hat jedoch eine Verschiebung dahingehend bewirkt, dass HTML heute kaum noch für etwas anderes zu gebrauchen ist als für die grafische Wiedergabe auf einem Computerbildschirm. Ein HTML-Dokument besteht aus Elementen (auch Container genannt). Jedes Element wird von einem Beginn- und einem End-Tag eingeschlossen, dazwischen steht der Inhalt des Elementes. Manche Tags werden auch implizit beendet oder besitzen überhaupt kein End- Tag. Weiterhin können im Beginn-Tag auch Attribute enthalten sein, um weitere Angaben über den Inhalt zu tätigen. Elemente dürfen zwar verschachtelt sein, einander aber nicht überkreuzen (d. h. überlappen). Insgesamt besteht ein HTML-Dokument aus einem HTML- Element, welches wiederum ein HEAD-Element mit Metainformation über das Dokument und ein BODY-Element mit dem eigentlichen Inhalt enthält. Die gängigen Browser sind bezüglich der Darstellung fehlerhafter HTML-Dokumente sehr robust, was unter anderem dazu geführt hat, dass viele der heute im Web verfügbaren HTML-Dokumente fehlerhaft sind. Im Sinne von mehr Exaktheit wird daher heute XHTML propagiert, wobei im Wesentlichen die Exaktheit von XML auch in HTML umgesetzt wird. Karl M. Göschka Seite 7 / 63 WEB v3.2

8 Die exakte Definition von HTML ist mittels SGML 2 erfolgt; die Document Type Definition (DTD) für HTML definiert eindeutig die mögliche Struktur von HTML-Dokumenten. Da diese DTD in den HTML-Standards fixiert ist, ist HTML auch nicht erweiterbar. Das wichtigste Element in HTML ist der Link, in HTML als Anchor bezeichnet, kurz <A>. Das Ziel eines solchen Links wird mit dem HREF-Attribut angegeben, es handelt sich dabei um einen Uniform Resource Locator (siehe folgenden Abschnitt). Wichtig ist auch das Formular-Element <FORM>, mit dem einfache Selektionen oder Texteingaben des Benutzers zum Web-Server hin gereicht werden können. Bild 1.1 zeigt ein einfaches HTML-Dokument, Bild 1.2 die zugehörige Darstellung durch einen Browser. <HTML> <HEAD> <TITLE>Mein Dokument</TITLE> </HEA D> <BODY> <H1>Mein Titel</H1> Das ist mein Text, ich verweise hier auf das <A HREF="http://www.ict.tuwien.ac.at/">Institut für Computertechnik</A> an der TU Wien. Sie können mich gerne per <A kontaktieren. </BODY> </HTML> Bild 1.1: Ein einfaches HTML-Dokument Bild 1.2: Typische Browser-Darstellung des HTML-Beipiels aus Bild Standard Generalized Markup Language Karl M. Göschka Seite 8 / 63 WEB v3.2

9 Für detaillierte Informationen muss an dieser Stelle auf die verfügbare Literatur zu HTML verwiesen werden Uniform Resource Identifier Der Uniform Resource Identifier (URI) bzw. Uniform Resource Locator (URL) dient der eindeutigen Identifikation einer beliebigen Ressource im Web, z. B. das Ziel eines Hyperlinks oder eines Inline-Bildes. Er besteht aus folgenden Teilen: Das Protokoll üblicherweise HTTP oder oft auch HTTPS (die kryptografisch abgesicherte Variante); es gibt aber auch URLs für FTP, Telnet und News, um nur einige weitere zu nennen. Der DNS-Name des Servers, auf dem sich die gewünschte Ressource befindet, und der Port am Server, über den zugegriffen werden soll: Falls der Port nicht explizit angegeben wird, dann gilt der für das jeweilige Protokoll als well known port bekannte Port als Standard, im Fall von HTTP ist das 80, bei HTTPS 443. Ebenfalls hier können auch Benutzername und Passwort angegeben werden, z. B. für FTP-Zugriffe 3. Der Rest der URL hängt vom Protokoll ab. Bei HTTP folgt nun eine Pfadangabe, die relativ zur so genannten Document Root am Web-Server zu lesen ist. Es kann auch ein Punkt im Dokument mittels fragment identifier gezielt angesprungen werden. Besonders wichtig ist auch die Möglichkeit der Übergabe von Parametern in der URL (als so genannter query string ). Der Beginn des Query String wird durch ein Fragezeichen eingeleitet. Ein vollständiger URL: Außerdem unterscheidet man noch zwischen relativen und absoluten URLs. Bei den relativen URLs werden die Teile, die vorne weggelassen wurden, einfach aus der URL des aktuellen Dokumentes ergänzt. Dokumentsammlungen, die untereinander nur relativ verlinkt sind, können auf diese Weise als Gesamtheit einfach woanders hin geschoben werden, wobei alle Links ihre Gültigkeit behalten. 3 Davon wird aber abgeraten, da in diesem Fall das Passwort im Klartext in der URL übertragen wird. Dies ist allenfalls für anonymen FTP-Zugriff akzeptabel. Karl M. Göschka Seite 9 / 63 WEB v3.2

10 1.3. Das Hypertext Transfer Protocol Das Hypertext Transfer Protocol (HTTP) ist ein verbindungsorientiertes (es baut auf TCP auf), aber zustandsloses Protokoll. Es bildet die Basis für die Übertragung von Dokumenten im WWW, es wird also für die Kommunikation zwischen einem Web-Server und einem Web- Browser verwendet. Der Browser hat dabei die Funktion eines Clients, der nur genau eine Anfrage stellt und darauf vom Server genau eine Antwort in Form einer HTML-Datei erhält 4. Der Ablauf einer HTTP-Sitzung sieht also wie folgt aus: 1. Öffnen der TCP-Verbindung, 2. HTTP-Request vom Client an den Server, 3. HTTP-Antwort vom Server an den Client, i. Allg. wird dabei ein HTML-Dokument übertragen, 4. Schließen der TCP-Verbindung. Das HTTP unterscheidet verschiedene Methoden, je nach Zweck der Nachricht: Neben der GET-Methode, bei deren Beantwortung ein HTML-Dokument vom Server geholt wird, existiert auch die HEAD-Methode, die nur bestimmte Informationen über dieses Dokument als Antwort erhält. Damit kann der Web-Browser unter anderem überprüfen, ob das Dokument verändert wurde und neu geholt werden muss. Die POST-Methode (und mitunter auch die GET Methode selbst) dient der Übertragung von Daten in die entgegengesetzte Richtung, also vom Client zum Server. Dies wird beispielsweise bei HTML-Formularen angewendet. Es gibt auch die Methoden PUT und DELETE, die bei einigen Servern auch implementiert sind und dem Upload oder Löschen eines HTML-Dokumentes dienen. Normalerweise will man das eher nicht tatsächlich gab es jedoch einige Web-Server-Distributionen, bei denen diese Methoden standardmäßig freigegeben waren, was sofort bei einigen findigen Zeitgenossen zum Hacken dieser Web-Server geführt hat, indem die ursprünglichen Dokumente vom Hacker durch mehr oder weniger lustige andere Dokumente ersetzt wurden. HTTP-Nachrichten bestehen immer aus einem Header und einem Body. Im Header sind bestimmte Informationen über den Client bzw. den Server und auch über die im Body enthaltenen Daten angegeben. Zum Beispiel gibt der Client die HTTP-Versionsnummer und eine Liste der von ihm unterstützten Dateitypen an. Der Body ist vom Header stets durch eine 4 Es gibt auch die Möglichkeit, HTTP-Verbindungen für mehrere Interaktionen aufrecht zu erhalten (Keep-Alive). Viele Server ignorieren aber standardmäßig einen vom Browser mittels HTTP-Request dahingehend geäußerten Wunsch. Karl M. Göschka Seite 10 / 63 WEB v3.2

11 Leerzeile getrennt. Bild 1.3 zeigt einen einfachen GET-Request vom Browser an den Web- Server, Bild 1.4 zeigt die zugehörige Antwort vom Web-Server. Man erkennt, dass als HTTP- Body das HTML-Dokument zurückgeliefert wird. GET /welcome.html HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.msexcel, application/msword, application/vnd.ms-powerpoint, */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt) Host: some.where.ac.at:8888 Connection: Keep-Alive Bild 1.3: HTTP-Request vom Client (Web-Browser) an den Server Im Rahmen des HTTP-Protokolls kann auch eine einfache Authentifizierung durchgeführt werden, das so genannte Basic Authentication Scheme. Es soll hier nur betont werden, dass die Passwortinformation in diesem Fall nur UU 5 -codiert wird, also ohne darunter liegende SSL-Verschlüsselung völlig ungesichert über das Netz geht. Die zugehörigen Einstellungen, wer wo zugreifen darf, müssen am Web-Server konfiguriert werden. HTTP/ OK Date: Sat, 06 May :16:41 GMT Server: Apache/1.3.9 Ben-SSL/1.37 (Unix) mod_perl/1.21 Connection: close Content-Type: text/html <HTML> <HEAD> <TITLE>Mein Dokument</TITLE> </HEAD> <BODY> <H1>Mein Titel</H1> Das ist mein Text, ich verweise hier auf das <A HREF="http://www.ict.tuwien.ac.at/">Institut für Computertechnik</A> an der TU Wien. Sie können mich gerne per <A kontaktieren. </BODY> </HTML> Bild 1.4: HTTP-Response vom Web-Server an den Browser 1.4. Common Gateway Interface Das Common Gateway Interface (CGI) ist eine standardisierte Schnittstelle zwischen Web- Server (oft auch als Web-Listener oder HTTP-Daemon bezeichnet) und einem Server-seitigen 5 Ein einfaches Codierverfahren, aber keine Verschlüsselung. Jeder kann die Rückumwandlung ohne irgendwelche weitere Kenntnis durchführen. Karl M. Göschka Seite 11 / 63 WEB v3.2

12 Programm. Dies kann wiederum ein einfaches Shell-Skript oder Perl-Skript sein, ein ausführbares C-Programm oder aber eine integrierte Anbindung an einen Applikationsserver oder eine Datenbank. Viele Anbindungen sind zwar heute nicht mehr nach dem ursprünglichen CGI-Prinzip gebaut, folgen ihm aber noch der Nomenklatur nach, was eine breite Basis für solche Anwendungen schafft. Das Grundprinzip ist folgendes: Anhand des Pfades, der Extension, oder einer anderen Information im URL (dies muss vorher beim Web-Server konfiguriert werden) erkennt der Web-Server, dass ein eingehender Request nicht durch die Lieferung eines Dokumentes, sondern durch die Ausführung eines Programms beantwortet werden soll. In diesem Fall wird das entsprechende Programm als Prozess gestartet, und die übergebenen Daten (aus dem URL und dem HTTP-Body) werden auf eine von drei Arten übergeben: als Command-Line- Parameter, über den Standard-Input oder über genau definierte Umgebungsvariablen. Das Programm führt nun seine Aufgaben durch und liefert zuletzt seine Ergebnisse auf eine von zwei Arten an den Web-Server zurück: Als HTML-Dokument mit MIME-Type-Angabe oder als fertige HTTP-Antwort. Im ersten Fall muss der Web-Server noch den HTTP-Header ergänzen, in beiden Fällen erfolgt zuletzt die HTTP-Antwort an den Client, der serverseitige Prozess terminiert, nachdem er seine Daten (über den Standard-Output) an den Web-Server geliefert hat. Karl M. Göschka Seite 12 / 63 WEB v3.2

13 2. Heterogene Clients Clients moderner Enterprise Software Architekturen können auf unterschiedlichste Art unterschieden und kategorisiert werden [4]: Stationary vs. Mobile Clients: Mobile Clients müssen (auch wenn die Protokolle und Zugriffsmöglichkeiten gekapselt sind) unterschiedliche Bandbreiten, Latencies, und Kommunikationskosten berücksichtigen können, und auch auf Ressourcenverbrauch (Akku- Lebensdauer) optimiert werden. Application-specific vs. generic Clients: Während erstere für eine bestimmte Anwendung optimiert werden können, erfordern zweitere eine Beschreibungssprache und Datenstrukturen, unterstützen dann aber eine ganze Klasse von Anwendungen auf eine dem User vertraute Art und Weise. Device-specific vs. Multidevice Clients: Völlige Unabhängigkeit vom Device ist kaum zu erreichen (außer die Abstraktionsebene wird deutlich erhöht), da stets Annahmen hinsichtlich der Ressourcen getroffen werden müssen. Ein vielversprechender Ansatz sind hier die Multidevice Clients, bei denen eine UI Komponente auf verschiedene Zielplattformen abgebildet werden kann (z.b. Windows vs Mac vs Browser vs PocketPC). Widget-based vs. Interaction-based Clients: Stand der Technik sind widget-based Clients, bei denen die Struktur und die Elemente des User Interface definiert sind. Obwohl diese dann noch auf verschiedene konkrete UIs abgebildet werden können, ist die erzielbare Flexibilität doch eingeschränkt dasselbe Widget in ein GUI und in einen Text-to-Speech Synthesizer abzubilden wird nicht immer möglich sein. Bei Interaction-based Clients hingegen, wird eine höhere Abstraktion benutzt und nur die Interaktionen zwischen Benutzer und System beschrieben. Dies auf Kosten eines weiteren Werkzeuges, welches diese Interaktionen dann auf eine konkrete Plattform abbilden muss. Messaging vs. Interactive vs. Rich Call Clients: Hier werden die Clients nach ihrem Kommunikationsverhalten mit dem Server kategorisiert. Messaging Clients (z.b. Client) sind nicht zeitkritisch. Interactive Clients dienen dem unmittelbaren Datenaustausch (z.b. Web Browser) inklusive Streaming. Rich Call Clients sind für Delay-sensitive Kommunikation vorgesehen (VoIP Telephonie, Chat, Video Konferenz). Native GUI Clients vs. Web Clients: Auf diese Unterscheidung wird in weiterer Folge noch genauer eingegangen. Karl M. Göschka Seite 13 / 63 WEB v3.2

14 In diesem Abschnitt wird der Fokus v.a. auf den Web Browser gelegt, wobei ein kurzer Vergleich mit Native GUI Clients angestellt wird. Abschließend werden Mobile Clients vorgestellt um den Unterschied aber auch die aktuellen Integrationsbemühungen mit stationären Web Technologien aufzuzeigen. Als Web-Client kann man jene Clients bezeichnen, die sich des Web-Browsers als Laufzeitumgebung bedienen: Zunächst ist hier HTML gemeint später erweitert um Rich Internet Technologien wie z.b. JavaScript, Java Applets, Ajax, oder Flash. Gliedert man die verschiedenen Varianten in das Gesamt-Konzept der N-Schichten-Architekturen ein, so erkennt man folgenden Unterschied: Java-Applets werden vom Web-Server nur geladen, benötigen diesen danach aber nicht mehr, weil sie i. Allg. nach dem Download eine eigenständige Verbindung zur Geschäftslogik aufbauen. Diese Variante verhält sich technisch also eher wie eine klassische Client-Applikation, wobei einige Einschränkungen zu beachten sind, die in weiterer Folge noch aufgezählt werden. HTML hingegen benötigt den Web-Server während der gesamten Dauer der Session, wobei hinter der HTTP-Protokoll-Maschine (HTTP Daemon) neben statischem Inhalt in Form von HTML-, XHTML- oder XML-Dokumenten bzw. Vorlagen vor allem die Backend- Anbindung relevant ist. In diesem Bereich können z. B. Servlets oder JSP verwendet werden, aber auch Perl, C, PHP oder viele andere. Damit ist aus Sicht der Middleware die gesamte Konstellation bestehend aus Web-Browser, HTTP-Anbindung und Web-Server samt Glue Logic dem Presentation Tier zuzuordnen. Bild 2.1 erläutert diesen Zusammenhang. In den folgenden Abschnitten wird daher zunächst der Web-Client und dessen Probleme genauer betrachtet, danach die Lösungsansätze auf Server-seite und in einem späteren Abschnitt die Erweiterungen, um den Client noch flexibler zu machen. Karl M. Göschka Seite 14 / 63 WEB v3.2

15 Java Applet Web Browser HTML Client HTTP Windows Application Java Application HTTP Daemon Web Server static content and templates: HTML XHTML XML Presentation Tier Distribution Protocol: IIOP, RMI, or proprietary (e.g. DCE) Glue Logic Servlet JSP Business Tier Session Session Session Session Business Logic Distributed Component Based Infrastructure Transaction Manager Persistence Manager Libraries Wrapper/Connector Data Tier Database Access Protocol: JDBC, SQLJ, or proprietary (e.g. SQL*Net) Legacy System proprietary legacy protocol Database Server proprietary legacy protocol Bild 2.1: Zuordnung verschiedener Clients in der N-Schichten-Architektur 2.1. Web Client Aus Sicht der Enterprise Software Architecture ist also die gesamte Konstellation bestehend aus Web-Browser, HTTP-Anbindung und Web-Server samt Glue Logic dem Presentation Tier zuzuordnen. Daraus (und aus den konkret eingesetzten Technologien) ergeben sich gewisse Probleme und Einschränkungen, deren Lösung die Basis für das Verständnis v.a. der Server-seitigen Web Technologien bildet. Daher werden in diesem Abschnitt zunächst die Probleme von HTML mit und ohne Skript-gesteuertem Event-Handling erwähnt, danach werden einige Probleme mit dem HTTP als Verbindung zwischen Browser und Web-Server aufgezeigt. Im nächsten Abschnitt wird dann gezeigt, wie die Glue Logic (CGI, Servlets, JSP) bei der Lösung dieser Probleme unterstützt User Interface: HTML und JavaScript Die Beschränkung auf reines HTML betrifft dabei nicht nur die grafische Darstellung, sondern insbesondere auch die Möglichkeiten der Interaktion: Die einzigen funktionalen Elemente sind der Link (als Text oder Bild), das Formular (bzw. die weitgehend obsolete Karl M. Göschka Seite 15 / 63 WEB v3.2

16 ISINDEX Query) oder eine Imagemap. Jede dieser Interaktionen resultiert in einer HTTP- Verbindung wobei die nächste Seite als gesamtes neu geladen werden muss, weshalb jegliche Funktionalität Server-seitig (d. h. am Application-Server) angesiedelt sein muss. Das liegt vor allem daran, dass HTML nie als User Interface für verteilte Applikationen konzipiert war, aber dennoch heute dafür eingesetzt wird. An weiteren nachteiligen Eigenschaften sind der Mangel an Erweiterbarkeit zu nennen sowie das Fehlen von Event-Handling, insbesonders auch beim Formular (z.b. um eine Eingabe sofort zu prüfen oder abhängig von der Eingabe unterschiedliche weitere Optionen zur Verfügung zu stellen). Derartiges Event-Handling ist auf die oben beschriebenen Interaktionen (Link, Form, Imagemap) beschränkt und muss durch ein vollständiges Neuladen der Seite simuliert werden. Von all den verschiedenen Ansätzen, den Browser flexibler und interaktiver zu gestalten (siehe Abschnitt 4 zu den Rich Internet Technologien), ist JavaScript eine Möglichkeit, vor allem das fehlende Event-Handling zu ergänzen und Kontext-spezifische Aktionen wie z.b. Eingabe-Überprüfungen durchzuführen. Obwohl sich JavaScript als die Client-seitige Skript- Sprache am Web etabliert hat, gibt es manchmal immer noch Kompatibilitätsprobleme mit verschiedenen Versionen, Dialekten und Browsertypen. Jedenfalls sollte eine gute Web- Applikation auch ohne JavaScript zumindest noch funktionieren, da viele Internet-Benutzer diese Funktion auch schlicht und einfach am Browser deaktiviert haben, um potenzielle Security- bzw. Privacy-Probleme zu vermeiden Protokoll: Probleme mit HTTP Das Hypertext Transfer Protocol (HTTP) wirft ein weiteres Problem auf: In einer Standard- Client/Server-Applikation enthalten beide Seiten ihren jeweiligen Zustand (z. B. den Zustand der offenen Transaktion auf der Seite der Datenbank oder den Zustand des GUI auf der Seite des Benutzers), wobei ein zustandsorientiertes Protokoll die beiden Seiten verbindet. Da das Web andererseits niemals als Medium für Client/Server-Applikationen entworfen wurde, ist das HTTP zustandslos, und der Browser selbst kann mit HTML allein auch keinen GUI- 6 Wie bereits erwähnt: Im CERT Advisory CA wird empfohlen, aus Sicherheitsgründen auf die Verwendung jeglicher Skript-Sprachen zu verzichten. Karl M. Göschka Seite 16 / 63 WEB v3.2

17 Zustand speichern 7. Es muss betont werden, dass diese Zustandslosigkeit die Skalierbarkeit des reinen Web-Servers verbessert und daher aus damaliger Sicht auf das ursprünglich gedachte Einsatzgebiet der Web Technologien eine richtige Entscheidung darstellt. Um diesen aus heutiger Sicht Mangel zu überwinden, gibt es zwei Möglichkeiten: Long URL encoding speichert den gesamten Zustand der Sitzung und des GUI in der URL (oder in einem Cookie 8 ). Diese meist codierte Zustandsinformation wird dann bei jeder HTTP- Interaktion zwischen Browser und Server hin- und hergereicht. Für komplexere Anwendungen und insbesonders wenn man persistente Zustandsdaten benötigt ist das aber nicht ideal, in diesem Fall speichert man den Zustand am Server am besten in einer Datenbank und reicht nur noch einen kurzen Identifikator zwischen Browser und Server hin und her (wieder entweder in der URL oder als Cookie). Man nennt diese zweite Methode Short URL encoding. Die zweite Methode zeigt zwar die schlechtere Server-Skalierung, kann aber auch mit Frames benutzt werden. Die erste Methode ist bei Frames problematisch, kann aber dafür mit geringerem Implementierungsaufwand auch ohne Datenbank auf der Server-Seite verwendet werden. Wenn die Zustandsinformation (long oder short) in der URL übergeben wird, bedeutet das weiters, dass in jede HTML-Seite, die vom Server an den Client geschickt wird, in alle Links und alle Formulare diese Information hineincodiert werden muss. Und es bedeutet für den Server, dass er die vollständige Zustandsinformation aller gleichzeitig offenen Sitzungen speichern muss. Egal wie man das Problem der Zustandslosigkeit überwindet einen Nachteil der Verwendung von reinem HTML (und damit HTTP als Protokoll zwischen Browser und Server) muss man dabei in Kauf nehmen: Man kann nie sicher wissen, ob der Benutzer den Geschäftsfall abgebrochen hat (z. B. durch Beendigung des Browsers) oder ob er einfach länger braucht, bevor die nächste Interaktion erfolgt. Man weiß also nie, ob ein Geschäftsfall gewollt oder ungewollt offen ist. Zusätzlich muss man bei Verwendung von reinem HTML Vorkehrungen treffen, um die Übernahme von offenen Verbindungen durch Dritte zu verhindern. Dritte könnten sonst bei 7 Der Browser selbst ist natürlich bezüglich GUI sehr wohl zustandsbehaftet, das erkennt man sofort, wenn man den Back Button benutzt. Der Zustand ist aber für Protokoll und Server unzugänglich. 8 Cookies haben den Nachteil, dass sie vom Benutzer deaktiviert werden können und auch Privacy- Probleme mit sich bringen. Karl M. Göschka Seite 17 / 63 WEB v3.2

18 Kenntnis der URL die Transaktion fortführen. Dieses Security-Problem kann man durch die Verwendung von SSL und codierten URLs weitgehend lösen. Die Einschränkung von Transaktionen auf den Host, von dem sie gestartet wurden, ist wegen der weit verbreiteten Verwendung von Firewalls mit PAT 9 nicht sinnvoll. Man kann die Sicherheit auch durch gleichzeitige zusätzliche Verwendung von Cookies erhöhen, das System sollte aber auch ohne Cookies noch funktionieren. In den meisten praktischen Fällen kann man sich auch mit einem geeigneten Timeout- Mechanismus behelfen, wobei der begonnene Geschäftsfall in diesem Fall aufgerollt wird. Man kann davon ausgehen, dass ein Benutzer, der mitten in einem Geschäftsfall abbricht, diesen ohnehin nicht durchführen wollte. Umgekehrt kann natürlich auch ein Netzwerkausfall daran schuld sein; in diesem Fall verliert der Benutzer leider den offenen Geschäftsfall. Da typische Internet-Geschäftsfälle aber eher kurz sind bzw. kurz sein sollen, kann dieser Nachteil oft durch organisatorische Begleitmaßnahmen überwunden werden, z. B. durch den Versand einer als Bestätigung. Dies bedeutet, dass man seriöserweise klassische Transaktionssicherheit nur von der Datenbank bis zur Middleware garantieren kann. Um dennoch mit HTML-Clients auf transaktionsorientierten Systemen arbeiten zu können, gibt es einen einfachen und sicheren Ansatz: Die Transaktion wird am Application-Server erst dann begonnen, wenn der Geschäftsfall am Client abgeschlossen ist und der Benutzer diesen abschließend bestätigt (single shot transaction). Es wird also am Client gar keine Transaktion geöffnet, sondern die buchungsrelevanten Daten werden in der Zustandsinformation der Session gesammelt. Am Schluss wird dann versucht, im Zuge einer einzigen HTTP-Sitzung die Transaktion am Application-Server zu öffnen und mit den bis dato gesammelten Buchungsdaten durchzuführen. Falls sich in der Zwischenzeit an den zugrunde liegenden Daten etwas geändert hat, muss diese Transaktion natürlich fehlschlagen und der Kunde mit einer entsprechenden Fehlermeldung informiert werden. Dies entspricht im Verhalten einem (sehr) optimistischen Sperrverfahren. Zusammengefasst bedeutet das also keine Bedrohung der Transaktionssicherheit insgesamt, sondern lediglich in manchen Fällen eine etwas andere Handhabung, als das mit zustandsorientierten Protokollen möglich wäre. 9 Port Address Translation Das bedeutet, dass ausgehende Verbindungen über unterschiedliche Ports, manchmal auch über verschiedene IP-Adressen in die Außenwelt geführt werden. Karl M. Göschka Seite 18 / 63 WEB v3.2

19 2.2. Web-Server-Anbindung Im vorigen Abschnitt wurden die Probleme von HTML (v.a. ohne Script Unterstützung) und HTTP erläutert. In diesem Abschnitt wird nun gezeigt, wie die Glue Logic (CGI, Servlets, JSP) den Entwickler von Web-Anwendungen bei der Lösung dieser Probleme unterstützt Verbindung von Web-Server und Middleware: CGI und API Die standardisierte Schnittstelle zwischen einem Web-Server und einer Backend-Applikation ist das Common Gateway Interface, kurz CGI. Für eine Folge von HTTP-Verbindungen ist diese Schnittstelle aber ziemlich ineffektiv, weil jedes Mal ein neuer Prozess erzeugt wird, der seinerseits die Verbindung zur Middleware oder zur Datenbank aufbaut, dann seinen Algorithmus abarbeitet, abschließend alle Verbindungen abbaut und beendet wird. Es gibt grundsätzlich zwei Ansätze, um dieses Problem zu überwinden: 1. Man kann zunächst dafür sorgen, dass mehrere Prozesse auf der Server-Seite aktiv und mit der Middleware bzw. Datenbank verbunden bleiben. Ein Dispatcher ordnet dann die eingehenden HTTP-Requests den aktiven Prozessen zu wie z.b. bei FastCGI Man kann die Anwendungssoftware direkt mit dem Web-Server verbinden bzw. auf den Web-Server (und dessen Informationen vom letzten HTTP Request) zugreifen lassen. Dies kann über proprietäre Schnittstellen passieren (sogenannte Web Server APIs) oder über Standards wie z.b. das Java http Servlet API. Das Verwalten aktiver Prozesse (Punkt 1) ist bei diesen Ansätzen zumeist schon integriert. Arbeitet man mit CGI allein, so muss man folgende Aufgaben als Applikationsentwickler selbst lösen: Lesen der Daten aus Umgebungs-Variablen, Standard-Input, und Command-Line- Parametern. Dekodieren oder Typkonversion der Parameter in geeignete Datenstrukturen. Analog Parsen der benötigten HTTP Header. Session-Handling durch explizites Cookie-Management oder Generierung/Modifikation aller Links durch URL Encoding Erzeugen des Output als Text (entweder nur die HTML Seite oder gleich mit den vollständigen HTTP Headern), der über Standard-Output ausgegeben wird. 10 Karl M. Göschka Seite 19 / 63 WEB v3.2

20 Diese Arbeiten sind natürlich hochgradig repetitiv und dennoch (oder gerade deswegen) sehr anfällig für lästige Fehler. Aus diesem Grund liegt es nahe, diese Aufgaben vom Application Server erledigen zu lassen. Diese Aufgaben können grundsätzlich auf zwei verschiedene Arten angegangen werden: Script-orientiert oder Seiten-orientiert. Diese beiden Arten werden in Folge anhand Ihrer prominentesten Vertreter genauer erläutert Script-basierte Web-Anbindung Bei der Script-basierten Web-Anbindung stellt die Laufzeitumgebung die Request Parameter sowie Datenstrukturen für das Session-Management zur Verfügung. Der Entwickler übernimmt diese Daten im Programm, ruft ggf. die Geschäftslogik oder Datenbank auf, und erzeugt schließlich die resultierende, neue HTML-Seite durch Ausgabe-Anweisungen von Strings. Wir wollen uns hier Java Servlets exemplarisch ansehen, alternative Techniken sind Scriptsprachen wie Perl 11, Python 12, oder Ruby 13. Java Servlets sind Module zur Erweiterung von Web-Servern (bzw. Application-Servern, wie die Verbindung aus Web-Server und Container für die Glue Logic genannt wird) die entsprechende Schnittstellen (Java Http Servlet API) bereithalten. Sie besitzen keine Benutzerschnittstelle und dienen vom Grundgedanken am ehesten als Ersatz für CGI-Skripts, wobei das Servlet im Unterschied zum CGI Script innerhalb des Web Servers im sogenannten Java Web Container ausgeführt wird. Beim Laden wird das Servlet initialisiert, dabei werden die Konfigurationsdaten geladen und eventuelle Hilfs-Threads gestartet. Ein Servlet kann für mehrere aufeinanderfolgende Requests (Session) verwendet werden. Da Servlets multithreaded sein können, darf nicht auf die Synchronisation vergessen werden. Entfernt wird das Servlet nur durch den Garbage Collector der Umgebung, bis dahin arbeitet es auf dem Request-Response-Paradigma beruhende Service-Anfragen ab. Bild 2.2 zeigt ein Beispiel. Damit hat Sun Microsystems (später von Oracle übernommen) eine Möglichkeit geschaffen, Java-Programme auf dem Web-Server ausführen zu können. Servlets werden am ehesten als Glue Logic für Web-Anwendungen eingesetzt, um sie als Gateway zu verteilten, objektorientierten Systemen (oder objektrelationalen Datenbanken) einzusetzen, insbesondere zu Komponenten-Systemen basierend auf Enterprise Java Beans (EJBs). Bild 2.3 zeigt den Karl M. Göschka Seite 20 / 63 WEB v3.2

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung Prof. Dr. Bernhard Schiefer HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm beispiel

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Rechnernetze Übung 12

Rechnernetze Übung 12 Rechnernetze Übung 12 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juli 2011 Sie kennen sicherlich sogenannte Web-Mailer, also WWW-Oberflächen über die Sie Emails lesen und vielleicht

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling Open-Xchange Authentication & Sessionhandling Version Date Author Changes 1.0 28.08.2006 Stephan Martin Initiale Version 1.1 29.08.2006 Marcus Klein Details Authentication via JSON 1.2 04.09.2006 Stephan

Mehr

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1 Vorwort... Einleitung... V VII Einführung... 1 1 Grundlagen... 7 1.1 Dokumentmodelle... 7 1.1.1 Multimedia... 8 1.1.2 Hypermedia... 9 1.1.3 Verteilung... 11 1.2 Geschichte des WWW... 13 1.2.1 Struktur...

Mehr

Technologische Entwicklung von GIS und Internet der letzten Jahre

Technologische Entwicklung von GIS und Internet der letzten Jahre Technologische Entwicklung von GIS und Internet der letzten Jahre 10. Seminar GIS & Internet 10. bis 12. September 2007 UniBwMünchen Dr. Christine Giger Übersicht GIS vor 30 Jahren GIS vor 20 Jahren GIS

Mehr

Online-Publishing mit HTML und CSS für Einsteigerinnen

Online-Publishing mit HTML und CSS für Einsteigerinnen mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

Existierende Systeme I Bibliotheken & Frameworks

Existierende Systeme I Bibliotheken & Frameworks Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen Existierende Systeme I Bibliotheken & Frameworks Von Christian Schneider Paderborn, den 18.06.2004 Übersicht Motivation Dynamische

Mehr

Inhaltsverzeichnis. Zusammenfassung Wydler

Inhaltsverzeichnis. Zusammenfassung Wydler Inhaltsverzeichnis 1 Multitier Anwendungen... 2 2 J2EE Komponenten... 2 2.1 J2EE Design Patterns for Performance... 2 2.1.1 Design Patterns... 2 2.1.2 Session Façade... 2 2.1.3 Data Transfer Object (Value

Mehr

Herzlich willkommen im Modul Informatik Grundlagen

Herzlich willkommen im Modul Informatik Grundlagen Herbstsemester 2010/2011 Herzlich willkommen im Modul Informatik Grundlagen Wirtschaftsingenieurwesen: 1. Semester Dozent: Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Martin Hüsler 1 Ablauf: 1.

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

World Wide Mining mit dem AppDev Studio 2.0

World Wide Mining mit dem AppDev Studio 2.0 World Wide Mining mit dem AppDev Studio 2.0 Frank Rosner Technical Product Management Präsentationsüberblick AppDev Studio die SAS Entwicklungsumgebung Java erobert den Server Andere Möglichkeiten Anwendungsbeispiel:

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

Anwendungsprotokolle: HTTP, POP, SMTP

Anwendungsprotokolle: HTTP, POP, SMTP Anwendungsprotokolle: HTTP, POP, SMTP TCP? UDP? Socket? eingesetzt, um Webseiten zu übertragen Zustandslos Nutzt TCP Client schickt Anfrage ( HTTP-Request ) an Server, Server schickt daraufhin Antwort

Mehr

Java 2, Enterprise Edition Einführung und Überblick

Java 2, Enterprise Edition Einführung und Überblick Universität aiserslautern AG Datenbanken und Informationssysteme Seminar Datenbank-Aspekte des E-Commerce Java 2, Enterprise Edition Einführung und Überblick m_husema@informatik.uni-kl.de Vortragsinhalte

Mehr

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Konzept eines Datenbankprototypen 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Inhalt (1) Projektvorstellung & Projektzeitplan Softwarekomponenten Detailierte Beschreibung der System Bausteine

Mehr

Web-Konzepte für das Internet der Dinge Ein Überblick

Web-Konzepte für das Internet der Dinge Ein Überblick Web-Konzepte für das Internet der Dinge Ein Überblick Samuel Wieland sawielan@student.ethz.ch ETH Zürich Seminar Das Internet der Dinge Historisches Tim Berners-Lee Erster Web-Server Bildquelle: Wikimedia

Mehr

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt -

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt - Herzlich Willkommen! Mit Java ins Web - eine praxisnahe Übersicht 1 Wer bin ich? Michael Behrendt, 21, Nürnberg kurzer Lebenslauf: 1991 Erster Rechner: Commodore C128 1995 Ausbildung zum Datenverarbeitungskaufmann

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Glossar Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Methoden und/oder Eigenschaften, die eine bestimmte Berechnung ausführt, eine Eigenschaft ändert oder eine Methode

Mehr

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Agenda Mobile Agenten allgemein JADE - Java Agent DEvelopment Framework Anwendungsfall

Mehr

Entwicklung und Integration mobiler Anwendungen. Oracle Deutschland B.V. & Co. KG

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG Entwicklung und Integration mobiler Anwendungen Oracle Deutschland B.V. & Co. KG Global Users (Millions) Der Trend ist eindeutig. Trend zu mobilen Endgeräten Wachstum des mobilen Datenverkehrs

Mehr

Angreifbarkeit von Webapplikationen

Angreifbarkeit von Webapplikationen Vortrag über die Risiken und möglichen Sicherheitslücken bei der Entwicklung datenbankgestützter, dynamischer Webseiten Gliederung: Einführung technische Grundlagen Strafbarkeit im Sinne des StGB populäre

Mehr

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

Dynamische Webseiten

Dynamische Webseiten Dynamische Webseiten Seminar Medientechnik 30.06.2003 Dynamische Webseiten 1 Inhalt Allgemeine Funktionsweise eines Webservers Grundgedanke von dynamischen Webseiten Einschub: Dynamische Seitenerzeugung

Mehr

J a v a S e r v l e t s

J a v a S e r v l e t s J a v a S e r v l e t s Eine Einführung (C) J.M.Joller 1 Inhalt Mitgelieferte Bibliothekselemente Überblick Funktionsweise und Architektur Interaktion Resümee (C) J.M.Joller 2 Überblick Was sind Servlets?

Mehr

Web-Technologien und Java-Web-Anwendungen. der große Überblick

Web-Technologien und Java-Web-Anwendungen. der große Überblick Web-Technologien und Java-Web-Anwendungen der große Überblick Literaturtipp: Heiko Wöhr Webtechnologien Konzepte Programmiermodelle Architekturen dpunkt Heidelberg 2004 (c) schmiedecke 07 SE2-2-Java-Web-Anwendungen

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Connection Architecture Teil 3 CICS Transaction Gateway el0100 copyright W. G. Spruth,

Mehr

Grundlagen der WWW- und Dokumenten-Architektur. Robert Strzebkowski TFH Berlin

Grundlagen der WWW- und Dokumenten-Architektur. Robert Strzebkowski TFH Berlin Grundlagen der WWW- und Dokumenten-Architektur Grundlagen der WWW- und Dokumenten-Architektur 1. Die Grundbestandteile vom World Wide Web 2. Das HTTP-Protokoll und 3. Was sind 'URL' und 'URI'? 4. Dynamische

Mehr

Python CGI-Skripte erstellen

Python CGI-Skripte erstellen Python CGI-Skripte erstellen CGI (Common Gateway Interface)... ist eine Schnittstelle, um Scripte im Web bereitzustellen. ist eine Schnittstelle zwischen einem HTTP-Server und ausführbaren Programmen.

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Seminar SS 2000 Enterprise Application Intergration

Seminar SS 2000 Enterprise Application Intergration Seminar SS 2000 Enterprise Application Intergration Web Programming Lifang Chen Betreuer: Marcello Mariucci Juli 2000, Universität Stuttgart Seminar "Web Programming" von Lifang Chen, Juli 2000 Folie 1

Mehr

Apache HTTP-Server Teil 2

Apache HTTP-Server Teil 2 Apache HTTP-Server Teil 2 Zinching Dang 04. Juli 2014 1 Benutzer-Authentifizierung Benutzer-Authentifizierung ermöglicht es, den Zugriff auf die Webseite zu schützen Authentifizierung mit Benutzer und

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Arbeiten im Datennetz der Universität Regensburg

Arbeiten im Datennetz der Universität Regensburg Wiwi-Workshop Uni Regensburg April 2002 Arbeiten im Datennetz der Universität Regensburg - Einführung in HTML, Teil II Arbeiten mit AOLPress - Dr. Wirtschaftswissenschaftliche Fakultät Universität Regensburg

Mehr

Netzwerk Technologien in LabVIEW

Netzwerk Technologien in LabVIEW Netzwerk Technologien in LabVIEW von Dirk Wieprecht NI Germany Hier sind wir: Agenda Agenda Bedeutung des Ethernet für die Messtechnik Ethernet-basierende Technologien in LabVIEW Low Level- TCP/IP Objekt

Mehr

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org> Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen Henning P. Schmiedehausen Turbine - ein berblick Open Source unter Apache License 100% pure Java, Java 2 (JDK 1.2+) Servlet-basiertes

Mehr

Programmieren II. Wie kommen Daten von einem Webserver? Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Programmieren II. Wie kommen Daten von einem Webserver? Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011 Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 23 2 / 23 Wie kommen Daten von einem Webserver? In der Praxis existieren verschiedene Wege, wie ein Server einem Client zu

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Einführung. Internet vs. WWW

Einführung. Internet vs. WWW Einführung Bernhard Plattner 1-1 Internet vs. WWW "the Internet is the entirety of all computers which are interconnected (using various physical networking technologies) and employ the Internet protocol

Mehr

Webengineering II T2INF4202.1. Enrico Keil Keil IT e.k.

Webengineering II T2INF4202.1. Enrico Keil Keil IT e.k. Webengineering II T2INF4202.1 Enrico Keil Keil IT e.k. Übersicht Herzlich willkommen Enrico Keil Keil IT Oderstraße 17 70376 Stuttgart +49 7119353191 Keil IT e.k. Gegründet 2003 Betreuung von kleinen und

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2) 14. URIs Uniform Resource Identifier 14-1 14. URIs Uniform Resource Identifier 14-2 Motivation Das WWW ist ein Hypermedia System. Es enthält: Resourcen (Multimedia Dokumente) Verweise (Links) zwischen

Mehr

Remote Administration von Windows Servern mit Microsoft Terminal Services und OpenSSH

Remote Administration von Windows Servern mit Microsoft Terminal Services und OpenSSH Remote Administration von Windows Servern mit Microsoft Terminal Services und OpenSSH von Dominick Baier (dbaier@ernw.de) und Jens Franke (jfranke@ernw.de) 1 Einleitung Dieses Dokument behandelt die flexible

Mehr

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen IN-Q-My Title Company (Name) / 1 Agenda Firmenübersicht ebusiness Evolution InQMy Application Server Architektur Zusammenfassung

Mehr

Sicherheit in Rich Internet Applications

Sicherheit in Rich Internet Applications Sicherheit in Rich Internet Applications Florian Kelbert 14.02.2008 Seite 2 Sicherheit in Rich Internet Applications Florian Kelbert 14.02.2008 Inhaltsverzeichnis Grundlagen Ajax und Mashups Adobe Flash-Player

Mehr

Schwachstellenanalyse 2012

Schwachstellenanalyse 2012 Schwachstellenanalyse 2012 Sicherheitslücken und Schwachstellen in Onlineshops Andre C. Faßbender Schwachstellenforschung Faßbender 13.01.2012 Inhaltsverzeichnis 1. Abstract... 3 2. Konfiguration der getesteten

Mehr

Schwachstellenanalyse 2013

Schwachstellenanalyse 2013 Schwachstellenanalyse 2013 Sicherheitslücken und Schwachstellen in Onlineshops Andre C. Faßbender Schwachstellenforschung Faßbender 09.01.2014 Inhaltsverzeichnis 1. Abstract... 3 2. Konfiguration der getesteten

Mehr

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs 4. s Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web n und Containern Erstellung einfacher s (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K. Sierra, B. Bates, Head

Mehr

www.ev-forum-westfalen.de/efwm/

www.ev-forum-westfalen.de/efwm/ ZOLLER, Hanspeter 1/18 www.ev-forum-westfalen.de/efwm/ Was bedeuten IP, URL, DNS, HTML, PHP, CMS? Wie logge ich mich ein? Was bewirkt man mit den einzelnen Typo3-Symbolen ('icons')? Wie ändere ich den

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP) Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken Oracle Application Server Oracle Application Server - 1 Gliederung Einführung Oracle Application Server (OAS) Praxis- und Diplomarbeitenverwaltung LiveHTML Kritik Becker,

Mehr

Call Button / HTTP - Systembeschreibung

Call Button / HTTP - Systembeschreibung Call Button / HTTP - Systembeschreibung Detlef Reil, 14.03.2004, zu Call Button, Version 040127, V1.50 Beta! Software System Für die Kommunikation zwischen den Call Buttons und der Applikation war bisher

Mehr

Java Server Pages (JSP)

Java Server Pages (JSP) Überblick über Internet-Technologien Server-Technologien Datenbankkopplung Servlets JSP PHP CGI XML+XSL Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver HTML+Javascript HTML+Applets

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

Browser mit SSL und Java, welcher auf praktisch jedem Rechner ebenso wie auf vielen mobilen Geräten bereits vorhanden ist

Browser mit SSL und Java, welcher auf praktisch jedem Rechner ebenso wie auf vielen mobilen Geräten bereits vorhanden ist Collax SSL-VPN Howto Dieses Howto beschreibt wie ein Collax Server innerhalb weniger Schritte als SSL-VPN Gateway eingerichtet werden kann, um Zugriff auf ausgewählte Anwendungen im Unternehmensnetzwerk

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

NetMan Desktop Manager Quick-Start-Guide

NetMan Desktop Manager Quick-Start-Guide NetMan Desktop Manager Quick-Start-Guide In diesem Dokument wird die Installation von NetMan Desktop Manager beschrieben. Beachten Sie, dass hier nur ein Standard-Installationsszenario beschrieben wird.

Mehr

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 4: EAI und.net, EAI und J2EE Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EAI und....net

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015 PHP MVC. Dr. Christian Senger. PHP MVC 1 von 21

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015 PHP MVC. Dr. Christian Senger. PHP MVC 1 von 21 PHP MVC PHP MVC 1 von 21 Model View Control Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP MVC 2 von 21 Webbasierte Informationssysteme WWW-Browser

Mehr

Version 4.4. security.manager. Systemvoraussetzungen

Version 4.4. security.manager. Systemvoraussetzungen Version 4.4 security.manager Systemvoraussetzungen Version 4.4 Urheberschutz Der rechtmäßige Erwerb der con terra Softwareprodukte und der zugehörigen Dokumente berechtigt den Lizenznehmer zur Nutzung

Mehr

Microsoft.NET und SunONE

Microsoft.NET und SunONE Microsoft.NET und SunONE, Plattformen und Application Service Providing Agenda Einordnung.NET und SunONE Kurzvorstellung Gegenüberstellung Zusammenfassung ASP (Application( Service Providing) ) und Ausblick

Mehr

Dreamwap. Systemanalyse

Dreamwap. Systemanalyse Dreamwap Systemanalyse Änderungskontrolle Version Datum Name Bemerkung 0.1 15.7.2000 P. Troxler Initialversion 0.2 16.7.2000 P. Troxler Neue Tabelle: Kap. 2.1. Vgl. Datenbank Tabellen 0.3 18.7.2000 P.

Mehr

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages Wir automatisieren und optimieren Ihre Geschäftsprozesse DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages Thomas Brandstätter 06.03.2012 www.dccs.at Agenda Theorie Was sind XPages

Mehr

!"# $ % Internet Protokolle: HTTP 1/38

!# $ % Internet Protokolle: HTTP 1/38 !"# $ % Internet Protokolle: HTTP 1/38 1 Themenübersicht Schichtenmodell Gopher /FTP Statistik URL Einleitung Anwendungsablauf Beispiel mit Telnet Request, Response Anfragemethoden header Negotiation Proxyserver

Mehr

Die Cargo Plattform bietet einen sicheren und einfachen Datentransfer mit einem modernen Web- Interface.

Die Cargo Plattform bietet einen sicheren und einfachen Datentransfer mit einem modernen Web- Interface. Die Cargo Plattform bietet einen sicheren und einfachen Datentransfer mit einem modernen Web- Interface. Inhaltsverzeichnis Erste Schritte Anmelden 2 Startseite 3 Dateimanager 4 CargoLink 5 Freigaben 6

Mehr

JSP und Servlet Programmierung

JSP und Servlet Programmierung Seminarunterlage Version: 5.02 Copyright Version 5.02 vom 1. März 2013 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Cloud Computing Deployment Typen: Private cloud Besitzt das Unternehmen Community cloud Gemeinsame Nutzung durch Gemeinschaft Public cloud Öffentliche

Mehr

Peter Sobe Internettechnologien. HTTP Protokoll (1) Hypertext Transport Protocol, größtenteils zum Austausch von Hypertext (HTML, xhtml) benutzt

Peter Sobe Internettechnologien. HTTP Protokoll (1) Hypertext Transport Protocol, größtenteils zum Austausch von Hypertext (HTML, xhtml) benutzt WWW Web basierend auf dem Internet Das Internet war bereits eher als das Web vorhanden, mit verteilten Anwendungen, Dateitransfer, Netzwerk- Dateisystemen (NFS) Web: entstanden durch Vorhandensein des

Mehr

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung 2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1

Mehr

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher 729631 745097 736477 745011 741297 Inhalt Schlussbewertung... 3 Bewertung

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

Mehr

Whitepaper Walkyre Enterprise Resource Manangement

Whitepaper Walkyre Enterprise Resource Manangement Whitepaper Walkyre Enterprise Resource Management Seite 1 Whitepaper Walkyre Enterprise Resource Manangement Stand 15.11.2004 Inhalt 1. Hinweis... 2 2. Grundsätzliches zur Funktionalität... 3 3. Der Walkyre-Client...

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

Sicherheit von Webapplikationen Sichere Web-Anwendungen

Sicherheit von Webapplikationen Sichere Web-Anwendungen Sicherheit von Webapplikationen Sichere Web-Anwendungen Daniel Szameitat Agenda 2 Web Technologien l HTTP(Hypertext Transfer Protocol): zustandsloses Protokoll über TCP auf Port 80 HTTPS Verschlüsselt

Mehr

Client/Server-Programmierung

Client/Server-Programmierung lient/server-programmierung WS 2014/2015 etriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, üro: H- 8404 Stand: 15. Oktober 2015 etriebssysteme / verteilte Systeme

Mehr

Einleitung 11. 1 Von All-in-one-Software zu Webservices 17

Einleitung 11. 1 Von All-in-one-Software zu Webservices 17 316IVZ.fm Seite 5 Dienstag, 22. April 2003 2:31 14 Inhalt Einleitung 11 1 Von All-in-one-Software zu Webservices 17 1.1 Enterprise Application Integration... 17 1.2 SAP-Technologie und -Komponenten...

Mehr

FHZ. Servlets/JSP. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt

FHZ. Servlets/JSP. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt Inhalt 1. Grundlagen 1. Einführung 2. Programmieren für das Web 2. Servlets 3. JSP (Java Server Pages) 4. Beispiel Country 1. Dateneingabe von Benutzer 2. Parameterübergabe 3. Auswerten eines Formulars

Mehr

Client/Server-Systeme

Client/Server-Systeme Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante

Mehr

Installationsanleitung biz Version 8.0.0.0

Installationsanleitung biz Version 8.0.0.0 bizsoft Büro Software A-1040 Wien, Waaggasse 5/1/23 D-50672 Köln, Kaiser-Wilhelm-Ring 27-29 e-mail: office@bizsoft.de internet: www.bizsoft.de Installationsanleitung biz Version 8.0.0.0 Die biz Vollversion

Mehr

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2010 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

Web Application Engineering & Content Management Übungsteil zu 184.209 VU 2.0

Web Application Engineering & Content Management Übungsteil zu 184.209 VU 2.0 Web Application Engineering & Content Management Übungsteil zu 184.209 VU 2.0 Übungsergänzungen zur Vorlesung an der Technischen Universität Wien Wintersemester 2015/2016 Univ.-Lektor Dipl.-Ing. Dr. Markus

Mehr

Internettechnologien

Internettechnologien Internettechnologien Vorlesung für Master-Studierende Geoinformation und -management Sommersemester 2011 Prof. Dr.-Ing. habil. Peter Sobe Fakultät Informatik / Mathematik Dieser Foliensatz basiert z.t.

Mehr

Oliver Zeigermann, Stefan Toth embarc GmbH. Flux Facebooks Beitrag zur UI- Architektur der Zukunft

Oliver Zeigermann, Stefan Toth embarc GmbH. Flux Facebooks Beitrag zur UI- Architektur der Zukunft Oliver Zeigermann, Stefan Toth embarc GmbH Flux Facebooks Beitrag zur UI- Architektur der Zukunft UI-Architektur Warum? User Experience wird wichtiger Rich Client Optionen werden rar Es gibt mehrere Philosophien

Mehr

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Middleware Versuch einer Einleitung Host dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Mainframe enthält vollständige Anwendung Typ. COBOL, C Mainframe contd.! Nachteile! Mainframe ist teuer

Mehr

Java Applet Alternativen

Java Applet Alternativen White Paper Java Applet Alternativen Version 1.0, 21.01.2014 Tobias Kellner tobias.kellner@egiz.gv.at Zusammenfassung: Aufgrund diverser Meldungen über Sicherheitslücken in Java haben in letzter Zeit Browser-Hersteller

Mehr

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel VS3 Slide 1 Verteilte Systeme Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

NEWpixi* API und die Umstellung auf REST. Freitag, 3. Mai 13

NEWpixi* API und die Umstellung auf REST. Freitag, 3. Mai 13 NEWpixi* API und die Umstellung auf REST Fakten NEWpixi* API Technik REST-basierend.NET Webservice IIS Webserver Release 31. August 2013, zusammen mit dem NEWpixi* ELI Release Legacy API und erste NEWpixi*

Mehr