locked
Biztalk Application Referencing RRS feed

  • Question

  • Hello All,

    I am facing a doubt regarding the referencing in Biztalk applications. Lets say I have a Application "A" which mainly contains callable orchestrations. I have applications "B", "C","D" which refer to the orchestrations in application "A". Now as a developer I Know which applications are referncing which ones, but I wish to know if there is either a table or an sp (in management db) which can provide me the details of all the applications referencing appliaction "A". If there is a way then it will be easy for a new person in team to just to refer to the sp or the table to get a complete scenario.

    Regards,

    Mandar Dharmadhikari

    Wednesday, April 16, 2014 7:16 AM
    Moderator

Answers

  • I agree with boatseller, I always try to avoid application references. Reference is a sign of bad design. In SOA all we share are the contracts hence Xml schemas. Sharing pipelines, orchestraions, ports creates many problems in deployment and operations. Any application modifications would be complicated.

    Leonid Ganeline [BizTalk MVP] <a href="http://social.technet.microsoft.com/wiki/contents/articles/20258.biztalk-integration-development-architecture.aspx">BizTalk Development Architecture</a>

    • Marked as answer by Pengzhen Song Tuesday, April 22, 2014 11:45 AM
    Friday, April 18, 2014 3:51 AM
    Moderator

All replies

  • Hi

    Please use below query in BizTalkMgmttDB to find the applications referencing application A:

    SELECT       [nApplicationID]

    FROM [BizTalkMgmtDb].[dbo].[bts_application_reference] where [nReferencedApplicationID] IN(select nID from [BizTalkMgmtDb].[dbo].[bts_application] where nvcName ='A')

    Application Name for the application id can be found from [BizTalkMgmtDb].[dbo].[bts_application] table.

    This query will only give application references.

    But if you would like to know the orchestration references, you have to execute similiar queries for tables

    [bts_orchestration_invocation] and [bts_orchestration]

    Thanks,Deepthi


    DeepthiAdith

    Wednesday, April 16, 2014 7:43 AM
  • Using the BizTalk Administration Console, you can examine the same as part of application properties. Why do you need to get into the database? A BizTalk Admin would use the console and get that data.

    For a registered resource, you can similarly identify all the dependencies (dlls internal and external and applications where these resources are registered).

    Regards.

    Wednesday, April 16, 2014 9:40 AM
  • Hi Mandar,

    Here is the query which would get you the referenced applications for the give application.

    SELECT app2.nvcName as [ReferencedApplication(s)]
    FROM bts_application app
    LEFT JOIN BizTalkMgmtDb..bts_application_reference appRef  ON appRef.nApplicationID  = app.nID
    LEFT JOIN BizTalkMgmtDb..bts_application app2  ON app2.nID = nReferencedApplicationID
    --Replace 'A' with the application name for which you want to know the referenced applications
    WHERE app.nvcName = 'A'
    The above query would give you the name of the referenced applications for the give application in the "Where" clause.
     

    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.


    Wednesday, April 16, 2014 9:46 AM
  • How do you expect to use this information?

    Keep in mind, the References you see in a BizTalk Administrator Application are not really comparable to References in C#.  Similar, but different enough to be treated...well...differently.

    As a matter of practice, I try to avoid Application References in BT Admin since it does add a complication to Admin tasks.

    For clarity, Orchestration 'referencing' for Call or Start is not affected in any way by BT Admin References.  Neither is Schema referencing.  That is all in Visual Studio.

    The only artifacts affected by BT Admin References are Maps, Pipelines and Ports and their visibility in the Referencing Application.

    Wednesday, April 16, 2014 12:01 PM
    Moderator
  • Hi BoatSeller,

    The reason why I raised this question is that I was thinking using BTSTask.exe to export and import apps. Now my idea was to get a list of all applications refrencing "A" so that I can export them first and then do the necessary importing activities later. I was planning to create a bat file to do all the above task in one. This is just for learning purpose.  I know how to find out referencing applications in admin console.Do let me know your views If it is okay to go by this approach.

    Regards,

    Mandar Dharmadhikari

    Thursday, April 17, 2014 7:27 AM
    Moderator
  • Please use the BTDF, it reduces the lot of problems.

    Thanks ,

    choudari

    Thursday, April 17, 2014 8:54 AM
  • I agree with boatseller, I always try to avoid application references. Reference is a sign of bad design. In SOA all we share are the contracts hence Xml schemas. Sharing pipelines, orchestraions, ports creates many problems in deployment and operations. Any application modifications would be complicated.

    Leonid Ganeline [BizTalk MVP] <a href="http://social.technet.microsoft.com/wiki/contents/articles/20258.biztalk-integration-development-architecture.aspx">BizTalk Development Architecture</a>

    • Marked as answer by Pengzhen Song Tuesday, April 22, 2014 11:45 AM
    Friday, April 18, 2014 3:51 AM
    Moderator