15
Konzeption und prototypische Realisierung einer einfachen, hochgradig skalierbaren Multi-Mandanten-Architektur auf Basis der Google Cloud Services Abschlussvortrag Bachelorarbeit Sebastian Wenninger 17.10.2011 Betreuer: Prof. Dr. Florian Matthes 1 1 Montag, 17. Oktober 11

Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

Konzeption und prototypische Realisierung einer einfachen, hochgradig skalierbaren

Multi-Mandanten-Architektur auf Basis der Google Cloud Services

Abschlussvortrag Bachelorarbeit

Sebastian Wenninger

17.10.2011

Betreuer: Prof. Dr. Florian Matthes

1

1Montag, 17. Oktober 11

Page 2: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

2

Agenda

1. Motivation

2. Kontext

3. Realisierung

4. Demo

5. Ausblick

2Montag, 17. Oktober 11

Page 3: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

3

1. Motivation

Über commercetools:

Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service eCommerce-Lösung an. Kunden wie Red Bull, Burton und Brita betreiben internationale Shop-Lösungen auf der geclusterten Technologie.Neben dem Hauptprodukt erweitert commercetools stetig das Produktsortiment und evaluiert verschiedene Plattform- und Cloud-Konzepte. commercetools hat seinen Sitz mit aktuell 25 Mitarbeitern in München.

3Montag, 17. Oktober 11

Page 4: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

4

• iPhone-Shop Lösung vorhanden, aber kein Backend zur Verwaltung der Daten• Ziel der Arbeit: Prototypische Entwicklung eines Backends

• Anforderungen: - hoch skalierend- multi-tenant- nicht auf der eigenen Infrastruktur

➡ Nutzung von Platform-as-a-Service in der Cloud➡ Evaluierung der Google-App-Engine (GAE) und der beteiligten Technologien

1. Motivation

4Montag, 17. Oktober 11

Page 5: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

5

2. Kontext - GAE

Quelle: http://www.byteonic.com/2009/overview-of-java-support-in-google-app-engine/

5Montag, 17. Oktober 11

Page 6: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

6

2. Kontext - Multi-Tenancy

Single-Tenant Multi-Tenant

Quelle: http://www.itwissen.info/definition/lexikon/Multi-Tenancy-Architektur-multitenancy-architecture.html

6Montag, 17. Oktober 11

Page 7: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

7

3. Realisierung3-Schichten-Architektur:

7Montag, 17. Oktober 11

Page 8: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

8

Datenmodell:

3.1 Persistenzschicht

8Montag, 17. Oktober 11

Page 9: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

Probleme:

• Einschränkungen des GAE-Datastore:

• Entities < 1MB (z.B. bei Produktbildern)

• Keine LIKE-Queries

• Umsetzung der Relationships, z.B. Produkte - Varianten

9

3.1 Persistenzschicht

9Montag, 17. Oktober 11

Page 10: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

• Interaktion mit der Persistenzschicht in Entity-spezifischen Services

• CRUD + Validierung

10

3.2 Applikationsschicht

Probleme:

• Kommunikation mit User Interface (GWT-RequestFactory) über Proxy-Interfaces

➡ Bei Änderungen manuelle Synchronisation von Code notwendig

• Automatische Validierung durch die RequestFactory

• Referenzielle Integrität

10Montag, 17. Oktober 11

Page 11: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

Zwei Ausprägungen:

• Webservice (Restlet):

- Kommunikation über JSON-Objekte

- Absicherung durch OAuth mit Bearer-Tokens + HTTPS

• AdminPanel, UserPanel (GWT)

- Programmierung in Java, keine größeren HTML / Javascript / CSS Kenntnisse notwendig

- Model-View-Presenter (Activities & Places)

11

3.3 Präsentationsschicht

11Montag, 17. Oktober 11

Page 12: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

Probleme:• Komplizierte Dokumentation von Restlet (nur Minimalbeispiele)

• Eigene OAuth-Implementierung (+Wechsel der Tokens)

• GWT Aufwändig zu testen

• Kommunikation mit der Applikationsschicht nicht trivial (RequestFactory)

• Einarbeiten in Activities & Places

• Aufteilung der Website in mehrere Teilbereiche mit Activities & Places

12

3.3 Präsentationsschicht

12Montag, 17. Oktober 11

Page 13: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

DEMO

13

4. Demo

13Montag, 17. Oktober 11

Page 14: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

Kurzfristig:

• Implementierung einer Warenkorb-Logik

• Steigerung der Performance

Langfristig:

• Entwicklung von Standard-Applikationen

• Kompletter Shop-Baukasten (evtl. inklusive CMS)

14

5. Ausblick

14Montag, 17. Oktober 11

Page 15: Konzeption und prototypische Realisierung einer einfachen ......Über commercetools: Die commercetools GmbH wurde 2006 gegründet und bietet ihren Kunden eine Software-as-a- Service

Vielen Danke für Ihre Aufmerksamkeit.

Fragen?

15

Q & A

15Montag, 17. Oktober 11