Hello,
Just going off the title and original email since I am a bit late to the discussion. The
pattern is called API Gateway; here are two good resources about it:
https://www.nginx.com/blog/building-microservices-using-an-api-gateway/ and
http://microservices.io/patterns/apigateway.html .
There are advantages and disadvantages to using such pattern but based on the replies to
the thread and project history, I think this proposal is a big mistake if implemented.
There are so many points to be made about why it should not be done. The UI will go from
backend agnostic to something that requires a container to run. We go from being forced to
think in terms of microservice architecture to the more comfortable frontend + backend
architecture. And I see references to combining calls and calling Java API directly. Then
why not support transactions too (via EJB)? And we will be slowly reverting into the
architecture that most of us are very comfortable with. Add the maintenance of this
backend frontend service, and we are money!
Here are my positive arguments for staying away from the API Gateway pattern:
1) The curent microservices are not very granular and the number is small; there are only
3 major microservices to interact with and the functionality for each is broad.
2) Each microservice can quickly add supporting methods for the UI. This will polish the
API of each microservices because it has to be easily consumable.
3) We are forced to stay into microservice mode (it's a mindset!) and we will continue
to develop decoupled services.
4) Increased potential of each service to be consumed independently of the whole because:
a) the API will be more polished
b) each service is always used in the mode that will be integrated outside
5) There is no additional place to address service quirks; each service has to solve
interface quirks right away to be consumable. I see the API Gateway component as the
fastest and first place to accumulate technical debt.
Thank you,
Stefan
----- Original Message -----
From: "Heiko W.Rupp" <hrupp(a)redhat.com>
To: "Discussions around Hawkular development"
<hawkular-dev(a)lists.jboss.org>
Sent: Monday, August 17, 2015 6:18:55 AM
Subject: Re: [Hawkular-dev] Extra back-end for our front-end
On 17 Aug 2015, at 12:35, Viliam Rockai wrote:
> It's not only about APIs of separate modules, it's about bringing those
> APIs together in one place other than the frontend. This way you still
> get the feedback from the UI team, but the app itself would be more
> stable, since we'd get rid of multi-step operations being handled by the
> UI.
And on top other clients can (re-)use that functionality instead
of implementing it over and over again.
_______________________________________________
hawkular-dev mailing list
hawkular-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hawkular-dev