How to implement 3 layer architecture (System, Process, Experience) in Mulesoft in real life?

223 Views Asked by At

So I am a beginner. I am confused about the implementation of the three API layers in Anypoint Studio that we should create and how is it actually implemented in real life. Do we create three separate Mule projects and then pass data between them or do we just create a single project and create different files within?

and if we create three separate projects then how do we design apis in design center. so basically a lot of confusion. Please guide me a little about this and also please recommend resources where I can learn further about real-life or project-based implementation of the concepts, or atleast where I can learn about my specific question. I have taken the official dev course btw. Thanks.

I basically am trying right now to create two separate projects and trying to use Flow reference in 'Process layer api' to call a flow in 'system layer api' . haven't succeeded yet but I am trying and once done i'll repeat the same procedure for three APIs but with an actual database. if my approach is ok than do let me know and if wrong then please guide.

1

There are 1 best solutions below

1
aled On

The sentence "three API layers" defines it. When you are talking about REST APIs, that means that you need to implement 3 different REST APIs, which communicate over HTTP requests.

The 3 layer architecture that MuleSoft recommends is not an Anypoint Studio concept. It is a methodology. Each API is implemented in a separate Mule application, which can be developed as a separate Mule application project in Anypoint Studio.

You can not use a flow reference component from a flow in one application to a flow in a different application. Flow-ref only works inside an application. You should use an HTTP request, as they are independent applications/APIs.

Note that "MuleSoft" is the name of a company. You are implementing the APIs to deploy to a MuleSoft's product, like Mule Runtime. Saying "how to implement in MuleSoft" makes no sense. You are probably referring to implementing Mule Runtime applications.