{"id":3162,"date":"2023-01-12T18:19:13","date_gmt":"2023-01-12T23:19:13","guid":{"rendered":"https:\/\/blogs.sw.siemens.com\/partners\/?p=3162"},"modified":"2026-03-26T12:51:36","modified_gmt":"2026-03-26T16:51:36","slug":"component-based-architecture","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/partners\/component-based-architecture\/","title":{"rendered":"Component-based architecture in a nutshell"},"content":{"rendered":"\n<p>Here\u2019s another slightly technical-focused story for you. This one is all about component-based architecture &#8211; what it is, how it works, and what\u2019s so great about it. But perhaps it can also serve as inspiration for development leads and managers!<\/p>\n\n\n\n<p>Dennis Keldermans and Dider Kerckhof from Apvine are here to discuss component-based architecture and the benefits it can offer both your development team and your customers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is component-based architecture?<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2023\/01\/Apvine-Component-Based-Architecture-1024x768.png\" alt=\"Component-based architecture represented by an image of the Mendix logo on building blocks.\" class=\"wp-image-3161\" width=\"565\" height=\"424\" srcset=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2023\/01\/Apvine-Component-Based-Architecture-1024x768.png 1024w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2023\/01\/Apvine-Component-Based-Architecture-600x450.png 600w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2023\/01\/Apvine-Component-Based-Architecture-768x576.png 768w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2023\/01\/Apvine-Component-Based-Architecture-900x675.png 900w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2023\/01\/Apvine-Component-Based-Architecture.png 1187w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/figure><\/div>\n\n\n<p>Of course, <a href=\"https:\/\/blogs.sw.siemens.com\/mendix\/2022\/01\/12\/digitalize-with-low-code\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mendix low-code<\/a> allows you to use a component-based architecture, which is part of what makes it such an agile and flexible tool. But more about that later. First, let&#8217;s define component-based architecture. In essence, it\u2019s breaking development down into a set of functionalities that you group together (into \u2018components\u2019), often with the intent to reuse as and when you need. A component could be a UI element, logic, data or many other parts that make up software development.<\/p>\n\n\n\n<p>What does that really mean? An easy way to think about it is Lego. Whatever you\u2019re building (in the Lego-verse), it\u2019s mostly just a matter of finding the right building blocks &#8211; premade components &#8211; that can be reused and slotted in wherever needed without requiring a huge redesign or modifications to the whole. Each block is a stand-alone piece, a self-contained module that serves a specific function (of course, several blocks stuck together can then also become a component, albeit a slightly more advanced one). That\u2019s component-based architecture.<\/p>\n\n\n\n<p>The traditional alternative to this is a scenario where every function and module is interconnected to the whole &#8211; everything built in one big stack as one complete application. By the way, micro-service architecture is not the opposite of component-based architecture. It is sometimes an example of component-based architecture, but not always.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why we\u2019re fans<\/h2>\n\n\n\n<p>As for the benefits of a component-based architecture, there are many depending on the specific use case, but here are some of the highlights:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\">\n<li>Efficient workflow. Since components are stand-alone structures, they can be made in parallel timing with other parts of any given development track. A project can be broken down into defined components at the outset and multiple teams can work on separate components simultaneously.<\/li>\n\n\n\n<li>Agility. Again, since components are stand-alone structures, you can edit or upgrade any particular component you wish without it having a negative impact on the app or website as a whole. This makes for much more agile software.<\/li>\n\n\n\n<li>Independent lifecycles. As a result of the above point, each component can have its own lifecycle, updates, and so on without necessarily being tied to a larger project or product.<\/li>\n\n\n\n<li>Global run-time. With component-based architecture, there\u2019s one run-time for everything. This means there\u2019s no need to fine-tune the intercommunication between components! Also, (for better or worse) either everything works or nothing does. <em>Note: the opposite is true of micro-services, in which every service has its own runtime and context.<\/em><\/li>\n\n\n\n<li><a href=\"https:\/\/marketplace.mendix.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mendix Marketplace<\/a>. Component-based architecture means you\u2019re constantly creating valuable, reusable components, which you can (if you wish) sell or share on the Mendix Marketplace. Similarly, you can find components from other developers there. All in all, this means a greater variety of tools and possibilities. But it&#8217;s not always the best way to go. Particularly when it comes to smaller and less complex projects. In that case, planning out your component-based architecture approach may be more work than it&#8217;s worth.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Component-based architecture in action<\/h2>\n\n\n\n<p>To wrap things up, here are two examples of how we&#8217;ve benefited from component-based architecture in past projects at <a href=\"https:\/\/apvine.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Apvine<\/a>. First, how it has created value for us internally. Once upon a time, while building an app for one of our lovely clients, we had a technical obstacle to overcome \u2013 accepting web socket communication (pushing data from the backend to the front end). We decided to create a specific component to do just that, and since then, we\u2019ve reused the little module countless times on various projects with various customers.<\/p>\n\n\n\n<p>Secondly, how component-based architecture creates value for our manufacturing customers! While working on an Overall Equipment Effectiveness (OEE) application, we saw an opportunity to streamline the app for the client\u2019s benefit. By splitting up the OEE module into components for availability, scrap, performance and quality, they (and other companies too) were able to reuse them throughout multiple projects, streamlining development time and flow in the process.<\/p>\n\n\n\n<p>And that\u2019s component-based architecture in a nutshell. Questions? Comments? Let us know!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">About the authors<\/h3>\n\n\n\n<p><a href=\"mailto:dennis.keldermans@apvine.com\" target=\"_blank\" rel=\"noreferrer noopener\">Dennis Keldermans<\/a> and <a href=\"mailto:dider.kerckhof@apvine.com\" target=\"_blank\" rel=\"noreferrer noopener\">Dider Kerckhof<\/a> are working for Apvine and have extensive technical knowledge of component-based architecture and its benefits to your development team and your customers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">About Apvine<\/h3>\n\n\n\n<p><a href=\"https:\/\/apvine.com\" target=\"_blank\" data-type=\"URL\" data-id=\"https:\/\/apvine.com\" rel=\"noreferrer noopener\">Apvine<\/a> automates business flows using low-code technology, building bridges not barriers. Low-code technology overcomes obstacles instead of creating them, connecting domain experts and developers with other members within your organization.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here\u2019s another slightly technical-focused story for you. This one is all about component-based architecture &#8211; what it is, how it&#8230;<\/p>\n","protected":false},"author":85604,"featured_media":3161,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[6,2],"tags":[25,63,9],"industry":[],"product":[227],"coauthors":[778,779],"class_list":["post-3162","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business-leadership","category-news","tag-app-dev-and-iot","tag-siemens-partners","tag-xcelerator","product-mendix"],"featured_image_url":"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2023\/01\/Apvine-Component-Based-Architecture.png","_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/posts\/3162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/users\/85604"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/comments?post=3162"}],"version-history":[{"count":5,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/posts\/3162\/revisions"}],"predecessor-version":[{"id":3171,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/posts\/3162\/revisions\/3171"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/media\/3161"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/media?parent=3162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/categories?post=3162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/tags?post=3162"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/industry?post=3162"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/product?post=3162"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/coauthors?post=3162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}