BizTalk Random Interview Questions – Part 3

BizTalk Random Interview Questions – Part 3

https://social.msdn.microsoft.com/Forums/en-US/8012b6d3-6846-4390-9e2b-6d513d7b763e/biztalk-server-advanced-question?forum=biztalkgeneral

BizTalk Random Interview Questions – Part 2

BizTalk Random Interview Questions – Part 2

https://social.msdn.microsoft.com/Forums/en-US/8012b6d3-6846-4390-9e2b-6d513d7b763e/biztalk-server-advanced-question?forum=biztalkgeneral

  • How do Filters of the Send Ports and Send Port Groups work together? Say, a Send Port belongs to a Send Port Group. If this Send Port and this Send Port Group have the same Filter expression, does it create two subscriptions and, as a result, two messages are sent to the Send Port?
  • Why do we need a special Property schema for Promoted properties? What is the purpose of this schema? Distinguished properties do not use this kind of schema. Why so?
  • When a BizTalk Assembly is deployed, is it stored in the BizTalk database or is just a reference to it stored there?
    • A reference for BizTalk Assembly will be stored in BizTalk Database especially ManagementDB.
  • Why a BizTalk Assembly must be installed into GAC? Why deploying it to BizTalk database is not enough? 
    • At runtime, .Net framework will be looking for the BizTalk Assembly in the GAC.
  • Can you describe at least three scenarios where smart Orchestration Engine finds the errors in the messages patterns at design time (while build a BizTalk project)?
  • A Host has an “Authentication Trusted” option. What does it mean? What implication it has to the message processing? How do we have to use it / don’t use?
    • Authentications Trusted allows the Identity of the submitting user to be exposed to downstream processes but it does not work like Impersonation in IIS or anything similar so the actual authentication is not preserved.
  • As a message flows from one process to another, it is often necessary to pass the identity of the original sender of the message to downstream processes for authorization, party resolution, and business logic relating to the sender. However, enabling all hosts to flow this information without some type of security or trust mechanism would greatly increase the need to verify that all user objects and code (for example, orchestrations, adapters, pipeline components, functoids) are trustworthy.
  • To provide the means to differentiate the level of trust for user objects and code, BizTalk Server provides Authentication Trust as a property of hosts. When the MessageBox database receives a message from a host that has not been set as authentication trusted, the MessageBox database overwrites the PID with the guest ID, and overwrites the SSID with the service account that the host instance is running as. When a host is marked as authentication trusted, BizTalk enables the host to specify any sender SID (SSID) and any party ID (PID) on messages that it queues to the MessageBox database.
  • https://social.msdn.microsoft.com/Forums/en-US/b2a72099-000f-4687-8a60-76a357e212dd/authentication-trusted-property-on-biztalkhost-biztalkisolatedhost?forum=biztalkgeneral
  • https://msdn.microsoft.com/en-us/library/aa562062.aspx
  • Could we create an XLANGMessage in the C#/VB code? Please, provide code.
  • We can use an XmlDocument class as a Message type for receiving the untyped Xml messages in Orchestration. What .NET classes do we have to use for receiving the untyped text or binary messages in Orchestration. Why so?
    • You can use System.String for untyped text or binary messages in Orchestration.  You can have Orchestration variable with other data types, but messages has to related to Schema or else it has to be xml document or System.String
  • Is the Publish-Subscribe BizTalk Engine API well defined? Where? If not, why so?
  • Does the BizTalk use the strategy “First  received, first processed” or “First received, last processed” of “First received, first processed, first sent” of something else? Why so? 
    Describe scenarios, when this strategy works better, and scenarios, when this strategy works badly.
  • Messages are processed in the order they are received. BizTalk Server supports this sequential first-in first-out (FIFO) message processing pattern.
  • Compensation blocks can be added to any scope shape configured to be either long running or atomic. These compensation blocks will be executed in reverse order, following an exception being thrown within the orchestration. Compensation blocks can contain any combinations of orchestration shapes. To implement the compensation for long-running transaction to reverse the action do the following steps
  •  Place a Scope shape on to your long running orchestration
  •  Place the block of orchestration like Send Shape or the block you want to wrap in the scope
  •  Set  it to Long Running from the upper right corner of the scope shape
  •  Right-click the top portion of the Scope shape and select New Compensation Block

from the context menu

  • Place a block to reverse the action inside the compensation block like which defines the actions to reverse the transaction if another transaction fails.

BizTalk Random Interview Questions – Part 1

BizTalk Random Interview Questions – Part 1

I am going to provide few Blog Post about BizTalk Interview Questions and Answers to those Question based on one my fellow blogger post.

https://social.msdn.microsoft.com/Forums/en-US/8012b6d3-6846-4390-9e2b-6d513d7b763e/biztalk-server-advanced-question?forum=biztalkgeneral

  • How does the Retry feature of the Send Port work? In what scenarios this feature is helpful, in what scenarios it is dangerous?
    • Retry feature of the Send Port enables the BizTalk to resend the message again, if message reception of the receiver is failed at previous attempt.
    • This feature enables BizTalk to retry after specified time interval and make sure it made few attempts before giving it up.
    • Dangerous – Not able to think of a scenario, were it will be dangerous.
  • Send ports have a “Backup Transport” but Receive ports do not have it. Why so?
    • Sender of the message/file has more responsibility to communicate the message to the receiving party.  Backup Transport enables BizTalk to try sending message to the Receiver incase Primary Transport is failed.
    • Receive Port doesn’t have Backup Transport option, if something wrong with receive port, it got disabled.  We can monitor our own environment.
  • Send ports have a “Filter” but Receive ports do not have it. Why so?
    • Send port is one of the subscriber mechanism, Receive Port is the Publisher.
    • Send port use filters to check on the context of the message and based on that it will subscribe to appropriate messages. 
  • Send ports have the “Maps” and “Transport”; Receive ports have “Maps” but “Transport” is associated with Receive Locations. Why so?
    • Primary reason for Receive Location is to get input messages using wide range of adapters/protocols.
    • Once message are received, it has to transformed into message type understand by the Business Process.
  • What is the difference between “Send Port Group – Send Port” relation and “Receive Port – Receive Location” relation?
  • Receive Locations have the Schedule parameters for date and time but Send Ports have the Schedule parameters only time. Why so?
  • Can we create two Send Ports with the same URL? Can we create two Receive Locations with the same URL? Why so?
    • Yes.  Send port can share same URL.
    • No.  Receive Port should be unique.
  • Filter expression for the Send Port is defined at run-time, but Filter expression for the Orchestrations is defined only at design-time. Why so?
    • Orchestration is to do certain predefined process on the incoming messages, that’s why filters for Orchestration is defined at designtime.
    • Sendport does not have to validate the message and it can be simple pass through.
    • Based on the message context send port subscribe to the message at runtime.
  • We created a custom pipeline component. Do we have to place it into the “<BizTalkFolder>\Pipeline Component” or install it to GAC or both?
    • At design time it has to be in “<BizTalkFolder>\Pipeline Component” folder. May be in Development Environment / QA to use it for debugging.
    • For production environment it has to be in GAC.
  • How does an Orchestration make sure the message was sent successfully by one-way Send port?

 

  • How does it changed for a two-way Send port?
    • This again verified using the response received from Two-way Send Port.
  • What is it the “CodeList Database” property of a Schema? How to use it?
  • What is the “Property Schema Base” property of the Property schema element? It has the values: MessageDataProperyBase, MessageContextPropertyBase, and PartContextPropertyBase. What is the difference between using MessageDataProperyBase and MessageContextPropertyBase?
    • You can use the Property Schema Base property to set whether the Promoted Property refer to the value of the Message Element Data and custom context value set along with the message.
    • MessageContextPropertyBase is user defined context property which will be assigned along with the Original message.
    • MessageDataPropertyBase is a value that can available in the one of the data element of the message itself.
  • We bind an Orchestration with a Send Port. What does it do regarding to the subscription?
    • This creates a tightly coupled design patterns, and it kind of override the subscription feature of the Send Port.  Filter expression of the send port will be empty in this case.
  • We bind an Orchestration with a Receive Port. What does it do regarding to the subscription?
    • This creates a tightly coupled design pattern, and it kind of override/force publishers feature of the Receive port and subscriber feature of the Orchestration.
    • Filter expression of the Receive Shape will not have any values or conditions.

BizTalk Schema Versioning – Links

http://blogs.msdn.com/b/richardbpi/archive/2006/12/19/versioning-strategy-for-biztalk-assemblies.aspx?Redirected=true
http://masteringbiztalkserver.wordpress.com/2011/03/02/schema-versioning-in-biztalk-server/
http://smashbts.blogspot.in/2011/01/biztalk-versioning-strategy-14.html
http://btsguru.blogspot.in/2011/06/biztalk-schema-versioning.html
BizTalk Schema Inheritance Practices / Examples
http://geekswithblogs.net/LeonidGaneline/archive/2012/12/24/biztalk-internals-schema-uniqueness-rule.aspx
http://blog.sabratech.co.uk/2008/12/what-i-hadnt-appreciated-about-schema.html
http://lwang00.wordpress.com/2007/10/13/biztalk-naming-and-versioning/
http://www.techtalkz.com/microsoft-biztalk-server/162464-schema-versioning-best-practices.html

BizTalk Logging – Links

http://www.biztalkgurus.com/biztalk_server/biztalk_2010/f/37/p/19295/35407.aspx
http://geekswithblogs.net/VishnuTiwariBlog/archive/2011/04/05/displaying-messages-and-its-flow-from-biztalk-message-tracking-databases.aspx
http://thinkintegration.wordpress.com/2012/01/11/choosing-the-logging-framework-for-biztalk-solutions/
http://blogs.msdn.com/b/appfabriccat/archive/2010/05/11/best-practices-for-instrumenting-high-performance-biztalk-solutions.aspx
http://blogs.msdn.com/b/asgisv/archive/2010/05/11/best-practices-for-instrumenting-high-performance-biztalk-solutions.aspx
http://btsloggingeventsinbi.codeplex.com/
http://www.tfabraham.com/BTDFDocs/V5_0/DeploymentFrameworkForBizTalkDocs.html?UsingLog4Net.html
http://shoaibfaruq.wordpress.com/2012/10/16/biztalk-2010-enterprise-library-4-1-logging-to-text-file/
http://vijaymodi.wordpress.com/2008/05/17/biztalk-log-entry-using-microsoft-practice-enterprise-library-in-net-assembly-call-net-assembly-using-biztalk-orchestration-expression-shape/
http://vijaymodi.wordpress.com/about/
BizTalkGrinch Sandbox – Advanced Log strategies (ETW–DBGV – Log4net)
http://biztalkhouse.blogspot.in/2010/11/biztalk-and-logging-with-log4net.html

BizTalk Exception Handling – Links

http://www.codeproject.com/Articles/13576/A-developers-guide-to-handling-exceptions-in-BizTa
http://blogs.msdn.com/b/biztalknotes/archive/2013/02/12/how-to-handle-fault-message-in-biztalk-server.aspx
http://code.msdn.microsoft.com/windowsdesktop/Handling-Exceptions-inside-99159946
http://msdn.microsoft.com/en-us/library/aa578516.aspx
Exception handling in BizTalk orchestrations explained
http://social.msdn.microsoft.com/Forums/en-US/39a0cfa9-29d9-49cf-9aee-ecc65c72ca01/custom-exception-handling-in-biztalk-receive-pipeline?forum=biztalkgeneral
http://sandroaspbiztalkblog.wordpress.com/2009/10/26/biztalk-training-handling-exceptions-inside-orchestration/
http://dave-sampson.blogspot.in/2011/07/biztalk-esb-toolkit-21-exception.html
http://usmanshaheen.wordpress.com/2012/09/17/biztalk-esb-exception-handling-in-orchestration/
http://jhelatissimo.wordpress.com/2012/10/17/exception-handling-on-biztalk-orchestration-published-as-web-service/

BizTalk Persistance Points – Links

http://blogs.msdn.com/b/sanket/archive/2006/11/12/understanding-persistence-points-in-biztalk-orchestration.aspx?Redirected=true
http://msdn.microsoft.com/en-us/library/aa547090.aspx
http://msdn.microsoft.com/en-us/library/aa559440.aspx
http://geekswithblogs.net/HenriKluijtmans/archive/2009/12/18/persistence-points-in-biztalk.aspx
http://sandroaspbiztalkblog.wordpress.com/2009/10/23/biztalk-orchestration-%E2%80%93-understanding-persistence-points/
http://mohammedatef.wordpress.com/2009/06/20/biztalk-2009-orchestration-dehydration-and-persistence-points/
http://www.codeproject.com/Articles/15232/Persistence-Point-in-BizTalk-2004
http://biztalkhotrod.com/CalledOrchPersist.aspx
http://masteringbiztalkserver.wordpress.com/2011/02/23/how-to-find-the-number-of-persistence-points-used-in-the-application/
http://lakshmiworld.blogspot.in/2006/12/identify-persistence-points.html

OOPS Concept in C# .Net

http://www.codeproject.com/Articles/479467/Main-Method-in-Csharp
http://www.msdotnet.co.in/2012/06/how-to-use-multiple-main-method-in-c.html
http://www.codeproject.com/Articles/22769/Introduction-to-Object-Oriented-Programming-Concep
http://sathishsirikonda.blogspot.in/2012/06/c-oops-concepts-with-real-time.html
http://jom-george.blogspot.in/2012/07/oop-concept-with-real-time-exapmles.html
http://www.codeproject.com/Articles/27775/Object-Oriented-Programming-Concepts

http://www.c-sharpcorner.com/UploadFile/84c85b/object-oriented-programming-using-C-Sharp-net/
http://maheshsingh.org/association-aggregation-composition-object-relationship/
http://www.c-sharpcorner.com/UploadFile/ff2f08/association-aggregation-and-composition/
http://www.dotnetspider.com/resources/40182-Association-Aggregation-Composition.aspx
http://slownest.blogspot.in/2013/04/uml-association-aggregation-composition.html

http://dotnetfreakblog.wordpress.com/2014/01/11/concept-of-dependency-generalization-association-aggregation-composition-in-object-oriented-programming/
http://kalitinterviewquestions.blogspot.in/2009/06/what-is-association-aggregation-and.html
http://www.onlinebuff.com/article_oops-principle-inheritance-in-c-with-an-example_16.html
http://www.onlinebuff.com/article_understanding-the-relationships-inheritance-association-aggregation-and-composition-in-c_20.html

http://www.aspdotnet-suresh.com/2010/04/introduction-to-object-oriented.html

http://www.codeproject.com/Articles/600449/IntroductionplustoplusObjectplusOrientedplusProgra
http://www.msdotnet.co.in/2012/06/oops-concept-in-c.html