ebook img

FAKULT¨AT F¨UR INFORMATIK Konzeption und prototypische Realisierung einer einfachen ... PDF

146 Pages·2011·1.46 MB·German
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview FAKULT¨AT F¨UR INFORMATIK Konzeption und prototypische Realisierung einer einfachen ...

¨ ¨ FAKULTAT FUR INFORMATIK DERTECHNISCHENUNIVERSITA¨TMU¨NCHEN Bachelorarbeit in Informatik Konzeption und prototypische Realisierung einer einfachen, hochgradig skalierbaren Multi-Mandanten-Architektur auf Basis der Google Cloud Services Sebastian Wenninger ¨ ¨ FAKULTAT FUR INFORMATIK DERTECHNISCHENUNIVERSITA¨TMU¨NCHEN Bachelorarbeit in Informatik Design and prototypical implementation of a simple, highly-scalable multi-tenant architecture based on Google Cloud Services Konzeption und prototypische Realisierung einer einfachen, hochgradig skalierbaren Multi-Mandanten-Architektur auf Basis der Google Cloud Services Autor: Sebastian Wenninger Themensteller: Prof. Dr. Florian Matthes Betreuer: Prof. Dr. Florian Matthes Abgabedatum: 15. September 2011 Ich versichere, dass ich diese Bachelorarbeit selbsta¨ndig verfasst und nur die angegebenenQuellenundHilfsmittelverwendethabe. Mu¨nchen,den14.September2011 SebastianWenninger Zusammenfassung CloudComputingisteinschnellanBedeutunggewinnendes,vergleichswei- se neues Konzept in der IT-Branche, bei dem Dienstleistungen (sowohl von Hard-,alsauchvonSoftware)u¨bereinNetzwerkzurNutzungangebotenwer- den.DadurchistesEntwicklernmo¨glich,Anwendungenzuerstellen,diewei- testgehendunabha¨ngigvonderindividuellenKonfigurationeinesNutzersauf einer Vielzahl von Endgera¨ten lauffa¨hig und durch die Anbindung an das In- ternet weltweit abrufbar sind. Dafu¨r existieren mittlerweile mehrere Plattfor- men, wie zum Beispiel die Google App-Engine (GAE), die Entwickler Appli- kationen auf Google’s Infrastruktur ausfu¨hren la¨sst. Insbesondere fu¨r Unter- nehmen,diebestehendeProjekteindieCloudauslagern,oderneueDienstein derCloudanbietenwollen,sinddieMo¨glichkeitenundEinschra¨nkungen,die diesePlattformenmitsichbringen,vongroßemInteresse. Im Rahmen dieser Arbeit wird eine einfache, Multi-Mandanten-fa¨hige eCom- merce-ArchitekturmitHilfederGoogleApp-Engineentwickelt,dieu¨bereinen Webservice den Zugriff auf ihre Funktionen gestattet. Dafu¨r werden zuerst in einemgrundlegendenKapitelCloud-ComputingundMehr-Mandantenfa¨higkeit betrachtet.DieBeschreibungderArchitekturerfolgtdanachnachdem Bottom- ” Up“ - Prinzip, von der Persistenzebene u¨ber die Serviceschicht bis zu den da- ru¨berliegendenKomponentenderPra¨sentationsschicht.Dabeiwirdjeweilsauf diezugeho¨rigenFunktionenderGoogle-App-Engine,Schwierigkeitenundmo¨g- licheAlternativenbeiderImplementierungeingegangen. DenSchlussderArbeitbildeneinFazitsowieeinAusblickaufdieZukunftder entwickeltenApplikation. vii viii Inhaltsverzeichnis Zusammenfassung vii 1 Einleitung 1 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 ZielederArbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Gliederung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Grundlagen 3 2.1 KlassifikationvonCloud-Computing. . . . . . . . . . . . . . . . . 4 2.2 Cloud-Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Multi-Tenancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 GoogleApp-Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4.2 DieSandbox-Umgebung . . . . . . . . . . . . . . . . . . . . 10 2.4.3 KonzeptedesDatastore . . . . . . . . . . . . . . . . . . . . 12 2.4.4 Multi-Tenancy . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5 REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.6 OAuth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3 System-Entwurf 23 3.1 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1.1 FunktionaleAnforderungen . . . . . . . . . . . . . . . . . . 23 3.1.2 NichtfunktionaleAnforderungen . . . . . . . . . . . . . . . 24 3.2 Use-Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3 Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.4 Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.5 Datenmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.6 Sequenzdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4 Implementierungvonct.Box 35 4.1 Persistenzschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.1.1 Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.1.2 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . 38 4.1.3 Multi-Tenancy . . . . . . . . . . . . . . . . . . . . . . . . . . 49 ix Inhaltsverzeichnis 4.1.4 Erkenntnisse. . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.2 Serviceschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.2.1 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . 53 4.2.2 Erkenntnisse. . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.3 Pra¨sentationsschicht . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.3.1 Webservice . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.3.2 Weboberfla¨chen . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.3.3 Erkenntnisse. . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.4 SicherheitundAuthentifizierung . . . . . . . . . . . . . . . . . . . 98 4.4.1 SchutzderWeboberfla¨chen . . . . . . . . . . . . . . . . . . 98 4.4.2 SchutzdesWebservice . . . . . . . . . . . . . . . . . . . . . 106 4.4.3 Erkenntnisse. . . . . . . . . . . . . . . . . . . . . . . . . . . 112 4.5 Performancevonct.Box . . . . . . . . . . . . . . . . . . . . . . . . 113 5 Fazit 117 Anhang 123 Literaturverzeichnis 131 x

Description:
Hybrid Cloud Eine Hybrid Cloud kombiniert eine oder auch mehrere Public . Go8 (experimental, zuk¨unftige ¨Anderungen an der API möglich) . archie von Entities, festgelegt, die bei den Transaktionen eine wichtige .. sind in dem GAE SDK bereits Implementierungen der Java Data Objects (JDO)1.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.