{"id":97618,"date":"2023-05-03T15:43:54","date_gmt":"2023-05-03T13:43:54","guid":{"rendered":"https:\/\/diselva.com\/2023\/05\/03\/composable-commerce-im-einsatz\/"},"modified":"2025-09-22T17:02:26","modified_gmt":"2025-09-22T15:02:26","slug":"composable-commerce-im-einsatz","status":"publish","type":"post","link":"https:\/\/diselva.com\/de\/blog\/composable-commerce-im-einsatz\/","title":{"rendered":"Composable Commerce im Einsatz"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">oder wie mit einem MVP der Architektur-Grundstein f\u00fcr die zuk\u00fcnftige Gesamtl\u00f6sung gelegt werden kann.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem <a href=\"\/de\/team\/cuno-sieber\" target=\"_blank\" rel=\"noreferrer noopener\">Cuno<\/a>&nbsp;eine \u00dcbersicht gegeben hat, um was es sich bei <a href=\"\/de\/blog\/mit-dem-baukastenprinzip-zu-einer-skalierbaren-architektur\" target=\"_blank\" rel=\"noopener\">Composable Commerce<\/a> handelt und <a href=\"\/de\/team\/michael-schlegel-iten\" target=\"_blank\" rel=\"noreferrer noopener\">Michael<\/a>&nbsp;auch auf die <a href=\"\/de\/blog\/composable-architecture-business\" target=\"_blank\" rel=\"noopener\">Vorteile und Herausforderungen von diesem Konzept aus Business Sicht<\/a> eingegangen ist, werde ich hier den Architekturansatz anhand eines konkreten Beispiels erl\u00e4utern.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Warum eine \u00c4nderung ansteht<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das heutige Shop System des Kunden ist eine All-In-One L\u00f6sung und schon mehrere Jahre im Einsatz. Es wurde erst vor kurzem auf die neueste Version aktualisiert und auch das UI bekam eine Auffrischung. Jedoch ist es nicht auf Multi-Brand und auch nicht auf Multi-Country ausgelegt. D.h. f\u00fcr das Vorhaben des Kunden, eine neue Marke in einem neuen Markt zu etablieren, m\u00fcsste man eine Kopie ziehen und als zweites System daneben stellen. Der Copy&amp;Paste Ansatz w\u00e4re in der Umsetzung sicher die einfachste Variante, doch aus Pflegesicht bzw. aus dem Potential des Synergieeffektes, definitiv die falsche Herangehensweise. Auch hinsichtlich der weiteren Ausbauf\u00e4higkeit mit einer zus\u00e4tzlichen Marke und\/oder Markt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wo soll die Reise hingehen?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die neue L\u00f6sung basiert auf einem modernen und modularen Tech Stack und ist von Beginn an auf Multi-Brand und Multi-Country ausgelegt. Dadurch soll sie nach dem erfolgreichen Rollout im neuen Absatzgebiet auch die alte L\u00f6sung im bestehenden Markt abl\u00f6sen. Die neue Architektur erlaubt, dass so viel wie m\u00f6glich \u00fcber gemeinsam genutzte Bausteine abgedeckt werden kann und da wo es n\u00f6tig ist oder da wo es wirklich auf eine Differenzierung ankommt, spezifische L\u00f6sungen zum Einsatz kommen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie sieht sowas aus?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unser technisches Setup sieht wie folgt aus:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/diselva.com\/wp-content\/uploads\/2025\/07\/architecture.png?w=1360&#038;quality=78&#038;ssl=1\" alt=\"architecture\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Als Hyperscaler kommt die <a href=\"https:\/\/cloud.google.com\/\" target=\"_blank\" rel=\"noopener\">Google Cloud Platform<\/a> zum Einsatz. Sie liefert nicht nur das Frontend aus, sondern auch unsere kundenspezifischen Microservices (Custom Services) werden darauf betrieben. Zus\u00e4tzlich sind noch weitere Dienste bzw. Produkte wie die <a href=\"https:\/\/cloud.google.com\/identity-platform\" target=\"_blank\" rel=\"noopener\">Google Identity Platform<\/a> oder <a href=\"https:\/\/cloud.google.com\/apigee\" target=\"_blank\" rel=\"noopener\">Apigee<\/a> etc. im Einsatz.<\/li>\n\n\n\n<li>In die Rolle der Headless Commerce Engine schl\u00fcpft <a href=\"https:\/\/commercetools.com\/\" target=\"_blank\" rel=\"noopener\">commercetools<\/a>.<\/li>\n\n\n\n<li>Die Vertretung f\u00fcr das Headless CMS \u00fcbernimmt <a href=\"https:\/\/www.contentful.com\/\" target=\"_blank\" rel=\"noopener\">contentful<\/a>.<\/li>\n\n\n\n<li>Die ganze Backend-Integration wird \u00fcber <a href=\"https:\/\/learn.microsoft.com\/de-de\/biztalk\/\" target=\"_blank\" rel=\"noopener\">Microsoft BizTalk<\/a> realisiert.<\/li>\n\n\n\n<li>Nat\u00fcrlich sind noch viele weitere Systeme im Spiel, welche hier aber nicht weiter erl\u00e4utert werden.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Was der Kunde sieht<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das Frontend ist modular im Atomic Design System aufgebaut und ist komplett losgel\u00f6st vom Backend. Dabei ist es wichtig, dass beide Ans\u00e4tze von Client Side Rendering (CSR) und Server Side Rendering (SSR) je nach Bedarf unterst\u00fctzt werden. Solche Anforderungen lassen sich heute sehr gut mit Frameworks wie <a href=\"https:\/\/nextjs.org\/\" rel=\"noopener\">next.js<\/a> im <a href=\"https:\/\/react.dev\/\" target=\"_blank\" rel=\"noopener\">React<\/a>&#8211; oder <a href=\"https:\/\/nuxtjs.org\/\" target=\"_blank\" rel=\"noopener\">nuxt.js<\/a> im <a href=\"https:\/\/vuejs.org\/\" target=\"_blank\" rel=\"noopener\">Vue<\/a>-Umfeld umsetzen.<br>Weil gerade in diesem Bereich die Differenzierung passieren kann bzw. soll und daher sehr eigenst\u00e4ndige Bausteine entstehen k\u00f6nnen, ist es wichtig, sich vorab Gedanken zu machen, wo es in die gleiche Richtung geht, um z.B. eine gemeinsam genutzte Komponentenbibliothek zu etablieren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Der Klebstoff der alles zusammenh\u00e4lt<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das komplette Frontend l\u00e4uft gegen einen API Gateway, in unserem Fall <a href=\"https:\/\/cloud.google.com\/apigee\" target=\"_blank\" rel=\"noopener\">Apigee<\/a> von Google. Dies hat mehrere Gr\u00fcnde:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Der Kunde bekommt ein zentralisiertes System f\u00fcr die <strong>Orchestrierung<\/strong> und das <strong>Controlling<\/strong> bzw. <strong>Reporting<\/strong>. Was besonders bei heutigen MACH-Architekturen ein <strong>nicht zu untersch\u00e4tzendes Thema<\/strong> ist.<\/li>\n\n\n\n<li>Wir k\u00f6nnen die <strong>Authentifizierung<\/strong> und <strong>Autorisierung<\/strong> im Zusammenspiel mit der <a href=\"https:\/\/cloud.google.com\/identity-platform\" target=\"_blank\" rel=\"noopener\">Google Identity Platform<\/a> sehr homogen l\u00f6sen.<\/li>\n\n\n\n<li>Gerade im Umfeld von Legacy Systemen bietet <a href=\"https:\/\/cloud.google.com\/apigee\" target=\"_blank\" rel=\"noopener\">Apigee<\/a> die M\u00f6glichkeit z.B. eine XML Response in ein JSON Format zu transformieren und somit dem Frontend komfortabel zur Verf\u00fcgung zu stellen. Zudem kann z.B. auch ein System, welches nicht auf hohe Zugriffszahlen ausgelegt ist, unkompliziert mit entsprechendem Caching ausgestattet werden.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Darf es sonst noch was sein?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Commerce Engine, in unserem Fall <a href=\"https:\/\/commercetools.com\/\" target=\"_blank\" rel=\"noopener\">commercetools<\/a>, k\u00fcmmert sich um die Auslieferung der verkaufbaren Einheiten, den sogenannten SKUs (Stock Keeping Unit), gegen\u00fcber der Frontend L\u00f6sung. Die Aufbereitung der ganzen Produktdaten wie Bilder oder auch Produktbeschreibungen inkl. technischer Merkmale etc. geschieht vorzugsweise in den vorgelagerten Systemen wie <a href=\"\/de\/pim\" target=\"_blank\" rel=\"noopener\">Product Information Management<\/a> (PIM) und <a href=\"\/de\/dam\" rel=\"noopener\">Digital Asset Management<\/a> (DAM). Ein sehr ausschlaggebender und arbeitsintensiver Punkt, welcher aber h\u00e4ufig untersch\u00e4tzt wird. Auch der Verkaufspreis und der Lagerbestand werden in <a href=\"https:\/\/commercetools.com\/\" target=\"_blank\" rel=\"noopener\">commercetools<\/a> gehalten und dienen als erste Anlaufstelle. In diesem Bereich gibt es aber je nach Anwendungsfall noch Ausbaustufen, um beispielsweise den Lagerbestand direkt vom f\u00fchrenden System zu beziehen und den vorgehaltenen Bestand in der Commerce Engine als Fallback zu benutzen, sofern nicht in n\u00fctzlicher Frist eine Antwort kommt.<br>Die eCommerce L\u00f6sung bietet von Haus aus eine Suchfunktionalit\u00e4t inkl. Facetten an, welche f\u00fcr eine klassische Suche eingesetzt werden kann. Steigen die Anspr\u00fcche evtl. hinsichtlich Product Recommendation, k\u00f6nnen in diesem Architekturansatz weitere Dienste wie beispielsweise die <a href=\"https:\/\/cloud.google.com\/retail\/docs\" target=\"_blank\" rel=\"noopener\">Google Retail API<\/a> oder Produkte wie <a href=\"https:\/\/www.algolia.com\/de\/\" target=\"_blank\" rel=\"noopener\">algolia<\/a> und <a href=\"https:\/\/constructor.io\/\" target=\"_blank\" rel=\"noopener\">constructor.io<\/a> eingesetzt werden, ohne die L\u00f6sung komplett zu verbiegen wie es bei den klassischen monolithischen Systemen der Fall ist.<br>Zu guter Letzt ist auch der transaktionale Prozess ein, wenn nicht der wichtigste Bestandteil der L\u00f6sung. D.h. von der Bereitstellung des Warenkorbs mit der entsprechenden Berechnung inkl. den Funktionalit\u00e4ten welche f\u00fcr die Anreicherung der ben\u00f6tigten Informationen w\u00e4hrend des Checkout Prozesses ben\u00f6tigt werden, damit aus einem Warenkorb eine Bestellung resultiert.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Inhalte jeglicher Art<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Um den CMS Teil zu bewerkstelligen, fiel die Wahl auf <a href=\"https:\/\/www.contentful.com\/\" target=\"_blank\" rel=\"noopener\">contentful<\/a>. Hier besteht f\u00fcr Kunden, die sich an ein klassisches CMS gew\u00f6hnt sind, die gr\u00f6sste Umstellung. Nicht nur in der Bedienung, sondern auch in der Denkweise. Gerade was die Bedienung angeht, haben die heutigen Vertreter der Headless CMS Systeme den Anspruch der Benutzer erkannt und bieten den Anwendern unterdessen komfortable Editor-L\u00f6sungen wie es <a href=\"https:\/\/www.contentful.com\/\" target=\"_blank\" rel=\"noopener\">contentful<\/a> z.B. mit ihrem <a href=\"https:\/\/www.contentful.com\/platform\/studio\/\" target=\"_blank\" rel=\"noopener\">Contenful Studio<\/a> offeriert.<br>Durch die einfache M\u00f6glichkeit strukturierte Daten abzulegen, verwenden wir <a href=\"https:\/\/www.contentful.com\/\" target=\"_blank\" rel=\"noopener\">contentful<\/a> nicht nur f\u00fcr die Ablage von klassischem Content f\u00fcr die Website bzw. den Shop, sondern auch Einstellungen und Konfigurationen f\u00fcr das Gesamtsystem k\u00f6nnen darin verwaltet werden.<br>Ein weiterer Anwendungsfall sind beispielsweise die Filialdaten mit Bilder, \u00d6ffnungszeiten etc. welche zentral organisiert werden k\u00f6nnen und unterschiedlichen Bez\u00fcgern wie dem Storelocator auf der Shopseite oder aber auch der unabh\u00e4ngigen Website der Filiale zur Verf\u00fcgung gestellt werden k\u00f6nnen. Eine kleine Anmerkung hier, eine Umkreissuche f\u00fcr die Filialen Suche l\u00e4sst sich z.B. direkt auf der API von <a href=\"https:\/\/www.contentful.com\/\" target=\"_blank\" rel=\"noopener\">contentful<\/a> realisieren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Der Daten Highway<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Als Integrations-Layer dient <a href=\"https:\/\/learn.microsoft.com\/de-de\/biztalk\/\" target=\"_blank\" rel=\"noopener\">BizTalk<\/a> von Microsoft, welches in unserem Beispiel schon l\u00e4nger beim Kunden im Einsatz ist und uns die Daten aus <a href=\"\/de\/erp-branchenloesungen\" target=\"_blank\" rel=\"noopener\">ERP<\/a>, <a href=\"\/de\/pim\" target=\"_blank\" rel=\"noopener\">PIM<\/a> etc. liefert. Gerade in unserem Fall macht eine Middleware Sinn, da \u00c4nderungen aus den genannten Systemen nur einmal verarbeitet werden m\u00fcssen und dann unabh\u00e4ngig an die unterschiedlichen Konsumenten bzw. Shopsysteme ausgespielt werden k\u00f6nnen. Zudem kommen die Daten aus unterschiedlichen <a href=\"\/de\/erp-branchenloesungen\" target=\"_blank\" rel=\"noopener\">ERP-<\/a>Systemen und k\u00f6nnen an diesem Punkt zusammengef\u00fchrt und vereinheitlicht werden. Somit muss sich nicht jeder Bez\u00fcger mit einer eigenen Logik um die gleiche Thematik k\u00fcmmern. Ein weiterer Punkt ist die Fehlerbehandlung, welche an diesem Punkt kanalisiert wird.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Das Konzept von <strong>Composable Commerce<\/strong> erlaubt ein iteratives und dadurch schlankes Vorgehen und richtet sich ganz nach dem Ansatz: <strong>Think big, start small, scale fast.<\/strong><\/li>\n\n\n\n<li>Der <strong>richtige Aufbau<\/strong> und <strong>Auslegung <\/strong>des API und Integrations-Layers ist entscheidend, um mit m\u00f6glichst geringem Aufwand bzw. Justierungen den iterativen Abl\u00f6seprozess \u00fcber die B\u00fchne zu bringen.<\/li>\n\n\n\n<li>Auch wenn die <strong>Architektur sehr flexibel<\/strong> ist und Kurskorrekturen einfacher gemacht werden k\u00f6nnen als bei einem <strong>monolithischen Ansatz<\/strong>, sollte man sich schon zu Beginn einige Gedanken zur Zielarchitektur gemacht haben und die Richtung klar deklarieren. Damit entsprechende Entscheidungen, die auf dem Weg getroffen werden m\u00fcssen, zu einem besseren Ergebnis f\u00fchren. Es muss aber definitiv nicht schon die <strong>Gesamtl\u00f6sung <\/strong>in jedem Detail und f\u00fcr jede Eventualit\u00e4t durchspezifiziert sein, weil wie so oft bewahrheitet sich das Sprichwort: Erstens kommt es <strong>anders<\/strong>, und zweitens als man <strong>denkt<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Und wenn Sie jetzt auch denken, es sollte anders kommen als was heute mit Ihrem System m\u00f6glich ist\u2026melden Sie sich bei uns, wir helfen Ihnen gerne den Grundstein f\u00fcr eine nachhaltige und zukunftsf\u00e4hige L\u00f6sung zu legen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a class=\"button is-dark\" href=\"mailto:hello@diselva.com\" id=\"contact\">Kontaktaufnahme<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Composable Commerce: Ein flexibler Architekturansatz f\u00fcr Multi-Brand &#038; Multi-Country Commerce, der mit einem MVP startet und skalierbar w\u00e4chst.<\/p>\n","protected":false},"author":268896778,"featured_media":110821,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_eb_attr":"","_crdt_document":"","advanced_seo_description":"Erfahren Sie, wie Composable Commerce Ihre eCommerce-Architektur modernisiert und die Zukunft Ihres Gesch\u00e4fts gestaltet. Mehr erfahren!","jetpack_seo_html_title":"MVP Architektur f\u00fcr zukunftsf\u00e4hige L\u00f6sungen im E-Commerce","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1408,1369,1407,1883,1,1406],"tags":[],"thema":[1866,1867],"class_list":["post-97618","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-begleitung-in-der-umsetzung-der-projekte","category-enterprise-architect-solution-architect","category-evaluationen-und-ausschreibungen","category-expertenartikel","category-news","category-solution-software-architecture","thema-assessment-evaluation-steuerung","thema-software-architektur-engineering"],"blocksy_meta":[],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/diselva.com\/wp-content\/uploads\/2025\/09\/opengraph-diselva.png?fit=1200%2C630&quality=78&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/diselva.com\/de\/wp-json\/wp\/v2\/posts\/97618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/diselva.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diselva.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diselva.com\/de\/wp-json\/wp\/v2\/users\/268896778"}],"replies":[{"embeddable":true,"href":"https:\/\/diselva.com\/de\/wp-json\/wp\/v2\/comments?post=97618"}],"version-history":[{"count":8,"href":"https:\/\/diselva.com\/de\/wp-json\/wp\/v2\/posts\/97618\/revisions"}],"predecessor-version":[{"id":112985,"href":"https:\/\/diselva.com\/de\/wp-json\/wp\/v2\/posts\/97618\/revisions\/112985"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/diselva.com\/de\/wp-json\/wp\/v2\/media\/110821"}],"wp:attachment":[{"href":"https:\/\/diselva.com\/de\/wp-json\/wp\/v2\/media?parent=97618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diselva.com\/de\/wp-json\/wp\/v2\/categories?post=97618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diselva.com\/de\/wp-json\/wp\/v2\/tags?post=97618"},{"taxonomy":"thema","embeddable":true,"href":"https:\/\/diselva.com\/de\/wp-json\/wp\/v2\/thema?post=97618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}