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

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

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

Mehr

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

Ü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

Existierende Systeme I Bibliotheken & Frameworks

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

Mehr

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

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

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

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

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

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

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

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

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

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

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

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

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

Hochschule Heilbronn Technik Wirtschaft Informatik

Hochschule Heilbronn Technik Wirtschaft Informatik Hochschule Heilbronn Technik Wirtschaft Informatik Studiengang Electronic Business Diplomarbeit "Java-Frameworks für Rich Internet Applications" vorgelegt bei Professor Dr. Michael Gröschel von Tushig

Mehr

Seminar SS 2000 Enterprise Application Intergration

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

Mehr

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

Online-Publishing mit HTML und CSS für Einsteigerinnen

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

Mehr

Java 2, Enterprise Edition Einführung und Überblick

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

Mehr

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

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

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

Recherchebericht. Eine URL (Uniform Resource Locator; dt. einheitlicher Quellenanzeiger ) lokalisiert eine Ressource, wie eine Website, und ihren Ort.

Recherchebericht. Eine URL (Uniform Resource Locator; dt. einheitlicher Quellenanzeiger ) lokalisiert eine Ressource, wie eine Website, und ihren Ort. Recherchebericht Begriffe: Ein Betriebssystem ist eine Software, die die Schnittstelle zwischen den Hardwarekomponenten und der Anwendungssoftware bildet. Es verwaltet die Hardwareressourcen, wie Arbeitsspeicher,

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

Scala & Lift. Ferenc Lajko 04.02.2010

Scala & Lift. Ferenc Lajko 04.02.2010 Scala & Lift Ferenc Lajko 04.02.2010 Gliederung 1. Scala 1.1. Allgemein 1.2. Merkmale 1.3. Unterschiede zu Java 1.4. Code-Beispiel 1.5. Vorteile zu anderen Sprachen 2. Lift 2.1. Allgemein 2.2. Idee 2.3.

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

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

Java Applet Alternativen

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

Mehr

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

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 im Modul Informatik Grundlagen

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

Mehr

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

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

Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren

Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren 1 Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren W3L AG info@w3l.de 2011 2 Agenda Softwarearchitektur und Architekturentwurf Definition Überblick

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

ASP.NET Grundlagen. Was ist ASP.NET

ASP.NET Grundlagen. Was ist ASP.NET ASP.NET Grundlagen ASP.NET Grundlagen...1 Was ist ASP.NET...1 Webseiten mit ASP.NET...3 Ereignisse...4 Zustandsverwaltung...5 Die Eigenschaften Request und Response....6 Was ist ASP.NET ASP steht für Active

Mehr

Inhaltsverzeichnis. Zusammenfassung Wydler

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

Mehr

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

Systemvoraussetzungen für ConSol*CM Version 6.10.2 Architektur Überblick

Systemvoraussetzungen für ConSol*CM Version 6.10.2 Architektur Überblick Systemvoraussetzungen für ConSol*CM Version 6.10.2 Architektur Überblick ConSol*CM basiert auf einer Java EE Web-Architektur, bestehend aus den folgenden Kern-Komponenten: JEE Application Server für die

Mehr

Software Produktlinien: Einführung und Überblick

Software Produktlinien: Einführung und Überblick C A R L V O N O S S I E T Z K Y Software Produktlinien: Einführung und Überblick Johannes Diemke Vortrag im Rahmen des Seminars Software System Engineering im Wintersemester 2007/2008 Übersicht 1 Motivation

Mehr

Erste Schritte nach der Installation

Erste Schritte nach der Installation Erste Schritte nach der Installation Für cosymap 30 Tage Version, Basic, Teamwork und Enterprise Diese Dokumentation unterstützt Sie bei wichtigen Einstellungen nach der Installation. 2013-2015 copyright

Mehr

Microsoft.NET und SunONE

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

Mehr

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

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

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

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

Inhalt und Ziele. Homepage von Anfang an. Herzlich Willkommen! HTML Syntax; grundlegende Grafik- und Bildbearbeitung für das Internet;

Inhalt und Ziele. Homepage von Anfang an. Herzlich Willkommen! HTML Syntax; grundlegende Grafik- und Bildbearbeitung für das Internet; Homepage von Anfang an Herzlich Willkommen! Caroline Morhart-Putz caroline.morhart@wellcomm.at Inhalt und Ziele!! HTML Grundlagen - die Sprache im Netz; HTML Syntax;!! Photoshop - Optimieren von Bildern,

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

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

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

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

staffitpro WEB Produkte und Lizenzen (Kauf) (Ergänzung zu Allgemeine Geschäftsbedingungen audeosoft GmbH staffitpro Web-Kauf )

staffitpro WEB Produkte und Lizenzen (Kauf) (Ergänzung zu Allgemeine Geschäftsbedingungen audeosoft GmbH staffitpro Web-Kauf ) staffitpro WEB Produkte und Lizenzen (Kauf) (Ergänzung zu Allgemeine Geschäftsbedingungen audeosoft GmbH staffitpro Web-Kauf ) Verantwortlich für den Inhalt: audeosoft GmbH, Kreuzberger Ring 44a, 65205

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

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

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

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

Kapitel 6. Vererbung

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

Mehr

Reporting Services Dienstarchitektur

Reporting Services Dienstarchitektur Reporting Services Dienstarchitektur Reporting Services Dienstarchitektur In Reporting Services wird ein Berichtsserver als ein Windows - Dienst implementiert, der aus unterschiedlichen Featurebere i-

Mehr

8a. Exkurs.NET. 8a.1.NET Architektur

8a. Exkurs.NET. 8a.1.NET Architektur 8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++

Mehr

Model View Controller Pattern

Model View Controller Pattern Christian Vogt HAW Hamburg 19. Dezember 2011 Inhaltsverzeichnis 1 Prolog Einleitung Entwurfsmuster andere Muster 2 Model-View-Controller Hintergrund Konzept Umsetzung 3 Beispiele Überblick Beispiel in

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

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

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort 1.3 PHP Vorzüge Erlernbarkeit Im Vergleich zu anderen Sprachen ist PHP relativ leicht erlernbar. Dies liegt hauptsächlich daran, dass PHP im Gegensatz zu anderen Sprachen ausschließlich für die Webserver-Programmierung

Mehr

opsi-401-releasenotes-upgrade-manual

opsi-401-releasenotes-upgrade-manual opsi-401-releasenotes-upgrade-manual Stand: 01.05.2011 uib gmbh Bonifaziusplatz 1b 55118 Mainz Tel.:+49 6131 275610 www.uib.de info@uib.de i Inhaltsverzeichnis 1 Einführung 1 2 Neuerungen in opsi 4.0.1

Mehr

Marketing Update. Enabler / ENABLER aqua / Maestro II

Marketing Update. Enabler / ENABLER aqua / Maestro II Marketing Update Enabler / ENABLER aqua / Maestro II Quartal 01/2012 1 Kommentar des Herausgebers Liebe Kunden und Partner, dieser Marketing Update gibt Ihnen einen kurzen Überblick über die aktuell verfügbaren

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

MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29)

MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29) MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29) Dieses Dokument beschreibt das Herunterladen der Serversoftware, die Installation und Konfiguration der Software. Bevor mit der Migration der

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

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

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

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail. Rich Internet Applications, Flex & Mate (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.com Überblick Mein Thema im Überblick 1. Definitionen 2. Rich Internet Applications

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

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

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

Ü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

Objektorientierte Programmiersprachen

Objektorientierte Programmiersprachen Objektorientierte Programmiersprachen 1960 Algol 1970 Simula Pascal 1980 Smalltalk C Ada 1990 C++ Eiffel Eine ovale Box symbolisiert eine objektorientierte Programmiersprache. Eine rechteckige Box steht

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

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

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

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

Applikationsentwicklung Architekturübungen

Applikationsentwicklung Architekturübungen Applikationsentwicklung Architekturübungen Aufgabe : Systeme und Subsysteme Gegeben ist das umfangreiche Softwaresystem eines modernen Passagierflugzeuges von der Steuerung und Navigation bis zum Bordunterhaltungssysstem

Mehr

Wo ist mein Geld? Identitätsmissbrauch im Online-Banking. Christoph Sorge Universität des Saarlandes juris-stiftungsprofessur für Rechtsinformatik

Wo ist mein Geld? Identitätsmissbrauch im Online-Banking. Christoph Sorge Universität des Saarlandes juris-stiftungsprofessur für Rechtsinformatik Wo ist mein Geld? Identitätsmissbrauch im Online-Banking Christoph Sorge Universität des Saarlandes juris-stiftungsprofessur für Rechtsinformatik C. Sorge 2 Überblick Rechner des Kunden Server der Bank

Mehr

Guten Tag! CampusSource. Die CSE Integration Platform. CampusSource Engine. Christof Pohl Softwareentwicklung Medienzentrum Universität Dortmund

Guten Tag! CampusSource. Die CSE Integration Platform. CampusSource Engine. Christof Pohl Softwareentwicklung Medienzentrum Universität Dortmund Engine Die CSE Integration Platform Guten Tag! Christof Pohl Softwareentwicklung Medienzentrum Universität Dortmund Integriertes Informationsmanagement mit der Engine - A2A vs. EBI Folie 2 Integration

Mehr

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

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

Mehr

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

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

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

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

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

BIF/SWE 1 - Übungsbeispiel

BIF/SWE 1 - Übungsbeispiel Arthur Zaczek Sep 2015 1 Übungsbeispiel embedded sensor cloud 1.1 Aufgabenstellung Auf einem [[tragen Sie bitte hier Ihr Embedded System Ihrer Wahl ein]] soll ein Messdaten Erfassungssystem implementiert

Mehr

Collaborative Virtual Environments

Collaborative Virtual Environments Collaborative Virtual Environments Stefan Lücking Projektgruppe Kreativität und Technik AG Domik WS 02/03 09.01.2003 1/35 Was sind CVE? Versuch einer Definition : Ein CVE ist ein Programm, das eine virtuelle

Mehr

MOC 4729 - Wichtige Webanwendungstechnologien mit Microsoft Visual Studio 2005

MOC 4729 - Wichtige Webanwendungstechnologien mit Microsoft Visual Studio 2005 MOC 4729 - Wichtige Webanwendungstechnologien mit Microsoft Visual Studio 2005 Unterrichtseinheit 1: Erstellen einer Webanwendung In dieser Unterrichtseinheit werden die unterschiedlichen Arten von Websites

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

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

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

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

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

Mehr

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

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

Mehr

Java Frameworks im Vergleich - ADF vs. Grails vs. Spring

Java Frameworks im Vergleich - ADF vs. Grails vs. Spring Java Frameworks im Vergleich - ADF vs. Grails vs. Spring Frank Szilinski esentri software GmbH Karlsruhe Schlüsselworte: ADF, Java, JEE, JSF, Grails, Spring, Open Source, Rapid Application Development

Mehr