Más contenido relacionado Similar a Evaluierung einer Hybris-Anbindung an Sitecore mittels Commerce Connect (20) Evaluierung einer Hybris-Anbindung an Sitecore mittels Commerce Connect2. © .comspace2015
Dieser Vortrag wurde Ende September 2015 beim Treffen
der Sitecore Usergroup Deutschland in Bielefeld
gehalten. Der Vortrag befasst sich mit einem
Anwendungsfall für den Einsatz des Sitecore Commerce
Connect. In diesem Anwendungsfall hat das Sitecore
Team von Comspace einen PoC für eine Hybris
Integration in Sitecore erfolgreich durchgeführt.
Hintergrund
2
4. © .comspace2015
• Ziel des PoC
• Kurzvorstellung Sitecore Commerce Connect
• Erfahrungsbericht PoC
• Fazit
• Kontakt
Agenda
4
6. © .comspace2015
Warum ein PoC
6
• Evaluierung des Sitecore Commerce Connect
(Funktionsumfang kennenlernen)
• Einsatzbereiche identifizieren
• Welche Aufwände sind bei einem solchen
Integrationsvorhaben einzuplanen
• Umsetzbarkeit von Kunden- und Shop-spezifischen
Anforderungen besser einschätzen können
• Wissenstransfer
8. © 2015 .comspace
Do not forget!
8
“Sitecore Commerce Connect is an abstract service layer and not a stand-alone
solution. It is a framework and an API for e-commerce with focus on
integration and at the same time, to track, act, and follow up on customer
behavior. The goal is to bring the unique customer engagement features of
Sitecore into e-commerce solutions, regardless of the back-end e-commerce
system being used.”
9. © 2015 .comspace
Architektur Ansatz
9
Commerce
Server
Connector
Dynamics
AX
Connector
Hybris
Connector
Sitecore Experience Platform
Webshop
Connect Engagement Artifacts
Connect Service Layers (APIs)
Connect Product Data Modell
10. © 2015 .comspace
Architektur Ansatz
10
Commerce
Server
Connector
Dynamics
AX
Connector
Hybris
Connector
Sitecore Experience Platform
Webshop
Connect Engagement Artifacts
Connect Service Layers (APIs)
Connect Product Data Modell
Conditional rendering rules, EA plans with
actions and conditions, Pages Events and
goals
11. © 2015 .comspace
Architektur Ansatz
11
Commerce
Server
Connector
Dynamics
AX
Connector
Hybris
Connector
Sitecore Experience Platform
Webshop
Connect Engagement Artifacts
Connect Service Layers (APIs)
Connect Product Data Modell
Cart, Pricing, Customers, Inventory, Orders,
Products, Sync
12. 2015 .comspace
• Shopping Cart
• Pricing
• Customers and Users
• Inventory
• Orders
• Product Sync
• Gift Card
• Wish List
• Payments
• Shipping
• Loyality Programs
Existierende Service Layer (APIs)
12
18. © 2015 .comspace
Service Layer - Pipelines, Pipelines… (Shopping Cart)
18
commerce.carts.saveCart
RunSaveCart
RunSaveCart
19. © 2015 .comspace
Prinzipien des Frameworks
19
Pipelines
jeder Service Layer
benutzt Sitecore
Pipelines
Abstraction
keine Sitecore oder
ECS* Abhängigkeit
in Service Layern
Extensibility
Domain Model
erweiterbar
Simplicity
kleinster
gemeinsamer
Nenner
Fallback
fehlende
Implementierungen
im ECS* können
überbrückt werden
Independently
keine Abhängigkeit
zwischen Service
Layern
* ECS = External Commerce System
21. © .comspace2015
Reminder: Warum ein PoC
21
• Evaluierung des Sitecore Commerce Connect
(Funktionsumfang kennenlernen)
• Einsatzbereiche identifizieren
• Welche Aufwände sind bei einem solchen
Integrationsvorhaben einzuplanen
• Umsetzbarkeit von Kunden- und Shop-spezifischen
Anforderungen besser einschätzen können
• Wissenstransfer
22. © .comspace2015
Setup für den PoC
22
Ausgangssituation:
• Lokale Hybris Installation
• Demoshop eingerichtet (powertoolsProductCatalog/Online)
• Leere Sitecore Installation
Vorgehen:
• Funktionale Anforderungen definiert
• Parallele Entwicklung Hybris
REST-Services (JSON)
und Sitecore Demo HybrisConnect
• Layout von Azubis
24. © 2015 .comspace24
Theoretischer Hintergrund: Produktsynchronisation
Abgrenzung: Preise & Lagerbestand sind keine Produktdaten
wegen deren hoher Komplexität und Dynamik
Produktdatenverwaltung - naheliegende Varianten
• Produkte als Items in Sitecore Datenbank (bidirektional möglich)
• Produkte in ECS, Zugriff über Sitecore Data Provider
• Produkte in ECS, Zugriff über Sitecore Index
25. © .comspace2015
Theoretischer Hintergrund: Entscheidungskriterien
25
1.Aufwand (Variante 1 ist Modul-Standard)
2.Sitecore Funktionsumfang (Produkt als Item)
• Sitecore Experience Editor
• Personalisierung
• Rendering Engine (Caching, A/B-Tests etc.)
3.Bearbeitungsmöglichkeiten in Sitecore
4.Verfügbarkeit ECS (aus Sicht Sitecore)
5.Asynchrone Schnittstelle ausreichend?
6.Performance
…
26. © 2015 .comspace
Demo Produkte
26
sitecorepilotstorefront/rest/products/powertoolsProductCatalog/Online
sitecorepilotstorefront/rest/product/powertoolsProductCatalog/Online
sitecorepilotstorefront/rest/categories/powertoolsProductCatalog/Online
27. © 2015 .comspace27
Demo Sitecore - Funktionen
• Repository zeigen (X Produkte)
• Produkt zeigen
• Produkt in Hybris ändern
• Count hochsetzen
• Produkte synchronisieren
• Repository zeigen (X + 1 Produkte)
• Produkt gerändert
• Demo VS
28. © .comspace2015
Erfahrung Produkte: Funktionsumfang (Produkt als Item)
28
• Dauer ca. 5 Tage
• Erster Einstieg durch Pipelines in Pipelines herausfordernd
• Dokumentation
• „Top“: Synchronisation von Produkten und Klassifizierungen
• „Mau“: Zuordnung von Classifications zu Products
• Erkenntnis: Größter Aufwand wird in Abgleich der Datenmodelle
gehen (Verständnis für ECS)
• Problemlos: Differenzabgleich, Multishop
• Standard umfasst keine Synchronisation von Bildern
• Applikation “Merchandising Manager” ist Bestandteil des
CommerceServer Connect
29. © .comspace2015
Erfahrung Produkte: Was man wissen muss
29
• Einige nützliche Klassen sind in der CommerceServer
API verortet: ProductsSearchResult &
CommerceConstants → Selbst entwickeln
• Custom Product: ProductTemplateId in
Sitecore.Commerce.Products.ItemClassificationService
fest verdrahtet → Service überschreiben
• weitere Informationen auch in unserer Serie zum
Commerce Connect unter blog.comspace.de
32. © .comspace2015
Erfahrung Preise
32
• Dauer ca. 1 Tage
• „Top“: ECS Preishoheit
• Kleiner Service Layer
• Datenmodell schnell nachvollziehbar
• Wenig Pipelines, d.h. kurze Konfigurationsdatei
• Performance: Synchrone Schnittstelle sollte Bulk-Operationen nutzen:
• „Mau“: GetProductPricesRequest enthält keine Sprache → Custom Request schreiben
34. © 2015 .comspace
Demo Warenkorb
34
sitecorepilotstorefront/rest/cart
sitecorepilotstorefront/rest/addToCart
35. © .comspace2015
Erfahrung Warenkorb: Was man wissen muss
35
• Dauer ca. 2 Tage
• Komplexer Service Layer
• Pipelines über Pipelines
• Herausforderungen:
✴ Datenhoheit/ Zuständigkeit
✴ Synchronisation: Sitecore Shop, ECS, EA-Plan
✦
Zwischenspeicher (z.B. Contact.Attachments)
✦
Trigger (je Aktion, Checkout)
• Stolpersteine:
• Processor FindCartInEaState benötigt CustomerId → eigentlich optionale
CustomerId an CreateOrResumeCartRequest mitgeben
37. © .comspace2015
Sitecore Commerce Connect - Entwicklung
37
• Entwicklungsdauer: ca. 2 Wochen
• Materialien
• Umfangreiche Dokumentation
• Noch wenig Quellen im Internet
• Beispielimplementierungen für MS Dynamics AX und
CommerceServer auf dev.sitecore.net zum download
• Erster Einstieg könnte durch Schulung und Cookbooks erleichtert
werden
• Hohe Abstraktion: Customizing ist Grundkonzept
• eCommerce-KnowHow erforderlich
• Hoher Konzeptions- und Abstimmungsaufwand durch fachliche Komplexität
• Option: Einsatz als PIM-Connector
38. © 2015 .comspace38
Fazit
Die Entwicklung mit dem
Sitecore Commerce Connect
macht Spaß!
Wir entwickeln den PoC weiter. Damit wir eine „runde“
Integration präsentieren können.