02.11.2011

BizTalk Q&A



  • Интеллектуальные беседы :)

  • Безымянный 271598

  •  

    Q. What are two main types of subscriptions? What the difference between them?

    A. There are two types of subscriptions in BizTalk server: activate and instance. The activate subscription initializes the service for the first time, the instance subscription picks up one of the services which already has been initialized according to its instance ID. Instance subscriptions are usually served for correlations.

    Subscriber might be orchestration or/and send port and two administrative operations for subscriber directly apply on its subscription: Enlist and Start. Enlist operation actually creates the subscription but leaves it in "stopped" state until "Start" operation is performed.

    (The attempt to use stopped subscriber causes the engine to produce the error 0xC0C01B4D (Subscribing Service is Stopped) and to suspend the service, that initialized the invocation.)

     

     Subscription created for static send port consists of single predicate based on BTS.SPTransportID property that uniquely generated for this send port. (*)

     In contrast to static send port, dynamic send port creates as many subscriptions as a number of registered transmit transports (send adapters) known to engine. A single dynamic send port produces, for example, 14 subscriptions, if the system has 14 registered send adapters, each of them having the following structure

    BTS.OutboungTransportType= "File"/"MSMQ"/"SMTP"/"FTP"/"HTTP"/"SOAP" etc.

    BTS.SPID = <GUID>

    BTS.OutboungTransportLocation exists

     Subscriptions for direct binding models use only predicates based on BTS.MessagesType property, allowing the high degree of freedom to process messages through such subscription.

     Partner port subscriptions are based on evaluating three properties which promoted by orchestration: BTS.PartnerPort, BTS.PartnerService and BTS.Operation.

    Subscriptions have the notion of priority. As for BizTalk 2006 R2, subscriptions for orchestrations always have priority 7 when the EPM-subscriptions have lower priority – 5. 
    Existing subscriptions can be enumerated with a help of Subscription class.

    -----------------

    * - This property is vitally needed for the orchestration to know, how to deal with messages leaving it for 'late binding'. After orchestration is deployed with 'late binding' option, it has no idea about how to connect the messages from 'uses' port (logical send ports) to EPM ports. When you specify the actual send port from binding tab on Orchestration Properties dialog, its SPTransportID is saved, letting to XLANG/S to know that this GUID will be appended and promoted for each message going through logical send port. Note, that no additional subscription is created for logical send port in this case.

     

    Q. What is the Message Agent?

    A. Message Agent is the BizTalk sub-system wrapping-out the operations with MessageBox database. In particular, it is responsible for publishing/subscribing mechanism implementation. No component of BizTalk (including adapters) talks directly to MessageBox's objects: tables or stored procedures, the MessageAgent exposes its functionality to all other sub-systems of BizTalk Server.



  • Интеллектуальные беседы :)

  • Безымянный 271598