Client-Server-Webanwendungen



Ähnliche Dokumente
Online-Publishing mit HTML und CSS für Einsteigerinnen

André Maurer Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

Webanwendungen mit Java

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

4D Server v12 64-bit Version BETA VERSION

Anwendungsbeispiel zu XML -MathML

Lokale Installation von DotNetNuke 4 ohne IIS

quickterm Systemvoraussetzungen Version: 1.1

leancom webtime Kurzbeschreibung Zeiterfassung per Intranet

Step by Step Webserver unter Windows Server von Christian Bartl

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Herzlich willkommen im Modul Web-Engineering

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Powermanager Server- Client- Installation

quickterm Systemvoraussetzungen Version: 1.0

SharePoint Demonstration

Einführung Internettechnologien. - Clientseitige Programmierung -

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Updatehinweise für die Version forma 5.5.5

EIDAMO Webshop-Lösung - White Paper

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

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Teamschool Installation/ Konvertierungsanleitung

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

EasyWk DAS Schwimmwettkampfprogramm

Firmware-Update, CAPI Update

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand Copyright

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

CDRServer 2011 / Installationsanleitung Step-by-Step. elcom

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Datenbank-basierte Webserver

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Konfiguration des Internet Explorers 7

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server?

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

Buddy - Algorithmus Handbuch für Endnutzer Stand

Allgemeine Hilfe. Für die Übertragung Ihrer Dateien auf den Server gibt es für Sie zwei Möglichkeiten, bei beiden wird FTP verwendet:

Tritt beim Aufruf ein Fehler aus, so wird eine MessageBox mit dem Fehlercode und der Kommandozeile angezeigt.

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

C++ im Web mit Tntnet

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer


Anleitung zur Updateinstallation von ElsaWin 5.20

e-books aus der EBL-Datenbank

Wie funktioniert das WWW? Sicher im WWW

Applets I. Grundlagen der g Applet-Programmierung

Erstellen eigener HTML Seiten auf ewon

TimeSafe Installationsanleitung mit InfotechStart

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Vorstellung - "Personal Remote Desktop" für (fast) alle Hardwareplattformen und Betriebssysteme

Live Update (Auto Update)

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

PC-Kaufmann Supportinformation - Proxy Konfiguration für Elster

Layoutmodelle. Steffen Schwientek Große Klostergasse Friedberg schwientek@web.de Web :schlaukopp.org

Überprüfung der digital signierten E-Rechnung

SJ OFFICE - Update 3.0

FastViewer v3 bei der TechniData IT-Service GmbH

Anleitung zur Updateinstallation von ElsaWin 4.00

Präsentation Von Laura Baake und Janina Schwemer

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

Softwaren Engineering I

SMARTtill Server mit Manager

Informatik 12 Datenbanken SQL-Einführung

12.3 Mit ein wenig HTML erstellen Sie eine fast dynamische Datenquelle

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Success! Bestellausgabe

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

BlueEvidence Services in Elexis

Prozedurale Datenbank- Anwendungsprogrammierung

Java Enterprise Architekturen Willkommen in der Realität

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

CL-Mini-ABF. Kurzbeschreibung. Installation und Vorbereitung. Stand Ihre HTK-Filiale Michelstadt

Kleines Handbuch zur Fotogalerie der Pixel AG

Existierende Systeme I Bibliotheken & Frameworks

MESONIC WINLine Jahreswechsel. Umstellung des Wirtschaftsjahres SMC IT AG

CADEMIA: Einrichtung Ihres Computers unter Windows

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Planung für Organisation und Technik


OPERATIONEN AUF EINER DATENBANK

Anleitung. Für folgende Produkte: BeoSound 5 / BeoSound 5 Encore / DLNA Client Stereoanlagen

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Transkript:

Vorlesungsreihe Entwicklung webbasierter Anwendungen Client-Server-Webanwendungen Prof. Dr.-Ing. Thomas Wiedemann email: wiedem@informatik.htw-dresden.de HOCHSCHULE FÜR TECHNIK UND WIRTSCHAFT DRESDEN (FH) Fachbereich Informatik/Mathematik Gliederung Komplexe Client-Server-Applikationen Allgemeine Optionen zur Webserveranbindung CGI-Anwendungen DLL s und spezielle Server-Plugins direkter Datenbankanschluß oder spezielle Applikationsserver Optionen der Datenverwaltung Arten der HTML-Generierung gegenwärtig verfügbare Skriptsprachen Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 2 1

Konfiguration komplexer Client-Server-Applikationen Daten befinden sich auf dem Server, räumlich entfernt von den Clients Clients Internet Server Daten Zwei Grundkonzepte bezüglich der Konfiguration komplexerer Anwendungen Die Anwendung erfordert neben den Webseiten entsprechende Anwendungslogik: 1. Konzentration der gesamten Anwendungslogik auf Server, Clientrechner realisiert nur sehr einfache Anzeige und Visualisierungsfunktionen (Thin-Client-Konzept) 2. Anwendungslogik wird auf dem Client realisiert (Fat Client), Server stellt nur Daten(bank)zugriff bereit 3. Mischformen sind möglich und sinnvoll einfache Logik zwecks Plausibilitätsund Fehlerkontrolle auf Client, komplexe Datenbankaktionen auf Server Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 3 CGI Anbindung Grundkonzept : Common Gateway Interface durch HTTP-Server wird ein externes Programm gestartet das Programm übernimmt die Requestparameter vom Server, führt die Datenbankanfrage aus und liefert HTML-Ergebnisdatei zurück an Server bei ersten CGI-Versionen erfolgte der gesamte Datenaustausch per Dateien bei verbesserten Versionen wie FastCGI wird über Systemvariable ausgetauscht Vorteile von CGI: relativ robuste Trennung von Server und Verarbeitungsprogramm Fehler des CGI-Programms beeinflussen den Server kaum jede beliebige Programmiersprache einsetzbar (C, C++, VB, JAVA) Probleme beim Einsatz von CGI-Programmen die mehrstufige Parameterübergabe und das stets notwendige Neustarten des CGI-Programms dauern relativ lange die meisten Server beschränken aus technischen Gründen die Anzahl gleichzeitig laufender CGI-Programme auf eine relativ geringe Zahl (5-10 - 20..) weitere Anfragen werden entweder abgewiesen oder in eine Warteschlange gestellt (schlechte Reaktionszeit) bei hohem Anfrageaufkommen und komplexen Aufgaben ist die CGI- Schnittstelle damit nicht mehr einsetzbar (veraltet) Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 4 2

DLL s oder spezielle Plugins Grundkonzept durch HTTP-Server werden beim Start oder beim ersten Aufruf einer Funktion DLL s oder andere Plugins (bei Unix-Systemen) eingebunden Datenaustausch zwischen Server und DLL erfolgt durch direkten Funktionsaufruf Vorteile : keine Verzögerungen durch Starten, sehr schnell jede Programmiersprache einsetzbar mit der Option für DLL-Generierung (C++,...) gut skalierbar durch parallele Ausführung mehrerer DLL-Instanzen Probleme beim Einsatz von DLL s Fehler in DLL kann Server negativ beeinflussen, da u.u. im gleichen Adreßraum Änderungen bei Entwicklung erfordern Neustart des Servers oder spezielle Funktionen zum Entladen der DLL Debugging von DLL s relativ kompliziert Bewertung: für professionelle Anwendungen sehr gut geeignet Entwicklung aber deutlich aufwändiger als alle anderen Verfahren Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 5 Skriptlösungen Grundkonzept Def. Skriptlösung: Anwendungslogik wird als Sourcecode in Textdateien abgelegt Skripte werden entweder einmalig beim ersten Aufruf und bei jedem Aufruf durch Server über einen Interpreter zur Ausführung gebracht Datenaustausch zwischen Skript und http-server erfolgt über Dateien oder Systemvariable spezielle Servererweiterungen NSAPI für Netscape Server) Serverside API, und ISAPI für Microsoft Information Server (zurückgehender Anteil) Vorteile : durch direkte Ausführung des Quellcodes (kein Compilieren oder Entladen notwendig) sind schnelle Entwicklungszyklen möglich Sourcecodes können auch per FTP auf entfernte Server geladen werden Probleme beim Einsatz von Skriptlösungen bei reiner Interpretation meist Performanceprobleme bessere Leistung durch vorkompilierte Skripte (wie Java-Bytecode) Bewertung: für semiprofessionelle Anwendungen gut geeignet Optimum aus Entwicklungsaufwand und Leistung heute am häufigsten eingesetzte Lösung (siehe Vorlesung PHP ) Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 6 3

Optionen der Datenverwaltung bei Webanwendungen in proprietären Formaten mit eigenen Dateien in Datenbanken mit relationalen oder objektorientierten Schema Vorteile von Datenbanken : im Vergleich zu Dateiablagen mehrfach leistungsfähiger bzgl. Selektion, Einfügen und Manipulieren der Daten standardisierte Schnittstellen (ODBC, Datensprache SQL) fast alle betriebswirtschaftlichen Anwendungen laufen auf Datenbanken (direkte Einspeisung möglich und erstrebenswert! -> der Kunde wird zum Prosument - - d.h. er produziert seinen Konsum-Verwaltungsprozeß selbst ) Nachteile wesentlich aufwendiger (Computerressourcen, notwendige Performance muß ca. 10-fach größer sein bei gleichem Anforderungsvolumen) echte Highspeed-Anwendungen laufen auch heute noch auf Dateibasis oder eigenen, speziellen Datenbankformaten Fazit: Datenbankeinsatz sollte heute bei Neuentwicklungen als Standard definiert werden sinnvoll sind auch Mischformen: bei echter dynamischer Transaktion Ausführung von Datenbankaktionen mit nachfolgender Aktualisierung statischer Seiten (sinnvoll bei Anzahl_Lesezugriffe >> Anzahl_ Schreibzugriffe ( vgl. Ebay!!) ) Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 7 Prinzipielle Datenbankanbindung mit Skriptlösungen Prinzipieller Ablaufe einer Datenbankabfrage Aufruf einer Skriptseite oder HTML-Seite mit spez. Tags, diese öffnen eine Datenbank oder andere Datenquelle und führen eine Abfrage aus :...Name_ODBC_Datenquelle=Adressen, Paßwort=... SQL_Statement= SELECT Name,Adresse,Umsatz From Adressen Where Umsatz > %Umsatzabfragewert% <!-KOPF>Name Adresse Umsatz <!-/KOPF> <!-DETAILS><td>#Name# </td><td>#adresse# </td><td> #Umsatz# </td>... Das Skript ersetzt die %..%-Platzhalter durch die Anfrageparameter und führt diese Abfrage auf der Datenbank aus. SELECT Name1, Adresse, Umsatz From Adressen Where Umsatz>10000 bindet die DB-Daten statt der Platzhalter in eine HTML-Tabelle mit N-Zeilen ein N*... <td>lehman KG </td><td> 52070 Aachen </td><td> 150.000 DM</td> Anzeige im Browser Name Adresse Umsatz Meier GmbH 10132 Berlin 110.000 DM Lehman KG 52070 Aachen 200.000 DM... Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 8 4

HTML-Generierung aus Datenbankdaten Zwei Arten der HTML-Erzeugung : a.) innerhalb einer HTML-Datei (=Template / Schablonendatei) werden Platzhalter definiert, welche später durch DB-Schnittstelle durch Daten ersetzt werden b.) durch Programmcode wird ein HTML-Texte erzeugt Typ A günstig für stark layoutorientierte Ausgaben, da Einsatz von HTML-Tools Tools möglich Rohdaten aus der Datenbank Typ B sinnvoll für sehr komplexe Programmieraufgaben, welche in das relativ starre Templatekonzept nicht integrierbar sind <HTML>.. Standard-HTML-Kopf <BODY>... Info zur Anfrage... %DETAIL% Die Firma %Name% aus %Adresse% hat einen Umsatz von %Umsatz%. %/DETAIL%... Fußteil.. Statistik -Anzahl Treffer =... </BODY> </HTML> HTML-Ergebnisdatei (auch mit weiteren Links oder Verzweigungen) Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 9 1 x N-mal 1 x Verfügbare Skriptsprachen PHP - schnell einsetzbare und sehr leistungsfähige Skriptsprache (-> VL) JAVA : für größere Projekte große Bandbreite von Client-Programmierung (Applets Javascript Ajax) bis zur Enterprise-Applikationsprogrammierung ASP.NET : sind an MS-Technologien (IIS, Windows) gebunden, bei Nutzung von spezifischem MS-Code (.NET) notwendig! PERL : relativ komplex, da für allgemeine Programmieraufgaben entwickelt, (PHP entstand ursprünglich als eine Sammlung von PERL-Skripten) Schwerpunkt auf größere Textmanipulationen und Batch-Verarbeitung in UNIX Cold FUSION : - Middleware mit eigener Markup-Lang. (CFML), gegenwärtig durch Adobe (nach Allaire und Macromedia) in Entwicklung (kein Opensource) Ruby - interpretierte, objektorientierte Programmiersprache mit mehreren Programmierparadigmen, bis 2000 nur im asiatischen Raum, gegenwärtig starke Verbreitung auch in Europa/USA Python Interpreter auf C-Basis für die objektorientierte, aspektorientierte und funktionale Programmierung (auch als universelle Programmiersprache ->100$PC) Weitere Optionen : Grails (Ruby-Konzept unter Groovy unter Java ),... Entwicklung webbasierter Anwendungen - Prof. T.Wiedemann - HTW Dresden - Folie 10 5