BizTalk Architectural Questions

Home Page Forums BizTalk 2004 – BizTalk 2010 BizTalk Architectural Questions

Viewing 0 reply threads
  • Author
    Posts
    • #19474
      • Hi folks,

        I am doing a proof of concept for a project that aims to replace their
        existing integration product for .Net to .Net EAI calls and to provide
        extensive visibility into the message passing to the stakeholders (possibly
        via BAM). One problematic aspect is that the solution has to support both
        .Net 1.1 and 3.5 as part of a phased migration approach. The following are
        the architectural questions that I have encountered and any advice from the
        field would be appreciated.

        1. Transaction sharing for the MsgBox

        Is there a way to flow my application database (DB2) transaction into a
        BizTalk receive location? This is to ensure that the message is put into the
        BT MsgBox only if the application transaction commits successfully (and
        rolled back if the app transaction fails). Although WCF can share
        transactions like this, as I will have code on both .net 1.1 and 3.5
        (co-existence), I cannot always use a WCF receive location to flow the
        transaction into BT. The only solution I see then is to write an entry to a
        database, sharing the application transaction and have BTSQL Adapter poll the
        db table for new messages. Not the cleanest of designs.

        a.        Can I use Microsoft Transaction Server/MSDTC/Enterprise Services
        to flow a transaction into BT from a .net 1.1 component?

        b.       For applications sharing the transaction with the BT message box,
        what is the performance implication to BT throughput, if any?

        2. Content-Based Routing / Dynamic Service Invocation

        BizTalk needs to take in an input message (dataset serialized to xml string)
        from a single receive location and based on certain parameters in the
        message, dynamically invoke one of over 500 target services (each taking in a
        different Typed DataSet). How best do I set this up within BizTalk?

        a.        Do each of the 500 target endpoints (mixture of .net 1.1 and 3.5
        components) need to be exposed in BT as send ports/locations? How best can I
        expose the existing code base to be invoked by BizTalk.

        b.       What is the best (in terms of performance) way to invoke .net 1.1
        components on a remote server through BizTalk? Exposing them as web services
        works but would be slow; invoking them via Remoting (through Expression
        shapes) works but I have not read any case studies using BT with Remoting.

        3. Composition from .Net classes

        The client wants full visibility into the message passing in the system.
        They want to implement a few (10) key facades as BizTalk orchestrations, by
        composing them by calling granular BusinessServices (which are currently .net
        dlls invoked in-process by the Facade). BAM will then be used to instrument
        all the messaging.

        a.        How are database transactions managed across multiple
        BusinessService calls within the orchestration? For this phase, I might be
        able to use WCF and use the transaction sharing semantics.

        b.       Are there any case studies of BizTalk being used in a similar
        manner at this level of granularity to compose software?

        Sorry for the lengthy post (cross-posted from msdn forums hoping for answers)! Thanks.

Viewing 0 reply threads
  • The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.