none
Read and write Values from Configuration File in BizTalk RRS feed

  • Question

  • There is a requirement where Biz talk orchestration read the value dynamically from Config Store.After some process updating the value in config store.

    I though to use SQL Server and create one table with single column.Biztalk will call the Storeproc to get the value and similary for update system will call another SP.

    Instead of using SQL Server DB is there option to implement this requirement like app.config,BTSsvcxxexe.config ,SSO Config store etc.

    If multi-users access the value from Config store and try to update ,how to handle lock mechanism.

    Monday, February 2, 2015 4:22 AM

Answers

  • There is a requirement where Biz talk orchestration read the value dynamically from Config Store.After some process updating the value in config store.

    I though to use SQL Server and create one table with single column.Biztalk will call the Storeproc to get the value and similary for update system will call another SP.

    Instead of using SQL Server DB is there option to implement this requirement like app.config,BTSsvcxxexe.config ,SSO Config store etc.

    If multi-users access the value from Config store and try to update ,how to handle lock mechanism.

    Hi,

    Check the below Links, which would be helpfull to achieve your scenario.

    http://social.technet.microsoft.com/wiki/contents/articles/6494.biztalk-server-application-configuration-options.aspx

    http://www.codeproject.com/Articles/243154/How-to-use-Enterprise-Single-Sign-On-SSO-database


    Regards - Rajasekhar.R ' Don't forget to mark the post as answer or vote as helpful if it does,

    • Marked as answer by BizQ Monday, February 2, 2015 9:18 PM
    Monday, February 2, 2015 5:31 AM
  • Yes ,you can store and modify the value dynamically . Various Option exits for this including storing the value in Custom DB ,SSODB ,Custom Configuration file and use Key value pair to retrieve the value .

    There is good article being published over TechNetwiki by @SteefJan on this

    BizTalk Server: Application Configuration options

    Thanks

    Abhishek

    • Marked as answer by BizQ Monday, February 2, 2015 9:17 PM
    Monday, February 2, 2015 5:38 AM
  • Hi BizQ,

    Refrain from using BTSConfig file or any custom config file if you have a requirement to update the data. Modifying a configuration file at runtime can cause some nasty, unexpected behavior inside your application if it's not managed properly.

    I would suggest you to use Custom DB or SSO Database in this case.

    Both have their Pros and Cons.

    SSO Database:

    • You get out of the box encryption
    • It is a central store which will service all BizTalk servers within your group
    •  SSO implements a caching mechanism internally for the data

    Custom DB:

    • By storing the configuration in the database you don’t have to worry about consistency of data across servers like you would with a config file.
    • Cache needs to be implemented by program to avoid delays in reading from physical file.

    In your case I recommend to go with SSO DB as in terms of storing custom configuration data in SSO for End Point/Application specific information and credentials and potentially configuration information which you also need to write and update at runtime from your code or via an administrator.

    You can use Richard Seroter's tool to store values as "Config Store" in SSO database and then write a .net helper utility to retrieve it using SSOConfigStore class. It has method GetConfigInfo and you need to pass application name with other parameters. It returns ConfigurationPropertyBag from where you can read property name and values.

    http://seroter.wordpress.com/2007/09/21/biztalk-sso-configuration-data-storage-tool/ 

     http://blogs.msdn.com/b/teekamg/archive/2009/08/19/sso-configuration-application-mmc-snap-in.aspx.

    Rachit


    Please mark as answer or vote as helpful if my reply does



    Monday, February 2, 2015 9:41 PM
    Moderator

All replies

  • There is a requirement where Biz talk orchestration read the value dynamically from Config Store.After some process updating the value in config store.

    I though to use SQL Server and create one table with single column.Biztalk will call the Storeproc to get the value and similary for update system will call another SP.

    Instead of using SQL Server DB is there option to implement this requirement like app.config,BTSsvcxxexe.config ,SSO Config store etc.

    If multi-users access the value from Config store and try to update ,how to handle lock mechanism.

    Hi,

    Check the below Links, which would be helpfull to achieve your scenario.

    http://social.technet.microsoft.com/wiki/contents/articles/6494.biztalk-server-application-configuration-options.aspx

    http://www.codeproject.com/Articles/243154/How-to-use-Enterprise-Single-Sign-On-SSO-database


    Regards - Rajasekhar.R ' Don't forget to mark the post as answer or vote as helpful if it does,

    • Marked as answer by BizQ Monday, February 2, 2015 9:18 PM
    Monday, February 2, 2015 5:31 AM
  • Yes ,you can store and modify the value dynamically . Various Option exits for this including storing the value in Custom DB ,SSODB ,Custom Configuration file and use Key value pair to retrieve the value .

    There is good article being published over TechNetwiki by @SteefJan on this

    BizTalk Server: Application Configuration options

    Thanks

    Abhishek

    • Marked as answer by BizQ Monday, February 2, 2015 9:17 PM
    Monday, February 2, 2015 5:38 AM
  • Hi BizQ,

    Refrain from using BTSConfig file or any custom config file if you have a requirement to update the data. Modifying a configuration file at runtime can cause some nasty, unexpected behavior inside your application if it's not managed properly.

    I would suggest you to use Custom DB or SSO Database in this case.

    Both have their Pros and Cons.

    SSO Database:

    • You get out of the box encryption
    • It is a central store which will service all BizTalk servers within your group
    •  SSO implements a caching mechanism internally for the data

    Custom DB:

    • By storing the configuration in the database you don’t have to worry about consistency of data across servers like you would with a config file.
    • Cache needs to be implemented by program to avoid delays in reading from physical file.

    In your case I recommend to go with SSO DB as in terms of storing custom configuration data in SSO for End Point/Application specific information and credentials and potentially configuration information which you also need to write and update at runtime from your code or via an administrator.

    You can use Richard Seroter's tool to store values as "Config Store" in SSO database and then write a .net helper utility to retrieve it using SSOConfigStore class. It has method GetConfigInfo and you need to pass application name with other parameters. It returns ConfigurationPropertyBag from where you can read property name and values.

    http://seroter.wordpress.com/2007/09/21/biztalk-sso-configuration-data-storage-tool/ 

     http://blogs.msdn.com/b/teekamg/archive/2009/08/19/sso-configuration-application-mmc-snap-in.aspx.

    Rachit


    Please mark as answer or vote as helpful if my reply does



    Monday, February 2, 2015 9:41 PM
    Moderator
  • Hi,

    Custom configuration file is a good option, also in case you are loading the configuration in orchestration it will be a good idea to scope that and add a FILE IO exception handling block just in case something goes wrong while loading the file.


    Regards Pushpendra K Singh



    Tuesday, February 3, 2015 1:10 AM