Cloud Computing Grundlagen
anderem auch Microsoft und Nokia auf diese Bibliothek. jQuery vereinfacht vor allem die JavaScript-Entwicklung für clientseitige Anwendungen enorm. Neben der Selektion von Elementen gibt es mittlerweile eine ganze Reihe an weiteren Subprojekten, wovon viele auf das GUI abzielen. Da es auf JavaScript aufsetzt, wird jQuery von den meisten internetfähigen Geräten unterstützt. jQuery ist auf den mobilen Betriebssystemen Android und iOs (iPhone und iPad) funktionsfähig und somit diversen Rich-Internet-Application-Technologien um einiges voraus.
Paper.js
Besonders interessant ist die Technologie „Paper.js“. Diese Technologie setzt auf JavaScript und HTML5 auf. Konkret wird das HTML5 Canvas verwendet, um vektorbasierte Elemente zu zeichnen. Paper.js erlaubt es somit, Animationen und Zeichnungen ähnlich wie Plug-in-basierten Systemen wie Flash zu erstellen. Besonders interessant ist die Möglichkeit der „Collision Detection“, die vor allem für neuartige Steuerelemente sehr interessant werden könnte. Paper.js ist noch in einem sehr frühen Entwicklungsstadium, doch bietet es eine große Menge an Potenzial.
WebGL
Am 01. März 2011 wurde die erste Version von WebGL vorgestellt. Einige Browser, etwa Google Chrome und Mozilla Firefox, unterstützten diese Technologie bereits in den aktuellen Versionen. Mit WebGL handelt es sich um eine Technologie, die mithilfe von JavaScript und dem HTML Canvas 3-D-Elemente in den Browser bringt. Die 3-D-Elemente werden durch die Grafikkarte berechnet. Besonders interessant an WebGL ist die Möglichkeit, Spiele aus der Cloud zu laden und keine lokalen Installationen mehr zu haben. WebGL hätte somit die Möglichkeit, das Spielebusiness umzukrempeln. Als Spieler kauft man sich nicht mehr das Spiel, sondern „Spielzeit“. Bei einigen Spielen wie World of Warcraft ist das bereits jetzt der Fall. WebGL bietet hier einiges an interessanten Möglichkeiten für Spielestudios.
Fazit
Die Bedeutung von HTML und dessen zugehörigen Technologien für Cloud Computing sind gewiss nur sehr indirekt für Cloud Computing von Bedeutung. Fakt ist jedoch, dass die ständig stattfindende Standardisierung dieser Technologien und deren Implementierung auf verschiedenen Geräten tatsächlich das Thema Web fördert und dadurch auch das Thema Cloud Computing, auch wenn es nur einen kleinen Teil der Möglichkeiten für Cloud Computing abdeckt.
4.3Architekturen für verteilte Anwendungen
Spricht man von Architekturen für verteilte Anwendungen, so spricht man auch in vielen Fällen, wenn nicht sogar in den meisten Fällen, auch von Architekturen für Cloud Computing. Hierbei gilt es jedoch die unterschiedlichsten Merkmale zu beachten. In diesem Kapitel soll ein Überblick über die verschiedensten Architekturentscheidungen gegeben werden, die beim Erstellen einer Anwendung für die Cloud getroffen werden müssen. Grundsätzlich kann es jedoch nur ein Überblick über jene Technologien sein, da ein tiefergehender Einblick ein ganzes Buch ausschließlich zum Thema „verteilte Anwendungen“ füllen würde.
4.3.1MapReduce für große Datenmengen
MapReduce ist eine von Google entwickelte Technik, mit dessen Hilfe parallele Vorgänge ausgeführt werden können. Google hat für MapReduce im Jahr 2010 ein Patent auf diesen Algorithmus erhalten. MapReduce ist vor allem für die Berechnung sehr großer Datenmengen, die sich im PetaByte-Bereich ansiedeln, sehr gut geeignet. Ein häufiger Anwendungsfall von MapReduce ist auch in der Statistik und Wissenschaft zu finden. Prinzipiell unterscheidet man bei dem MapReduce-Algorithmus zwei Phasen. In der ersten Phase, die mit „Map“ bezeichnet wird, werden mehrere Wertepaare aus einer Liste von Werten gebildet. Jedes Wertepaar wird in die „Map“-Funktion gesendet. Wichtig ist auch, dass die „Map“-Funktion gänzlich unabhängig von jeder anderen „Map“-Funktion ist, was es erlaubt, dass die verschiedenen Wertepaare problemlos parallel abgearbeitet werden können. Sobald die „Map“-Funktion fertig ist, wird die „Reduce“-Funktion aufgerufen. In dieser Funktion werden Ergebnisse als Paare in einer Ergebnisliste gesammelt.
Hadoop
Für MapReduce gibt es eine ganze Reihe an Implementierungen. Exemplarisch soll an dieser Stelle „Hadoop“ vorgestellt werden, ein Projekt der Apache Foundation, das unter anderem den MapReduce-Algorithmus implementiert, und eine hierarchische Datenbank. Mithilfe des MapReduce-Algorithmus ist es möglich,
Weitere Kostenlose Bücher