Striped Giraffe
TopThemen

SAP Hybris

SAP hat vor mehr als 4 Jahren Hybris aufgekauft und in sein umfangreiches Produkt-Portfolio aufgenommen und somit seine digitalen end-to-end Ansprüche am Software Markt untermauert.

In den letzten Jahren hat SAP viel dazu beigetragen, diese außergewöhnliche Plattform in die bestehenden SAP Software-Pakete nahtlos zu integrieren. Im Juni 2018 wurde Hybris als Brand von der SAP weitgehend abgeschafft und ordnet sich nun unter die globale x / 4 Hana Branding Strategie unter. Im Fall von Hybris bedeutet dies zukünftig C / 4 Hana. Zum besseren Verständnis belassen wir die Bezeichnung im nachfolgenden Artikel bei Hybris.

Hybris ist in erster Linie ein Java Framework, welches den Kunden keine starren Vorgaben macht, sondern mit dem man flexibel und schnell individuelle Geschäfts­prozess­anforderungen umsetzen kann. Hybris basiert auf dem Spring Framework und benutzt auch sonst sehr generell fast alles, was im Open-Source Bereich von Bedeutung ist.

Das macht es guten Java Entwicklern leicht, sich in der Software schnell zurecht zu finden. Allerdings braucht es einige Erfahrung, um den „richtigen“ Weg für ein jeweiliges Projekt einzuschlagen, da viele Ansätze zwar zu einer lauffähigen Software führen, oft aber Aspekte wie Wartbarkeit oder Performance vernachlässigen.

Ein weiterer Vorteil der Softwareanwendung Hybris besteht darin, dass sie ab- und aufwärts kompatibel ist, so dass Hybris Versionssprünge in der Regel während der laufenden Entwicklung vollzogen werden können.

Über 20% der Hybris Spezialisten bei Striped Giraffe waren ursprünglich bei Hybris beschäftigt, 9 davon sogar bereits vor mehr als 10 Jahren. Das bedeutet für unsere Kunden eine hohe Expertise im Hybris Umfeld, die sie in der Zusammenarbeit mit Striped Giraffe erwarten dürfen. Wir kennen die Plattform in- und auswendig und wissen auch um die Best-Practice Ansätze, um Projekte unserer Kunden erfolgreich zu machen.

Funktions-Aufbau Hybris

Core

Hybris Core bietet alle Funktionalitäten an, die ein modernes Framework aufweisen sollte, Dinge, wie Persistenz, Caching, Clustering, etc. Alle Funktionalitäten auf dieser Ebene werden Funktionalitäten, die auf dem Core aufbauen, zur Verfügung gestellt.

Application Server

Hybris läuft in jedem Java-Servlet Container, der sich an die JSR-Spezifikationen hält. Am häufigsten wird der Server von Apache (Tomcat) eingesetzt, da dieser von Hybris standardmäßig mit ausgeliefert wird. Aber jeder andere Server kann für die Hybris Plattform ebenfalls eingesetzt werden, wie beispielsweise JBoss, IBM Websphere, SpringSouce TcServer oder Oracle Weblogic.

Business Logic

Auf dieser Ebene baut Hybris seine Funktionalitäten auf; sie werden in der Regel in sogenannten Extensions zusammengehalten; hier findet man Software Pakete wie beispielsweise ein CMS, ein PIM (PCM), aber auch die komplette Commerce-Suite. Jeder Funktionsblock kann 1-n Extensions beherbergen. Da Hybris ein Framework ist, kann man hier jede erdenkliche Software-Disziplin implementieren, so auch beispielsweise ein ERP oder auch CRM.
Aber natürlich muss man nicht unbedingt das Hybris CMS oder PIM nutzen; man kann genauso gut externe Systeme, die diese Funktionalität zur Verfügung stellen, in seine IT-Landschaft einbauen; Beispiele sind hier Adobe AEM als CMS oder Stibo als Pim-System. Hybris kann damit gut umgehen. Auf dieser Ebene stoßen wir dann eine Diskussion über modulare Systeme an und die Zerlegung von Monolithen in Services (dazu mehr an anderer Stelle).

Presentation Layer

Hybris kann all seine Services, die aus der Summe aller verwendeter Extensions implementiert wurden, allen denkbaren Kanälen zur Verfügung stellen. Als Frontend-Ausleitungs-Standard bietet die Hybris Plattform bereits einige Storefront Anwendungen an, aber auch die Backend Systeme greifen direkt auf diese Services zu.

Denkbar sind auch Frontend Anwendungen oder APPs, die über RESTful Services die Hybris Software ansprechen, um auf Funktionen und Daten zuzugreifen. In so einer Konstellation dient Hybris als Service-Plattform, die ihre Dienste entfernten Anwendungen zur Verfügung stellt.

Domain & Industry

Hybris bietet einige Frontend Ausleitungen an, die sich auf verschiedene Business Domänen fokussieren; diese Anwendungen laufen dann in der Regel (aber nicht unbedingt) in derselben JVM. Der Vorteil der Nutzung dieser „Templates“ liegt auf der Hand: Einerseits bieten diese Frontend Anwendungen bereits einen guten Teil Funktionalität, die man getrost als „Commodity“ oder „Best Practice“ bezeichnen kann, wie beispielsweise Produktsuche, Produktlisten­ansicht, Produktdetailseiten oder Checkout und Payment. Damit reduziert sich der Aufwand in der Implementierung in einem Gesamtprojekt deutlich; lediglich das Customizing fällt dann ins Gewicht. Andererseits reduzieren sich Latenzzeiten über das Netz, da sowohl die Service-Plattform Hybris als auch das Frontend in derselben JVM laufen.

Extension Prinzip Hybris

Wie bereits weiter oben erwähnt, ist Hybris modular aufgebaut. Nachstehendes Schaubild soll dies verdeutlichen.

Platform

Wie ebenfalls schon beschrieben, werden die Hybris Basisfunktionalitäten in der Plattform gekapselt und allen darauf aufbauenden Extensions zur Verfügung gestellt. Dazu gehören Dinge wie beispielsweise die Persistenz, das Clustering, Caching, eine Workflow-, sowie eine Prozess – Engine, und vieles mehr.

Extensions

Hybris baut Funktionalitäten, manchmal sogar wesentliche Disziplinen, in Erweiterungen, sogenannten Extensions, auf der Plattform auf. Diese können das zugrunde liegende Datenmodell erweitern, neue Geschäftslogik hinzufügen oder die bereits vorhandene „out-of-the-box“-Funktionalität modifizieren. Die gesamte Plattform ist in einer serviceorientierten Architektur aufgebaut, die (zusammen mit der Flexibilität des Spring Frameworks) einfache Modifikationen fast aller Aspekte der Funktionsweise von Hybris ermöglicht. Auf diese Weise können Sie die Plattform einfach anpassen oder einen völlig neuen Funktionsumfang von Grund auf neu aufbauen. Der Himmel ist hier die Grenze. Die Erweiterung ist jedoch einfach, Sie müssen ein gutes Verständnis dafür haben, wie die Plattform unter der Haube funktioniert, um sicherzustellen, dass Sie die Performance, zukünftige Wartbarkeit und einfache Upgrades Ihrer kundenspezifischen Lösung nicht gefährden.

Zu Beginn eines jeden Implementierungs­projekts müssen Sie entscheiden, welche „out-of-the-box“-Erweiterungen für Ihren Projektumfang benötigt werden; von dort aus müssen Sie eine „Erweiterungsstrategie“ richtig planen. Die Auswahl der verfügbaren Erweiterungen kann entscheidend sein, da sie sich auch auf das endgültige Lizenzmodell auswirken. Ein gutes Beispiel für die Flexibilität der Hybris-Plattform sind die mit ausgelieferten CMS-Funktionalitäten, die für die meisten Projekte zwar nützlich und ausreichend sind; aber bei komplexeren Anforderungen können Sie sich jederzeit für ein anderes CMS-Produkt wie den Adobe Experience Manager (AEM) entscheiden und bestehende CMS-Erweiterungen durch die Integration einer 3rd-Party-Lösung ersetzen. Striped Giraffe hat diese Konstellationen bereits in Projekten mit Erfolg umgesetzt. Es gibt viele praktische Aspekte, bei denen wir bestehende Funktionalitäten ersetzt haben oder wirklich einen neuen funktionalen Stack (wie z.B. ein Mini-ERP-System) aufgebaut haben.

Ein Wort zu den Frontend-Ausleitungen; Hybris liefert einige Domain-spezifische, vorkonfigurierte Frontend Lösungen. Diese werden natürlich in der Regel im jeweiligen Projekt angepasst und massiv verändert.

Wenn Sie eine ausgereifte und zukunftssichere Plattform suchen, die darüber hinaus in höchstem Maße flexibel und modular sein soll, sowie Ihre Time-to-Market Ambitionen unterstützen soll und zudem die Kosten überschaubar halten muss, dann kommen Sie heute an Hybris nicht mehr vorbei.

Die Tatsache, dass Hybris aus Java mit Best-of-Breed Open-Source Bibliotheken besteht, macht es zum idealen Kandidaten, auf diese Lösung zu setzen.

Wenn Sie dann noch weitere Software-Lösungen aus dem Hause SAP einsetzen, dann integriert diese Lösung nahtlos und ergänzt Ihre Software-Strategie ideal.

Wir von Striped Giraffe kennen uns aus mit Hybris, aber auch mit der Integration in Legacy Systeme, speziell nach SAP. Sie können sich jederzeit an uns wenden, wenn Sie weiterführende Fragen haben oder einen lebhaften Austausch wünschen, der alle Aspekte einer Commerce-Anwendung beleuchtet.

 

Die (Un)Wahrheiten um Hybris

Hybris Upgrade

Viele Kunden erreichen uns, weil ihnen gesagt wurde, dass Hybris Upgrades einen signifikanten Stop in der Entwicklung von Features braucht. Dies ist Unsinn. Hybris Upgrades können während der laufenden Weiterentwicklung von Funktionalitäten parallel durchgeführt werden. Fragen Sie uns, welche Ansätze dies möglich machen.

Hybris ist ein Software Monolith

Genau das Gegenteil ist der Fall. Hybris ist eine Plattform, die Services zur Verfügung stellt. Man kann Hybris als System bauen, das so viele Funktionalitäten und Services abdeckt wie nur möglich, aber ebenso kann man die Plattform so weit zerlegen, dass bereits ootb-Funktionalitäten aus Hybris ausgelagert werden. Es kommt immer auf den Kontext des jeweiligen Anwendungsfalles an und dieser kann von Projekt zu Projekt und bei jedem Kunden differieren.

Hybris läuft ohne größere Anpassungen sofort

Stimmt, macht aber keinen großen Sinn. Nachdem man seine eigenen Produktdaten eingebunden hat, die Datenbank aufgesetzt und konfiguriert und einige andere Kleinigkeiten eingestellt hat, könnte die Hybris Plattform tatsächlich ohne großen Aufwand laufen. Allerdings entspricht dies nie den Anforderungen der Kunden. Ein eigenes Frontend, Anbindung an Unternehmens-Systeme und individuelle Geschäfts­prozess­implementierung sind nur einige wenige Beispiele, die eine Hybris Anwendung zu einem ausgewachsenen IT-Projekt mit langlaufender Aufmerksamkeit und Pflege machen. Lassen Sie sich von uns beraten, um Sicherheit in Ihre Planungen zu bekommen.

Yaas

Hybris wollte den Kunden eine Service Plattform anbieten, auf der auch 3rd Party Dienstleistungen anbieten können. Dieser Ansatz hat sich nicht durchgesetzt. Neben den Latenz- und Sicherheits­aspekten sprechen auch unzureichend durchdachte Abrechnungs-Modelle dagegen. Zudem wollen oder dürfen viele Kunden aus Datenschutzgründen ihre Daten nicht bei Dritten ablegen.