Technische Universität Dresden

Größe: px
Ab Seite anzeigen:

Download "Technische Universität Dresden"

Transkript

1 Technische Universität Dresden Fakultät Informatik Lehrstuhl Rechnernetze Diplomarbeit Architektur und Design einer Webanwendung für die Finanzbuchhaltungssoftware MoRIS mit Bereitstellung eines Prototypen Vorgelegt von: Martina Burghagen Betreuender Hochschullehrer: Prof. Dr. habil. A. Schill Betreuer: Dr.rer.nat. D. Gütter Erstellt bei: Systema Systementwicklung GmbH Betreuer im Unternehmen: Dipl.-Inf. M. Ertelt Bearbeitungszeit: 01. Dezember 2006 bis 31. Mai 2007

2 Danksagung Ich bedanke mich für die Unterstützung bei Roland, meiner Familie und Rachel. Ferner danke ich der Firma Systema Systementwicklung für die Betreuung meiner Diplomarbeit. ii

3 Inhaltsverzeichnis 1 Einleitung 1 2 Anforderungen Sicherheit der Anwendung Sichere Datenübertragung Maßnahmen für die Erweiterbarkeit und Wartbarkeit der Anwendung Entwurfsmuster für Webanwendungen Wiederverwendung Client-Server-Architekturen Client-Server-Architekturen und ihre Klassifikationen Die 2-Tier-Architektur Die 3-Tier-Architektur Tier- und N-Tier-Architekturen Client-Server-Architekturen und ihre Technologien Vergleich von Technologien Clientseitige Technologien Serverseitige Technologien Vergleich ausgewählter Technologien ASP.NET Java PHP PERL Gegenüberstellung Ajax Die Entwicklung des Prototyps Die Ausgangssituation Die Bewertung der MoRIS-Architektur iii

4 INHALTSVERZEICHNIS 5.3 Die Anforderungen Alternative Realisierungen Die Entwurfsentscheidungen Der Entwurf Implementierung Der Webclient Die Bibliotheken SSL Caching Der Test Erweiterungen und Optimierung Mögliche Weiterentwicklung von MoRIS Die serviceorientierte Architektur Mashups Software-As-A-Service Multi-Tenant-Architektur Zusammenfassung 79 8 Fazit und Ausblick 81 A Verzeichnisse 83 Literaturverzeichnis Abbildungsverzeichnis Tabellenverzeichnis B CD 90 iv

5 Kapitel 1 Einleitung Das Internet hat in den letzten Jahren kontinuierlich an Bedeutung gewonnen. Stetig wachsende Nutzerzahlen weltweit haben zu einer rasanten Entwicklung der Internettechnologien geführt. Innerhalb von ein paar Jahren wurden schlichte HTML-Seiten durch komplexe Webanwendungen ersetzt. Die Möglichkeiten sind beinahe unbegrenzt: online-banking, online-shopping, online telefonieren, um nur ein paar zu nennen. Eine solche Entwicklung kann viele Vorteile bieten: In vielen Bereichen können Kosten durch Onlinevermarktung eingespart werden. Neue Geschäftsfelder werden erschlossen und unternehmensspezifische Prozesse können vereinfacht und beschleunigt werden. Bei einer Webanwendung muss Software nicht lokal installiert werden, wodurch sie plattformunabhängig wird, da der Zugriff über den Browser stattfindet. Die Wartung und die Aktualisierung von Daten kann zentral durchgeführt werden. Durch die zentrale Administration ist es einfacher Daten konsistent zu halten und zuverlässige Backups zu erstellen. Es können Datenbanken, Legacy- 1, und andere Systeme eingebunden werden. 1 Legacy-Systeme sind ältere und etablierte Softwaresysteme, die durch langjährigen Einsatz in einem Unternehmen gewachsen sind. Sie werden meistens beibehalten um Ausfallrisiken und Umstellungskosten zu vermeiden. 1

6 Die Liste der Vorteile ist beachtlich und kann noch weiter geführt werden. Trotzdem gibt es auch Nachteile. Die Performance der Anwendung kann sich verschlechtern, da mehr Hintergrundprozesse arbeiten, die eine Laufzeitverlängerung bewirken können. Eine Nutzung der Anwendung ohne Internetverbindung ist nicht mehr möglich. Unterschiedliche Browser können, abhängig von den verwendeten Technologien, in der Darstellung und im Verhalten variieren. Durch die verteilte Architektur der Anwendung steigen die Sicherheitsrisiken. Um eine geeignete Architektur und die dazugehörenden Technologien für eine Webanwendungen bestimmen zu können, müssen die Anforderungen herausgearbeitet und Vergleiche durchgeführt werden. Diese Arbeit hat das Ziel verschiedene Realisierungsmöglichkeiten zu diskutieren. Das nächste Kapitel beschäftigt sich mit den Anforderungen an eine Webanwendung. Dazu gehören in erster Linie Anforderungen an die Sicherheit. Gerade wenn private Daten über das Internet übertragen werden ist es wichtig, dass entsprechende Schutzmaßnahmen ergriffen werden. Dabei geht es darum, die Gefahren zu analysieren und die Schutzmaßnahmen zu bestimmen. Weitere Anforderungen sind die Wartbarkeit und Erweiterbarkeit. Um diesen Anforderungen gerecht zu werden spielt der Entwurf der Anwendung eine wichtige Rolle. Das dritte Kapitel stellt sich mit Client-Server-Architekturen vor. Für die Realisierung einer Webanwendung können verschiedene Verteilungsmodelle gewählt werden. Zusätzlich werden die einzelnen Technologien vorgestellt, die in diesem Bereich ihren Einsatz finden. Das darauf folgenden Kapitel diskutiert die einzelnen Technologien. Die clientseitigen und die serverseitigen Technologien werden miteinander verglichen, um entsprechend den Anforderungen, die geeignetste Technologie auswählen zu können. 2

7 Das fünfte Kapitel stellt den, im Rahmen dieser Arbeit, entwickelten Prototypen vor. Dabei soll zuerst die aktuelle Architektur der Anwendung, wie sie momentan in der Firma Systema GmbH vorliegt, analysiert und kritisch bewertet werden. Nachdem die Anforderungen an den Prototyp kurz skizziert wurden, wird der Entwurf dargestellt, der die Entscheidungen in der Umsetzung aufzeigt. Zusätzlich werden noch die Implementierung und der Test erläutert. Am Ende werden Optimierungsmöglichkeiten und Erweiterungen angesprochen. Das letzte Kapitel diskutiert die Weiterentwicklung von Moris. Dabei werden verschiedene Konzepte vorgeschlagen. Dazu gehören zum einen, Möglichkeiten der Umstrukturierung der Architektur und zum anderen Möglichkeiten für den Vertrieb der Software. 3

8 Kapitel 2 Anforderungen Es ist schwierig genau zu bestimmen, welche Anforderungen eine gute Software erfüllen muss. Zumindest aber sollte sie den Kunden zufrieden stellen und fehlerfrei sein. Um eine fehlerfreie Software zu produzieren spielen Softwaretests eine große Rolle und in der Regel nehmen sie eine große Zeitspanne in der Projektplanung in Anspruch (siehe Abschnitt 5.7.5). Die Tests werden jedoch nach der Entwicklung durchgeführt. Bereits während der Entwicklung müssen Maßnahmen für die Erweiterbarkeit und Wartbarkeit der Anwendung getroffen werden. Für Webanwendungen kommen als weitere Fehlerquelle Sicherheitslücken hinzu, die im Folgenden näher erläutert werden. 2.1 Sicherheit der Anwendung Es gibt viele verschiedene Angriffsmethoden bei Webanwendungen. Um sich effektiv gegen Angriffe zu schützen müssen die Angriffe analysiert und deren Zweck bestimmt werden. Auf dieser Basis können Schutzmaßnahmen, mit denen das Risiko eines Angriffs reduziert werden kann, erarbeitet werden. Microsoft hat eine Klassifizierung für die Sicherheit von Webanwendungen, namens STRIDE entwickelt (vgl. [JM03]). STRIDE ist ein Acronym von Microsoft und steht für: Spoofing, Tampering, Repudiation, Information Disclosure, Denial-of-Service, Elevation of Privilege. Spoofing (Verschleierung): Bei dieser Bedrohung täuscht der Angreifer eine falsche Identität vor. Dadurch kann er unerlaubt Zugriff zum System erlangen. Hat der Angreifer erst einmal 4

9 2.1 Sicherheit der Anwendung Zugriff zum System erhalten, kann er weitere Angriffe starten. Auf Netzwerkebene funktioniert das Spoofing, in dem der Angreifer seine Pakete mit einer falschen Quelladresse versieht. Als Gegenmaßnahme kann ein Filter eingebaut werden, der eingehende und ausgehende Pakete filtert und damit Pakete, die erkennbar manipuliert wurden, blockiert. Tampering (Verfälschung): Beim Tampering verändert der Angreifer unerlaubt Daten. Einem solchen Angriff kann durch Daten-Hashing und -Signaturen begegnet werden, die dafür sorgen, dass unbefugt veränderte Daten schnell erkannt werden. Eine sichere Autorisierung und eine sichere Verbindung mit fälschungssicheren Protokollen gewährleisten den Schutz von Anmeldedaten. Repudiation: (Ablehnung) Bei dieser Bedrohung leugnet der Angreifer das Durchführen einer Aktion. Hier helfen sichere Überwachungslisten und digitale Signaturen, denn sie sind eindeutige Beweise für das Durchführen einer Aktion. Information Disclosure (Aufdeckung von Informationen): Bei dieser Bedrohung gelangt der Angreifer an Informationen für deren Einsicht er keine Berechtigung besitzt. Ein Angriff wird durch das Abfangen von Datenpaketen zwischen Client und Server oder durch das Scannen von Netzwerkgeräten, die dem Angreifer Aufschluss über Systemeigenschaften geben können, möglich. Mit einer geeigneten Systemkonfiguration kann ein solcher Angriff verhindert werden. Alle Protokolle, die nicht benötigt werden, sollten deaktiviert sein und eine Firewall sollte nicht benötigte Ports sperren. Denial-of-Service (Dienstversagen): Bei dieser Bedrohung sorgt der Angreifer dafür, dass eine Anwendung oder ein System nicht mehr verfügbar ist. Dabei wird die Anwendung mit so vielen Anforderungen konfrontiert, dass eine Überlastung eintritt. Das führt dazu, dass die Anwendung keine regulären Anfragen mehr entgegen nehmen kann. Um die Gefahr von Denial-of-Service-Angriffen zu verringern kann ein Netzwerksystem zur Erkennung von Eindringversuchen verwenden werden. Gleichzeitig sollten Techniken verwendet werden, die Ressourcen und Bandbreite schonen. Elevation of Privilege (Erhebung der Rechte): Bei dieser Bedrohung nimmt der Angreifer eine Identität an, mit der er mehr Rechte auf dem System besitzt als mit der eigenen. Um das Risiko eines solchen Angriffs zu reduzieren, sollten alle Konten mit so wenig Rechten wie möglich 5

10 2.1 Sicherheit der Anwendung ausgestattet werden. Es gibt unzählige verschiedene Arten von Angriffen. Nicht jeder Angriff kann genau einer Bedrohung zugeordnet werden. Oft ist ein Angriff Vorbereitung für den Nächsten. Angriffe können sich jedoch gegen verschiedene Bereiche richten, gegen das Netzwerk, gegen den Host, das heißt gegen die Systemsoftware, auf der die Anwendung läuft oder gegen die Anwendung selbst.[ss06] Netzwerkebene: Beim Sniffing überwacht der Angreifer den Datenverkehr im Netzwerk, um an unverschlüsselte Daten oder Konfigurationsinformationen zu gelangen. Gegenmaßnahme: Datenverschlüsselung Bei Sitzungsübernahme auch Man-in-the-Middle-Angriff genannt schaltet sich der Angreifer in die Server-Client-Kommuniaktion ein. Dadurch kann er Nachrichten abfangen oder manipulieren. Gegenmaßnahme: Datenverschlüsselung Hostebene: Computerviren, Trojanische Pferde und Computerwürmer. Gegenmaßnahme: Virenscanner Netzwerkgeräte können einem Angreifer Aufschluss über Systemeigenschaften geben. Diese Vorgehensweise nennt sich Footprinting. Ein Beispiel sind Port-Scans. Hier sucht der Angreifer nach offenen Ports bei einem Router. Über die offenen Ports können weitere Angriffe gestartet werden. Gegenmaßnahme: Alle nicht benötigten Ports sperren. Anwendungsebene: Eine SQL-Injektion kann dann stattfinden, wenn aus einer Benutzerangabe eine SQL-Abfrage generiert wird, die dann ohne entsprechende Prüfung ausgeführt wird. Auf diese Weise kann ein Angreifer SQL-Abfragen einschleusen, die dann ungewollt von der Anwendung ausgeführt werden. Gegenmaßnahmen: Überprüfung der Nutzereingaben. Ein Pufferüberlauf kann dann stattfinden wenn die Anwendung auf eine Benutzereingabe wartet. Wenn die Eingabe vom Benutzer größer ist als der 6

11 2.2 Sichere Datenübertragung reservierte Speicherplatz des Puffers dann läuft der Puffer über. Dadurch können unter Umständen Befehle eingeschleust und Anwendungsdaten beschädigt werden. Gegenmaßnahmen: Überprüfung der Nutzereingaben. 2.2 Sichere Datenübertragung Daten müssen während der Übertragung im Internet geschützt werden. Das wird durch die Verschlüsselung der Daten erreicht. Das am weitesten verbreitete Protokoll ist SSL, die Secure Socket Layer. Die Erweiterung von SSL nennt sich TLS, Transport Layer Security. SSL arbeitet oberhalb der Transportschicht 2. Da SSL unabhängig von den darüber liegenden Protokollen ist, kann es flexibel eingesetzt werden, zum Beispiel in Verbindung mit HTTP, FTP und SMTP. Eine Alternative zu SSL ist SHTTP, ein sicheres Nachrichten-orientiertes Kommunikationsprotokoll, welches HTTP um kryptographische Funktionen erweitert. Jede Nachricht kann durch digitale Unterschriften, Datenverschlüsselung und Authentifizierung geschützt werden. Im Weiteren können die einzelnen Mechanismen beliebig kombiniert werden. Im Gegensatz zu SSL ist SHTTP auf der Anwendungsebene angesiedelt. Dadurch ist es weniger flexibel als SSL. SSL kapselt alle Sicherheitsdienste in der Transportschicht. Da es eine sichere Verbindung aufbaut und nicht einzelne Nachrichten verschlüsselt ist es unabhängig und kann bei verschiedenen Anwendungen verwendet werden. Dadurch ist SSL in seinen Anwendungsmöglichkeiten sehr flexibel. SHTTP wiederum bietet die Möglichkeit mehr Einfluss auf die kryptographischen Mechanismen auszuüben. Obwohl beide Protokolle im Design und ihren Zielen sehr unterschiedlich sind und dadurch auch gleichzeitig verwendet werden können hat sich SSL gegenüber SHTTP durchgesetzt (siehe [Hei07] und [Lüp05]). 2 Die Transportschicht ist die vierte Schicht des Osi-Modells zur Datenübertragung. Sie bietet den anwendungsorienterten Schichten einen einheitlichen Zugriff, so dass diese nicht auf die Eigenschaften der Kommunikationsnetze eingehen müssen. 7

12 2.3 Maßnahmen für die Erweiterbarkeit und Wartbarkeit der Anwendung 2.3 Maßnahmen für die Erweiterbarkeit und Wartbarkeit der Anwendung Bei Softwareprojekten, die einen gewissen Umfang überschreiten, spielt die Strukturierung der Software eine wichtige Rolle. Diesen Vorgang können Entwurfsmuster unterstützen Entwurfsmuster für Webanwendungen Ein Muster beschreibt ein Problem das regelmäßig auftritt und bietet dazu eine Lösung an. Dadurch ist es möglich Erfahrungen in objektorientierter Softwareentwicklung festzuhalten und weiterzugeben. Der Einsatz von Entwurfsmustern bietet viele Vorteile. Durch die Abstraktion lassen sich Probleme und vor allem ihre Lösungen gut dokumentieren und vergleichen. Es ist leichter sich in eine bestehende Software einzuarbeiten, wenn Entwurfsmuster verwendet wurden, da die Muster schnell erkannt werden und der Programmierer dadurch die Zusammenhänge schneller erfasst. Entwurfsmuster können in drei Kategorien unterteilt werden. Erzeugungsmuster: Diese Entwurfsmuster erzeugen Objekte. Dabei wird die Objekterzeugung gekapselt und ausgelagert. Strukturmuster: Diese Entwurfsmuster beschreiben wie Gruppen von Objekten in größere Strukturen eingeordnet werden können. Hier kann nochmal zwischen Klassenmustern und Objektmustern unterschieden werden. Wobei die Klassenmuster mit Vererbung arbeiten, das heißt durch Vererbung zwischen den Klassen wird eine Struktur aufgebaut und Schnittstellen definiert. Objektmuster beschreiben wie Objekte zu großen Strukturen kombiniert und zusammengefasst werden können. Das kann zum einen durch Komposition realisiert werden zum anderen durch die Verschachtelung von Objekten. Verhaltensmuster: Diese Entwurfsmuster helfen dabei die Kommunikation und Interaktion zwischen Objekten oder Klassen zu definieren sowie den Kontrollfluß in komplexen Programmen zu bestimmen. 8

13 2.3 Maßnahmen für die Erweiterbarkeit und Wartbarkeit der Anwendung Es gibt noch andere Kategorien von Mustern, die jedoch nicht zu den Entwurfsmustern gezählt werden. Die Architekturmuster sind im Gegensatz zu den Entwurfsmustern allgemeiner, das bedeutet sie besitzen eine höheren Abstraktionsgrad. Der Grundaufbau der Anwendung wird in Form einer allgemeine Strukturierung beschrieben. Das Idiom wiederrum besitzt einen geringeren Abstraktionsgrad als das Entwurfsmuster. Idiome sind programmiersprachenspezifisch und beschreiben die Implementierung von speziellen Entwurfsaspekten. Zuletzt gibt es die Anti-Muster oder auch Negativmuster genannt. Sie geben darüber Aufschluss wie ein Problem nicht gelöst werden sollte. (vgl.[gol02] und [EG04]) Es gibt eine sehr große Anzahl von Mustern für die verschiedenartigsten Situationen. Im folgenden sollen ein paar Muster die speziell bei Webanwendungen ihren Einsatz finden vorgestellt werden Das Model-View-Control-Muster Abbildung 2.1: Das Model-View-Control-Muster Das Model-View-Control-Muster, kurz MVC ist ein Muster bei dem die Einordnung Schwierigkeiten bereitet. Da es sehr allgemein gehalten ist wird es von vielen Entwicklern bereits zu den Architekturmustern gezählt. Es wird meist bei komplexen Anwendungen verwendet, bei denen große Datenmengen verwaltet und auf verschiedene Art und Weise angezeigt werden. Das Ziel ist es, die Daten und ihre Präsentation zu trennen. Um diese Trennung zu gewährleisten gibt es die Steuerung, die zwischen beiden Bereichen vermittelt. Damit ergibt sich eine Dreiteilung. Das Datenmodell enthält die Daten, die Präsentation ist für die Beschaffung der Daten aus dem Datenmodell und ihre Darstellung verantwortlich 9

14 2.3 Maßnahmen für die Erweiterbarkeit und Wartbarkeit der Anwendung und die Steuerung reagiert auf Ereignisse, verwaltet Sichten und kann Änderungen im Datenmodell herbeiführen. Das Model-View-Control-Muster wird häufig für Webanwendungen verwendet, mit den HTML-Seiten als Präsentation, dem Anwendungscode als Steuerung und der Datenbank als Datenmodell. Datenmodell Präsentation Steuerung ASP.NET Data Set ASPX/ASCX Dateien Code-Behind-Classes Java Entity Beans Java Server Page Java Servlet Tabelle 2.1: Umsetzung des Model-View-Control-Muster in Java und ASP.NET Bei Java gibt es verschiede Möglichkeiten das MVC-Muster zu implementieren. Eine Variante wird mit Entity Beans, Java Server Pages und Java Servlets realisiert, wie in der Tabelle 2.1 angezeigt. Das Pendant dazu in ASP.NET sind das Data Set, die ASPX/ASCX Dateien und die Code-Behind-Klassen (siehe Abschnitt 5.7). Zur Unterstützung während der Entwicklung werden häufig MVC-Frameworks eingesetzt. Beispiele dafür sind Struts oder WebWork für Java und für ASP.NET das.net Framework. MVC-Frameworks gibt es jedoch auch für andere Sprachen. Für Scriptsprachen wie zum Beispiel Ruby, Phyton, Perl und PHP gibt es MVC-Frameworks die ähnliche Eigenschaften wie die Java Frameworks oder das.net Framework besitzen. Dazu gehören Nitro und Ruby on Rails für Ruby, Django und TurboGears für Phyton, Catalyst für Perl und CakePHP, Symfony und PHPOnTrax für PHP. Das MVC Pattern beschreibt eine Architektur mit einer Dreiteilung in Datenmodell, Präsentation und Steuerung. Für die praktische Umsetzung ist es wichtig die Steuerung so zu entwerfen, dass sie Flexibilität und Wiederverwendbarkeit ermöglicht und Codewiederholungen vermeidet. Bei Webanwendungen wird häufig der Page-Controller eingesetzt, der mit Vererbung arbeitet. Diejenigen Funktionen, die von mehreren Seiten benötigt werden, kommen in eine Basisklasse. Alle Klassen, die die Funktionen der Basisklasse benötigen erben von dieser. Dadurch wird eine Codewiederholung vermieden. Bei sehr komplexen Anwendungen kann jedoch eine Hierarchie von Basisklassen entstehen, die sehr unübersichtlich und schwer zu pflegen ist. Hier kommt der Front-Controller zum Einsatz. Dieser besteht aus einem Handler und einer Hierarchie aus Befehlen. Der Handler erhält die HTTP-Anfrage und 10

15 2.3 Maßnahmen für die Erweiterbarkeit und Wartbarkeit der Anwendung bestimmt aus ihren Parametern den aufzurufenden Befehl, der dann die Anfrage weiterbearbeitet. Das Befehlsobjekt wird bei jedem Aufruf neu instantiiert, wodurch die Thread Sicherheit der Anwendung gewährleistet wird Contract First Design Bei der Entwicklung größerer Softwaresysteme wird die Logik in Module bzw. Komponenten unterteilt. Dadurch entstehen Abhängigkeiten zwischen den Komponenten, die ohne sorgfältige Planung schnell unhandlich und unverständlich werden. Das Contract First Design, welches man als Entwurfsstrategie oder Architekturmuster bezeichnen kann, versucht dem entgegen zu wirken. Es sieht vor, dass für jede Komponente zu Beginn des Entwicklungsprozesses ein Vertrag definiert wird. Der Vertrag definiert die Schnittstelle der Komponente und enthält lediglich Interfaces und Datentypen. Die Implementierung des Vertrags erfolgt als Black Box. Die Ziele sind eine gute Wart- und Testbarkeit durch die eindeutige Spezifikation und eine gesteigerte Produktivität und Verständlichkeit durch die Black Box Entwicklung. Abbildung 2.2: Contract First Design Die Komponenten können parallel entwickelt werden und die Implementierung der Verträge kann jederzeit ausgetauscht werden. Durch die Entkoppelung der Einheiten werden die Abhängigkeiten reduziert und eine dienstorientierte Sicht erzwungen.[sie02][sie04] 11

16 2.3 Maßnahmen für die Erweiterbarkeit und Wartbarkeit der Anwendung Der Page Cache Der Cache ist ein Puffer-Speicher zum Speichern der Daten, die häufig benötigt werden. Der Page Cache wird hauptsächlich im Zusammenhang mit Webanwendung als Entwurfsmuster bezeichnet. Um einen schnelleren Zugriff zu ermöglichen wird eine Kopie der benötigten Daten im Cache abgelegt, der um einiges kleiner ist als der Hauptspeicher. Daraus resultiert eine Verringerung der Zugriffszeit und der Anzahl der Zugriffe auf den Hauptspeicher, welches für Webanwendungen von großer Wichtigkeit sein kann. Abbildung 2.3: Page Cache Die Abbildung 2.3 zeigt wie die Server, Datenbank und Cache in Verbindung stehen. Bei einer hohen Anzahl konkurrierender Zugriffe liegt eine große Last auf dem Server, vor allem auf der Datenbank. Das liegt vor allem daran, dass viele Darstellungselemente sich selten oder gar nicht ändern, aber protokollbedingt neu aufgebaut werden müssen. Solche Elemente müssen identifiziert und zwischengespeichert werden. Die Effizienz steigert sich, da die Daten nicht erst auf der Festplatte gesucht oder neu berechnet werden müssen, sondern bereits im Cache liegen und somit zum Abruf bereitstehen. Es ist möglich ganze Seiten im Cache zu halten, Teile von Seiten, oder einzelne Objekte. Um eine geeignete Cachingstrategie zu entwerfen müssen verschiedene Parameter bestimmt werden. Dazu gehört die Größe der Speichereinheiten und das Indexing. Das Indexing definiert wie die Informationen im Cache lokalisiert werden. Eine Identifikation der Seite kann über die URL der Ressource oder über bestimmte Parameter, wie Browsersettings stattfinden. Zuletzt muss bestimmt werden wie oft die Daten 12

17 2.3 Maßnahmen für die Erweiterbarkeit und Wartbarkeit der Anwendung aktualisiert werden sollen, das heißt in welchen Zeitabständen die Daten aus dem Hauptspeicher in den Cache geladen werden. Dadurch wird vermieden, dass veraltete Daten von Nutzern verwendet werden Der Intercepting Filter Abbildung 2.4: Die Filterkette In vielen Webanwendungen gibt es Aufgaben die thematisch von der Anwendungslogik unabhängig sind. Dies kann zum Beispiel die Abfrage beinhalten ob eine Authentifizierung stattgefunden hat, ob eine Sitzung gültig ist, ob die IP-Addresse des Clients von einem vertrauenswürdigen Netzwerk kommt und weiteres. Solche Aufgaben müssen meist vor oder nach der Anwendungslogik und zusätzlich bei jeder eingehenden HTTP-Anfrage ausgeführt werden. Dieser Code sollte idealerweise zentral verwaltet und separat zur Anwendungslogik gespeichert werden. Um so ein Konzept zu realisieren kann der Intercepting Filter implementiert werden. Jede Aufgabe wird als Filter umgesetzt. Dadurch entstehen unabhängige Module, da zwischen den Filtern keine Abhängigkeiten existieren dürfen. Jede eingehende HTTP-Anfrage muss nacheinander alle Filter durchlaufen, bevor sie von der eigentlichen Webanwendung verarbeitet wird (siehe Abblidung 2.4). Dieses Konzept hat den Vorteil, dass die Filter beliebig kombiniert und ausgetauscht werden können Wiederverwendung Wiederverwendung ist in der Softwareentwicklung zu einer Schlüsselanforderung geworden. Dazu gehört die Wiederverwendung von Code, dem Layout,dem Entwurf und der Architektur. Die Vorteile liegen in der verbesserten Konsistenz, da jeder Inhalt nur einmal existiert und immer auf die selben Daten zugegriffen wird. Das Auffinden und Verändern von Daten ist einfacher wenn keine Duplikate vorhanden sind. Durch das Kombinieren einzelner Einheiten kann schnell eine Umstrukturierung realisiert werden. Die Übersetzungszeit wird verkürzt, da 13

18 2.3 Maßnahmen für die Erweiterbarkeit und Wartbarkeit der Anwendung weniger Daten vorhanden sind. Zusätzlich führt eine Wiederverwendung zu einer Reduzierung der Entwicklungs- und Wartungskosten, einer Verbesserung der Qualität und Zuverlässigkeit, sowie zu einer schnelleren Entwicklungszeit. Um einen Entwurf mit konsequenter Wiederverwendung umzusetzen ist eine umfangreiche Planung notwendig. Der Inhalt muss in eine einheitliche Form gebracht werden und strukturiert werden, wobei die Granularität durch den kleinsten Inhalt bestimmt wird, welcher wiederverwendet werden kann. Metadaten müssen angelegt werden, die die Struktur beschreiben. Dabei wird unterschieden zwischen: Gesperrter Wiederverwendung: Hier kann das wiederverwendete Element nicht verändert werden Abgeleitete Wiederverwendung: Hier kann das wiederverwendete Element verändert werden Verschachtelte Wiederverwendung: Hier wird ein Element aus wiederverwendbaren Elementen zusammen gesetzt oder unterschiedliche Versionen des Inhalts sind im selben Element enthalten Mechanismen in der Programmierung Diese nachfolgenden Mechanismen haben eine feine Granularität. Das bedeutet, die wiederverwendeten Einheiten sind klein. Vererbung: Die Vererbung dient dazu neue Klassen unter Verwendung von bestehenden aufzubauen. Dabei unterscheidet man zwischen der Vererbung der Implementation, der Vererbung der Schnittstelle und der Vererbung funktionaler Eigenschaften. Abstraktion: Wenn mehrere verwandte Klassen existieren kann eine abstrakte Klasse erstellt werden, die die gemeinsamen Eigenschaften und Methoden definiert und an die Unterklassen vererbt. Von einer abstrakten Klasse ist keine Objekterzeugung möglich. Sie enthält nur Definitionen von Eigenschaften und Methoden, nicht die Implementierung. Erst die konkrete Klasse legt das Verhalten und damit die Implementierung fest. 14

19 2.3 Maßnahmen für die Erweiterbarkeit und Wartbarkeit der Anwendung Polymorphismus: Der Polymorphismus ermöglicht eine vom Datentyp unabhängige Programmierung. Man unterscheidet zwischen universellem Polymorphismus und Adhoc Polymorphismus. Universelle Polymorphismus: Der Universelle Polymorphismus basiert prinzipiell auf einer Menge mit beliebig vielen Datentypen. Sie müssen jedoch eine gemeinsame Grundstrukur besitzen, beispielsweise Subtypen eines gemeinsamen Obertyps sein. Parametrischer Polymorphismus (Generizität): Hier besitzt die Funktion eine Definition und einen extra Parameter, der den Typ der Funktionsparameter enthält. Subtyping: Hier kann die Funktion mit einem beliebigen Parameter aufgerufen werden. Diese Parameter muss jedoch ein Untertyp von dem Typ sein, der in der Funktion angegeben ist. Ad-hoc Polymorphismus: Der Ad-hoc Polymorphismus basiert auf einer endlichen Menge von Datentypen. Diese können völlig voneinander unabhängig sein. Überladen: Hier werden verschiedene Funktionen unter dem gleichen Namen definiert. Anhand des Aufruf-Kontexts, zum Beispiel die Anzahl und der Typ der Aufrufparameter, wird entschieden welche Implementierung aufgerufen wird. Es kann ein unterschiedliches Verhalten für jeden Typ festgelegt werden. Das hat den Vorteil, dass jede Implementierung für den entsprechenden Datentyp optimiert werden kann. Coercion: Hier werden vor dem Aufruf der Funktion die Parameter, deren Typ nicht mit der Funktionsdefinition übereinstimmen, automatisch in den passenden Typ konvertiert. Bei C# können die geerbten Methoden einer Überklasse überschrieben werden, wenn sie mit den Schlüsselwörtern virtual, abstract oder override deklariert sind. 15

20 2.3 Maßnahmen für die Erweiterbarkeit und Wartbarkeit der Anwendung Dies ist auch bei Subtyping der Fall, da Subtyping in objektorientierten Sprachen häufig mit Vererbung gekoppelt wird. Das heißt, es ist sowohl eine abgeleitete als auch eine gesperrte Wiederverwendung möglich. Letzteres wird in C# durch das Schlüsselwort sealed umgesetzt. Das Überladen ist eine verschachtelte Wiederverwendung, da unterschiedliche Versionen der Funktion unter dem selben Namen bereitgestellt werden. Die Coercion und der parametrische Polymorphismus sind gesperrte Wiederverwendung, da die Funktionsdefinition gleich bleibt. Bei der Coercion werden die Parameter vor dem Aufruf angepasst, bei dem parametrischer Polymorphismus ist dies nicht nötig Bibliotheken, Module und Klassen Eine Bibliothek stellt eine Sammlung von Hilfsmodulen zur Verfügung. Diese Module können Komponenten, Funktionen, Deklarationen, Klassen und weiteres enthalten. Sie sind in der Regel nicht selbst lauffähig und werden im Quellcode des Entwicklers aufgerufen. Bibliotheken besitzen eine gröbere Granularität als die vorangegangenen Mechanismen Referenzarchitekturen Referenzarchitekturen sind erprobte, generische Software-Architekturen für bestimmte Anwendungsdomänen, etwa Automotive oder E-Commerce.[RR06] Das bedeutet, dass für verschiedene Anwendungsbereiche Grundkonstruktionen definiert werden. Aus diesem Grund sind sie sowohl produkt- als auch unternehmensunabhängig. Sie enthalten allgemeine Entwurfsregeln, Komponenten, Strukturen und Schnittstellen. Weiterhin besitzen sie domain-spezifische Infrastukturen. Die Referenzarchitektur und die nachfolgenden Techniken besitzen die gröbste Granularität. Man kann in diesem Zusammenhang von der Wiederverwendung von Architekturen sprechen. Entwurfsmuster können ebenfalls zu dieser Kategorie hinzu gezählt werden. Da die Entwurfsmuster bereits im Abschnitt besprochen wurden, soll hier nicht weiter darauf eingegangen werden. 16

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

Architektur einer GDI: Service-oriented Architecture (SOA)

Architektur einer GDI: Service-oriented Architecture (SOA) Modul 6: Voraussetzungen einer GDI Vertiefende Dokumente I Stand: 24.01.2012 Architektur einer GDI: Service-oriented Architecture (SOA) Zu den Hauptargumenten für eine Geodateninfrastruktur zählen unter

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

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

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

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

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

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

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

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

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble Vertiefungsarbeit von Karin Schäuble Gliederung 1. Einführung 3. Rahmenbedingungen in der heutigen Marktwirtschaft 3.1 Situation für Unternehmen 3.2 Situation für Applikationsentwickler 4. Lösungskonzepte

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 8 10. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

4. Verwendete Methoden und Werkzeuge

4. Verwendete Methoden und Werkzeuge 4. Verwendete Methoden und Werkzeuge In diesem Kapitel werden die verschiedenen Methoden und Werkzeuge vorgestellt, die bei der Realisierung der Mediathek eingesetzt wurden. Zuerst werden die Grundlagen

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

Internet: Was ist das? - Routing

Internet: Was ist das? - Routing Internet: Was ist das? - Routing Auch Router Server Router Client ClientServer? Grundlagen Internet Sicherheit Angriffe Schutz Internet Map, The Opte Project Internet: Was ist das? - Netzwerk Peer-to-Peer

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

Integrating Architecture Apps for the Enterprise

Integrating Architecture Apps for the Enterprise Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik 6.3 Systemarchitektur 430 6.3 Systemarchitektur Drei Schichten Architektur Die "Standardtechniken" des Software-Engineering sind auch auf die Architektur einer

Mehr

3 Anwendungsarchitektur und Entwicklungsumgebung

3 Anwendungsarchitektur und Entwicklungsumgebung 21 3 Anwendungsarchitektur und Bei den Entwicklern von Web-basierten Dialogsystemen hat sich im Laufe der Zeit eine Vorgehensweise im Design von Anwendungen entwickelt, dies es ermöglicht, flexible Web-Dialoge

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

Mehr

TECHNISCHE PRODUKTINFORMATION CARUSO

TECHNISCHE PRODUKTINFORMATION CARUSO 1111 TECHNISCHE PRODUKTINFORMATION CARUSO TECHNISCHE PRODUKTINFORMATION Seite 0/7 Inhalt 1 Systemdefinition............2 2 Technische Details für den Betrieb von CARUSO......2 2.1 Webserver... 2 2.2 Java

Mehr

Personal Firewall (PFW) und Virenscanner. Präsentation von Gunawati A.-Tillmann, Miguel Lopez und Andreas Angelkorte

Personal Firewall (PFW) und Virenscanner. Präsentation von Gunawati A.-Tillmann, Miguel Lopez und Andreas Angelkorte Personal Firewall (PFW) und Virenscanner Präsentation von Gunawati A.-Tillmann, Miguel Lopez und Andreas Angelkorte Gliederung Personal Firewall Virenscanner 1. Zweck einer Firewall 2. Funktionsweise einer

Mehr

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. Inhalt 1 Übersicht 2 Anwendungsbeispiele 3 Einsatzgebiete 4 Systemanforderungen 5 Lizenzierung 6 Installation 7 Key Features 8 Funktionsübersicht (Auszug) 1 Übersicht MIK.bis.webedition ist die Umsetzung

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 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

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

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

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

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel VS12 Slide 1 Verteilte Systeme Vorlesung 12 Sebastian Iwanowski FH Wedel Mögliche Plattformen für Web Services VS12 Slide 2 VS12 Slide 3 Java-Software für verteilte Systeme J2EE: Java 2 Enterprise Edition

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Überblick 1.Einfürung in die Multi-Tier Architektur 2.Ausgangspunkt und Probleme 3.Rundgang durch die Architektur 4.Architektur

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

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

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen Architekturen ƒ Datenbankanwendungen Aufgaben und Komponenten Aufteilung ƒ Architektur Web-basierter Anwendungen HTTP-basierte Architekturen Applet-basierte Architekturen Vorlesung Internet-Datenbanken

Mehr

Android Kurs Online Kurs Entwicklung auf Android-Handys

Android Kurs Online Kurs Entwicklung auf Android-Handys Android Kurs Online Kurs Entwicklung auf Android-Handys Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses Modul Eins - Programmierung J2ee 1) Grundlegende Java - Programmierung : Grundlegende

Mehr

Service-Orientierte Architekturen

Service-Orientierte Architekturen Hochschule Bonn-Rhein-Sieg Service-Orientierte Architekturen Kapitel 7: Web Services IV Exkurs über Sicherheitsanforderungen Vorlesung im Masterstudiengang Informatik Sommersemester 2010 Prof. Dr. Sascha

Mehr

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

Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts. Thorsten Ludewig. Juni 2004 METEOR Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts Thorsten Ludewig Juni 2004 1 Übersicht Was ist METEOR Architektur Technische Realisierung Zusammenfassung Zukünftige Entwicklungen

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Fertigprodukte. Bruno Blumenthal und Roger Meyer. 18. Juli 2003. Zusammenfassung

Fertigprodukte. Bruno Blumenthal und Roger Meyer. 18. Juli 2003. Zusammenfassung Fertigprodukte Bruno Blumenthal und Roger Meyer 18. Juli 2003 Zusammenfassung Dieses Dokument beschreibt die Fertigprodukte welche im Projekt NetWACS eingesetzt werden sollen. Es soll als Übersicht dienen

Mehr

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

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

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

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

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax & GWT Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax Technisches Verfahren, bei dem Browser aktualisierte Inhalte nicht mehr synchron

Mehr

Weborientierte Programmiersprachen am Beispiel PHP

Weborientierte Programmiersprachen am Beispiel PHP Weborientierte Programmiersprachen am Beispiel PHP Serak Rezane Seminar Programmiersprachen SS 2004 Betreuer: Prof. Dr. Claudia Leopold Dipl.-Inf. Michael Süß Was ist PHP? Gliederung (Definition, Geschichte,

Mehr

Software Engineering II (IB) Serviceorientierte Architektur

Software Engineering II (IB) Serviceorientierte Architektur Serviceorientierte Architektur Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Webservices Ziel: flexible programmatische Zusammenarbeit zwischen Servern Bereitstellung

Mehr

Konzept für eine Highperformance- und Hochverfügbarkeitslösung für. einen Anbieter von Krankenhaus Abrechnungen

Konzept für eine Highperformance- und Hochverfügbarkeitslösung für. einen Anbieter von Krankenhaus Abrechnungen Konzept für eine Highperformance- und Hochverfügbarkeitslösung für Anforderungen : einen Anbieter von Krankenhaus Abrechnungen Es soll eine Cluster Lösung umgesetzt werden, welche folgende Kriterien erfüllt:

Mehr

Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System

Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System Web-Content-Management-Systeme () dienen dazu, komplexe Websites zu verwalten und den Autoren einzelner Webseiten möglichst

Mehr

Seminar: Web Engineering. Grundlagen von Webanwedungen. Von: Johannes Kettern Benjamin Süß

Seminar: Web Engineering. Grundlagen von Webanwedungen. Von: Johannes Kettern Benjamin Süß Seminar: Web Engineering Grundlagen von Webanwedungen Von: Johannes Kettern Benjamin Süß Inhalt Kapitel 1: Grundlagen Aufgaben von Webanwendungen Abgrenzung: Statische HTML vs. Dynamische Websites Architekturen

Mehr

Effizientes Änderungsmanagement in Outsourcing- Projekten

Effizientes Änderungsmanagement in Outsourcing- Projekten Effizientes Änderungsmanagement in Outsourcing- Projekten Dr. Henning Sternkicker Rational Software IBM Deutschland GmbH Sittarder Straße 31 52078 Aachen henning.sternkicker@de.ibm.com Abstract: Es werden

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

Datensicherheit. Vorlesung 5: 15.5.2015. Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter

Datensicherheit. Vorlesung 5: 15.5.2015. Sommersemester 2015 h_da. Heiko Weber, Lehrbeauftragter Datensicherheit Vorlesung 5: 15.5.2015 Sommersemester 2015 h_da, Lehrbeauftragter Inhalt 1. Einführung & Grundlagen der Datensicherheit 2. Identitäten / Authentifizierung / Passwörter 3. Kryptografie 4.

Mehr

Ausarbeitung zum Vortrag Java Web Start von Adrian Fülöp Fach: Komponentenbasierte Softwareentwicklung WS 06/07 Fachhochschule Osnabrück

Ausarbeitung zum Vortrag Java Web Start von Adrian Fülöp Fach: Komponentenbasierte Softwareentwicklung WS 06/07 Fachhochschule Osnabrück Ausarbeitung zum Vortrag Java Web Start von Adrian Fülöp Fach: Komponentenbasierte Softwareentwicklung WS 06/07 Fachhochschule Osnabrück Adrian Fülöp (297545) - 1 - Inhaltsverzeichnis: 1. Einführung 2.

Mehr

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel Ruby on Rails Florian Ferrano Ralf Heller Markus Nagel Überblick Ruby on Rails Ruby Rails Geschichte MVC allgemein MVC in Rails Scaffolding Webserver Installation Beispiele Wo wird Rails verwendet? Ausblick

Mehr

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig Von ODBC zu OLE DB Neue Möglichkeiten der Datenintegration Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig Von ODBC zu OLE DB Begriffsbestimmung ODBC, OLE DB, COM, ADO... Unterschiede zwischen

Mehr

eytron VMS Webanwendung Fehlersuche und -Behebung

eytron VMS Webanwendung Fehlersuche und -Behebung eytron VMS Webanwendung Fehlersuche und -Behebung 2009 ABUS Security-Center GmbH & Co. KG, Alle Rechte vorbehalten Diese Anleitung soll Ihnen Unterstützung für den Fall geben, dass die Webanwendung nach

Mehr

Installation SuperWebMailer

Installation SuperWebMailer Installation SuperWebMailer Die Installation von SuperWebMailer ist einfach gestaltet. Es müssen zuerst per FTP alle Dateien auf die eigene Webpräsenz/Server übertragen werden, danach ist das Script install.php

Mehr

Internet/Intranet nutzbringend angewandt!?!

Internet/Intranet nutzbringend angewandt!?! Internet/Intranet nutzbringend angewandt!?! Maik G. Seewald Agenda 1. Einleitung und Ziel der Präsentation 2. Internet u. Web Based Computing eine Erfolgsgeschichte 3. Architektur web-basierter Anwendungssysteme

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

GeoShop Netzwerkhandbuch

GeoShop Netzwerkhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 GeoShop Netzwerkhandbuch Zusammenfassung Diese Dokumentation beschreibt die Einbindung des GeoShop in bestehende Netzwerkumgebungen.

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

Die gesamte Verwaltung der Dokumente und darüber hinaus auch Administrative Aufgaben sind sehr einfach mit dem WWW Client zu erledigen.

Die gesamte Verwaltung der Dokumente und darüber hinaus auch Administrative Aufgaben sind sehr einfach mit dem WWW Client zu erledigen. tri-doc 1. tri-doc tri-doc ist eine Entwicklung der Tri-W-Data GmbH. Aufgabe von Tri-doc ist, die strukturierte Verwaltung und Ablage von Dokumenten im Intraoder Internet durch konsequente Nutzung der

Mehr

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE DOKUMENTATION MAAS - MONITORING AS A SERVICE DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE Dokumentation MaaS - Monitoring as a Service Inhalt 1. MaaS - Monitoring as Service... 3 1.1 Einleitung...

Mehr

Rinke Solutions - Projects

Rinke Solutions - Projects Rinke Solutions - Projects (Stand: Juli 07) 01/07... Internet-Portal / ISP 02/06 12/06 Internet-Portal 01/06 03/05 Internet-Portal EAI (Integration / Optimierung der Geschäftssysteme). Zur besseren Integration

Mehr

Workflow Systeme mit der Windows Workflow Foundation

Workflow Systeme mit der Windows Workflow Foundation Studiengang Electronic Business (EB) Diplomarbeit (280000) Workflow Systeme mit der Windows Workflow Foundation externe Betreuung durch Christoph Müller vorgelegt bei Prof. Dr. Michael Gröschel von Hans-Martin

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

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software FTP Übersicht Was ist FTP? Übertragungsmodi Sicherheit Öffentliche FTP-Server FTP-Software Was ist FTP? Protokoll zur Dateiübertragung Auf Schicht 7 Verwendet TCP, meist Port 21, 20 1972 spezifiziert Übertragungsmodi

Mehr

Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem umfassenden Auftritt als Bildungsnetzwerk

Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem umfassenden Auftritt als Bildungsnetzwerk Informationsmaterial zum Modul-Nr. 2.4: Bildungsnetzwerke planen (Schwerpunkt: IT-Unterstützung in Bildungsnetzwerken) Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem

Mehr

Internet Information Services v6.0

Internet Information Services v6.0 Internet Information Services v6.0 IIS History Evolution von IIS: V1.0 kostenlos auf der CeBit 1996 verteilt V2.0 Teil von Windows NT 4.0 V3.0 Als Update in SP3 von NT4.0 integriert V4.0 Windows NT 4.0

Mehr

Klausur Kommunikation I. Sommersemester 2003. Dipl.-Ing. T. Kloepfer

Klausur Kommunikation I. Sommersemester 2003. Dipl.-Ing. T. Kloepfer Kommunikation I 1 Klausur Kommunikation I Sommersemester 2003 Dipl.-Ing. T. Kloepfer Bearbeitungsinformationen Aufbau der Klausur Die Klausur ist wie folgt aufgebaut: Die Klausur ist in 18 Aufgaben unterteilt.

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

16.4 Wiederverwendung von COTS-Produkten

16.4 Wiederverwendung von COTS-Produkten 16.4 Wiederverwendung von COTS-Produkten COTS = commercial of the shelf im Handel erhältliche Software-Produkte Anpassung für Kunden ohne Änderung am Quellcode Quellcode in der Regel nicht einsehbar (Ausnahme

Mehr

Entwurfsmuster (Design Pattern) ETIS SS05

Entwurfsmuster (Design Pattern) ETIS SS05 Entwurfsmuster (Design Pattern) ETIS SS05 Gliederung Motivation Pattern allgemein Proxy-Pattern Zusammenfassung 2 Motivation I Wie gut sind eure Programme strukturiert? Wartbarkeit? - Verständlichkeit

Mehr

Gefahren aus dem Internet 6 Aktive Angriffe April 2010

Gefahren aus dem Internet 6 Aktive Angriffe April 2010 6 Aktive Angriffe Lernziele Sie können grob erklären, wie ein Angreifer in Ihren Computer eindringen kann. Sie können herausfinden, welche Ports auf Ihrem Computer offen sind. Sie wissen, warum der Einsatz

Mehr

Aktuelle Angriffstechniken. Steffen Tröscher cirosec GmbH, Heilbronn

Aktuelle Angriffstechniken. Steffen Tröscher cirosec GmbH, Heilbronn Aktuelle Angriffstechniken Steffen Tröscher cirosec GmbH, Heilbronn Gliederung Angriffe auf Webanwendungen Theorie und Live Demonstrationen Schwachstellen Command Injection über File Inclusion Logische

Mehr

Inhaltsverzeichnis. Hinweise zum Gebrauch des Buches... XIII. Teil I Grundlagen der Web-Programmierung

Inhaltsverzeichnis. Hinweise zum Gebrauch des Buches... XIII. Teil I Grundlagen der Web-Programmierung Hinweise zum Gebrauch des Buches... XIII Teil I Grundlagen der Web-Programmierung 1 Entwicklung der Web-Programmierung... 3 1.1 DerWegzumWorldWideWeb... 3 1.2 Komponenten der frühen Technik..... 5 1.3

Mehr

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

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP 8.4 Überblick und Vergleich weiterer ERP-Systeme G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP Kapitel 8: ERP-Einführung 32 Architektur von Oracle Applications 11 G Logische

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

Mehr

Verteilte Systeme. Verteilte Architekturen. Prof. Dr. Oliver Haase

Verteilte Systeme. Verteilte Architekturen. Prof. Dr. Oliver Haase Verteilte Systeme Verteilte Architekturen Prof. Dr. Oliver Haase 1 Übersicht Plattformen für verteilte Systeme Softwarearchitekturen Systemarchitekuren Von der Software- zur Systemarchitektur Architekturmuster

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

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

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

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

Herzlich willkommen im Modul Web-Engineering

Herzlich willkommen im Modul Web-Engineering Herbst 2014 Herzlich willkommen im Modul Web-Engineering Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Martin Hüsler und Rainer Telesko

Mehr

DESIGN'PATTERN'2011. November. Abstract Factory & Factory Method BEARBEITET VON INHALT [1] Christoph Süsens

DESIGN'PATTERN'2011. November. Abstract Factory & Factory Method BEARBEITET VON INHALT [1] Christoph Süsens November DESIGN'PATTERN'2011 INHALT Intent Motivation Applicability Structure Consequences Implementation Sample Code [1] BEARBEITET VON Christoph Süsens Abstract Factory & Factory Method Inhaltsverzeichnis

Mehr

In diesem Kapitel werden wir nun mehrere Anwendungen von XML in der betrieblichen Praxis vorstellen. Sie sollen XML bei der Arbeit zeigen.

In diesem Kapitel werden wir nun mehrere Anwendungen von XML in der betrieblichen Praxis vorstellen. Sie sollen XML bei der Arbeit zeigen. 181 In diesem Kapitel werden wir nun mehrere Anwendungen von XML in der betrieblichen Praxis vorstellen. Sie sollen XML bei der Arbeit zeigen. Wir beginnen mit dem Startup-Unternehmen Seals GmbH aus Frankfurt,

Mehr

Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems. Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete

Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems. Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete Allgemeines 2 Produktübersicht 2 Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems 3 Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete Account-Verwaltung 5 Freund-Funktionen

Mehr

6 Architektur-Mittel (WOMIT)

6 Architektur-Mittel (WOMIT) 6 Architektur-Mittel (WOMIT) Abb. 6-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WOMIT-Dimension des architektonischen Ordnungsrahmens, indem es grundlegende Konzepte

Mehr

Apache Tomcat. Inhalt. Rechner und Netzarchitektur SS 2003. Einleitung. Architektur

Apache Tomcat. Inhalt. Rechner und Netzarchitektur SS 2003. Einleitung. Architektur Apache Tomcat Rechner und Netzarchitektur SS 2003 Johannes Jabornig Daniel Peintner Inhalt Einleitung Was sind Servlets und JSP Vorteile Architektur Catalina Jasper Konnektoren Installation / Konfiguration

Mehr

SOAP Simple Object Access Protocol

SOAP Simple Object Access Protocol Informatikseminar Tobias Briel Überblick 1. Einführung - was ist? 2. Middlewaretechnologie 3. Aufbau von Nachrichten 4. Vergleiche 5. Beispielanwendung 6. Zusammenfassung 1 Einführung was ist Soap? neue

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

Von SAP R/3 zu mysap ERP und NetWeaver

Von SAP R/3 zu mysap ERP und NetWeaver Von SAP R/3 zu mysap ERP und NetWeaver Bremerhaven 06.05.2006 T4T Bremerhaven 1 Inhaltsverzeichnis 1. Motivation für SAP NetWeaver 2. SAP R/3 mysap ERP und SAP Business Suite 3. Application Platform T4T

Mehr

Linux & Security. Andreas Haumer xs+s. Einsatz von Linux in sicherheitsrelevanten Umgebungen

Linux & Security. Andreas Haumer xs+s. Einsatz von Linux in sicherheitsrelevanten Umgebungen Linux & Security Andreas Haumer xs+s Einsatz von Linux in sicherheitsrelevanten Umgebungen Einführung Netzwerksicherheit wichtiger denn je Unternehmenskritische IT Infrastruktur Abhängigkeit von E Services

Mehr

Aufbau einer Web-Anwendung. (JSP o. ASP o. PHP)

Aufbau einer Web-Anwendung. (JSP o. ASP o. PHP) von Gael Tchoukio ntchoukio@yahoo.fr 05.07.2004 1. Einführung in Web-Anwendungen Eine der am häufigsten gestellten Fragen über Web-Anwendungen lautet: Ich möchte eine Web-Anwendung aufbauen, weiß aber

Mehr

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum

Mehr

Acceptor-Connector. Acceptor-Connector

Acceptor-Connector. Acceptor-Connector Acceptor-Connector Das Acceptor-Connector Pattern trennt den Verbindungsaufbau zwischen zwei Peer-Services und der Verarbeitung, welche bei bestehender Verbindung durchgeführt wird. Kontext Ein Netzwerksystem

Mehr

Sicherheit in Webanwendungen CrossSite, Session und SQL

Sicherheit in Webanwendungen CrossSite, Session und SQL Sicherheit in Webanwendungen CrossSite, Session und SQL Angriffstechniken und Abwehrmaßnahmen Mario Klump Die Cross-Site -Familie Die Cross-Site-Arten Cross-Site-Scripting (CSS/XSS) Cross-Site-Request-Forgery

Mehr

Aufbau und Pflege von Internetseiten leicht gemacht

Aufbau und Pflege von Internetseiten leicht gemacht Aufbau und Pflege von Internetseiten leicht gemacht Einführung in die Grundlagen der CMS (Content Management Systeme) Was ist ein CMS? frei übersetzt: Inhaltsverwaltungssystem ist ein System, das die gemeinschaftliche

Mehr