Hi All, I need your advice on below approaches for handling a scenari

Hi All,

I need your advice on below approaches for handling a scenario.

Scenario:- We have something like a Header/Detail tables. Each header record can contain around 100-200 detail records. User input the Header ID ; we need to get all the detail records and process each one of them and does DB update
Approach 1: Can we go for MNI ,for each detail record ; simultaneously processing all detail records.
Approach 2: In a single sub-process get all detail records ; subject each record through some business logic. Once all detail records are subjected to processing , the CDT which holds all these detail records is used for the Detail DB Update. (Single Update ,but containing all records)
Which among the above two approaches is best for handling this scenario w.r.t to performance and stability of platform. fyi, this is not a batch process ,but an interactive process where the header is keyed in by the user.

OriginalPostID-191410

OriginalPostID-191410

  Discussion posts and replies are publicly visible

Parents
  • @nicholasw It's not that the plugin 'Execute Stored Procedure' at https://forum.appian.com/suite/tempo/records/type/components/item/i8BCLGOdlMUpdGVqT-RV7oRg74uEGJO5C8ZhL3Yukyv6zRTk30LjvusuVlHbS9BJg/view/summary is used for read only purposes. The plugin offers two functionalities, one as a smart service and other as a function. The smart service can read the data and modify the data as well. Whereas the function offers a read only capability which is especially useful when we are on SAIL interfaces so that we can quickly make some queries to stored procedures.

    @jasonn Is a smart service needed just to offload the work? I am just worried that if we write a smart service for such small implementation, isn't it that we might end up in many smart services finally at some time? And thereafter comes the maintenance and upgrade of the same. If there are any changes in the processing, the smart service needs to be changed accordingly. From my perspective, a good combination of database objects such as procedures or views and a intelligently and efficiently designed Appian process or just a stored procedure which completely takes care of the updates and a simple Appian process should do the work. Those were just my thoughts. Further I believe that we should opt for DB only or DB + Appian or Appian only, after seeing what's viable and what's efficient in both.
Reply
  • @nicholasw It's not that the plugin 'Execute Stored Procedure' at https://forum.appian.com/suite/tempo/records/type/components/item/i8BCLGOdlMUpdGVqT-RV7oRg74uEGJO5C8ZhL3Yukyv6zRTk30LjvusuVlHbS9BJg/view/summary is used for read only purposes. The plugin offers two functionalities, one as a smart service and other as a function. The smart service can read the data and modify the data as well. Whereas the function offers a read only capability which is especially useful when we are on SAIL interfaces so that we can quickly make some queries to stored procedures.

    @jasonn Is a smart service needed just to offload the work? I am just worried that if we write a smart service for such small implementation, isn't it that we might end up in many smart services finally at some time? And thereafter comes the maintenance and upgrade of the same. If there are any changes in the processing, the smart service needs to be changed accordingly. From my perspective, a good combination of database objects such as procedures or views and a intelligently and efficiently designed Appian process or just a stored procedure which completely takes care of the updates and a simple Appian process should do the work. Those were just my thoughts. Further I believe that we should opt for DB only or DB + Appian or Appian only, after seeing what's viable and what's efficient in both.
Children
No Data