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

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

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

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

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

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

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

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

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

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

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

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

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

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

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

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

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

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

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

Über den Wolken... Architekturaspekte beim Cloud-Computing. Jürgen Lind, iteratec GmbH November 2010

Über den Wolken... Architekturaspekte beim Cloud-Computing. Jürgen Lind, iteratec GmbH November 2010 Über den Wolken... Architekturaspekte beim Cloud-Computing Jürgen Lind, iteratec GmbH November 2010 Cloud Computing als fest stehender Begriff Cloud Computing 2 Definition und Abgrenzung "Cloud Computing"

Mehr

Seminarvortrag. Cloud Computing. Christophe Sokol 26.01.2012

Seminarvortrag. Cloud Computing. Christophe Sokol <sokol@inf.fu-berlin.de> 26.01.2012 Seminarvortrag Cloud Computing Christophe Sokol 26.01.2012 Ablauf des Vortrags Hintergrund: Der Plat_Forms-Wettbewerb Was ist Cloud Computing? Aufgaben lösen in der Cloud 3 / 23

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

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

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

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

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

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

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

SEMT. Prof. G. Bengel. Searching as a Service (Programming Model: MapReduce)

SEMT. Prof. G. Bengel. Searching as a Service (Programming Model: MapReduce) Hochschule Mannheim Fakultät für Informatik SEMT Prof. G. Bengel Sommersemester 2009 Semester 8I Searching as a Service (Programming Model: MapReduce) Michel Schmitt (520361) 1.06.2009 Inhalt 1. Einführung...

Mehr

Persönlichkeiten bei bluehands

Persönlichkeiten bei bluehands Persönlichkeiten bei Technologien bei Skalierbare Anwendungen mit Windows Azure GmbH & co.mmunication KG am@.de; posts..de/am 1 2 3 4 5 6 7 8 9 Immer mehr Mehr Performance Mehr Menge Mehr Verfügbarkeit

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

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

Hadoop. Simon Prewo. Simon Prewo

Hadoop. Simon Prewo. Simon Prewo Hadoop Simon Prewo Simon Prewo 1 Warum Hadoop? SQL: DB2, Oracle Hadoop? Innerhalb der letzten zwei Jahre hat sich die Datenmenge ca. verzehnfacht Die Klassiker wie DB2, Oracle usw. sind anders konzeptioniert

Mehr

Arbeiten mit Arrays. 4.1 Eigenschaften. 4.1.1 Schlüssel und Element. Kapitel 4

Arbeiten mit Arrays. 4.1 Eigenschaften. 4.1.1 Schlüssel und Element. Kapitel 4 Arbeiten mit s Eine effiziente Programmierung mit PHP ohne seine s ist kaum vorstellbar. Diese Datenstruktur muss man verstanden haben, sonst brauchen wir mit weitergehenden Programmiertechniken wie der

Mehr

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

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

17.2 MS-Access Projekte

17.2 MS-Access Projekte 964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.

Mehr

Gliederung und Einordnung

Gliederung und Einordnung Gliederung und Einordnung 1. Objektorientierte Programmierung mit Object Pascal (5. Studienbrief, Kapitel 5) 9.4. + 16.4. 2. Software-Bausteine am Beispiel der Delphi-Komponenten (5. Studienbrief, Kapitel

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

Mehr

KURZANLEITUNG CLOUD BLOCK STORAGE

KURZANLEITUNG CLOUD BLOCK STORAGE KURZANLEITUNG CLOUD BLOCK STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung......Seite 03 2. Anlegen eines dauerhaften Block Storage...Seite 04 3. Hinzufügen von Block Storage

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

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

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

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen

SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen Lennart Leist Inhaltsverzeichnis 1 Einführung 2 1.1 Aufgaben einer Datenbank...................... 2 1.2 Geschichtliche Entwicklung

Mehr

AJAX SSL- Wizard Referenz

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

Mehr

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

xcall Technische Dokumentation

xcall Technische Dokumentation xcall Technische Dokumentation zu Version 4.x Autor: Martin Roth Erstelldatum: 14.08.2008 Version: 1.4 Seite 2 / 7 Zweck...3 Schnittstellenarchitektur...3 Outbound-Schnittstellen...3 Outlook...3 TwixTel...3

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

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Version: 2014 Orientation 1.0 in Objects GmbH Der Sprecher Erik Bamberg (OIO) 2 1 s Aufgaben des Cachings Datenbank

Mehr

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1.

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1. Inhalt der Vorlesung Literatur 1 Datenmodellierung (Entity-Relationship Modell) 2 Das relationale Modell 3 Relationenalgebra 4 Datenbanksprache (SQL) 5 Normalisierung 6 Vom ERM zum Datenbankschema 7 Routinen

Mehr

Merkblatt: HSM. Version 1.01. Systemvoraussetzungen, Setup und Trouble Shooting. pdfsupport@pdf-tools.com

Merkblatt: HSM. Version 1.01. Systemvoraussetzungen, Setup und Trouble Shooting. pdfsupport@pdf-tools.com Merkblatt: HSM Version 1.01 Systemvoraussetzungen, Setup und Trouble Shooting Kontakt: pdfsupport@pdf-tools.com Besitzer: PDF Tools AG Kasernenstrasse 1 8184 Bachenbülach Schweiz www.pdf-tools.com Copyright

Mehr

Cloud-Provider im Vergleich. Markus Knittig @mknittig

Cloud-Provider im Vergleich. Markus Knittig @mknittig Cloud-Provider im Vergleich Markus Knittig @mknittig As Amazon accumulated more and more services, the productivity levels in producing innovation and value were dropping primarily because the engineers

Mehr

Dokumentation QuickHMI-Schnittstelle. Datenbanken

Dokumentation QuickHMI-Schnittstelle. Datenbanken Dokumentation QuickHMI-Schnittstelle für SQLServer Datenbanken Version 1.0 D-28359 Bremen info@indi-systems.de Tel + 49 421-989703-30 Fax + 49 421-989703-39 Inhaltsverzeichnis Was ist die QuickHMI-Schnittstelle

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

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

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

Benutzerhandbuch für FaxClient für HylaFAX

Benutzerhandbuch für FaxClient für HylaFAX Benutzerhandbuch für FaxClient für HylaFAX Vielen Dank, daß Sie entschlossen haben, dieses kleine Handbuch zu lesen. Es wird Sie bei der Installation und Benutzung des FaxClients für HylaFAX unterstützen.

Mehr

Whitepaper Externe Speicherung von Binary Large Objects (BLOBs) mit SharePoint 2007 sowie SQL Server 2005 / 2008

Whitepaper Externe Speicherung von Binary Large Objects (BLOBs) mit SharePoint 2007 sowie SQL Server 2005 / 2008 Externe Speicherung von Binary Large Objects (BLOBs) mit SharePoint 2007 sowie SQL Andreas Glaser, 23. September 2008 Teufenerstrasse 19 CH 9001 St.Gallen t [+41] 71 228 67 77 f [+41] 71 228 67 88 info@namics.com

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Fachbereich Informatik Praktikum 1

Fachbereich Informatik Praktikum 1 Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

REST-basierte Web-Services mit PHP (1)

REST-basierte Web-Services mit PHP (1) REST-basierte Web-Services mit PHP (1) REST nutzt direkt die HTTP-Operationen Daher ist es (vgl. SOAP) einfacher, einen REST-basierten Webservice direkt mit PHP zu implementieren. Einige PHP-Frameworks,

Mehr

SmartExporter 2013 R1

SmartExporter 2013 R1 Die aktuelle Version wartet mit zahlreichen neuen Features und umfangreichen Erweiterungen auf. So können mit SmartExporter 2013 R1 nun auch archivierte Daten extrahiert und das Herunterladen der Daten

Mehr

Wie fängt man an. Fortgeschrittene Kontakt Verwaltung

Wie fängt man an. Fortgeschrittene Kontakt Verwaltung Wie fängt man an Um alle Vorzüge der iphone TBird Anwendung zu nutzen, sollten nachfolgende Hinweise gelesen werden. Fortgeschrittene Kontakt Verwaltung Mit der TBird iphone Anwendung ist es möglich Kontakte

Mehr

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP. Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer Kommunikation I (Internet) Übung 4 PHP SS 2004 Inhaltsverzeichnis 1. PHP die serverseitige Programmiersprache...1 1.1. PHP - Bereiche in HTML definieren...1

Mehr

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence

Mehr

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA VIVIT TQA Treffen in Köln am 18. 04. 2013 API- Programmierung und Nutzung bei HP Quality Center / ALM Michael Oestereich IT Consultant QA Agenda Vorstellung der API- Versionen OTA- API SA- API REST- API

Mehr

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA Liste der Handbücher Liste der Benutzerhandbücher von MEGA MEGA 2009 SP4 1. Ausgabe (Juni 2010) Die in diesem Dokument enthaltenen Informationen können jederzeit ohne vorherige Ankündigung geändert werden

Mehr

Mobile Backend in der

Mobile Backend in der Mobile Backend in der Cloud Azure Mobile Services / Websites / Active Directory / Kontext Auth Back-Office Mobile Users Push Data Website DevOps Social Networks Logic Others TFS online Windows Azure Mobile

Mehr

TimePunch SQL Server Datenbank Setup

TimePunch SQL Server Datenbank Setup TimePunch TimePunch SQL Server Datenbank Setup Benutzerhandbuch 26.11.2013 TimePunch KG, Wormser Str. 37, 68642 Bürstadt Dokumenten Information: Dokumenten-Name Benutzerhandbuch, TimePunch SQL Server Datenbank

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

Theorie und Praxis einer JSON-RPC-basierten Web-API

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

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

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

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

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 11 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe15 Moritz Kaufmann (moritz.kaufmann@tum.de)

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

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

IT-Kompaktkurs. Datenbanken Skript zur Folge 10. Prof. Dr. Dieter Rummler Fachhochschule Deggendorf

IT-Kompaktkurs. Datenbanken Skript zur Folge 10. Prof. Dr. Dieter Rummler Fachhochschule Deggendorf IT-Kompaktkurs Skript zur Folge 10 Prof. Dr. Dieter Rummler Fachhochschule Deggendorf Client Server Architektur Zunächst zur grundsätzlichen Unterscheidung zwischen File-Server Datenbank und Server-Datenbank

Mehr

SINT Rest App Documentation

SINT Rest App Documentation SINT Rest App Documentation Release 1.0 Florian Sachs September 04, 2015 Contents 1 Applikation 3 2 Rest Service 5 3 SOAP Service 7 4 Technologiestack 9 5 Deployment 11 6 Aufgabe 1: Google Webservice

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

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

Effizientes Änderungsmanagement in Outsourcing- Projekten

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

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname

Mehr

Next Generation Cloud

Next Generation Cloud Next Generation Cloud Building Blocks In Zukunft wird es darum gehen, aus der Summe der Teile Anwendungen (Apps) zu generieren, die Mehrwerte zu schaffen App besteht aus Integration von > Funktionen, z.b.

Mehr

LDAP für HiPath OpenOffice ME V1 Installation von ESTOS Metadir unter Windows XP

LDAP für HiPath OpenOffice ME V1 Installation von ESTOS Metadir unter Windows XP LDAP für HiPath OpenOffice ME V1 Installation von ESTOS Metadir unter Windows XP Inhaltsverzeichnis Dokumenteninformation... 2 Voraussetzungen... 2 Einschränkungen... 2 Installation von ESTOS Metadir...

Mehr

Mehr Dynamik in Apex mit Javascript und JQuery. Alexander Scholz its-people

Mehr Dynamik in Apex mit Javascript und JQuery. Alexander Scholz its-people Vortrag zur DOAG Konferenz 2011 Mehr Dynamik in Apex mit und Alexander Scholz its-people 1 Ablauf Thema des Vortragsthemas Motivation Besonderheit des Referenten Alexander Scholz its-people Wie kann in

Mehr

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München Time CGI Version 1.5 Stand 04.12.2013 TimeMachine Dokument: time.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor Version Datum Kommentar

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

IT- und Medientechnik

IT- und Medientechnik IT- und Medientechnik Vorlesung 11: 19.12.2014 Wintersemester 2014/2015 h_da, Lehrbeauftragter Themenübersicht der Vorlesung Hard- und Software Hardware: CPU, Speicher, Bus, I/O,... Software: System-,

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

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

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