This post intends to cover the 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?
The 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.
A 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 is 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
for 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 types 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 a canonical schema?
A canonical schema is a design pattern, which is applied within a service
oriented paradigm, and within BizTalk server context establish the loose
coupling between systems.
Through performing the transformation of messages
from one system to canonical schema and from the canonical schema to message of
another system, systems have no direct relation with each other.
The 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 the 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 a
target namespace? What will be its MessageType?
Yes, we can have a schema without target namespace and it's message type will
be the Root node.
17. Which property is only available for the flat
file schema?
Custom Date/time property is only available for flat file schema.
18. What is the 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 the 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 the 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 a schema from existing items. It's 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 in decision making in Orchestration?
The Distinguished field is an 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 identifies 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 performs 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 the 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 are encoding options available used
by BizTalk when creating schema?
There are various options but BizTalk
always uses UTF-16 encoding for their schemas. See more.
32. Does BizTalk add any namespaces when creating
schema?
Yes. http://schemas.microsoft.com/BizTalk/2003 and http://www.w3.org/2001/XMLSchema are
added by BizTalk when creating a schema. See more.
33. How is schema namespace added by BizTalk when
creating schema?
By default, the BizTalk Editor will set the
namespace of a schema to http://ProjectName.SchemaName.
34. What is the difference between XSD and DTD? Difference between XSD and DTD are
listed below:
- XSD are written in XML.
- XSD support data types.
- XSD support namespaces.
- XSD is extensible to future
additions.
- XSD is richer and more
powerful than DTDs.
If you have questions or suggestions, feel free to do in comments section below !!!
Do share if you find this helpful .......
Knowledge Sharing is Caring !!!!!!
Related Post
- Interview questions on Orchestration
- Interview questions on Schema
- Interview questions on Map
- Interview questions on BRE
- Interview questions on Visual Studio in context to BizTalk
- Interview questions on BizTalk Pipeline
- Interview questions on BizTalk BAM
- Interview questions on BizTalk Application
- Interview questions on XSLT - BizTalk
- Interview questions on Helper Class/.Net Assemblies BizTalk
- Interview questions on BizTalk Adapter
- Interview questions on Functoid
- Interview questions on BizTalk Database
- Interview questions on BizTalk EDI
- Interview questions on Orchestration
- Interview questions on Schema
- Interview questions on Map
- Interview questions on BRE
- Interview questions on Visual Studio in context to BizTalk
- Interview questions on BizTalk Pipeline
- Interview questions on BizTalk BAM
- Interview questions on BizTalk Application
- Interview questions on XSLT - BizTalk
- Interview questions on Helper Class/.Net Assemblies BizTalk
- Interview questions on BizTalk Adapter
- Interview questions on Functoid
- Interview questions on BizTalk Database
- Interview questions on BizTalk EDI
Thanks for sharing this interview questions. Schema markup add more information to your content that help to rank well in search engine. Schema creator tool for local business & person are available on the web.
ReplyDelete