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

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

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

Ü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

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

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

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

4D Server v12 64-bit Version BETA VERSION

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

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

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

FTP-Leitfaden RZ. Benutzerleitfaden

FTP-Leitfaden RZ. Benutzerleitfaden FTP-Leitfaden RZ Benutzerleitfaden Version 1.4 Stand 08.03.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Zeitaufwand... 3 2 Beschaffung der Software... 3 3 Installation... 3 4 Auswahl des Verbindungstyps...

Mehr

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

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

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

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

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 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

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

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung: Installation Bevor Sie mit der Installation von MOVIDO 1.0 beginnen, sollten Sie sich vergewissern, dass der Internet Information Server (IIS) von Microsoft installiert ist. Um dies festzustellen, führen

Mehr

Thema: Microsoft Project online Welche Version benötigen Sie?

Thema: Microsoft Project online Welche Version benötigen Sie? Seit einiger Zeit gibt es die Produkte Microsoft Project online, Project Pro für Office 365 und Project online mit Project Pro für Office 365. Nach meinem Empfinden sind die Angebote nicht ganz eindeutig

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

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

Powermanager Server- Client- Installation

Powermanager Server- Client- Installation Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server

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

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

1 Installation QTrans V2.0 unter Windows NT4

1 Installation QTrans V2.0 unter Windows NT4 1 Installation QTrans V2.0 unter Windows NT4 1.1 Unterstützte Funktionen Unter NT4 wird nur der Betrieb von QTrans im Report-Client-Modus unterstützt, d. h. für die Anzeige von Schraubergebnissen und für

Mehr

Content Management System mit INTREXX 2002.

Content Management System mit INTREXX 2002. Content Management System mit INTREXX 2002. Welche Vorteile hat ein CM-System mit INTREXX? Sie haben bereits INTREXX im Einsatz? Dann liegt es auf der Hand, dass Sie ein CM-System zur Pflege Ihrer Webseite,

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

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

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2 Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2 Installationsvoraussetzungen: Die Update-Routine benötigt das DotNet-Framework 4.0 Client Profile, das normalerweise über

Mehr

ESB - Elektronischer Service Bericht

ESB - Elektronischer Service Bericht Desk Software & Consulting GmbH ESB - Elektronischer Service Bericht Dokumentation des elektronischen Serviceberichts Matthias Hoffmann 25.04.2012 DESK Software und Consulting GmbH Im Heerfeld 2-4 35713

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

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

Application Layer Active Network

Application Layer Active Network Folie 1 Application Layer Active Network Vortrag zur Diplomarbeit Entwicklung eines Netzwerk-Interface zur Steuerung der Datenkommunikation einer Netzwerkkarte geschrieben und gehalten von Martin Wodrich

Mehr

Swisscom TV Medien Assistent

Swisscom TV Medien Assistent Swisscom TV Medien Assistent Mithilfe dieses Assistenten können Sie Fotos und Musik, die Sie auf Ihrem Computer freigegeben haben, auf Swisscom TV geniessen. Diese Bedienungsanleitung richtet sich an die

Mehr

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster

Mehr

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

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand: 28.05.2014 robotron*e count robotron*e sales robotron*e collect Anwenderdokumentation Version: 2.0 Stand: 28.05.2014 Seite 2 von 5 Alle Rechte dieser Dokumentation unterliegen dem deutschen Urheberrecht. Die Vervielfältigung,

Mehr

Online Banking System

Online Banking System Online Banking System Pflichtenheft im Rahmen des WI-Praktikum bei Thomas M. Lange Fachhochschule Giessen-Friedberg Fachbereich MNI Studiengang Informatik Erstellt von: Eugen Riske Yueksel Korkmaz Alper

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

IBM Software Demos Tivoli Provisioning Manager for OS Deployment Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,

Mehr

BSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015

BSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015 1 BSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015 Installation Um den Support der BSV zu nutzen benötigen Sie die SMP-Software. Diese können Sie direkt unter der URL http://62.153.93.110/smp/smp.publish.html

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

Mehr

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

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION Allgemein Infomon bietet die Architektur für das Informations-Monitoring in einer Windows- Topologie. Die Serverfunktionalität wird in einer IIS-Umgebung

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

Virtual Desktop Infrasstructure - VDI

Virtual Desktop Infrasstructure - VDI Virtual Desktop Infrasstructure - VDI Jörg Kastning Universität Bielefeld Hochschulrechenzentrum 5. August 2015 1/ 17 Inhaltsverzeichnis Was versteht man unter VDI? Welchen Nutzen bringt VDI? Wie funktioniert

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

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

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

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

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite http://www.hp.

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite http://www.hp. Erfahrungen mit dem Insight Manager von HP Dipl. Ing. Elektrotechnik (FH) - Automatisierungs- / Regelungstechnik DV-Spezialist Landesbank Rheinland-Pfalz Abteilung 2-351 Große Bleiche 54-56 55098 Mainz

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Consulting. Dokumentenmanagement. Stand: 25.01.2005. jwconsulting GmbH Caspar-David-Friedrichstr. 7 69190 Walldorf

Consulting. Dokumentenmanagement. Stand: 25.01.2005. jwconsulting GmbH Caspar-David-Friedrichstr. 7 69190 Walldorf Dokumentenmanagement jw GmbH Caspar-David-Friedrichstr. 7 69190 Walldorf Stand: 25.01.2005 GmbH, http://www.jwconsulting.eu 1 von 6 25.01.05 Dokumentenmanagement Das Dokumentenmanagement der Firma jw GmbH

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

ANYWHERE Zugriff von externen Arbeitsplätzen

ANYWHERE Zugriff von externen Arbeitsplätzen ANYWHERE Zugriff von externen Arbeitsplätzen Inhaltsverzeichnis 1 Leistungsbeschreibung... 3 2 Integration Agenda ANYWHERE... 4 3 Highlights... 5 3.1 Sofort einsatzbereit ohne Installationsaufwand... 5

Mehr

CADEMIA: Einrichtung Ihres Computers unter Windows

CADEMIA: Einrichtung Ihres Computers unter Windows CADEMIA: Einrichtung Ihres Computers unter Windows Stand: 21.02.2015 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert sein.

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

Verwendung des Mailservers

Verwendung des Mailservers Inhaltsverzeichnis Verwendung des Mailservers 1 Einleitung...1 2 Die wichtigsten Parameter...2 3 Webmail Squirrelmail...2 3.1 Login...2 3.2 Optionen...3 3.3 Persönliche Informationen...3 3.4 Passwort ändern...4

Mehr

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing Finanzbuchhaltung Wenn Sie Fragen haben, dann rufen Sie uns an, wir helfen Ihnen gerne weiter - mit Ihrem Wartungsvertrag

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

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

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

EIDAMO Webshop-Lösung - White Paper

EIDAMO Webshop-Lösung - White Paper Stand: 28.11.2006»EIDAMO Screenshots«- Bildschirmansichten des EIDAMO Managers Systemarchitektur Die aktuelle EIDAMO Version besteht aus unterschiedlichen Programmteilen (Komponenten). Grundsätzlich wird

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

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

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung

Mehr

Plugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21

Plugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Plugins Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Inhaltsverzeichnis 0 Einleitung...3 0.1 Sinn und Zweck...3 0.2 Änderungsübersicht...3 0.3 Abkürzungsverzeichnis...3 1 Einfügen eines Plugins...4 1.1

Mehr

Root-Server für anspruchsvolle Lösungen

Root-Server für anspruchsvolle Lösungen Root-Server für anspruchsvolle Lösungen I Produktbeschreibung serverloft Internes Netzwerk / VPN Internes Netzwerk Mit dem Produkt Internes Netzwerk bietet serverloft seinen Kunden eine Möglichkeit, beliebig

Mehr

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt Objektorientierter Software-Entwurf Grundlagen 1 1 Einordnung der Veranstaltung Analyse Design Implementierung Slide 1 Informationssystemanalyse Objektorientierter Software-Entwurf Frühe Phasen durch Informationssystemanalyse

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

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen walker radio tv + pc GmbH Flüelerstr. 42 6460 Altdorf Tel 041 870 55 77 Fax 041 870 55 83 E-Mail info@walkerpc.ch Wichtige Informationen Hier erhalten sie einige wichtige Informationen wie sie ihren Computer

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

Hinweise zur Verwendung von myfactory unter Windows XP mit Service Pack 2

Hinweise zur Verwendung von myfactory unter Windows XP mit Service Pack 2 Hinweise zur Verwendung von myfactory unter Windows XP mit Service Pack 2 Durch Verbesserungen der Sicherheitsstandards seitens Microsoft sind mit der Installation des Service Pack 2 für XP zum fehlerfreien

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

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

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30 Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30 Copyright Brainloop AG, 2004-2014. Alle Rechte vorbehalten. Dokumentenversion 2.0 Sämtliche verwendeten Markennamen und Markenzeichen

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

5. Testen ob TLS 1.0 auf Ihrem System im Internet-Explorer fehlerfrei funktioniert

5. Testen ob TLS 1.0 auf Ihrem System im Internet-Explorer fehlerfrei funktioniert PW0029/ Stand: 11/2014 Windows-Systemeinstellungen für die ELSTER-Aktualisierung und Bewerber-Online PW0029_SSL_TLS_poodle_Sicherheitsluecke.pdf Ein Fehler im Protokoll-Design von SSLv3 kann dazu genutzt

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Synchronisations- Assistent

Synchronisations- Assistent TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent

Mehr

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach - Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6

Mehr

Anleitung Captain Logfex 2013

Anleitung Captain Logfex 2013 Anleitung Captain Logfex 2013 Inhalt: 1. Installationshinweise 2. Erste Schritte 3. Client-Installation 4. Arbeiten mit Logfex 5. Gruppenrichtlinien-Einstellungen für die Windows-Firewall 1. Installationshinweis:

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

Administrator Handbuch

Administrator Handbuch SPTools Extension Keys: sptools_fal_base sptools_fal_driver SPTools Version: 1 Extension Version: 1.0.2 Inhaltsverzeichnis... 1 1. Einleitung... 2 2. Systemanforderungen... 3 3. SPTools FAL Installation...

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

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

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet. 1 TimeTrack! TimeTrack! Ist ein Softwareprodukt von The Project Group, welches der Erfassung von Ist- Aufwänden von Projekten dient. Voraussetzung hierfür ist allerdings, dass das Projekt vorher mit Microsoft

Mehr

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver Eine Firewall für Lexware professional oder premium konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Die Firewall von Windows 7 und Windows 2008 Server... 2 4. Die Firewall

Mehr

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT Seite 1/7 GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT ZENTRAL LOKALE MANAGEMENT-PLATTFORM FÜR EINE W ELTWEIT SICHERE INDUSTRIELLE KOMMUNIKATION. Seite 2/7 Auf den folgenden Seiten

Mehr

ITF2XML. Transferservice. Version 1.1. Tel.: 044 / 350 10 10 Fax: 044 / 350 10 19. CH-8005 Zürich

ITF2XML. Transferservice. Version 1.1. Tel.: 044 / 350 10 10 Fax: 044 / 350 10 19. CH-8005 Zürich GmbH Technoparkstrasse 1 Informationssysteme Engineering & Consulting CH-8005 Zürich Tel.: 044 / 350 10 10 Fax: 044 / 350 10 19 ITF2XML Transferservice Version 1.1 infogrips GmbH, 2001-2014 06.01.2014

Mehr

Anleitung zum Prüfen von WebDAV

Anleitung zum Prüfen von WebDAV Anleitung zum Prüfen von WebDAV (BDRS Version 8.010.006 oder höher) Dieses Merkblatt beschreibt, wie Sie Ihr System auf die Verwendung von WebDAV überprüfen können. 1. Was ist WebDAV? Bei der Nutzung des

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