Netzwerkanalyse mit Cloud Computing

Größe: px
Ab Seite anzeigen:

Download "Netzwerkanalyse mit Cloud Computing"

Transkript

1 Bachelorarbeit Netzwerkanalyse mit Cloud Computing Betreuer Dr.-Ing. Thomas Mundt Student Jonas Vetterick Rostock

2 1 Einleitung Inhaltsverzeichnis 1 Einleitung Aufgabenstellung Stand der Technik Verwendeter Algorithmus Der Dijkstra Algorithmus Parallelisierung Cloud Computing Einleitung Übersicht aktueller Anbieter Google App Engine Konzepte zur Datenhaltung Relationale Datenbanksysteme Nicht-relationale Datenbanksysteme Softwarekonzeption Wahl der Cloud Anforderungen und Besonderheiten Architektur Grundkonzept Datenmodelle Parallelisierung Architekturmuster Schnittstellen Extern Intern Implementierung Übersicht Module/Packages Model (/data) Controller (/controller) Zusammenfassung Quellenverzeichnis von 62

3 1 Einleitung 1 Einleitung Das Thema dieser Bachelorarbeit ist die Netzwerkanalyse mit Cloud Computing und umfasst die Analyse eines vorhandenen Netzwerkes über einen längeren Zeitraum. Dieses Netzwerk, inklusive der Netzwerkdaten, entstand infolge der Opennet Initiative e.v., die ein freies WLAN-Funknetz in und um Rostock aufgebaut hat. Dieses Funknetz kann den aktuellen Zustand des Netzes ausgeben. Diese Ausgabe besteht aus mehreren Datensätzen, welche wiederum aus einem Zeitstempel, den IP-Adressen zweier miteinander verbundener Knoten A und B und deren Verbindungsqualitäten (von A nach B und von B nach A) zusammengesetzt ist. Da für jeden Zeitpunkt bzw. Zeitstempel circa 800 Datensätze vorhanden sind und der Zustand über mehrere Monate, mit einem Messintervall von einer Minute, hinweg analysiert werden soll, ist die Datenmenge relativ groß. Um die Analyse trotzdem in einem akzeptablen Zeitraum durchführen zu können, soll diese verteilt mittels Cloud Computing erfolgen. Die Konzeption und Entwicklung einer Anwendung, die dies umsetzt, ist die Aufgabe dieser Bachelorarbeit. Dazu wird im zweiten Kapitel dieser Arbeit zuerst die Aufgabenstellung konkretisiert und genauer analysiert. Anschließend wird in Kapitel 3 der momentane Stand der Technik vorgestellt. So wird der hier benutzte Algorithmus ausführlich erklärt und sowohl der Begriff Cloud Computing näher erläutert, als auch eine Übersicht über aktuelle Anbieter von Cloud Computing Diensten erstellt. Darauf folgend werden aktuelle Konzepte zur Datenhaltung vorgestellt und erläutert. Nach der Einarbeitung in den momentanen Stand der Technik wird das benötigte Softwarekonzept entworfen. Dies beinhaltet die Wahl eines Cloud Computing Dienstes, das Aufstellen der Hauptanforderungen an die Software, den Entwurf der Softwarearchitektur und die Definition der notwendigen Schnittstellen. Im vorletzten Kapitel wird dann die Umsetzung des Softwarekonzepts, die Implementierung, näher erläutert. Zum Schluss wird im Kapitel Zusammenfassung ein Fazit gezogen, aufgetretene Probleme beschrieben und ein kurzer Ausblick gegeben. 3 von 62

4 2 Aufgabenstellung 2 Aufgabenstellung Wie in der Einleitung schon erwähnt, geht es in dieser Arbeit darum, die Verbindungsdaten eines Funknetzes mittels des Dijkstra-Algorithmus zu analysieren und den Zustand des Netzes anhand dieser Analyse zu bewerten. Die Verbindungsdaten geben Auskunft darüber, wie die Qualität zwischen den direkt verbundenen Knoten, also Geräten mit einer IP-Adresse, ist. Diese Qualität wird auch LinkQuality (LQ) genannt und ist prinzipiell das Gewicht einer Kante. Die LinkQuality liegt in dem Wertebereich von 0,0 (sehr schlecht) bis 1,0 (sehr gut). Für jede Kante von einem Knoten A zu den mit A verbundenen Knoten B liegen jeweils zwei solcher LQ Werte vor: Von A nach B (Hinweg) und von B nach A (Rückweg). Darüber hinaus wichtet jeder Knoten seine Kanten selbst, das heißt, dass für die Verbindung zweier Knoten X und Y vier solcher LQ Werte vorhanden sind: Für Knoten X die Werte für Hin- und Rückweg und für Knoten Y ebenfalls die Werte für Hin- und Rückweg. Ein Auszug solcher Daten sieht folgendermaßen aus :00:02 00:00:02 00:00:02 00:00:02 00:00:02 00:00:02 00:00:02 00:00:02 00:00:02 00:00:02 00:00:02 00:00:02 00:00:02 00:00:02 00:00:02 00:00: Wie man sieht, stellt jede Zeile eine Kante des Funknetzes dar. Die für eine Kante notwendigen Informationen werden durch Tabulatoren in Spalten unterteilt. In der ersten Spalte steht immer der Zeitpunkt (Timestamp) an dem der Zustand des Netzes festgehalten wurde. In der zweiten und dritten Spalte stehen die IP-Adressen des 4 von 62

5 2 Aufgabenstellung ersten bzw. zweiten Knotens. Die letzten beiden Spalten enthalten folglich die Kantengewichte für Hin- und Rückweg in Form der LinkQuality. Der fiktive Kopf dieser Tabelle würde dann so aussehen: timestamp IP A IP B atob btoa Anschaulich ist das Beispiel in Abbildung 2.1 dargestellt. Es sind sieben Knoten vorhanden, von denen und Gateways sind. Abbildung 2.1: Beispiel Netzwerkdaten Die Information ob ein Knoten ein Gateway ist, steht nicht in den vorhandenen Verbindungsdaten. Auffällig in diesem Beispiel ist die Übereinstimmung der Kantengewichte bei Hin- und Rückwegen. Bis auf die beiden Kanten zwischen und sind diese immer identisch. Bei letzteren ist die Abweichung aber relativ gering, auf Übertragungsfehler zurückzuführen und daher vernachlässigbar. Aufgrund dieser Übereinstimmung kann das Netzwerk vereinfacht werden. Da es für jeden Rückweg auch einen Hinweg gibt und es nur selten geringe Abweichungen zwischen diesen Werten gibt, werden nur noch die Hinwege betrachtet. Dies stellt Abbildung 2.2 dar. 5 von 62

6 2 Aufgabenstellung Abbildung 2.2: Beispiel Netzwerk (vereinfacht) Auf diesem Netzwerk aufbauend kann nun die Analyse mittels des DijkstraAlgorithmus stattfinden. Da die Daten über einen relativ langen Zeitraum vorhanden sind, würde die sequentielle Abarbeitung des Dijkstra sehr lange dauern. Angenommen es sind Daten von drei Monaten verfügbar und das Intervall der gespeicherten Netzwerkzustände betrage eine Minute. Demzufolge sind Daten für 3 Monate 30 Tage 24 Stunden 60 Minuten= Zeitpunkte vorhanden. Da zu jedem Zeitpunkt ungefähr 800 Kanten existieren, benötigt ein lokal ausgeführter Dijkstra-Algorithmus ungefähr 1 Sekunde. Nimmt man nun an, dass das Netzwerk fünf Gateways enthält und der Dijkstra für jedes Gateway ausgeführt wird, ergibt sich daraus eine Berechnungszeit von Sekunde 5Gateways= Sekunden Dies wäre mehr als eine Woche. Um diese Zeit zu verkürzen, kann man den Algorithmus parallel abarbeiten lassen. Damit dafür nicht erst die notwendige Infrastruktur aufgebaut werden muss, sollen sogenannte Cloud Computing Dienste benutzt werden. 6 von 62

7 3 Stand der Technik 3 Stand der Technik 3.1 Verwendeter Algorithmus Der in dieser Arbeit verwendete Algorithmus ist der Algorithmus von Dijkstra. Er wird dazu benutzt in einem gewichteten Graphen den Weg mit dem niedrigsten Gewicht von einem Anfangsknoten zu allen anderen Knoten zu finden. Hier wurde der Algorithmus allerdings dahingehend modifiziert, dass nur Wege zu bestimmten Knoten sogenannten Gateways berechnet werden und das die Kantengewichte nicht negativ sind. Nachfolgend wird die Funktionsweise des Algorithmus näher beschreiben und anhand eines Beispiels zu erläutert Der Dijkstra Algorithmus Der Dijkstra Algorithmus arbeitet in zwei Phasen. In der ersten Phase wird die Berechnung der gewichteten Wege initialisiert. In der zweiten Phase wird die eigentliche Berechnung durchgeführt. In der ersten Phase, der Initialisierung, wird für jeden Knoten der Abstand zum Anfangsknoten und ein Verweis auf seinen Vorgänger gespeichert. In dieser Phase ist der Abstandswert des Anfangsknotens selbstverständlich Null. Für alle andere ist er noch nicht gesetzt bzw. Unendlich. Die zweite Phase besteht aus drei Schritten, die so oft wiederholt werden bis jeder Knoten besucht wurde oder ein Weg zu einem Gateway berechnet wurde. Dieses Gateway ist am dichtesten. Im ersten Schritt der zweiten Phase wird aus den Knoten, die noch nicht besucht wurden, derjenige ausgesucht, der den kleinsten Abstand hat. Dieser Knoten wird als besucht markiert. Im zweiten Schritt wird für alle Nachbarn des aus dem vorherigen Schritt ausgewählten Zwischenknotens ein neuer Abstand berechnet. Dieser neue Abstand besteht aus der Summe des Abstandswertes des Zwischenknotens und des Kantengewichts zum jeweiligen Nachbarn. 7 von 62

8 3.1 Verwendeter Algorithmus Im dritten Schritt dieser Phase wird überprüft, ob der neue Abstandswert der Nachbarn kleiner ist als der bisher berechnete Abstand. Ist dies der Fall, wird der neue Abstandswert gespeichert und der Zwischenknoten als Vorgänger gesetzt[1, S. 595]. Beispiel An dieser Stelle wird der Dijkstra Algorithmus an einem Beispiel erläutert. Der hier dargestellte gewichtete Graph enthält die Knoten A bis H. Die markierten Knoten E und H stellen Gateways dar. Nun wird auf diesen Graphen der Dijkstra Algorithmus angewendet und die erste Phase ausgeführt. Für den Anfangsknoten A wird also der festgelegt. Abstandswert Er hat Null keinen Vorgänger. 8 von 62

9 3.1 Verwendeter Algorithmus Als nächstes wird die zweite Phase ausgeführt: Es wird der Knoten mit dem Abstand (hier A) kleinsten ausgewählt. Weiter werden für die Nachbarn F und B die Abstandswerte neu berechnet und A als Vorgänger gesetzt. Nun wird die zweite Phase ein weiteres Mal ausgeführt: F hat den geringsten Abstand. Es werden die Abstandswerte von H und G neu berechnet und F als Vorgänger gespeichert. 9 von 62

10 3.1 Verwendeter Algorithmus Der Algorithmus bleibt weiterhin in der zweiten Phase und wählt G aus. Für die Nachbarknoten E und D werden die Abstandswerte aktualisiert und G als Vorgänger eingetragen. Nach wie vor in befindet sich der Algorithmus in Phase Zwei. Hier wird jetzt B geringsten aufgrund des Abstandswertes bestimmt. Da der Weg von A zu E über B einen größeren Abstandswert (0,7) ergeben würde als der bisherige (0,6), wird bei E weder der Abstand noch der Vorgänger geändert. 10 von 62

11 3.1 Verwendeter Algorithmus Der letzte Lauf in der zweiten Phase besucht E und somit ein Gateway. Die Suche ist beendet. Indem vom Gateway E rückwärts alle Vorgänger ausgelesen werden, kann der Weg vom Anfangsknoten A zum Gateway E bestimmt werden: A F G E Parallelisierung Der Dijkstra Algorithmus kann mit zwei verschiedenen Verfahren parallelisiert werden. Zum Einen mit dem Verfahren Source partitioned und zum Anderen mit dem Verfahren Source parallel[2]. In dieser Arbeit jedoch wird nicht der Algorithmus an sich verteilt, sondern für jeden Zeitpunkt und jedes Gateway parallel ausgeführt. Die Parallelisierung geschieht also nicht im Algorithmus, sondern eine Ebene höher anhand der zu Grunde liegenden Daten. 11 von 62

12 3.2 Cloud Computing 3.2 Cloud Computing Einleitung Der Begriff Cloud Computing ist nicht eindeutig definiert. Er bezeichnet aber im Grunde das Bereitstellen von Diensten oder Plattformen, deren Abrechnung nutzungsbedingt erfolgt. Der Dienst bzw. die Plattform läuft dabei meist in einer virtualisierten Umgebung auf mehreren Rechnern[3, S. 4] Übersicht aktueller Anbieter Um einen Überblick über die Eigenschaften und Besonderheiten der momentan größten Cloud Computing Dienste zu bekommen, dient die nachfolgende Übersicht. Arten von Cloud Computing Cloud Computing wird in zwei verschiedene Betriebsarten unterteilt: public und private Cloud Computing. Während die Anbieter von public Clouds ihre Dienste für jeden zur Verfügung stellen, lassen Anbieter von private Clouds nur bestimmte Nutzer auf ihre Dienste zugreifen. Private Clouds existieren meist nur in Unternehmen[3, S. 3]. Nachfolgend werden für diese Arbeit nur public Clouds betrachtet. Unterteilung der wichtigsten Cloud Technologien Auf der ersten internationalen Cloud Computing Konferenz der CloudCom 2009[4] wurde Cloud Computing grob in zwei Arten unterteilt und deren wichtigste Anbieter aufgelistet[5, S. 627]. Technologie Beschreibung Produkt Infrastructure Bereitstellen von virtuellen Amazon as a Service Systemen, inklusive Netzwerk Elastic Compute Cloud Platform Bereitstellen einer Google (App Engine) as a Service Anwendungsplattform, inklusive Netzwerk, Virtualisierung und Verteilung der Anwendung [5, S. 628] 12 von 62

13 3.2 Cloud Computing Ein Anbieter von Cloud Computing ist nicht an eine Technologie gebunden. Er kann auch beide anbieten, wie Microsoft mit Windows Azure[6, S. 17f]. Da sich die meisten Anbieter nicht wesentlich unterscheiden, werden nur die oben stehenden drei Cloud Computing Produkte betrachtet. Abrechnungsmodell Grundsätzlich haben alle Anbieter das gleiche Abrechnungsmodell: Es wird nur nach tatsächlich verbrauchten Ressourcen bezahlt. Jeder der drei Anbieter rechnet je Stunde ab und berechnet die Kosten anhand aller genutzten Ressourcen, wie Bandbreite, CPU Zeit und gespeicherte Datenmenge[7][8][9]. Bei der App Engine von Google gibt es außerdem für alle anderen Ressourcen, wie zum Beispiel die Anfragen an den Datastore, gewisse Kontingente. Überschreitet eine Anwendung eines der Kontingente wird sie nicht mehr ausgeführt[10]. Des Weiteren kann der Kunde eine Grenze festlegen, die vorgibt wie viel die Nutzung an einem Tag maximal kosten darf[7]. Kosten Die Kosten bei der Nutzung von Cloud Computing werden anhand der Nutzung von Ressourcen berechnet. Je mehr bzw. je länger eine Ressource benutzt wird, desto mehr kostet sie[6, S. 49]. Dieses Kapitel gibt einen Überblick über die Kosten der hier benötigten Ressourcen. Es werden jeweils nur die Standard Produkte verglichen. CPU Grundsätzlich rechnen alle Anbieter nach Verbrauch von Rechenleistung je Stunde ab. Der Vergleich der Preise ist aber nicht so eindeutig wie es auf den ersten Blick erscheinen mag, da keiner der Anbieter konkrete Angaben zu der Rechenleistung macht. 13 von 62

14 3.2 Cloud Computing Cloud CPU ($/h) Amazon Elastic Compute Cloud 0,0851[8] Google App Engine 0,100[7] Windows Azure 0,120[9] Speicher Alle Anbieter haben einen ähnlichen Preis für die gleiche Leistung. Bei dem Angebot von Amazon wird Speicher nicht über Elastic Compute Cloud verrechnet, sondern über den eigenständigen Dienst Amazon Simple Storage Service[11]. Beide Dienste arbeiten aber ohne Probleme zusammen[12]. Cloud Speicher ($/GB im2) Amazon Elastic Compute Cloud 0,1403[11] Google App Engine 0,150[7] Windows Azure 0,150[9] Speicher-Transaktionen Um auf die in der Cloud gespeicherten Daten zugreifen zu können, müssen bestimmte Transaktionen ausgeführt werden. Bei den Produkten von Amazon und Google ergeben sich hier ein paar Besonderheiten: Bei Amazon zahlt man für die Transaktionen PUT, COPY, POST oder LIST 0,10$ statt 0,01$ (0,010$ je Transaktionen, statt 0,010$ je Transaktionen)[11] Bei Google werden Transaktionen nicht abgerechnet. Es gibt aber ein Maximum an Transaktionen im Monat ( ) und pro Minute ( ), das nicht überschritten werden darf[13] 1 US N. Virginia, Linux/UNIX 2 GigaByte im Monat 3 US Standard (Amazon Simple Storage Service) 14 von 62

15 3.2 Cloud Computing Cloud Transaktionen ($/ Amazon Elastic Compute Cloud 0,0104[11] Google App Engine -5[10] Windows Azure 0,010[9] Bandbreite Um Daten in und aus der Cloud zu übertragen, fallen Kosten an, die in Gigabyte je Monat abgerechnet werden. Cloud Input Ouput ($/GB im6) ($/GB im6) Amazon Elastic Compute Cloud 0,100[8] 0,150[8] Google App Engine 0,100[7] 0,120[7] Windows Azure 0,100[9] 0,150[9] Framework/Programmiersprache Die Auswahl des Frameworks bzw. der Programmiersprache kann ein wichtiger Faktor bei der Wahl einer Cloud sein. Cloud Framework/Programmiersprache Amazon Elastic Compute Cloud - (beliebig wählbar) Google App Engine Java (eingeschränkt)[14] Python (eingeschränkt)[14] Windows Azure - (beliebig wählbar) Da Amazon mit der Elastic Compute Cloud nur die Infrastruktur bereitstellt, kann das Framework bzw. die Programmiersprache beliebig gewählt werden, sofern das virtuelle System diese unterstützt. Es stehen aber Software Development Kits für die Frameworks bzw. Programmiersprachen Java[15], PHP[16], Python[17], Ruby[18] und.net[19] zur Verfügung. Google hingegen bietet mit seiner App Engine nur eine Anwendungsplattform und legt daher fest welches Framework bzw. welche Programmiersprache benutzt werden darf. Dies sind in diesem Fall Java und Python. 4 Für PUT, COPY, POST oder LIST: 0,010$ je Transaktion 5 Max. erlaubt: Transaktionen im Monat oder Transaktionen je Minute 6 GigaByte im Monat 15 von 62

16 3.2 Cloud Computing Anwendungen dieser beide Frameworks unterliegen allerdings folgenden Restriktionen[20]: Die Anwendung hat keinen Schreibzugriff auf das Dateisystem Das Öffnen eines Socket oder der direkte Zugriff auf einen anderen Host ist nicht möglich Es können keine Unterprozesse oder Threads erstellt werden Es ist nicht möglich Funktionen des Systems aufzurufen Des Weiteren gibt es für Java und Python spezielle Beschränkungen. So stehen für beide nicht alle Standardbibliotheken bereit. Für Java gibt eine Liste explizit an, welche Bibliotheken genutzt werden können[21]. Bei Python sind nur reine PythonAnwendungen erlaubt: Erweiterungen in C oder Code, der kompiliert werden muss, wird ignoriert[22]. Bei Windows Azure ist die Wahl des Frameworks bzw. der Programmiersprache wie bei der Elastic Compute Cloud von Amazon beliebig wählbar. Es existieren aber Software Development Kits für.net, C++, PHP, Ruby, Python und Java[23]. Instanzen Jeder der drei Anbieter stellt seine Produkte in gewissen Instanzen zur Verfügung. Sie haben je nach Cloud Technologie (Infrastructure as a Service und Platform as a Service) verschiedene Funktionen. Bei der Elastic Compute Cloud von Amazon und Windows Azure von Microsoft stehen sie für ein konkretes, virtuelles System[24][25]. Bei der App Engine von Google hingegen repräsentiert eine Instanz ein konkret ausgeführtes Programm[14]. Alle Instanztypen unterliegen einfachen Restriktionen: Cloud Restriktion Amazon Elastic Compute Cloud 20 On-Demand Instanzen pro Region[26] Google App Engine Eine Instanz darf maximal 30 Sekunden CPU Zeit brauchen[27][28] Windows Azure -[29] Die hier betrachteten Instanzen, beziehen sich jeweils auf die Standard-Instanzen der Anbieter. 16 von 62

17 3.2 Cloud Computing Google App Engine Google verfolgt mit dem Produkt Google App Engine das Ziel nur die Plattform einer Anwendung bereit zu stellen. Um dieses Ziel zu erreichen, stellt Google dem Benutzer eine Reihe nützlicher Dienste zur Verfügung. Um diese Dienste nutzen zu können, wird ein Account bei Google benötigt. Der wohl wichtigste Dienst ist die Sandbox. In ihr werden je nach Bedarf und noch verfügbarem Kontingent Instanzen der Anwendung eines Benutzers gestartet und ausgeführt. Sie gewährleistet außerdem, dass eine Anwendung nur auf ihren eigenen Speicher zugreifen kann. Der Zugriff auf Speicher außerhalb der Sandbox ist nicht möglich. Des Weiteren existieren weitere Einschränkungen, die allerdings im Kapitel Framework/Programmiersprache schon erläutert wurden. Die Sandbox erlaubt sowohl das Ausführen von Java Bytecode, als auch das Ausführen von Python-Code[14]. Ein weiterer wichtiger Dienst ist der Datastore, der es ermöglicht Daten beliebig zu speichern. Der Datastore ist kein relationales Datenbanksystem und wird im Kapitel 3.3 Konzepte zur Datenhaltung näher erklärt[14]. Neben diesen beiden wichtigen Diensten, stellt Google eine Reihe weiterer Dienste bereit, wie etwa die Authentifizierung von Benutzern mittels Google Accounts, das Abrufen von Webseiten mit URL Fetch, das Senden von s, das Speichern in einem nicht persistenten Speicher mit Memcache oder das Ausführen von Instanzen im Hintergrund mittels der TaskQueue[14][30]. Eine Schnittstelle für Entwickler, wie bei der Elastic Compute Cloud von Amazon, gibt es bei der Google App Engine nicht. 3.3 Konzepte zur Datenhaltung Alle hier betrachteten Anbieter offerieren verschiedene Konzepte und Möglichkeiten Daten zu Speichern. Um einen Überblick der angebotenen Konzepte zu bekommen, werden diese nun erläutert und vorgestellt Relationale Datenbanksysteme Relationale Datenbanksysteme speichern Daten in Form von Tabellen. Durch das Festlegen von bestimmten Schlüsseln können Datensätze verschiedener Tabellen 17 von 62

18 3.3 Konzepte zur Datenhaltung miteinander verknüpft bzw. in Relation zu einander gestellt werden. Für Anfragen und Operationen wird hier die Standard Query Language (SQL) benutzt[31, S. 34]. Diese Anfragen und Operationen werden auch als Relationenalgebra bezeichnet und umfassen die Selektion, Projektion, Verbund[31, S. 24f]. Darüber Mengenoperationen, wie die hinaus Umbenennung und den gehören der Relationenalgebra Differenz, zu der Durchschnitt natürlichen und die Vereinigung[31, S. 27]. Amazon Relational Database Service (Amazon RDS) Amazon bietet im Rahmen der Amazon Web Services, neben der schon vorgestellten Elastic Compute Cloud, auch einen Dienst an, der eine relationale Datenbank in der Cloud zur Verfügung stellt: Amazon Relational Database Service (Amazon RDS). Amazon RDS basiert auf dem MySQL Server 5.1 von Oracle. Demzufolge unterstützt es auch alle Funktionen, die ein nicht in der Cloud ausgeführtes MySQL 5.1 anbietet. Darüber hinaus bietet Amazon für diesen Dienst weitere Funktionen, wie das Patch Management, Replikation und Backups an. Die Skalierung und die damit einhergehende Verteilung der Daten bei höherer Last muss der Kunde allerdings selbst übernehmen, indem er weitere Instanzen des Dienstes anfordert[32]. Windows SQL Azure Microsoft stellt, genau wie Amazon mit dem Relational Database Service, ein relationales Datenbanksystem für die Cloud zur Verfügung: Windows SQL Azure. Windows SQL Azure basiert auf dem Microsoft SQL Server und stellt alle seine Funktionen bereit. Es macht also, bis auf den Aspekt der Latenz der Netzwerkverbindung, keinen Unterschied, ob eine Anwendung Windows SQL Azure in der Cloud oder ein lokal installierten Microsoft SQL Server nutzt. Allerdings gibt es aus Gründen der Parallelisierbarkeit eine Begrenzung der Größe einer in Windows SQL Azure angelegten Datenbank: Eine Datenbank darf nicht größer als zehn Gigabyte sein. Die Anzahl der Datenbanken ist jedoch unbegrenzt. Ähnlich wie beim Pendant von Amazon übernimmt Microsoft einen Großteil der Verwaltungsaufgaben[33] Nicht-relationale Datenbanksysteme Im Gegensatz zu den relationalen Datenbanksystemen existieren nicht-relationale Datenbanksysteme, die sich durch sehr einfache, dynamische Datenstrukturen, wie 18 von 62

19 3.3 Konzepte zur Datenhaltung zum Beispiel simple Key-Value-Speicher, auszeichnen. Moderne Systeme dieser Art werden heute oft auch unter dem Begriff NoSQL zusammengefasst. Sie haben den Vorteil, dass sie im Gegensatz zu relationalen Datenbanksystemen sehr leicht zu verteilen sind. Allerdings ist es nicht möglich einen Verbund durchzuführen. [34, S. 248]. Nachfolgend werden für die hier ausgewählten Anbieter von Cloud Computing die angebotenen Dienste für das Speichern in nicht-relationalen Datenbanksystemen vorgestellt und kurz erläutert. Google App Engine Datastore Der nicht-relationale Datenspeicher von Google der Datastore - ist sehr ähnlich aufgebaut wie Amazons SimpleDB. Im Datastore können Objekte gespeichert werden. Ein Objekt auch Entity genannt hat mindestens eine Eigenschaft den Schlüssel - und ist von einer Art bzw. einem Model (siehe Models). Eigenschaften werden Properties genannt und entsprechen den Attributen bei SimpleDB von Amazon. Properties sind von bestimmten Typen, wie Integer, String, Float oder einer Uhrzeit. Zu jeder Property kann eine Entity einen oder mehrere Werte speichern. Wie schon erwähnt hat jede Entity einen Schlüssel, den Key, der sie eindeutig identifiziert und vom Datastore automatisch erzeugt werden kann. Wie auch bei der SimpleDB ist es nicht zwingend notwendig, dass alle Entities die gleichen Eigenschaften haben[35]. Models Wie zuvor angesprochen, gehört jede Entity zu einem Model, das die Properties definiert. Der Typ eines Property muss bei der Entwicklung eine Unterklasse der Property-Klasse sein und kann entweder aus der Menge der vordefinierten Properties stammen oder vom Entwickler selbst erstellt werden[36]. Um ein Model zu erstellen gibt es für die Java und Python APIs bzw. Frameworks jeweils eine Lösung. In Python muss für jedes Model eine Unterklasse von db.model erstellt werden. Dieser werden dann die gewünschten Properties hinzugefügt. Dies könnte für ein Model, das zum Beispiel ein Haustier repräsentiert und Eigenschaften für den Namen, die Art, den Geburtstag, das Gewicht und den Besitzer enthält folgendermaßen aussehen[36]: 19 von 62

20 3.3 Konzepte zur Datenhaltung from google.appengine.ext import db class Pet(db.Model): name = db.stringproperty(required=true) type = db.stringproperty(required=true, choices=set(["cat", "dog", "bird"])) birthdate = db.dateproperty() weight_in_pounds = db.integerproperty() spayed_or_neutered = db.booleanproperty() owner = db.userproperty(required=true) In Java muss die Java Persistence API verwendet und ebenfalls für jedes Model eine Klasse erstellt werden. Für ein Model, das einen Angestellten mit den Eigenschaften Vorname, Nachname und Entlassungsdatum repräsentiert, würde die Umsetzung wie folgt aussehen: import com.google.appengine.api.datastore.key; import java.util.date; import javax.jdo.annotations.idgeneratorstrategy; import javax.jdo.annotations.persistencecapable; import javax.jdo.annotations.persistent; import public class = IdGeneratorStrategy.IDENTITY) private Key private String 20 von 62

21 3.3 Konzepte zur Datenhaltung private String private Date hiredate; public Employee(String firstname, String lastname, Date hiredate) { this.firstname = firstname; this.lastname = lastname; this.hiredate = hiredate; } } Abfragen Abfragen erfolgen im Datastore mittels der GQL (Google Query Language), die SQL sehr ähnlich ist[37]. Darüber hinaus sind aber auch Kapselungen für die unterstützten Frameworks bzw. Programmiersprachen Python[38] und Java[39] vorhanden. Um Abfragen effizient abzuarbeiten, müssen diese einem Abfragetypen entsprechen. Ein Abfragetyp definiert sich aus den Eigenschaften eines Model, die in der Abfrage gefiltert oder sortiert werden sollen und muss zur Entwicklungszeit definiert werden. Für jeden Abfragetyp wird vom Datastore ein Index über die vorhandenen, zum Abfragetyp passenden, Daten gebildet. Werden die Daten verändert, wird auch der Index entsprechend angepasst. Diese Indizierung bewirkt zwar somit einen zusätzlichen Rechenaufwand bei der Änderung der Daten, aufgrund der Sortierung beschleunigt sie allerdings den Zugriff auf jene Daten. Die Eigenschaften des Index, der eigentlich auch nur eine Tabelle ist, werden bei der Indizierung nach folgenden Gesichtspunkten sortiert: 1. Elternbeziehungen 2. Werte, deren Eigenschaften auf Gleichheit geprüft bzw. gefiltert werden 3. Werte, deren Eigenschaften auf Ungleichheit geprüft bzw. gefiltert werden 4. Werte, deren Eigenschaften sortiert werden Nachfolgend soll ein Beispiel dies verdeutlichen. 21 von 62

22 3.3 Konzepte zur Datenhaltung Angenommen, es wird folgende Anfrage gestellt: SELECT * FROM Person WHERE last_name = "Smith" AND height < 72 ORDER BY height DESC Diese hat einen Index, der aus einer Tabelle mit dem Schlüssel des Typs Person besteht. Des Weiteren hat die Tabelle zwei Spalten für die Eigenschaften last_name und height. Die folgende, zweite Anfrage hat genau den gleichen Index[40]. SELECT * FROM Person WHERE last_name = "Jonas Vetterick" AND height < 63 ORDER BY height DESC Genau wie Amazon auch, bietet Google weitere Funktionen für den Datastore an. Dies sind einfache Transaktionen und Konsistenzoptionen. Als Besonderheit sei anzumerken, dass aus Effizienzgründen pro Abfrage nur eine Überprüfung auf Ungleichheit erlaubt ist. 22 von 62

23 4 Softwarekonzeption 4 Softwarekonzeption 4.1 Wahl der Cloud Die Wahl der Cloud ist für diese Arbeit sehr entscheidend, da sie bestimmt, welche Frameworks bzw. Programmiersprachen zur Verfügung stehen. Dies hat Einfluss auf die nutzbaren Funktionen, Bibliotheken und Sprachkonzepte. In dieser Arbeit fiel die Entscheidung zu Gunsten der Google App Engine. Grund dafür waren die vorhandenen Frameworks Java und Python, mit beiden ist der Autor sehr vertraut. Des Weiteren sprach für die App Engine das relativ einfache Konzept zum Speichern von Daten: Datensätze sind Instanzen von Models, die einfache Attribute wie z.b. Integer, Listen und Strings enthalten. Ein weiterer wichtiger Grund war der vorgegebene Zeitrahmen dieser Arbeit. Da die Nutzung der App Engine fast keine Zeit für die Installation in Anspruch nimmt, musste dafür auch nur seht wenig Zeit investiert werden. Auch der Aufwand der Konfiguration beschränkt sich bei der App Engine auf ein sehr geringes Maß, da hier nur ein paar Parameter für die verwendeten Dienste eingestellt werden mussten. Darüber hinaus steht für die App Engine ein kostenloses Kontingent der Ressourcen zur Verfügung. Zum Zeitpunkt der Entwicklung war dies völlig ausreichend. Die anderen hier vorgestellten Cloud Produkte haben dies nicht bzw. erst im Nachhinein angeboten. Des Weiteren machte das Konzept der Bezahlung einen sehr guten Eindruck, da man nur für Kontingenterweiterungen bezahlt. Dies hat den Vorteil, dass bei einer übermäßigen Nutzung nur das vorhandene Kontingent aufgebraucht wird und keine unplanmäßigen Kosten entstehen Außerdem erschien die Dokumentation der zur Verfügung gestellten API bei der Analyse der drei Clouds sehr kompakt, dies stellte sich während der Entwicklung als echter Vorteil heraus, da wichtige Informationen schnell gefunden und erfasst werden konnten. Die Wahl des Frameworks bzw. der Programmiersprache fiel zu Gunsten von Python aus, da Python dynamisch und funktional ist, was sich bei den verwendeten Datenstrukturen als nützlich erwiesen hat. 23 von 62

Skalierbare Webanwendungen mit Python und Google App Engine

Skalierbare Webanwendungen mit Python und Google App Engine Skalierbare Webanwendungen mit Python und Google App Engine Oliver Albers 03. Juli 2008 1/32 Einführung Worum geht es? Pro und Contra Technik Genereller Aufbau Anwendungskonfiguration Verarbeitung von

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

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

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Antwortzeitverhalten von Online Storage Services im Vergleich

Antwortzeitverhalten von Online Storage Services im Vergleich EPOD Encrypted Private Online Disc Antwortzeitverhalten von Online Storage Services im Vergleich Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS

Mehr

MICROSOFT WINDOWS AZURE

MICROSOFT WINDOWS AZURE Cloud Computing à la Microsoft MICROSOFT WINDOWS AZURE Karim El Jed netcreate OHG Agenda Was ist Cloud Computing? Anwendungsszenarien Windows Azure Platform Alternativen Was ist Cloud Computing? Was ist

Mehr

Integration Services - Dienstarchitektur

Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Dieser Artikel solle dabei unterstützen, Integration Services in Microsoft SQL Server be sser zu verstehen und damit die

Mehr

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Inhaltsverzeichnis Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Einleitung... 15 Zielgruppe... 16 Aufbau... 16 Inhalt der einzelnen Kapitel... 17 Systemanforderungen...

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

1 Die Active Directory

1 Die Active Directory 1 Die Active Directory Infrastruktur Prüfungsanforderungen von Microsoft: Configuring the Active Directory Infrastructure o Configure a forest or a domain o Configure trusts o Configure sites o Configure

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Cloud Computing Deployment Typen: Private cloud Besitzt das Unternehmen Community cloud Gemeinsame Nutzung durch Gemeinschaft Public cloud Öffentliche

Mehr

TimeSafe Leistungserfassung

TimeSafe Leistungserfassung Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

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

Konzeption und Entwicklung einer an YouTube orientierten Lösung für Video-Streaming auf Basis von Cloud Computing-Diensten

Konzeption und Entwicklung einer an YouTube orientierten Lösung für Video-Streaming auf Basis von Cloud Computing-Diensten Konzeption und Entwicklung einer an YouTube orientierten Lösung für Video-Streaming auf Basis von Cloud Computing-Diensten Sufian Abu-Rab 22 April 2011 Agenda 1. Probleme bei der Nutzung von Video-Portalen

Mehr

Server Installation 1/6 20.10.04

Server Installation 1/6 20.10.04 Server Installation Netzwerkeinrichtung Nach der Installation müssen die Netzwerkeinstellungen vorgenommen werden. Hierzu wird eine feste IP- Adresse sowie der Servername eingetragen. Beispiel: IP-Adresse:

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Microsoft SQL Server 2014 Express & EPLAN Plattform. EPLAN-Product-IT-Support / FOS / 2015 1

Microsoft SQL Server 2014 Express & EPLAN Plattform. EPLAN-Product-IT-Support / FOS / 2015 1 Microsoft SQL Server 2014 Express & EPLAN Plattform 1 Microsoft SQL Server & EPLAN Plattform Übersicht Download - Microsoft SQL Server 2014 Express mit Advances Services Installation - Microsoft SQL Server

Mehr

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager FILESTREAM für Microsoft SQL Server aktivieren FILESTREAM für Microsoft SQL Server aktivieren

Mehr

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Ein Beispiel Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Dipl.-Kfm. Claus Häberle WS 2015 /16 # 42 XML (vereinfacht) visa

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

Softwaretool Data Delivery Designer

Softwaretool Data Delivery Designer Softwaretool Data Delivery Designer 1. Einführung 1.1 Ausgangslage In Unternehmen existieren verschiedene und häufig sehr heterogene Informationssysteme die durch unterschiedliche Softwarelösungen verwaltet

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik Cloud Computing Gliederung Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik 2 Bisher Programme und Daten sind lokal beim Anwender

Mehr

4 Planung von Anwendungsund

4 Planung von Anwendungsund Einführung 4 Planung von Anwendungsund Datenbereitstellung Prüfungsanforderungen von Microsoft: Planning Application and Data Provisioning o Provision applications o Provision data Lernziele: Anwendungen

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog 10.Klasse: Themenschwerpunkt I: Datenbanken Datenbanken o Einsatzbereiche von Datenbanken o Verwaltung von großen Datenmengen o Probleme aus dem Alltag in Datenbanken abbilden o Relationale Datenbanksysteme

Mehr

Neuerungen Analysis Services

Neuerungen Analysis Services Neuerungen Analysis Services Neuerungen Analysis Services Analysis Services ermöglicht Ihnen das Entwerfen, Erstellen und Visualisieren von Data Mining-Modellen. Diese Mining-Modelle können aus anderen

Mehr

0. Inhaltsverzeichnis

0. Inhaltsverzeichnis 0. Inhaltsverzeichnis 0. Inhaltsverzeichnis...1 1. Kurze Einführung WebService Architektur...2 1.1 Synchrones Modell:...2 1.2 Asynchrones Modell:...2 1.3 Vorteile:...3 1.4 Voraussetzungen...3 2. Testseite

Mehr

How-to: VPN mit IPSec und Gateway to Gateway. Securepoint Security System Version 2007nx

How-to: VPN mit IPSec und Gateway to Gateway. Securepoint Security System Version 2007nx Securepoint Security System Version 2007nx Inhaltsverzeichnis VPN mit IPSec und Gateway to Gateway... 3 1 Konfiguration der Appliance... 4 1.1 Erstellen von Netzwerkobjekten im Securepoint Security Manager...

Mehr

9. Einführung in Datenbanken

9. Einführung in Datenbanken 9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken

Mehr

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik ARFA ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

Handbuch. MiniRIS-Monitor

Handbuch. MiniRIS-Monitor Handbuch MiniRIS-Monitor Ersteller: EWERK MUS GmbH Erstellungsdatum: 09.05.2011 Inhalt 1 Vorwort... 3 2 Installation... 4 2.1 Voraussetzungen... 4 2.2 Installation... 4 3 Einstellungen... 5 4 Handhabung...

Mehr

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

Mehr

Gefahren aus dem Internet 1 Grundwissen April 2010

Gefahren aus dem Internet 1 Grundwissen April 2010 1 Grundwissen Voraussetzungen Sie haben das Internet bereits zuhause oder an der Schule genutzt. Sie wissen, was ein Provider ist. Sie wissen, was eine URL ist. Lernziele Sie wissen, was es braucht, damit

Mehr

Einführung in Datenbanksysteme. H. Wünsch 01.2001

Einführung in Datenbanksysteme. H. Wünsch 01.2001 Einführung in Datenbanksysteme H. Wünsch 01.2001 H. Wünsch 01/2001 Einführung Datenbanken 2 Was sind Datenbanken? Datenbanken sind Systeme zur Beschreibung, Speicherung und Wiedergewinnung von Datenmengen.

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

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

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

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert Maika Büschenfeldt Datenbanken: Skript 1 1. Was ist eine relationale Datenbank? In Datenbanken können umfangreiche Datenbestände strukturiert abgelegt werden. Das Konzept relationaler Datenbanken soll

Mehr

Seminar Cloud Data Management WS09/10. Tabelle1 Tabelle2

Seminar Cloud Data Management WS09/10. Tabelle1 Tabelle2 Seminar Cloud Data Management WS09/10 Tabelle1 Tabelle2 1 Einführung DBMS in der Cloud Vergleich verschiedener DBMS Beispiele Microsoft Azure Amazon RDS Amazon EC2 Relational Databases AMIs Was gibt es

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Vorlesung 30.03.2009 1) Einführung

Vorlesung 30.03.2009 1) Einführung Vorlesung 30.03.2009 1) Einführung Was versteht man unter dem Begriff Datenbank? - Eine Datenbank ist eine Struktur zur Speicherung von Daten mit lesendem und schreibendem Zugriff - Allgemein meint man

Mehr

Datenbanken (WS 2015/2016)

Datenbanken (WS 2015/2016) Datenbanken (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

Mehr

Whitepaper. Produkt: combit Relationship Manager / combit address manager. SQL Server Backup mit SQLBackupAndFTP

Whitepaper. Produkt: combit Relationship Manager / combit address manager. SQL Server Backup mit SQLBackupAndFTP combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / combit address manager SQL Server Backup mit SQLBackupAndFTP - 2 - Inhalt Einleitung 3 Installation 3 Ersteinrichtung

Mehr

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger

Mehr

SMC Integrationsserver 5.0 Versionsinformationen

SMC Integrationsserver 5.0 Versionsinformationen SMC Integrationsserver 5.0 Versionsinformationen SMC IT AG Pröllstraße 24 86157 Augsburg Tel. (0821) 720 62-0 Fax. (0821) 720 62-62 smc-it.de info@smc-it.de Geschäftsstelle Ettlingen Pforzheimer Straße

Mehr

Definition Informationssystem

Definition Informationssystem Definition Informationssystem Informationssysteme (IS) sind soziotechnische Systeme, die menschliche und maschinelle Komponenten umfassen. Sie unterstützen die Sammlung, Verarbeitung, Bereitstellung, Kommunikation

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

Was ist Amazon RDS? Datenbank Typen DB Instanzen Features. Live Demo Fazit. Amazon RDS - Till Ganzert 15.06.2012 2

Was ist Amazon RDS? Datenbank Typen DB Instanzen Features. Live Demo Fazit. Amazon RDS - Till Ganzert 15.06.2012 2 Was ist Amazon RDS? Datenbank Typen DB Instanzen Features Kosten Live Demo Fazit 15.06.2012 2 Web-Service von Amazon Erlaubt mieten von Datenbanken Einrichtung, Betrieb und Skalierung übernimmt Anbieter

Mehr

Installation SQL- Server 2012 Single Node

Installation SQL- Server 2012 Single Node Installation SQL- Server 2012 Single Node Dies ist eine Installationsanleitung für den neuen SQL Server 2012. Es beschreibt eine Single Node Installation auf einem virtuellen Windows Server 2008 R2 mit

Mehr

Verwaltung großer Datenmengen auf einem Netzwerklaufwerk. Ein Vergleich zwischen MS-ACCESS und SQLite.

Verwaltung großer Datenmengen auf einem Netzwerklaufwerk. Ein Vergleich zwischen MS-ACCESS und SQLite. Verwaltung großer Datenmengen auf einem Netzwerklaufwerk. Ein Vergleich zwischen MS-ACCESS und SQLite. Was tun, wenn man als Entwickler eine Datenbank einsetzen will, aber keine SQL-Datenbank installieren

Mehr

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. PHP + MySQL Die MySQL-Datenbank Zusammenspiel Apache, PHP, PHPMyAdmin und MySQL PHPMyAdmin Verwaltungstool Nutzer Datei.php oder Datei.pl Apache HTTP-Server PHP Scriptsprache Perl Scriptsprache MySQL Datenbank

Mehr

MapReduce in der Praxis

MapReduce in der Praxis MapReduce in der Praxis Rolf Daniel Seminar Multicore Programmierung 09.12.2010 1 / 53 Agenda Einleitung 1 Einleitung 2 3 Disco Hadoop BOOM 4 2 / 53 1 Einleitung 2 3 Disco Hadoop BOOM 4 3 / 53 Motivation

Mehr

SQL Azure Technischer Überblick. Steffen Krause Technical Evangelist Microsoft Deutschland GmbH http://blogs.technet.com/steffenk

SQL Azure Technischer Überblick. Steffen Krause Technical Evangelist Microsoft Deutschland GmbH http://blogs.technet.com/steffenk SQL Azure Technischer Überblick Steffen Krause Technical Evangelist Microsoft Deutschland GmbH http://blogs.technet.com/steffenk Haftungsausschluss Microsoft kann für die Richtigkeit und Vollständigkeit

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

HILFE Datei. UPC Online Backup

HILFE Datei. UPC Online Backup HILFE Datei UPC Online Backup Inhalt Login Screen......? Welcome Screen:......? Manage Files Screen:...? Fotoalbum Screen:.........? Online backup Client Screen...? Frequently Asked Questions (FAQ s)...?

Mehr

PowerBridge MSSQL Beta

PowerBridge MSSQL Beta SoftENGINE PowerBridge MSSQL Beta Dokumentation Thomas Jakob 17.04.2011 Inhalt Einrichtung der SQL Umgebung... 3 SQL-Server Installieren... 3 BüroWARE Installieren... 3 PowerBridge-SQL Modus einrichten...

Mehr

Oracle Forms. Aufbau und Bestandteile von Formularen. Erstellen eines neuen Blocks. Starten von Oracle Forms

Oracle Forms. Aufbau und Bestandteile von Formularen. Erstellen eines neuen Blocks. Starten von Oracle Forms Oracle Forms Oracle Forms ist eine Applikation für den Entwurf und die Erstellung Forms-basierender Anwendungen. Diese Forms umfassen Dateneingabe-Formulare Datenabfrage-Formulare Browser-Formulare Oracle

Mehr

Postgresql. Michael Dienert. 10. Dezember 2007. 1.1 Installationsort der Programme... 1

Postgresql. Michael Dienert. 10. Dezember 2007. 1.1 Installationsort der Programme... 1 Postgresql Michael Dienert 10. Dezember 2007 Inhaltsverzeichnis 1 Übersetzen und Installieren 1 1.1 Installationsort der Programme..................... 1 2 Einrichten einer Testdatenbank 1 2.1 Das Datenbank-Cluster.........................

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695 Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

www.informatik-aktuell.de

www.informatik-aktuell.de www.informatik-aktuell.de Flashback Reise in die Vergangenheit einfach. gut. beraten. Warum Oracle Zeitreisen anbieten kann, der Microsoft SQL Server aber leider nicht. IT-Tage Datenbanken 18.12.2015,

Mehr

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

Mehr

ERANGER 3.4.3 Release Announcement

ERANGER 3.4.3 Release Announcement ERANGER 3.4.3 Release Announcement 12. September 2012 2012 Junisphere Systems AG Junisphere Systems AG Glatt Tower, P.O. Box 1572 CH-8301 Glattzentrum Tel. +41 (0)43 443 31 80 info@junisphere.net www.junisphere.net

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Einführung. Kapitel 1 2 / 508

Einführung. Kapitel 1 2 / 508 Kapitel 1 Einführung 2 / 508 Einführung Was ist ein Datenbanksystem (DBS)? Ein System zum Speichern und Verwalten von Daten. Warum kein herkömmliches Dateisystem verwenden? Ausfallsicherheit und Skalierbarkeit

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

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit

Mehr

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken.

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Vorlesungsteil SQL Grundlagen - 1 / 8 - SQL SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Auf einem Server (Rechner im Netz, der Dienste

Mehr

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54 PHP 5.4 Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012 Grundlagen zur Erstellung dynamischer Webseiten ISBN 978-3-86249-327-2 GPHP54 5 PHP 5.4 - Grundlagen zur Erstellung dynamischer Webseiten

Mehr

Information-Design-Tool

Information-Design-Tool Zusatzkapitel Information-Design-Tool zum Buch»HR-Reporting mit SAP «von Richard Haßmann, Anja Marxsen, Sven-Olaf Möller, Victor Gabriel Saiz Castillo Galileo Press, Bonn 2013 ISBN 978-3-8362-1986-0 Bonn

Mehr

Der Cloud-Dienst Windows Azure

Der Cloud-Dienst Windows Azure Der Cloud-Dienst Windows Azure Master-Seminar Cloud Computing Wintersemester 2013/2014 Sven Friedrichs 07.02.2014 Sven Friedrichs Der Cloud-Dienst Windows Azure 2 Gliederung Einleitung Aufbau und Angebot

Mehr

4. Datenabfrage mit QBE 11

4. Datenabfrage mit QBE 11 Informationsbestände analysieren Datenabfrage mit QBE 4. Datenabfrage mit QBE 11 4.1. QBE vs. SQL Relationale Datenbanken haben schon früh den Anspruch gestellt, auch für Nicht- Informatiker nutzbar zu

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015 Abstrakt zum Vortrag im Oberseminar Graphdatenbanken Gero Kraus HTWK Leipzig 14. Juli 2015 1 Motivation Zur Darstellung komplexer Beziehungen bzw. Graphen sind sowohl relationale als auch NoSQL-Datenbanken

Mehr

Der Neue Weg zur Verschlüsselung von Datenbankinhalten

Der Neue Weg zur Verschlüsselung von Datenbankinhalten Der Neue Weg zur Verschlüsselung von Datenbankinhalten Da Häufigkeit und Schwere von Datendiebstahl zunehmen, ist es immens wichtig, dass Unternehmen vertrauliche und sensible Daten zusätzlich durch Verschlüsselung

Mehr

SharePoint Schnittstelle für Microsoft Dynamics CRM 2011

SharePoint Schnittstelle für Microsoft Dynamics CRM 2011 SharePoint Schnittstelle für Microsoft Dynamics CRM 2011 Benutzerhandbuch zur SharePoint Schnittstelle für MS CRM 2011 Schnittstellenversion: 5.2.2 Dokumentenversion: 3.1 Inhalt 1. Vorwort... 4 2. Funktionsbeschreibung...

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

7 SharePoint Online und Office Web Apps verwenden

7 SharePoint Online und Office Web Apps verwenden 7 SharePoint Online und Office Web Apps verwenden Wenn Sie in Ihrem Office 365-Paket auch die SharePoint-Dienste integriert haben, so können Sie auf die Standard-Teamsite, die automatisch eingerichtet

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Multicast Backbone in the Cloud. Sebastian Zagaria Prof. Dr. Thomas C. Schmidt

Multicast Backbone in the Cloud. Sebastian Zagaria Prof. Dr. Thomas C. Schmidt Multicast Backbone in the Cloud Sebastian Zagaria Prof. Dr. Thomas C. Schmidt Gliederung Motivation HAMcast Project Cloud Computing Multicast Backbone in the Cloud Ausblick Motivation Probleme von IP Multicast

Mehr

Anwendungshinweis. IEC60870 Parametrieren aus der Applikation. a500780, Deutsch Version 1.0.0

Anwendungshinweis. IEC60870 Parametrieren aus der Applikation. a500780, Deutsch Version 1.0.0 IEC60870 Parametrieren aus der Applikation a500780, Deutsch Version 1.0.0 ii Wichtige Erläuterungen Impressum Copyright 2011 by WAGO Kontakttechnik GmbH & Co. KG Alle Rechte vorbehalten. WAGO Kontakttechnik

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

Normfall 7.2. Whitepaper. Erstellen eines Normfall Projektspeichers auf Basis einer vorhandenen Installation von:

Normfall 7.2. Whitepaper. Erstellen eines Normfall Projektspeichers auf Basis einer vorhandenen Installation von: Normfall 7.2 Whitepaper Erstellen eines Normfall Projektspeichers auf Basis einer vorhandenen Installation von: Microsoft SQL Server 2008 R2/2012/2014 2014 Normfall GmbH Alle Rechte vorbehalten. Vorbemerkungen

Mehr

InterCafe 2010. Handbuch für Druckabrechnung

InterCafe 2010. Handbuch für Druckabrechnung Handbuch für InterCafe 2010 Der Inhalt dieses Handbuchs und die zugehörige Software sind Eigentum der blue image GmbH und unterliegen den zugehörigen Lizenzbestimmungen sowie dem Urheberrecht. 2009-2010

Mehr

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Universität der Bundeswehr München Mario Golling und Michael Kretzschmar Fakultät für Informatik E-Mail: mario.golling@unibw.de

Mehr

Administrator-Anleitung

Administrator-Anleitung Administrator-Anleitung für die Typ 2 Installation der LEC-Web-Anwendung auf einem Microsoft Windows Server Ansprechpartner für Fragen zur Software: Zentrum für integrierten Umweltschutz e.v. (ZiU) Danziger

Mehr

WufooConnector Handbuch für Daylite 4

WufooConnector Handbuch für Daylite 4 WufooConnector Handbuch für Daylite 4 WufooConnector Handbuch für Daylite 4 1 Allgemeines 1.1 Das WufooConnector Plugin für Daylite 4 4 2 Einrichtung 2.1 2.2 2.3 Installation 6 Lizensierung 8 API Key einrichten

Mehr