Web-Programmierung (WPR)



Ähnliche Dokumente
C++ im Web mit Tntnet

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

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

1. Integration von Liferay & Alfresco 2. Single Sign On mit CAS

ORACLE Business Components for Java (BC4J) Marco Grawunder

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

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2

Virtuelle Fachbibliothek Ethnologie:

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

HMS. Statistiken mit SAS ins Internet. HMS Analytical Software GmbH - Johannes Lang

Open Source als de-facto Standard bei Swisscom Cloud Services

Softwareentwicklung mit Enterprise JAVA Beans

3. Stud.IP-Entwickler-Workshop 2. Juni 2006 Workshop 3c: Stud.IP-Enterprise-Edition André Noack, Frank Elsner

Java 2, Enterprise Edition Einführung und Überblick

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Unabhängig, investitionssicher, nutzerfreundlich: Open Source für integrale betriebliche IT-Systeme

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

Brownbag Session Grundlagen Virtualisierung Von VM s und Containern

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Tomcat Konfiguration und Administration

Commerce-Anwendungen. Entwicklung von E- Prof. Dr. Susann Kowalski

Entwicklung von Web-Anwendungen auf JAVA EE Basis

OpenSource bei PostFinance Einsatz in der Software Entwicklung. informativ

Michael Flachsel. Das SAN an der TUB. Aufbau und Funktion. 15. November 2007

Website-Verwaltung mit Content Management Systemen

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

Architekturmuster. Übung MSE,

Gliederung. 1. That s Radiant 2. User Interface 3. Rollen 4. Installation 5. Extensions 6. Fazit

Von Kleinen Apps zu Großen Produkten

16.4 Wiederverwendung von COTS-Produkten

Informationstechnik in der Prozessüberwachung und -steuerung. Grundsätzliche Anmerkungen

Zend PHP Cloud Application Platform

Das Content-Management-System OpenCms im Vergleich mit TYPO3 und Joomla. Seminarvortrag von Wolfgang Neuß

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

4D Server v12 64-bit Version BETA VERSION

Softwareentwicklung in der industriellen Praxis

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

BIF/SWE - Übungsbeispiel

Implementierung der neuen Plattform für "Customized Investment Reporting"

Entwicklung einer Plattform für ein sensorgesteuertes, prognosebasiertes Energiemanagement

Application Performance Management. Auch eine Frage des Netzwerkes?

Datenbank-basierte Webserver

Bachelor-/Masterarbeit: ALM-Umgebung für native medical Apps unter Android und ios

Design Patterns 2. Model-View-Controller in der Praxis

Scheduling von Versuchen im Umfeld MDM

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

Architekturleitfaden. Definieren Sie fachliche Komponenten und implementieren Sie Ihre Aufgaben in technischen Schichten

Kurzübersicht Diplomarbeit

Java Enterprise Architekturen Willkommen in der Realität

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

Online Banking System

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

Systemvoraussetzungen

Systemvoraussetzungen

Anwendervortrag auf dem 2. LUGD-Tag am in Frankfurt. Liferay an Bord Portale für Zeppelin

Ein mobiler Electronic Program Guide für Android

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

Portal-Entwicklung mit der Enterprise Portal und der Enterprise Application Platform von JBoss

MULTI-TIER RECHENZENTRUM - EIN DESIGN DER ZUKUNFT? Patrick Pulvermüller

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

MemberWebpart - Installation

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R2: Administration II

Systemvoraussetzungen

ERP-Erweiterungen mit FileMaker

Der Java Server beinhaltet Container für EJB, Servlet und JSP, darüber hinaus unterstützt er diejee 1.3 Version.

Systemvoraussetzungen

Remote Eclipse RCP Management

Migration von Subversion nach Mercurial und Einsatz dezentraler Versionskontrolle in Unternehmen

5. Programmierschnittstellen für XML

Systemvoraussetzungen

Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts. Thorsten Ludewig. Juni 2004

12.4 Sicherheitsarchitektur

Server-centric vs. Client-centric Web Applications. BITKOM Software Summit 2014, Frankfurt

Webbasierte Leittechnik vom Gerät zum System Dr. Michael Unkelbach, Energy Sector, PG LDE1

LOAD BALANCING LASTVERTEILUNG BEI INTERNETANWENDUNGEN

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

SAP NetWeaver Gateway. 2013

Softwaren Engineering I

Christian Kühnel, BMW Group AGILE ENTWICKLUNG VON FAHRERASSISTENZSOFTWARE. AGILE CARS 2014.

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

Worum geht es in diesem Projekt?

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Existierende Systeme I Bibliotheken & Frameworks

Was ist neu in Sage CRM 6.1

Aktuelles zu ECLISO ICN/RC, Mobile und Cloud Live Vorstellung

TYPO3 Slide Lightwerk GmbH

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Konfiguration und Deployment einer hochverfügbaren ADF Anwendung

Referenzen. Application Management. München, Oktober 2015

Microsoft SharePoint 2013 Designer

Datenbankenseminar: SAP Reporting Vergleich ABAP vs. Quick View. Dipl. WiFo Sven Adolph

Vom Konzept direkt ins Cockpit: Optimierte HMI-Entwicklung mittels automatischer Codegenerierung

WLGauge: : Web Link Gauge to Measure the Quality of External WWW Links. Andreas Lübcke

Produktionsfähige Applikationen

Transkript:

Web-Programmierung (WPR) Vorlesung XII. Vergleich Server-Plattformen mailto:wpr@gruner.org 1

Technologien Perl/CGI Einsatzgebiete: Kleine Websites, semiprofessioneller Bereich Pro's: Plattform/Serverneutralität Gute Providerunterstützung Con's Prozesserzeugung = Bottle neck 2

Technologien PHP Einsatzgebiet: Kleine bis mittelgroße Websites Pro's: Schnelle Erlernbarkeit / einfache Handhabung Eignung zur Erstellung von Prototypen Gute Datenbankunterstützung Hohe Plattformneutralität Session Tracking ab PHP4 Con's: Unzureichende Trennung Präsentation u. Code Eigene Modulentwicklung = aufwendig 3

Technologien JavaServlets und JSP Einsatzgebiet: Mittelgroße bis sehr kompexe Websites Pro's: Con's Skalierbarkeit (abhängig vom Servlet Container) Managed Components Einfaches Deployment Saubere Trennung von Präsentation u. Logik möglich Vorteile von Java (Plattformunabhängigkeit, Bibliotheken, open source,...) Anbindung bestehender Applikation Längere Einarbeitungszeit Nicht geeignet für Prototypen 4

Technologien Active Server Pages Einsatzgebiete: mittelgroße bis große WebSites Pro's: Gute Performance, gute Skalierbarkeit Auswahl an Programmiersprachen Nutzung beliebiger COM-Objekte Con's: Unzureichende Trennung von Präsentation u. Code TAG-Definition nicht möglich Interpreter, keine Erzeugung von ausführbarem Code Integration von eigenen Componenten (=>Instabilität) Anmerkung: => Entwicklung.NET-Plattform 5

Kriterium \ Plattform Perl/CGI PHP Servlets/JSP ASP Wartbarkeit + ++ +++++ ++++ Performance + +++ +++++ +++++ Skalierbarkeit + +++ +++++ ++++ Verfügbarkeit +++++ ++++ +++++ +++ Plattformneutralität +++++ +++ ++++ Abstraktionslevel + +++ +++++ ++++ Erweiterbarkeit +++ ++ +++++ ++++ Dokumentation ++++ ++++ +++ +++++ Support +++++ +++++ +++ +++ Tool-Unterstützung + + ++++ +++++!! Möglichkeiten einer Plattform müssen durch geeignete Design- und Architektur- Maßnahmen erst genutzt werden. 6

Kriterien: Wartbarkeit???????????????? 7

Kriterien: Wartbarkeit Wartbarkeit ist abhängig von der Organisationsform Änderungen einer Komponente => keine Änderungen an anderen Komponenten Zielerreichung durch: Modularisierung auf 3 Ebenen: Architektur Design Präsentation 8

Kriterien: Wartbarkeit -> Architektur?????????????? 9

Kriterien: Wartbarkeit -> Architektur Präsentationsschicht Business-Schicht Integrationsschicht Resourcenschicht 10

Kriterien: Wartbarkeit -> Design???????????????? 11

Kriterien: Wartbarkeit -> Design Risiken kapseln Technische Risiken: z.b.: Datenbank Fachliche Risiken: Zukünftige Features => lose Ankopplung dieser Komponenten 12

Kriterien: Wartbarkeit -> Präsentation???????????????? 13

Kriterien: Wartbarkeit -> Präsentation WICHTIG: Strenge Trennung Inhalt und Layout 14

Kriterien: Wartbarkeit -> Staging WebServer Programme DBMS Produktivsystem WebServer Programme DBMS QS-System WebServer Programme DBMS Entwicklungssystem 15

Kriterien: Performance???????????????? 16

Kriterien: Performance Web-Performance Antwortzeit auf den Request eines einzelnen WebClient Kriterien Bandbreite des Netzwerkanschlusses Programmcode Design Architektur! 17

Kriterien: Perfomance-> Architektur Caching WebClient Cache Proxy-Server Cache Web-Server Programme DBMS Cache Docs- Cache Data- Cache Cache 18

Kriterien: Perfomance-> Architektur Pooling Programm Connection-Pool Connection Programm Connection PoolManager Connection Connection DBMS Connection Programm 19

Kriterien: Skalierbarkeit???????????????? 20

Kriterien: Skalierbarkeit Beibehaltung definierbarer Antwortzeiten bei einer zunehmenden Anzahl gleichzeitiger Benutzer Skalierbarkeit => eine Frage der Systemarchitektur Lösungsansätze: Resourcen-Pooling Server-Cluster 21

Kriterien: Skalierbarkeit-> Architektur Clustering Web-Client1 Server-Cluster Server1 Web-Client2 Erster Request Dispatcher Server2 Serverauswahl Weitere Requests Web-Client3 Server3 22

Kriterien: Verfügbarkeit??????????????? 23

Kriterien: Verfügbarkeit Verfügbarkeit des Systems Anforderungen häufig: 99,95 % Heutige Systeme laufen: 24 x 7 h ( 168 h, 10080 s ) => erlaubt: 504s Ausfall in der Woche => ca. 8,4 h im Jahr 24

Kriterien: Verfügbarkeit Lösung: Redundanz Web-Server Appl.-Server DBMS Replikation Web-Server Appl.-Server DBMS Ausgereifte Lösung: Transparent für Client 25

Kriterien: Verfügbarkeit Ausgereifte Lösung: Transparent für Client Session-Failover Übernahme der Session Daten Hauptspeicher Dateisystem Datenbank WICHTIG: Alle Resourcen müssen gedoppelt sein Single Point of Failure 26

Kriterien: Offenheit???????????????? 27

Kriterien: Offenheit Um für zukünftige Entwicklungen vorbereitet zu sein Einsatz von Standards Proprietären Techniken vermeiden => Interoperabilität => Portabilität => Schutz von Investitionen 28

Kriterien: Intergrationsfähigkeit???????????????? 29

Kriterien: Integrationsfähigkeit Anbindung von bestehenden Diensten/Applikationen an eine Web-Applikation Besondere Schwierigkeit bei Systemdiensten Lösungsansatz: Einsatz von Standards Siehe auf Kriterium Offenheit 30

17 Schichtenarchitekturen Client/Server 2 schichtige Archit. Hohe Prozessorlast Hohe Netzlast 3-schichtige Archit. Präsentation Geschäftslogik Daten Kriterium W artbarkeit Performance Skalierbarkeit Verfügbarkeit Plattformneutralität Abstraktionslevel Erweiterbarkeit Dokumentation Support Tool-Unterstützung 31

17 Schichtenarchitekturen Monolitischer Ansatz Request Programm Response 32

17 Schichtenarchitekturen Modularisierung der Logik Request Programm Komponente Response 33

17 Schichtenarchitekturen Modularisierung der Präsentation Request Response Programm Header spezifisch Footer Header Komponente Footer 34

17 Schichtenarchitekturen Model-View-Controller Request Controller Komponente Response View spezifisch Header Footer 35

17 Schichtenarchitekturen Präsentationsschicht Verantwortlichkeiten HTTP-Management Steuerung der Applikation Session Management Zugriff auf Business-Schicht Auswahl und Aufbereitung der Präsentation Standardaufgaben Logging Zugriffskontrolle Validierung von Benutzereingaben 36

Ende der heutigen Vorlesung 37