DMA architecture

Can you imagine if you can build your application without coding? Sounds impossible but it is really happening in DMA. We will show you first about DMA architecture and how DMA works under this architecture concept.

As the image below, we divide DMA into three layers (A, B, and C) and each layer has its own concept. So, let’s start with the first layer, the mobile app.

Image: dynamic mobile application architecture 

A : the mobile app layer

This layer is about the mobile application. We create an application screen, storyboard and set data flow here. This layer will include a data bus, which is a key factor in DMA, so what is the data bus and why we mentioned in this part. We will explain more about data flow and data bus. 

As each screen will have an individual function, some screens can bring the data from other screens. So, if you set how data on an application works and know what screen uses what data. This could be manageable for your application. As the data bus is a tank of data that you can keep and retrieve automatically for other screen action.

Data flow is a flow of data that works on a mobile application. You have to know how your data goes in and go out, go to which screen and show on which screen, which screen calls APIs and which screen has to configure APIs on an action to call APIs. 

Data Bus is a storage of data on mobile that you can pass data to show on the next screen. This data is kept from screens and APs and saved on a data bus. This will help the application show the previous data on screen without calling the API again. You can set values into three types.

  • Global value: keep values from screens or APIs to the data bus as a global list
  • Native value: keep values that action on screen and pass these values to call API or to do the next action (but it is not keeping values on the data bus.)
  • Manual value: specific values to on screen or to call API

B : DMA engine or service gateway layer

This layer is to register APIs on a service gateway. As the service Gateway is role as a single entry point for all applicants and it can expose a different API for each applicant. So, the service gateway will handle requests from the mobile application and call to an actual APIs that registered on the service gateway.

C : APIs layer

This layer is about APIs and the backend systems for each API. We separated this layer out from the mobile application part as it would be more organized when you create an application on DMA. However, according to SSQUARE API generator (see more detail on APIG), the API layer roles as an integration function to connect the frontend system like the mobile application to the backend system like database or web service. As APIs role, it can avoid a problem when you want to reuse an existing API to connect an updated device.