Open Closed

Adding DDD module inside a Microservice-based solution #8675


User avatar
0
EhabRamadan created
  • ABP Framework version: v9.1
  • UI Type: Angular
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes

Hi,

We are currently working on a Microservice-based solution using the ABP framework and would like to explore adding a Domain-Driven Design (DDD) module to enhance the structure and maintainability of our services. We have a few specific questions:

1- Can you provide a guidance or an example of how to integrate a DDD module into an existing ABP-based microservice solution? 2- How can we use the ABP Suite from the DDD module, as used from microservice module to generate entities, UI and so on? 3- Are there any potential drawbacks or known issues when using a DDD module inside an ABP microservice solution, especially considering challenges related to service boundaries, inter-service communication, or the persistence layer?

and could you please clarify why the public site is being created using Razor, even though Angular was selected as the UI framework?

also according to the ABP login. If we want to login using OTP, should we download and modify the account module as previous versions or there is an update from ABP about this case?

Thanks


11 Answer(s)
  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    Yes, of course.

    Can you provide a guidance or an example of how to integrate a DDD module into an existing ABP-based microservice solution?

    This is the way to add a service to the old microservice template.

    • https://abp.io/docs/commercial/latest/startup-templates/microservice/add-microservice
    • https://abp.io/docs/commercial/latest/guides/add-module-to-microservice

    This is the document explaining how to extracting the module as a microservice.

    https://abp.io/docs/commercial/latest/guides/extracting-module-as-microservice

    This is the way to add a service to the new microservice template.

    • https://abp.io/docs/latest/guides/add-microservice

    How can we use the ABP Suite from the DDD module, as used from microservice module to generate entities, UI and so on?

    you can use the suite to add a module project to generate codes.

    Are there any potential drawbacks or known issues when using a DDD module inside an ABP microservice solution, especially considering challenges related to service boundaries, inter-service communication, or the persistence layer?

    Yes, usually, services need to communicate. We have prepared some documents for this.

    The most important thing in microservices is to divide services according to use cases.

    • https://abp.io/docs/latest/solution-templates/microservice
    • https://abp.io/docs/commercial/latest/startup-templates/microservice/index
  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    and could you please clarify why the public site is being created using Razor, even though Angular was selected as the UI framework?

    We do not maintain multiple templates. You can choose any UI of your preference as the public website.

    We redesigned the layout of our public website and it will be launched in the next version.

    also according to the ABP login. If we want to login using OTP, should we download and modify the account module as previous versions or there is an update from ABP about this case?

    ABP already supports this; when two-factor authentication is enabled, you can choose TOPT. https://abp.io/docs/latest/modules/identity/two-factor-authentication#user-side

  • User Avatar
    0
    EhabRamadan created

    I need to add a new Angular application to the micro service solution. Could you provide guidance or point me to documentation that covers:

    1. Setting up a new Angular application in the solutions with different Gateway.
    2. integrating the app with the existing services and authentication mechanisms.

    Thanks,

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    HI,

    Sorry your topic is quite big, and I don't know much about your project details.

    Can you ask some specific questions? thanks.

  • User Avatar
    0
    EhabRamadan created

    ABP already supports this; when two-factor authentication is enabled, you can choose TOPT. https://abp.io/docs/latest/modules/identity/two-factor-authentication#user-side

    Hello, Related to this answer, business flow requires to login in either using phone number or email and password so no need to enable two-factor authentication. Does abp support login by phone number then send otp to verify this number or not? and if it doesn't what is the steps to do a proper workaround?

  • User Avatar
    0
    EhabRamadan created

    Hi,

    Yes, of course.

    Can you provide a guidance or an example of how to integrate a DDD module into an existing ABP-based microservice solution?

    This is the way to add a service to the old microservice template.

    • https://abp.io/docs/commercial/latest/startup-templates/microservice/add-microservice
    • https://abp.io/docs/commercial/latest/guides/add-module-to-microservice

    This is the document explaining how to extracting the module as a microservice.

    https://abp.io/docs/commercial/latest/guides/extracting-module-as-microservice

    This is the way to add a service to the new microservice template.

    • https://abp.io/docs/latest/guides/add-microservice

    thanks for links, but i was asking about creating a new DDD module and importing it into microservice solution

    How can we use the ABP Suite from the DDD module, as used from microservice module to generate entities, UI and so on?

    you can use the suite to add a module project to generate codes.

    i m asking here about using the Abp suite from the the new DDD module i have created.If i have created a new module of type ddd, what shall i do to open the abp suite INSIDE the module and add new entities at module itself? like this one

    Are there any potential drawbacks or known issues when using a DDD module inside an ABP microservice solution, especially considering challenges related to service boundaries, inter-service communication, or the persistence layer?

    Yes, usually, services need to communicate. We have prepared some documents for this.

    The most important thing in microservices is to divide services according to use cases.

    • https://abp.io/docs/latest/solution-templates/microservice
    • https://abp.io/docs/commercial/latest/startup-templates/microservice/index

    these links are related to Microservice itself, but what i m asking is about If i have created a new microservice solution and added a new module of type DDD (to put my complicated business logic inside) at it, and imported this new module at a another new microservice module Is there will be drawbacks or issues that may raise??

  • User Avatar
    0
    EhabRamadan created

    also if i want to add a ContactUs page to my Angular public application, how can i do this using CMS kit?

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Related to this answer, business flow requires to login in either using phone number or email and password so no need to enable two-factor authentication. Does abp support login by phone number then send otp to verify this number or not? and if it doesn't what is the steps to do a proper workaround?

    no, this is two-factor authentication. if you want login by phone number , you need to implement it yourself. see: https://abp.io/support/questions/8645/Passwordless-OPT-Grant

    i m asking here about using the Abp suite from the the new DDD module i have created.If i have created a new module of type ddd, what shall i do to open the abp suite INSIDE the module and add new entities at module itself? like this one

    you can use ABP studio to add it to the microservice solution, then use abp studio to open it. The document explains this point. https://abp.io/docs/latest/solution-templates/microservice/adding-new-microservices

    If i have created a new microservice solution and added a new module of type DDD (to put my complicated business logic inside) at it, and imported this new module at a another new microservice module Is there will be drawbacks or issues that may raise??

    I think there will be no problem, the module design should be reusable, you can see that the AdministrationService has imported permission modules, setting modules, function modules, etc.

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    also if i want to add a ContactUs page to my Angular public application, how can i do this using CMS kit?

    Sorry, currently, the ABP CMS kit module's public site only provides MVC UI. You need to implement it yourself by calling the CMS kit API. you can download the CMS module source code to refer to the MVC implementation code.

  • User Avatar
    0
    EhabRamadan created

    no, this is two-factor authentication. if you want login by phone number , you need to implement it yourself. see: https://abp.io/support/questions/8645/Passwordless-OPT-Grant

    Hello, As u can see my application is using angular, so does angular support override login components?

  • User Avatar
    0
    EhabRamadan created

    also if i want to add a ContactUs page to my Angular public application, how can i do this using CMS kit?

    Sorry, currently, the ABP CMS kit module's public site only provides MVC UI. You need to implement it yourself by calling the CMS kit API. you can download the CMS module source code to refer to the MVC implementation code.

    Hello, Does abp support CMS Kit module's admin site to be angular?

Made with ❤️ on ABP v9.2.0-preview. Updated on January 23, 2025, 12:17