Changes for page Multi-Model Explained
Last modified by Erik Bakker on 2024/08/08 11:57
From version 17.1
edited by Carlijn Kokkeler
on 2023/07/07 13:52
on 2023/07/07 13:52
Change comment:
There is no comment for this version
To version 19.1
edited by Erik Bakker
on 2024/08/08 11:33
on 2024/08/08 11:33
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. CarlijnKokkeler1 +XWiki.ebakker - Content
-
... ... @@ -1,5 +1,5 @@ 1 1 {{container}}{{container layoutStyle="columns"}}((( 2 -In this fundamental ,the eMagiz multi-model environmentwillbe explained. Moreover,reasonswillbegiven forhavingmultiple eMagizmodelswithinorganization.2 +In this fundamental we share some valuable insights about working with eMagiz in a multi-model environment. This information covers integration models, separation of concerns, and the benefits of managing different business processes independently. 3 3 4 4 Should you have any questions, please get in touch with academy@emagiz.com. 5 5 ... ... @@ -7,7 +7,7 @@ 7 7 8 8 * Some context on cloud functionality will be helpful. 9 9 10 -== 2. Key concepts ==10 +== 2. Key Concepts == 11 11 12 12 * An environment in eMagiz in which there are multiple integration models is called a multi-model environment. 13 13 * With integration model, an eMagiz platform instance is meant, in which it is possible to build integrations. ... ... @@ -16,24 +16,24 @@ 16 16 17 17 == 3. eMagiz Multi-Model Environment - Definition == 18 18 19 -For some companies that work with eMagiz, it is preferable to havemultiple integration models. Such an environmentin eMagiz, inwhichtherearemultiple integration models,is called a multi-model environment. With integration model, an eMagiz platform instance is meant,inwhichitispossible to build integrations. Within an integration model, three types of integration patterns can be modelled. These are [[Messaging>>doc:Main.eMagiz Academy.Fundamentals.fundamental-messaging-introduction||target="blank"]], [[API Gateway>>doc:Main.eMagiz Academy.Fundamentals.fundamental-api-gateway-introduction||target="blank"]], and [[Event Streaming>>doc:Main.eMagiz Academy.Fundamentals.fundamental-event-streaming-introduction||target="blank"]]. An illustration of an integration model, or platform instance, with the Messaging integration pattern is the following:19 +For some companies that work with eMagiz, multiple integration models are preferable. Such an eMagiz environment with multiple integration models is called a multi-model environment. With the integration model, an eMagiz platform instance is meant to make it possible to build integrations. Within an integration model, three types of integration patterns can be modeled. These are [[Messaging>>doc:Main.eMagiz Academy.Fundamentals.fundamental-messaging-introduction||target="blank"]], [[API Gateway>>doc:Main.eMagiz Academy.Fundamentals.fundamental-api-gateway-introduction||target="blank"]], and [[Event Streaming>>doc:Main.eMagiz Academy.Fundamentals.fundamental-event-streaming-introduction||target="blank"]]. An illustration of an integration model, or platform instance, with the Messaging integration pattern, is the following: 20 20 21 21 [[image:Main.Images.Fundamental.WebHome@fundamental-emagiz-multi-model--single-platform-instance.png]] 22 22 23 -An illustration of two platform instances, both model led with the Messaging pattern, is shown below:23 +An illustration of two platform instances, both modeled with the Messaging pattern, is shown below: 24 24 25 25 [[image:Main.Images.Fundamental.WebHome@fundamental-emagiz-multi-model--two-platform-instances.png]] 26 26 27 -Per integration model, it is possible todecidewhich integration patterns are available. This may be only one pattern, but it could also be two,or all three.27 +Per the integration model, deciding which integration patterns are available is possible. This may be only one pattern, but it could also be two or all three. 28 28 29 29 == 4. Separation of Concerns == 30 30 31 -There are several reasons for choosing multiple integration smodels, i.e. separate eMagiz instances. These reasons can be grouped under the term separation of concerns. Separation of concerns is a design principle in software development and architectureforseparatingan application in two or more sections,such thateachsectionaddressesa particular concern.Reasons for applying this separation of concerns principle in the eMagiz environment aregivenbelow.31 +There are several reasons for choosing multiple integration models, i.e., separate eMagiz instances. These reasons can be grouped under the term separation of concerns. Separation of concerns is a design principle in software development and architecture that separates an application into two or more sections, each addressing a particular concern. The reasons for applying this separation of concerns principle in the eMagiz environment are below. 32 32 33 33 === 4.1 Independent Operations === 34 34 35 -Within a company, there may bedifferent business processesthatcanoperate independently. It can be useful to have a clear separationin these business processes,suchthat theprocesses can evolve independently. This may include entirely different business processes, such as sales and transport, but processes can also be separated based on different use cases or different positions within a business process. For example, one model might address the business processes down the value chain, while the other model addresses the business processes up the value chain.36 - By having an eMagiz model for each distinct business process,itispossible to release new integrations and make changes independently,so that the processes can evolve freely. For example, incasethere is a different model for sales and transport, there is no dependency on progress of both departments. Below it is illustrated that, in case a flowthat isbeing worked on for the sales department is still in progress,whileaflowthat isbeing worked on for the transport department is done, it isdifficultto make a new release if the models arenotseparated. In case there is a separate model for the sales department and the transport department, releases can be made independently, meaning that the improvement on the flow for the transport department can be released without having to take into account flow changes from the sales department that may have an impact on it.35 +Within a company, different business processes may operate independently. It can be useful to have a clear separation between these business processes so that they can evolve independently. This may include entirely different business processes, such as sales and transport, but processes can also be separated based on different use cases or different positions within a business process. For example, one model might address the business processes down the value chain, while the other model addresses the business processes up the value chain. 36 +Having an eMagiz model for each distinct business process makes it possible to release new integrations and make changes independently so that the processes can evolve freely. For example, if there is a different model for sales and transport, there is no dependency on the progress of both departments. Below, it is illustrated that, in this case, a flow being worked on for the sales department is still in progress. In contrast, if the flow being worked on for the transport department is done, it is easier to make a new release if the models are separated. In case there is a separate model for the sales department and the transport department, releases can be made independently, meaning that the improvement on the flow for the transport department can be released without having to take into account flow changes from the sales department that may have an impact on it. 37 37 38 38 39 39 [[image:Main.Images.Fundamental.WebHome@fundamental-emagiz-multi-model--independent-operations-single-instance.png]] ... ... @@ -42,14 +42,14 @@ 42 42 43 43 === 4.2 Data Model === 44 44 45 -Data models are visual representations that describe data using entities and attributes. Entities are representations of physical objects or well-defined singular concepts. Attributes are details that are specific to an entity. For example, a data model may contain the entity ‘customer’ with attributes ‘id ’, ‘name’, ‘address’, etc. Within eMagiz, there are up to 3 data models for a model, namely for eachof theintegration patterns(Messaging, API Gateway, Event Streaming).46 -(Part of) a data model in eMagiz is shown below. As can be seen, a data model can become large, and there is a great risk of unclarity. By splitting business processes, data models can be made more specific to the process. This ensures that there is less ambiguity within one model. Moreover, the data models can be reduced in size,since entities and attributes that belong to the data model of acertainprocess can be removed from the data model of another process. This provides a better overview of the entities and attributes within a model.45 +Data models are visual representations that describe data using entities and attributes. Entities are representations of physical objects or well-defined singular concepts. Attributes are details that are specific to an entity. For example, a data model may contain the entity ‘customer’ with attributes ‘id,’ ‘name,’ ‘address,’ and more. Within eMagiz, there are up to 3 data models for a model, namely for each integration pattern (Messaging, API Gateway, Event Streaming). 46 +(Part of) a data model in eMagiz is shown below. As can be seen, a data model can become large, and there is an excellent risk of unclarity. By splitting business processes, data models can be made more specific to the process. This ensures that there is less ambiguity within one model. Moreover, the data models can be reduced in size since entities and attributes that belong to the data model of a particular process can be removed from the data model of another process. This provides a better overview of the entities and attributes within a model. 47 47 48 48 [[image:Main.Images.Fundamental.WebHome@fundamental-emagiz-multi-model--data-model.png]] 49 49 50 50 === 4.3 Risk Mitigation === 51 51 52 -Within a multi-model environment, the impact on the business might a model break down is less ascompared to a single-modelenvironment. The reason for this,isthatin a multi-model environment only a part of the integration landscape is affected, instead of the complete landscape. For example, eMagiz models run on cloud slots. In case the cloud slot on which a model runs crashes, no business processes can be executed incasethe complete business runs on one model. Ifthere aremultiple models within a businessthatdescribe different business processes, other business processes can still continue if a cloud slot for one model has crashed. This is illustrated below.52 +Within a multi-model environment, the impact on the business might be less than if a model breaks down compared to a single-model climate. This is because in a multi-model environment, only a part of the integration landscape is affected, instead of the complete landscape. For example, eMagiz models run on cloud slots. In case the cloud slot on which a model runs crashes, no business processes can be executed if the complete business runs on one model. If multiple models within a business describe different business processes, other business processes can still continue if a cloud slot for one model has crashed. This is illustrated below. 53 53 54 54 [[image:Main.Images.Fundamental.WebHome@fundamental-emagiz-multi-model--risk-mitigation-single-instance.png]] 55 55 ... ... @@ -57,7 +57,7 @@ 57 57 58 58 === 4.4 Manageability & Maintainability === 59 59 60 - By having multiple models,thereis aclearer overview of the models,and less complexity. This ensures that the models are better manageable and maintainable. Manageable here means the capability of being controlled or dealt without difficulty. Maintainable concerns the ability to preserve or retain acertainstate. Incasethere is onlyone model for a complete organization, the data models, data flows, and overall architecture contain much information, which can cause complexity. With multiple models, it is clearer what processes models describe, and it is better possible to have an overview of the overall architecture. This way, it is more easily discoverable if a process is not working effectively orifsomething needs improvement.60 +Having multiple models gives a more straightforward overview of the models and less complexity. This ensures that the models are better manageable and maintainable. Manageable here means the capability of being controlled or dealt with without difficulty. Maintainable concerns the ability to preserve or retain a particular state. If there is more than one model for a complete organization, the data models, data flows, and overall architecture contain much information, which can cause complexity. With multiple models, it is clearer what processes models describe, and it is better possible to have an overview of the overall architecture. This way, it is more easily discoverable if a process is not working effectively or something needs improvement. 61 61 62 62 === 4.5 Deployment Architecture === 63 63 ... ... @@ -65,32 +65,32 @@ 65 65 66 66 [[image:Main.Images.Fundamental.WebHome@fundamental-emagiz-multi-model--deployment-architecture.png]] 67 67 68 -Each model has its owndeployment architecture. As can be seen,there areseveral of the same types of components within the environment. Incasethere is only one model for an organization, the deployment architecture contains all architectural componentsthat areneeded to deploy the model. Separate environments ensurethat therearelesscontainer runtimes and connector machines within one environment. This meansthat there isless dependency and a better organization within the deployment environments. For example, if one machine hinders the deployment plan, thiswillcause no issues if that machine is in a different model.68 +Each model has its deployment architecture. As can be seen, several of the same types of components exist within the environment. If there is only one model for an organization, the deployment architecture contains all the architectural components needed to deploy the model. Separate environments ensure fewer container runtimes and connector machines within one environment. This means less dependency and a better organization within the deployment environments. For example, if one machine hinders the deployment plan, there will be no issues if that machine is in a different model. 69 69 70 -Moreover, with multiple instances, the deployment architecture can be scaled more accurately according to what is desired for the model environment. For example, i ncase there are1 or 2 interfacesthatneedalot ofcapacity, it isnot always necessary to scale according to thelargest component. In other words, resources can be used more effectively.70 +Moreover, with multiple instances, the deployment architecture can be scaled more accurately according to what is desired for the model environment. For example, if 1 or 2 interfaces need much capacity, it is only sometimes necessary to scale according to the most significant component. In other words, resources can be used more effectively. 71 71 72 72 === 4.6 Specialization & Effectiveness within Teams === 73 73 74 - When there is one largemodel,there ismorecomplexityand more diverging conceptshavetobe described. With multiple models, concepts that describe a model can be more clearly defined,since less diverging information needs to be processed. For example, a team can specialize in onedomain of a companyto develop a model that is very specific to that domain in terms of data structure.Italso ensures that more domain-specific language and conventions can be applied, e.g. in naming entities.75 -Furthermore, developers and users can specialize in one model ,suchthat models can be worked on more effectively. Incasethere is one model for a complete organization, developers will have to understand all concepts. When there are multiple models, developers can study the concepts of one model more closely,and understand the process better. This will ensure that integrations are builtmorequickly,and potential improvements are discovered and resolved more easily.76 -Lastly, different models can be worked on in parallel, alsoincreasing the effectiveness of development and deployment. An illustration of the above74 +There is more complexity when there is one large model, and more diverging concepts must be described. With multiple models, concepts that describe a model can be more clearly defined since less diverging information needs to be processed. For example, a team can specialize in one company's domain to develop a model that is very specific to that domain in terms of data structure. This also ensures that more domain-specific language and conventions can be applied, e.g., in naming entities. 75 +Furthermore, developers and users can specialize in one model so that models can be worked on more effectively. If there is one model for a complete organization, developers will have to understand all concepts. When there are multiple models, developers can study the concepts of one model more closely and understand the process better. This will ensure that integrations are built quickly and potential improvements are discovered and resolved more efficiently. 76 +Lastly, different models can be worked on in parallel, increasing the effectiveness of development and deployment. An illustration of the above-mentioned arguments is given below. 77 77 78 78 [[image:Main.Images.Fundamental.WebHome@fundamental-emagiz-multi-model--specialization-and-effectivenss-within-teams.png]] 79 79 80 80 === 4.7 Strategy === 81 81 82 -With multiple models, there is a clearerseparation of the business process. This means that the progress per business process can be better monitored intermsof strategy. For example, if there is a separate model for the sales business process, it can be better discoverable whether more integrations have been set up. If the number of integrations has stopped growing, it might be the case that no new partners have joined the company. By having a better overview of the business processes, strategic decisions can be made moreeasily. Moreover, more specific KPIs and goals can be formulated and monitored.82 +With multiple models, there is a more apparent separation of the business process. This means the progress per business process can be better monitored regarding strategy. For example, if there is a separate model for the sales business process, it can be better discoverable whether more integrations have been set up. If the number of integrations has stopped growing, it might be the case that no new partners have joined the company. By having a better overview of the business processes, strategic decisions can be made more quickly. Moreover, more specific KPIs and goals can be formulated and monitored. Alerts can be put in place per model to check up on the progress and achievement of these KPIs and goals, and support can be provided. 83 83 84 84 === 4.8 Funding === 85 85 86 -There may be a difference in funding of different departments or business units. For example, the sales department of a company might have a bigger budget for improving their model compared to the transport department. If the sales model is separate from the transport model, investments could be made by the sales department to add additional features or make other improvements. If the transport and sales model are combined, eitherthesales departmentwill havetomakeupfor all the costs, orlessimprovements can be madeascompared to when the models are split. Thus, by splitting models, the financing can be distributed more fairly.86 +There may be a difference in funding of different departments or business units. For example, the sales department of a company might have a bigger budget for improving their model compared to the transport department. If the sales model is separate from the transport model, investments could be made by the sales department to add additional features or make other improvements. If the transport and sales models are combined, the sales department must compensate for all the costs, or fewer improvements can be made compared to when the models are split. Thus, by splitting models, the financing can be distributed more fairly. 87 87 88 88 [[image:Main.Images.Fundamental.WebHome@fundamental-emagiz-multi-model--funding.png]] 89 89 90 90 === 4.9 Contractual and legal aspects === 91 91 92 - Having multiple integrationsmodels can be beneficial due to contractual and legal arrangementsas well. For example,it might be the case thatit isnotallowedto share data between departments within one organization. If there is one model for the complete organization, this is a complex issue,since all data is available within one model.In thecasethatthere is a different model for the departments between which no data may be shared, the issue is solved.93 -Moreover, it may be that there is a difference in contractual arrangements between different departments within a company. Itmightthenbebetter to develop separate models. For example,itmight bethat thesales department hasa contractual arrangement that does not allow for acertaintype of integration. In case the contractual arrangements of the transport departmentdoallow for that type of integration,and it is beneficial for their model, it is better to have separate models.92 +Multiple integration models can also be beneficial due to contractual and legal arrangements. For example, sharing data between departments within one organization is not allowed. If there is one model for the complete organization, this is a complex issue since all data is available within one model. The problem is solved if there is a different model for the departments between which no data may be shared. 93 +Moreover, contractual arrangements between different departments within a company may differ. It is better to develop separate models. For example, the sales department might have a contractual arrangement that does not allow for a specific type of integration. In case the contractual arrangements of the transport department allow for that type of integration and it is beneficial for their model, it is better to have separate models. 94 94 95 95 == 4. Key Takeaways == 96 96