Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eShopOnAbp: web application api-configuration dependency #10905

Closed
gterdem opened this issue Dec 10, 2021 · 6 comments
Closed

eShopOnAbp: web application api-configuration dependency #10905

gterdem opened this issue Dec 10, 2021 · 6 comments
Assignees
Projects

Comments

@gterdem
Copy link
Contributor

gterdem commented Dec 10, 2021

Angular app needs to get localization and permission information from api-configuration end-point.
This request is re-routed to administration service (https://github.com/abpframework/eShopOnAbp/blob/d6ba98c098e2158933da2ede06370f846b871a64/gateways/web/src/EShopOnAbp.WebGateway/appsettings.json#L49).

Since AdministrationService doesn't have reference to other microservices' Application.Contracts module, it can not obtain related localization/permission info.

We can:

  • reference to all other microservice application contracts from AdministrationService but this will tightly couple AdministrationService to all other services
  • reference to all other microservice application contracts from WebGateway but it will also make it harder to replace gateways with different tech stack.
  • try to find a static way for api-configurations just like api-proxy
@gterdem gterdem added this to the 5.1-preview milestone Dec 10, 2021
@gterdem gterdem self-assigned this Dec 10, 2021
@gterdem gterdem added this to To do in eShopOnAbp via automation Dec 10, 2021
@NecatiMeral
Copy link
Contributor

Couldn't you just use the Request Aggregation feature of ocelot to merge the localization and permission informations?

@gterdem
Copy link
Contributor Author

gterdem commented Dec 10, 2021

Couldn't you just use the Request Aggregation feature of ocelot to merge the localization and permission informations?

We can take a look at that. However we will need to do the same if we decide to change the gateway to envoy (or something else).

Thanks for the suggestion, I'll check if we can deep-merge the api-configuration.json files in various api gateways.

@hikalkan hikalkan modified the milestones: 5.1-preview, 5.2-preview Jan 8, 2022
@hikalkan hikalkan moved this from To do to Backlog in eShopOnAbp Jan 24, 2022
@hikalkan hikalkan modified the milestones: 5.2-preview, backlog Jan 24, 2022
@NecatiMeral
Copy link
Contributor

Since we're aiming for a microservice architecture, this is currently a show-stopper for us.
We would be happy if we could support you in any way to find a solution for a proper microservice architecture.

@gterdem
Copy link
Contributor Author

gterdem commented Feb 4, 2022

Since we're aiming for a microservice architecture, this is currently a show-stopper for us. We would be happy if we could support you in any way to find a solution for a proper microservice architecture.

Hello,
This shouldn't be a blocker issue since you can reference to Application.Contract layers of other microservices from AdministrationService.
We'll think about this since localization is not the only resource to obtain, we also need to consider permissions.

@NecatiMeral
Copy link
Contributor

Hi @gterdem,

yeah, the described approach would work. We initially wanted not to couple the administration service with other parts of the application ecosystem.

Thanks :-)

@gterdem
Copy link
Contributor Author

gterdem commented Dec 27, 2022

Moved to abpframework/eShopOnAbp#152

@gterdem gterdem closed this as completed Dec 27, 2022
eShopOnAbp automation moved this from Backlog to Done Dec 27, 2022
@hikalkan hikalkan removed this from the backlog milestone Dec 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

3 participants