{"id":24212,"date":"2021-05-05T12:38:35","date_gmt":"2021-05-05T10:38:35","guid":{"rendered":"https:\/\/www.itech-progress.com\/?p=24212"},"modified":"2026-04-07T10:16:33","modified_gmt":"2026-04-07T08:16:33","slug":"bounded-context-microservice","status":"publish","type":"post","link":"https:\/\/www.itech-progress.com\/en\/bounded-context-microservice\/","title":{"rendered":"Bounded Context trifft auf Microservice: Wie passt der Deckel auf den Topf?"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.6.5&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;30px||0px||false|false&#8221;][et_pb_row column_structure=&#8221;1_4,3_4&#8243; _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ffffff&#8221; custom_margin=&#8221;|||-15px|false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|tablet&#8221; custom_padding=&#8221;0px||4px||false|false&#8221; locked=&#8221;off&#8221;][et_pb_column type=&#8221;1_4&#8243; _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/www.itech-progress.com\/wp-content\/uploads\/2020\/03\/Feix.png&#8221; alt=&#8221;Feix&#8221; title_text=&#8221;Feix&#8221; show_in_lightbox=&#8221;on&#8221; src_tablet=&#8221;https:\/\/www.itech-progress.com\/wp-content\/uploads\/2020\/03\/Feix.png&#8221; src_phone=&#8221;https:\/\/www.itech-progress.com\/wp-content\/uploads\/2020\/03\/Feix.png&#8221; src_last_edited=&#8221;on|phone&#8221; _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221; width=&#8221;40%&#8221; width_tablet=&#8221;15%&#8221; width_phone=&#8221;25%&#8221; width_last_edited=&#8221;on|phone&#8221; custom_margin=&#8221;10px|||15px|false|false&#8221;][\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;3_4&#8243; _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221;][et_pb_toggle title=&#8221;Axel Feix&#8221; open_toggle_background_color=&#8221;#ffffff&#8221; closed_toggle_background_color=&#8221;#ffffff&#8221; icon_color=&#8221;#f3f3f3&#8243; _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221; title_text_color=&#8221;#003f86&#8243; title_level=&#8221;h2&#8243; title_font=&#8221;||||||||&#8221; title_letter_spacing=&#8221;1px&#8221; body_font_size=&#8221;16px&#8221; custom_margin=&#8221;15px|||-105px|false|false&#8221; custom_margin_tablet=&#8221;9px|||18px|false|false&#8221; custom_margin_phone=&#8221;|||15px|false|false&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; custom_padding=&#8221;20px|||0px|false|false&#8221; custom_padding_tablet=&#8221;0px||||false|false&#8221; custom_padding_phone=&#8221;&#8221; custom_padding_last_edited=&#8221;on|desktop&#8221; border_width_all=&#8221;0px&#8221;]<\/p>\n<div>\n<p>Axel Feix hat langj\u00e4hrige Projekterfahrung als Analyst und Softwarearchitekt. Er unterst\u00fctzt Kunden als Senior Consultant und Trainer bei der Einf\u00fchrung und Umsetzung von Software-Engineering, Requirements-Engineering, Softwarearchitektur-Management und Architekturdokumentation. Er interessiert sich f\u00fcr was fliegt, alles was man visualisieren und spielen kann, und was die Welt zusammenh\u00e4lt.<\/p>\n<\/div>\n<p>[\/et_pb_toggle][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221; link_font=&#8221;||on||||||&#8221; custom_padding=&#8221;29px|||||&#8221;]<\/p>\n<p>Microservices und <a href=\"https:\/\/www.itech-progress.com\/isaqb-advanced-level\/isaqb-domain-driven-design-schulung\/\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Driven Design (DDD)<\/a> z\u00e4hlen nach wie vor zu den Hype-Themen der IT-Szene. Ein paar Sekunden Google-Suche reichen aus, um gleich Dutzende Artikel ausfindig zu machen, die wahre Loblieder auf die \u201eLiebesbeziehung\u201c von Microservices und Bounded Contexts singen. Aber ist das wirklich so? Passen Microservices und Bounded Contexts wie Topf und Deckel zusammen oder wird das Thema vielleicht doch zu sehr durch die rosa Brille findiger Consultants betrachtet?<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221; link_font=&#8221;||on||||||&#8221; header_2_letter_spacing=&#8221;2px&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;20px||||false|false&#8221;]<\/p>\n<h2>Bounded Context und Ubiquitous Language<\/h2>\n<p>Domain Driven Design (DDD) ist als ein Konzept entstanden, um die Distanz zwischen den Dom\u00e4nen-Experten und dem Software-Entwicklungsteam und die daraus resultierenden Projektrisiken nachhaltig zu verringern. Eric Evans hat das in seinem Standardwerk \u201eDomain-Driven Design: Tackling Complexity in the Heart of Software\u201c pr\u00e4zise beschrieben. Ein zentrales Element ist dabei eine gemeinsame Fachsprache, die <a href=\"https:\/\/www.itech-progress.com\/ubiquitous-language\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u201eUbiquitous Language\u201c<\/a>, die aus der Dom\u00e4nen-Story entwickelt und auf allen Ebenen vom Grobkonzept bis in den Quellcode hinein als Vokabular angewendet wird. In den meisten F\u00e4llen zeigen sich bei der Herleitung der Domain-Story einige Begriffe, die in unterschiedlichen Zusammenh\u00e4ngen (z. B. Fach-Abteilungen) andere Bedeutungen haben. Im Domain Driven Design (DDD) wird in diesem Fall keine sprachliche L\u00f6sung geschaffen, sondern eine Grenze um den maximalen Raum innerhalb der Dom\u00e4ne gezogen, in dem jeder Fachbegriff eine eindeutige Bedeutung hat. Dieser abgegrenzte \u201eSprachraum\u201c ist der <em>Bounded Context<\/em>.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221; header_2_letter_spacing=&#8221;2px&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;20px||0px||false|false&#8221;]<\/p>\n<h2>Ein Bounded Context ist kein Microservice<\/h2>\n<p>Aus dieser Perspektive wird klar, dass ein <em>Bounded Context <\/em>\u2013 je nach Komplexit\u00e4t der Dom\u00e4ne \u2013 ganz unterschiedliche Dimensionen annehmen kann. Die Spanne erstreckt sich von einem sehr kleinen Kontext, der sich durchaus zur Abgrenzung eines Microservice eignen kann, bis hin zu einem gewaltigen, als Microservice untauglichen Kontext-Monolithen. In den meisten F\u00e4llen sind Microservice und Bounded Context folglich ein ausgesprochen ungleiches Paar. Der Bounded Context beschreibt die maximale Ausdehnung, die ein Microservice logisch annehmen kann, und steht damit geradezu im Widerspruch zu dessen Anforderungen an reduzierte Komplexit\u00e4t und Gr\u00f6\u00dfe. Es ist aber deutlich zu sagen: Ein Bounded Context ist kein Microservice. Ein Microservice ist technisch und stelle eine Deployment Grenze dar. Ein Bounded Context ist dagegen eine fachliche Sprachgrenze mit einer klaren Definition f\u00fcr jeden Begriff. Die Gr\u00f6\u00dfe und Form eines solchen Contexts wird durch die strategische Planung, die Komplexit\u00e4t des Modells und die Teamstruktur bestimmt.<\/p>\n<p>Bounded Contexts sind eine M\u00f6glichkeit, erste Schnitte im Projekt anzusetzen und bieten damit zumindest eine Ann\u00e4herung. Zum anderen ist jeder Bounded Context ein Cluster, in dem mehrere zu definierende (Micro-)Services durch die Ubiquitous Language logisch verbunden sind. Auch das kann bis hin zur Evolution der Microservice-Landschaft eine Menge Vorteile bringen.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221; header_2_letter_spacing=&#8221;2px&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;20px||||false|false&#8221;]<\/p>\n<h2>Das richtige Werkzeug f\u00fcr den Einsatz von DDD und Microservices<\/h2>\n<p>Die DDD bietet einen ganzen Baukasten an Werkzeugen an, um strategisches und taktisches Domain Driven Design zu betrieben. Beim strategischen DDD sind das z. B. Dave Snowdens \u00a0Komplexit\u00e4tsanalyse nach Cynefin, Dom\u00e4nenmodelllierung mit Aberto Brandolinis Event Storming, Exploration mit Hilfe von Simon Wardleys Wardley Mapping, Strategische Entkopplung durch Eric Evans Bounded Context Mapping oder System Thinking nach Donella Meadows. Diese Werkzeuge zu kennen und erfolgreich einzusetzen ist essenziell f\u00fcr den erfolgreichen Einsatz DDD und Microservices.<\/p>\n<p>F\u00fcr die Microservices selbst und deren Abgrenzung stellt Domain Driven Design das Konzept der internen Bausteine (Internal Building Blocks) mit vielen n\u00fctzlichen Patterns zur Verf\u00fcgung. Das vielleicht wichtigste dabei sind die <em>Aggregates<\/em>, die als kleinste sinnvolle Einheit f\u00fcr einen Microservice sozusagen den Gegenpol zu den Bounded Contexts bilden.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221; header_2_letter_spacing=&#8221;2px&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;20px||||false|false&#8221;]<\/p>\n<h2>Fazit<\/h2>\n<p>Anhand dieser Betrachtungen l\u00e4sst sich klar sagen: Auf der Ebene von Microservices und Domain Driven Design passt der Deckel ganz klar auf den Topf! Bounded Contexts sind f\u00fcr diesen Bund ein wertvoller Beitrag \u2013 unter vielen anderen.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.7.3&#8243; _module_preset=&#8221;default&#8221; link_font=&#8221;||on||||||&#8221; header_2_letter_spacing=&#8221;2px&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;18px||||false|false&#8221;]<\/p>\n<h2><span style=\"color: #003f86; font-size: 21px; letter-spacing: 2px;\">Sie m\u00f6chten mehr zu dem Thema erfahren?<\/span><\/h2>\n<p>Einen tieferen Einblick in Microservice-Architekturen und Domain Driven Design vermitteln die beiden Trainings <a href=\"https:\/\/www.itech-progress.com\/isaqb-advanced-level\/isaqb-flexible-architekturmodelle\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u201eFlexible Architekturmodelle (FLEX)\u201c<\/a> und <a href=\"https:\/\/www.itech-progress.com\/isaqb-advanced-level\/isaqb-domain-driven-design-schulung\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u201eDomain Driven Design (DDD)\u201c<\/a>. Wenn Sie die Zertifizierung zum <a href=\"https:\/\/www.itech-progress.com\/isaqb-advanced-level\/\" target=\"_blank\" rel=\"noopener noreferrer\">Certified Professional for Software Architecture-Advanced\u00a0Level (CPSA-A \u00ae)<\/a> anstreben, erhalten Sie mit diesem perfekten Trainings-Doppelpack Credit Points in den Kompetenzbereichen Technik, Methodik und Kommunikation.<em><\/em><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Axel Feix hat langj\u00e4hrige Projekterfahrung als Analyst und Softwarearchitekt. Er unterst\u00fctzt Kunden als Senior Consultant und Trainer bei der Einf\u00fchrung und Umsetzung von Software-Engineering, Requirements-Engineering, Softwarearchitektur-Management und Architekturdokumentation. Er interessiert sich f\u00fcr was fliegt, alles was man visualisieren und spielen kann, und was die Welt zusammenh\u00e4lt. Microservices und Domain Driven Design (DDD) z\u00e4hlen nach wie [&hellip;]<\/p>\n","protected":false},"author":24783,"featured_media":24231,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[839,551,549,553],"tags":[],"class_list":["post-24212","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-plattform","category-kommunikativ","category-methodisch","category-projekte"],"_links":{"self":[{"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/posts\/24212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/users\/24783"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/comments?post=24212"}],"version-history":[{"count":10,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/posts\/24212\/revisions"}],"predecessor-version":[{"id":53842,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/posts\/24212\/revisions\/53842"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/media\/24231"}],"wp:attachment":[{"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/media?parent=24212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/categories?post=24212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/tags?post=24212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}