Skip to main content

Notifications

Announcements

No record found.

Business Central forum
Suggested answer

Separate app for business logic and app for data structure

Posted on by 2
Hi,
 
Is it good practice to have a separate and independent app dedicated to the data structure (tables, tableext, enums)?
 
Is there any documentation on this?
 
What are the pros and cons?
 
Categories:
  • Suggested answer
    Saurav.Dhyani Profile Picture
    Saurav.Dhyani 14,600 User Group Leader on at
    Separate app for business logic and app for data structure
    Hi,
     
    I don't think splitting app by object type is an approach that anyone should go with.
     
    If you keep tables in one extension, then while setting up properties like lookuppageID or DrilldownpageID you will be forced to add pages into the same app. In similar ways there are other challanges.
     
    As others already suggested, there is no performance benefits of this approach.
     
    You should split your apps by modules. When I say modules, I don't mean BC Areas like purchase / sales etc. what i mean is functionality that app provides. 
     
    Look at what Microsoft is doing -
     
    1. BC 14 - One Base App for everything.
     
    2. BC 15 - BC 23 - Platform related functionality moved to applications. Functionality that can (is) being used by Base App but these can be used if someone wants to use BC as Platform not as application.
     
    3. BC24 - Started splitting functionality with new App Foundation (Features will be added which are common to all modules). 
     
    On top it, Microsoft also added namespaces which helps Microsoft to identify which all modules are required for this object and that helps them to split apps in future version. 
     
    In summary, I think this is not a decision you should make before building apps. This will automatically visible as you build the app that should be split it to multiple apps or just keep once. Before building apps its just an assumption.
     
    My 2 Cents!
     
     
    Regards,
    Saurav Dhyani
  • Suggested answer
    YUN ZHU Profile Picture
    YUN ZHU 63,992 Super User on at
    Separate app for business logic and app for data structure
    I personally don't recommend it now. There is no difference in performance between this and putting it in multiple extensions. For BC22 and before, this is a very good practice.
    More details: Business Central 2023 wave 2 (BC23): New Data model for table extensions (Better performance when working with multiple extensions)
    Of course, if you are developing a very large program and need to facilitate maintenance, you can also consider doing this.
     
     
    Hope this can give you some hints.
    Thanks.
    ZHU
  • Suggested answer
    JM Profile Picture
    JM 54 on at
    Separate app for business logic and app for data structure
    Hi there!

    Using a separate and independent app dedicated to the data structure (tables, table extensions, enums) in BC can be a good practice, but depend in the specific case and the architecture of your entire solution.

    Here’s a quick overview of the pros and cons from my view:

    Pros:

    • Modularity: Ensures clear separation of concerns and promotes reusable components.
    • Simplified Updates: Allows for independent updates and better version control.
    • Scalability: Facilitates scalable architecture and team collaboration.

    Cons:

    • Complexity: Initial setup and management can be more complex.
    • Dependency Management: Requires careful handling of dependencies and inter-app communication.

    There are several articles that discuss different use cases and their pros and cons. 
     
    Cheers!
  • Suggested answer
    gdrenteria Profile Picture
    gdrenteria 5,007 Super User on at
    Separate app for business logic and app for data structure

Helpful resources

Quick Links

Replay now available! Dynamics 365 Community Call (CRM Edition)

Catch up on the first D365 Community Call held on 7/10

Community Spotlight of the Month

Kudos to Saurav Dhyani!

Congratulations to the June Top 10 community leaders!

These stars go above and beyond . . .

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 287,835 Super User

#2
Martin Dráb Profile Picture

Martin Dráb 225,526 Super User

#3
nmaenpaa Profile Picture

nmaenpaa 101,148

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans