Last modified by Erik Bakker on 2024/08/08 15:48

From version 13.2
edited by Erik Bakker
on 2022/06/13 14:21
Change comment: Update document after refactoring.
To version 24.1
edited by Carlijn Kokkeler
on 2023/10/06 09:10
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -fundamental-runtime-generation3
1 +eMagiz Runtime Generation 3
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ebakker
1 +XWiki.CarlijnKokkeler
Default language
... ... @@ -1,0 +1,1 @@
1 +en
Content
... ... @@ -1,9 +1,4 @@
1 1  {{container}}{{container layoutStyle="columns"}}(((
2 -
3 -
4 -
5 -= eMagiz Runtime Generation 3 =
6 -
7 7  In this fundamental, the focus will be on the runtimes of eMagiz and notably the next generation runtime. The internal projectname is called Generation 3, which we'll use here for now.
8 8  
9 9  Should you have any questions, please get in touch with academy@emagiz.com.
... ... @@ -14,12 +14,10 @@
14 14  
15 15  == 2. Key concepts ==
16 16  
17 -The first thing to consider is the eMagiz runtime. This is the Java based application container where the generated code of eMagiz flows is deployed and put into operation. That runtime is something you can download in the Deploy --> Containers section as a zipfile, and make active on your local laptop or machine. The way to invoke the Java application container is to execute the karaf.bat (which refers to the framework we use for that). For runtimes that are deployed, the karaf.bat is the executable refered in the services of the DMZ server of the client.
12 +The first thing to consider is the eMagiz runtime. This is the Java based application container where the generated code of eMagiz flows is deployed and put into operation. That runtime is something you can download in the Deploy -> Containers section as a zipfile, and make active on your local laptop or machine. The way to invoke the Java application container is to execute the karaf.bat (which refers to the framework we use for that). For runtimes that are deployed, the karaf.bat is the executable refered in the services of the DMZ server of the client.
18 18  
19 19  This runtime play a core role in the next generation architecture.
20 20  
21 -
22 -
23 23  == 3. Overview of the Generation 3 runtime ==
24 24  
25 25  === 3.1 History of runtime ===
... ... @@ -34,14 +34,18 @@
34 34  
35 35  A more modern technology compared to traditional servers is to use Docker containers. Docker provides containers that mimic servers in a specific way. A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
36 36  
37 -Container images become containers at runtime and in the case of Docker containers * images become containers when they run on Docker Engine. Available for both Linux and Windows-based applications, containerized software will always run the same, regardless of the infrastructure. Containers isolate software from its environment and ensure that it works uniformly despite differences for instance between development and staging.
30 +Container images become containers at runtime and in the case of Docker containers images become containers when they run on Docker Engine. From eMagiz we provide Linux based images that represent the code that processes your messages. As Docker is agnostic in terms of OS the solution can run in our cloud and on-premise on both Linux and Windows-based servers. Containers isolate software from its environment and ensure that it works uniformly despite differences for instance between development and staging.
38 38  
39 39  The runtime of eMagiz can run inside a Docker, and the runtime is made part of the docker image. In the docker image you will find other required pieces such as OS, Java, monitoring services, etc.
40 40  
41 41  [[image:Main.Images.Fundamental.WebHome@fundamental-runtime-generation3-2.png]]
42 42  
36 +{{info}}More information on the install process of on-premise Docker can be found [[here>>doc:Main.eMagiz Academy.Microlearnings.Expert Level.Solution Architecture.expert-solution-architecture-onpremises-server-installguide.WebHome||target="blank"]]{{/info}}
37 +
43 43  === 3.4 Impact on Way of Working Gen2 vs. Gen3 ===
44 44  
40 +{{info}}See the additional readings for more detailed information on these changes and how you can migrate from the current situation to the new situation.{{/info}}
41 +
45 45  * Deployment Plan
46 46   The deployment has a new option called Deploy runtimes. These steps will be part of a default plan, or can be added as seperate line. Effectively, once a runtime is deployed as part of a Docker image, the image needs to be loaded and executed. That means that current image including all flows will be replaced with a new image. This makes the deployment simple and fast. The option means that all runtimes of a machine will be deployed in matter of seconds
47 47  
... ... @@ -56,20 +56,39 @@
56 56  
57 57  * Build number
58 58   The notion of build numbers no longer exists in the new runtime. Or not so explicitly as before. The Docker image will load the required libraries when creating the runtime image, and always use the latest.
56 + It is strongly advised to have all flows on the latest build number before starting the migration.
59 59  
58 +* Error handling
59 + The error handling on flow level will change in comparison to the current generation. In the new generation we will offer two options.
60 + ** Default error handling -> eMagiz will receive the errors and shows them in the Manage Dashboard
61 + ** Custom error handling -> For custom error handling we have two seperate options that allow you to send the error message to both a custom solution and eMagiz or only to the custom solution.
62 + *** Including sending it to eMagiz
63 + *** Without sending it to eMagiz
60 60  
65 +* Hosted web services
66 + In the 3rd generation runtime you will need to migrate your hosted web service to a new configuration. Part of this new configuration will be that the following things change.
67 +** All-entry will be splitted to seperate entries
68 +** WSDL will be automatically generated based on your system messages
69 +** HTTP configuration is taken out of the flow and moved to Deploy -> Architecture
70 +** Configuration of endpoints is streamlined better between cloud hosted endpoints and on-premise endpoints
61 61  
72 +* Handling local file communication
73 + As our 3rd generation runtime makes use of the docker technology your containers on default are closed off from there host. This makes them more secure, but on the same time also means that additional configuration is needed when interaction needs to happen between the host and the deployed containers.
74 +
62 62  == 4. Key takeaways ==
63 63  
64 64  * Generation 3 runtime architecture has a series of consequences for user that need to be understood well
65 65  * The new generation architecture is the current path towards serverless, and simplyfies deployment greatly for users.
66 66  
67 -
68 -
69 69  == 5. Suggested Additional Readings ==
70 70  
71 -* [Setting up a deployment plan](../microlearning/crashcourse-platform-deploy-setup-deployment-plan)
72 -* [Deploy a release](../microlearning/crashcourse-platform-deploy-execute-deployment-plan.md)
73 -* [Property Management](../microlearning/crashcourse-platform-deploy-property-management.md)
82 +* [[Setup deployment plan>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-deploy-setup-deployment-plan-gen3||target="blank"]]
83 +* [[Deploy a release>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-deploy-execute-deployment-plan||target="blank"]]
84 +* [[Property Management>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-deploy-property-management-gen3||target="blank"]]
85 +* [[Migration Path - 3rd generation runtime>>doc:Main.eMagiz Support.Migration Paths.migration-path-emagiz-runtime-generation-3||target="blank"]]
86 +* [[Migration Path - Custom Error Handling>>doc:Main.eMagiz Support.Migration Paths.migration-path-custom-error-handling-runtime-generation-3||target="blank"]]
87 +* [[Migration Path - Hosted SOAP web service>>doc:Main.eMagiz Support.Migration Paths.migration-path-host-soap-webservice-runtime-generation-3||target="blank"]]
88 +* [[Migration Path - Hosted REST web service>>doc:Main.eMagiz Support.Migration Paths.migration-path-host-rest-webservice-runtime-generation-3||target="blank"]]
89 +* [[Volume mapping>>doc:Main.eMagiz Academy.Microlearnings.Novice.File based connectivity.novice-file-based-connectivity-volume-mapping-on-premise||target="blank"]]
74 74  
75 75  )))((({{toc/}}))){{/container}}{{/container}}