BizTalk Developer Interview Questions and Answers - Schema

BizTalk Developer Interview Questions and Answers - Schema

Introduction

This article intends to cover the answers to BizTalk schema related questions, which a BizTalk developer can face during an interview.

Questions and Answers

  1. What is the purpose of a document schema?
    Schema is basically a contract of your message and defines it. The XML Schema definition (XSD) language defines the structure of an XML instance message, and this is the intended purpose of XSD, such schemas use XSD in a straightforward way.

    Schema is a term borrowed from the database world to describe the structure of data in relational tables. In the context of XML, a schema describes a model for a whole class of documents. See MSDN Different Types of BizTalk Schemas.

  2. What is the purpose of a property schema?
    Property schema is a special type of schema, not created to describe messages. Instead it describes context properties. It consists of only child node under a root node. See MSDN Different Types of BizTalk Schemas.


  3. What is the purpose of an envelope schema?
    An envelope schema is a special type of XML schema. Envelope schemas are used to define the structure of XML envelopes, which are used to wrap one or more XML business documents into a single XML instance message. When you define an XML schema to be an envelope schema, a couple of additional property settings are required, depending on such factors as whether there are more than one root record defined in the envelope schema. See MSDN Different Types of BizTalk Schemas.

  4. What is the purpose of a Flat File schema?
    A flat file schema defines the structure of a class of instance messages that use a flat file format, either delimited or positional or some combination thereof. Because the native semantic capabilities of XSD do not accommodate all of the requirements for defining the structure of flat file instance messages—such as the various types of delimiters that might be used for different records and fields within the flat file. BizTalk Server uses the annotation capabilities of XSD to store this extra information within an XSD schema. BizTalk Server defines a rich set of specific annotation tags that can be used to store all of the required additional information. See MSDN Different Types of BizTalk Schemas.

  5. What is the target namespace to schema?
    Target Namespace is to schema what a namespace is to .Net Object and root node as a class name.

  6. Is it possible to create a custom data type and use it in a schema?
    Yes, it's possible to create custom data type and it can be used across the schema. See Can We Have Custom Data Type.

  7. Can schema have two nodes with the same name and different datatypes?
    Yes, as long as they are not in the same scope.

  8. Can schema have multiple root nodes?
    Yes, a schema (XSD) can have multiple root nodes. In case you have a schema with multiple root nodes you will end up with multiple message types declared in BizTalk, one for every root node. So when you want to create a message you will need to specify exactly which message type you are going to use!


  9. Is it possible to include and import in a single schema?
    Yes, it is possible, both are the ways to utilize already existing schema. The only condition is the schema which is included should have same TargetNamespace or no namespace.

  10. By default, what is the data type of elements in a schema?
    xs:string

  11. What is the difference between Group Max occurs, Group Min Occurs and Max occurs, Min Occurs?
    These are all node properties. See MSDN Node Properties
    .
    Group Max Occurs: Specifies the maximum number of times that to the underlying group content of the selected All Group node can occur.
    Group Min Occurs: Specifies the minimum number of times that the underlying group content of the selected All Group node can occur.
    Max Occurs: Specifies the maximum number of times that the element corresponding to the selected Record node can occur.
    Min Occurs:  Specifies the minimum number of times that the element corresponding to the selected Record node can occur.

  12. What is BlockDefault property used for?
    Use the BlockDefault property to prevent or restrict the types of derivations that can be used in instance messages for all data types defined by the schema being edited. See MSDN BlockDefault (Node Property of All Schemas).

  13. What is canonical schema?
    A canonical schema is a design pattern, which is applied within service oriented paradigm, and within BizTalk server context establish loose coupling between systems. Through performing transformation of messages from one system to canonical schema and from canonical schema to message of another system, systems have no direct relation with each other. Canonical schema can also be viewed as an internal schema in BizTalk and aid you in structuring your solution through best practice of creating separate projects for maps, orchestrations, internal and external schemas. Another advantage of using a canonical schema is that it reduces the number of transformations you need. If you need a to map a few types of inbound message coming from different parties to a few outbound messages, you can create a map to your canonical schema for each inbound schema and then a map from your canonical schema to each outbound schema. If for example you have three types of incoming that needs to be mapped to three types of outgoing messages you will only need to build and maintain six maps instead of nine.

  14. What is correlation property schema?
    Correlation types define a set of properties on which you will be correlating messages. These can be any properties which were previously defined in a property schema (see question 2) and deployed with some BizTalk Project including "system" properties deployed with the GlobalPropertySchemas which is installed as part of the base BizTalk install. A correlation set defines a set of properties and values for these properties that a message must contain to be processed by a particular orchestration. See MSDN Correlation Sets.

  15. Difference between Flat File Schema and XML schema?
    A flat file schema defines the structure of a class of instance messages that use a flat file format, either delimited or positional or some combination thereof. Because the native semantic capabilities of XSD do not accommodate all of the requirements for defining the structure of flat file instance messages—such as the various types of delimiters that might be used for different records and fields within the flat file—BizTalk Server uses the annotation capabilities of XSD to store this extra information within an XSD schema. BizTalk Server defines a rich set of specific annotation tags that can be used to store all of the required additional information. See MSDN Different Types of BizTalk Schemas.

    An XML Schema is basically a contract of your message and defines it. The XML Schema definition (XSD) language defines the structure of an XML instance message, and this is the intended purpose of XSD, such schemas use XSD in a straightforward way. See MSDN Different Types of BizTalk Schemas.

  16. Can we have schema without target namespace? What will be its MessageType?
    Yes, we can have schema without target namespace and it's message type will be the Root node.

  17. Which property is only available for Flat file schema?
    Custom Date/time property is only available for flat file schema.

  18. What is Message?
    Each message in BizTalk Server is considered a multi-part message and is made up of zero or more parts. Each message with one or more parts has one of these parts identified as the body part. Each part consists of a binary chunk of data which can represent an XML document, a flat file, a serialized .NET class, or other binary stream of data. You use the body part of the message to identify the type of the message that can be used for routing. See MSDN The BizTalk Server Message.

  19. What is difference between BizTalk (Schema) Editor and BizTalk Schema Generator?
    BizTalk Editor resides within the Microsoft Visual Studio shell. Some of the functionality within BizTalk Editor relies upon existing user interface elements within the Visual Studio shell. See Using BizTalk Editor.

    BizTalk can automatically create schema from DTD , well formed XML , XDR . To do this schema generator is used.

  20. How is schema generator invoked?
    Right click the project in Solution Explorer and select Add Generated Items --> Generate Schemas.

  21. What is InstallWFX.vbs script?
    It is a script which when run installs the BizTalk Schema Generator. It is used when generating schema from existing items . Its likely to get error first time or after updates "WFX to XSD Schema generation module is not installed". Then this script can be used to install the schema generator.

  22. Can "EDI" be a part of Namespace?
    It can be but it should be avoided in the projects that uses BizTalk EDI engine as during run time there can be conflicts with this and expected results might not be seen.

  23. Is it possible to promote XML record of ComplexContent ?
    No. To promote XML record its ContentType property should be set SimpleContent.

  24. What is the maximum length allowed for promoted properties?
    255 characters

  25. What is the maximum length allowed for Distinguished fields?
    It can be of any length, no limits.

  26. How to create an XPath alias  to a field which can be used to in decision making in Orchestration?
    Distinguished field  is a XPath alias to the field.To create it , right click the element-->Promote-->Show promotion-->Add

  27. What is <Any> element?
    An <Any> element in a schema designates a specific location in the schema where new elements or 
    attributes can be added. When BizTalk uses the schema to process a message containing unknown elements or attributes in the designated location, the schema will still consider the message valid.

  28. What is the Root Node?
    It's a node within a BizTalk Server schema that represents the outermost XML element in the business document specified by the schema.

  29. How BizTalk engine identify a unique schema?
    BizTalk uses a combination of namespace#rootnode to define the schema type of a message, thereby making a MessageType unique (for example: http://mynamespace.com#MyRootNode). In other words, BizTalk uses this combination to identify and resolve schemas references.

  30. How BizTalk engine perform a validation of an instance of the message against the Schema?
    By default, BizTalk Server will examine only the namespace and the root node name of a message to identify and validate the schema, and will not detect extra elements in message body. To perform a deep validation of a message format, you have to create a Custom Pipeline with the XML Disassembler component. See more here.

  31. What is difference between XSD and DTD?
    • XSD are written in XML
    • XSD  support data types
    • XSD  support namespaces
    • XSD are extensible to future additions
    • XSD are richer and more powerful than DTDs

Author

Maheshkumar S. Tiwari
iVision Software Pvt Ltd|User Page
http://tech-findings.blogspot.com/

Contributors


See Also

Read suggested related topics:

Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.
Leave a Comment
  • Please add 6 and 4 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
Comments
  • Maheshkumar S Tiwari edited Revision 42. Comment: Added link in See also

  • Maheshkumar S Tiwari edited Revision 41. Comment: Added link in See also

  • Maheshkumar S Tiwari edited Revision 40. Comment: Added tags

  • Maheshkumar S Tiwari edited Revision 38. Comment: corrected first link of suggested section

  • Maheshkumar S Tiwari edited Revision 29. Comment: Added Question 31

  • Steef-Jan Wiggers edited Revision 28. Comment: Minor edits

  • Steef-Jan Wiggers edited Revision 22. Comment: Changed layout See Also

  • Maheshkumar S Tiwari edited Revision 16. Comment: Added Q27 and answer

  • Steef-Jan Wiggers edited Revision 15. Comment: Fixed HTML

  • Maheshkumar S Tiwari edited Revision 14. Comment: Added Contributors section which was overwritten

Page 1 of 3 (22 items) 123
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • Steef-Jan Wiggers edited Original. Comment: Formatting, adding toc, and See Also

  • Steef-Jan Wiggers edited Revision 2. Comment: Removed duplicate links

  • Steef-Jan Wiggers edited Revision 4. Comment: Removed duplicate link and question 9 requires an answer

  • Steef-Jan Wiggers edited Revision 5. Comment: Corrected link

  • Steef-Jan Wiggers edited Revision 6. Comment: Corrected introduction text

  • Maheshkumar S Tiwari edited Revision 7. Comment: Added answer to Q 9

  • Maheshkumar S Tiwari edited Revision 8. Comment: Formatting

  • Steef-Jan Wiggers edited Revision 9. Comment: Formatting

  • Steef-Jan Wiggers edited Revision 10. Comment: Formatting and added contributor

  • Maheshkumar S Tiwari edited Revision 11. Comment: Added q19,20,21 and answers to it

  • Maheshkumar S Tiwari edited Revision 12. Comment: Added Q 22 and answer

  • Maheshkumar S Tiwari edited Revision 13. Comment: Added few questions and answers