Monday, April 23, 2012

BizTalk Interview question series

Link to Biztalk Interview question series

Good HomePageLink


  • The error in BizTalk usually creates a suspended message. But routing error creates two messages. Why so? How we could utilize this feature?
  • Send ports have an “Ordered delivery” option. How it works for a File adapter, if the File protocol does not have a notion of file order?
  • Send ports have an “Ordered delivery” option but Receive ports do not have it. Why so?
  • You set up an “Ordered delivery” option in Send Port. What is special about Service Instance of this Port?
  • How to force an Orchestration do the ordered delivery? Is there a special “Ordered delivery” option in Orchestration? If it is not, why?
  • Send ports have the “Priority” options, but Receive ports and Receive Locations do not have them. Why so?
  • How does the Priority feature of the Send Port work?
  • Why the Priority option can be set up only for the Send Port?
  • Send ports have the “Retry” options, but Receive ports and Receive Locations do not have them. Why so?
  • How does the Retry feature of the Send Port work? In what scenarios this feature is helpful, in
  • Send ports have a “Backup Transport” but Receive ports do not have it. Why so?
  • Send ports have a “Filter” but Receive ports do not have it. Why so?
  • Send ports have the “Maps” and “Transport”; Receive ports have “Maps” but “Transport” is associated with Receive Locations. Why so?
  • What is the difference between “Send Port Group – Send Port” relation and “Receive Port – Receive Location” relation?
  • Receive Location 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
  • 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?
  • We created a custom pipeline component. Do we have to place it into the “<BizTalkFolder>\Pipeline Component” or install it to GAC or both?
  • 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?
  • What is it the “CodeList Database” property of the 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?
  • We bind the Orchestration with Send Port. What does it do regards of the subscription?
  • We bind the Orchestration with Receive Port. What does it do regards of the subscription?
  • 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?
  • 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?
  • Properties of some BizTalk artifacts have the Tracking option. Right-click menu of some BizTalk artifacts have the “Tracking…” command. Why there is such a difference between artifacts? Why Maps do not have any Tracking options? Why Schemas have only Tracking property? Why Send Port Groups do not have any Tracking options? Why Receive Locations do not have any Tracking options? Why BizTalk Applications do not have any Tracking options?
  • When the BizTalk Assembly is deployed, is it stored in the BizTalk database or it is just referenced in the BizTalk database?
  • Why BizTalk Assembly must be installed into GAC? Why deploying it to BizTalk database is not enough?
  • Can you describe at least three scenarios where smart Orchestration Engine finds the errors in the messages patterns at design time (while build the BizTalk project)?
  • 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?
  • Could you create an XLANGMessage in the C#/VB code? Please, provide code.
  • You can use an XmlDocument class as a Message type for receive untyped Xml messages in Orchestration. What .NET classes we have to use for receive untyped text or binary messages in Orchestration. Why so?
  • Is the Publish-Subscribe BizTalk Engine API well defined? Where? If not, why so?
  • Does 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.
  • Are Orchestration Instances processed in order? Why so? Describe scenarios.
  • Is it possible to force Hydration / Dehydration of the Orchestration instances, Messaging instances? How to do this? Why do this?
  • In what scenarios you will use the Compensations in Orchestrations? Why so?
  • Atomic scopes in Orchestrations have a Retry feature. How it works? Describe scenarios when it is used.
  • What serializer does BizTalk use, XmlSerializer or DataContractSerializer? What implication it has for the real life scenarios?
  • What transform engine is BizTalk using, XslTransform or XslCompiledTransform? What implication it has for the real life scenarios?
  • BizTalk Business Rule Engine uses a Rete engine inside. In what scenarios this Rete engine is the more efficient / less efficient?
  • Let’s classify the applications as Front-end, Middle-level and Back-end. Where are the best places to use BizTalk? Please, provide scenarios. What are the most important features we have to take in account?
  • What BizTalk features are the differentiators, when you compare BizTalk Server with other alternatives? What are those alternatives?
  • What is the Heartbeat in BizTalk? Why it is implemented? Can we change the heartbeat interval? How does this interval influence processes in MessageBox?
  • What is the difference, if any, between ESB and Broker conceptions?

Monday, March 12, 2012

Monday, February 27, 2012

Debatching

http://mstecharchitect.blogspot.com/2008/12/debatching-biztalk-xml-messages.html
http://seroter.wordpress.com/2007/08/23/debatching-flat-files-into-xml-with-header-intact/
http://msdn.microsoft.com/en-us/magazine/gg650658.aspx
http://social.msdn.microsoft.com/Forums/en-US/biztalkgeneral/thread/95353406-d4ea-4c02-acb4-03bc030a7d25
http://social.msdn.microsoft.com/Forums/en-US/biztalkgeneral/thread/dfc85aa0-0d76-4098-9831-960677cb53db/
http://msdn.microsoft.com/en-us/library/aa560481(BTS.20).aspx
http://www.codeproject.com/Articles/17140/Debatching-Large-Messages-and-Extending-Flatfile-P
http://www.richardhallgren.com/efficient-grouping-and-debatching-of-big-files-using-biztalk-2006/

http://www.biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalksyn/archive/2005/10/23/processing-a-large-flat-file-message-with-biztalk-and-the-sqlbulkinsert-adapter.aspx

http://technet.microsoft.com/en-us/library/cc296600.aspx
http://msdn.microsoft.com/en-us/library/aa717050.aspx
http://blogs.msdn.com/b/appfabriccat/archive/2010/09/29/biztalk-patterns-part-1.aspx
http://msdn.microsoft.com/en-us/library/bb463275.aspx

BizTalk Best Practices

http://geekswithblogs.net/VishnuTiwariBlog/archive/2011/05/14/biztalk-server-best-practices-again.aspx

Friday, February 24, 2012

New Features in BizTalk Server 2010

http://msdn.microsoft.com/en-us/library/ee920495.aspx


With the release of BizTalk Server 2006, the fourth generation of the Microsoft business process integration server, customers gained the benefits of integration with Microsoft Visual Studio 2005 and 64-bit support. BizTalk Server 2006 also enhanced the existing administration functionality, introduced new capabilities for business activity monitoring (BAM), and enhanced the core messaging engine. BizTalk Serveris built on the core architecture of BizTalk Server 2006 and made strides in all dimensions of application-to-application, business-to-business, and business-process automation.
BizTalk Server 2010 further enhances the user experience and introduces features that enable BizTalk Server customers to better manage and represent their businesses in a BizTalk Server setup. This release of BizTalk Server also provides key usability enhancements for BizTalk Server administrators and developers. This topic describes the new and enhanced features available with BizTalk Server 2010.

BizTalk Server Settings Dashboard

The BizTalk Settings Dashboard in BizTalk Server 2010 collates all the performance settings and provides a central console to manage them. For more information about how to use Settings Dashboard for performance optimization, see Managing BizTalk Server Performance Settings.

Improved Management Pack

System Center Operations Manager (SCOM) provides capabilities that can improve the manageability of Microsoft products through centralized and proactive availability and health monitoring. The BizTalk Server Management Pack for Operations Manager provides comprehensive discovery and monitoring of BizTalk Server components and applications. With BizTalk Server 2010, the following enhancements are introduced in BizTalk Server management pack:
  • Separate views for enterprise IT administrators and BizTalk administrators. There are two different personas that need to monitor a BizTalk Server environment, the enterprise IT administrator and the BizTalk Server administrator.

    • An enterprise IT administrator is interested in monitoring the state and health of the various enterprise deployments the machines hosting the SQL Server databases, machines hosting the ENTSSO service, host instance machines, IIS, network services, etc. In general, an enterprise administrator is interested in the overall health of the “physical deployment” of a BizTalk Server setup.
    • BizTalk administrator is interested in monitoring the state and health of various BizTalk Server artifacts and applications such as orchestrations, send ports, receive locations, etc. In general, a BizTalk administrator is interested in monitoring and tracking BizTalk Server health and if corrective measures are required to ensure that the applications are running as expected.
    The BizTalk Server 2010 management pack now provides two separate views to cater to both these personas.
  • Optimized discovery of artifacts across multiple machines. In a typical BizTalk Server setup, a BizTalk group contains multiple runtime machines. When such an environment is monitored using SCOM, monitoring agents running on the machines discover the same set of artifacts from the configuration database which results in duplicate artifacts getting displayed on the SCOM console. With BizTalk Server 2010 management pack, the monitoring agents discover the artifacts from a single machine.
  • Optimized discovery of relationships between artifacts. With BizTalk Server 2010, the management pack optimizes the discovery of relationships between different BizTalk Server artifacts by properly sequencing the discovery of the artifacts before the discovery of relationships. For example, to establish the relationship between a receive port and a receive location, the management pack must first discover the receive port and receive location and then discover the relationship between them. In previous releases of the BizTalk Server pack, the ordering of discoveries was not proper.
  • Visual representation of health status. The SCOM implements color schemes to visually represent the health status of all BizTalk Server related artifacts. For example, the platform-level artifacts such as host instances can either be in a running or stopped state. This is represented with colors green and red respectively. Similarly, BizTalk application level artifacts can be categorized into three buckets: green, yellow, and red. If all instances of an orchestration are running and it is in a perfect running state, the health status is represented in green. If less than 70% of the orchestration instances are faulted, the health status is represented in yellow. If more than 70% of the orchestration instances are faulted or in case of critical errors, the health status is represented in red.

    The BizTalk Server 2010 management pack changes the parameters that are used for monitoring the health of a BizTalk Server deployment. While in the previous management packs only the configuration state (e.g. orchestration state) was considered for health monitoring, in BizTalk Server 2010 management pack the runtime state (e.g. the number of suspended instances) is also used to monitor the health status. For example, the visual representation of a send port may change to yellow or red not only if the send port is not properly configured but also if there are some suspended instances of the artifact.
  • Diagnostic support. In addition to exposing the artifacts with errors, the BizTalk Server 2010 management pack provides diagnostic support by including basic information about the error. For example, if a send port turns yellow from green, diagnostics is automatically run and the user can troubleshoot the reason for this change in the State Change Events tab of the Health Explorer.
  • Other performance enhancements. With the previous releases of management pack, when an artifact is monitored, even the smallest change to the artifact is written to the SCOM database. To avoid frequent calls to the database and to improve system performance, the BizTalk Server 2010 management pack highlights issue and changes to properties that require attention of an IT administrator and are less likely to be modified very frequently. The BizTalk Server 2010 management pack also fixes performance issues related to high resource utilization if the discovery intervals are set too low.
Where do I start? To start using the BizTalk Server 2010 management pack you must first install System Center Operations Manager and then download and install the management pack for BizTalk Server 2010.

FTP Adapter Enhancements

The BizTalk FTP adapter exchanges data between BizTalk Server and an FTP server and enables integration of data stored on varied platforms with different line-of-business applications. With BizTalk Server 2010, the FTP adapter is enhanced to provide the following feature additions:
  • Support for transferring data to and from a secure FTP server. The FTP adapter in BizTalk Server 2010 supports reading and writing data from a secure FTP server. The adapter provides support for file transfer from an FTP server over Secure Socket Layer (SSL)/Transport Level Security (TLS).
  • Support for downloading file from locations marked as read-only. In the FTP adapter available with the previous releases of BizTalk Server, the adapter deletes the file after downloading so that it does not download the file again in the next polling cycle. Due to this design, the adapter was limited to download files only from FTP locations that provide write access. With BizTalk Server 2010, the FTP adapter is enhanced to support downloading of files from read-only locations as well.
  • Support for atomic file transfer in ASCII mode. The FTP adapter available with the previous releases of BizTalk Server provides atomic file transfer only for binary mode. With BizTalk Server 2010, the FTP adapter is enhanced to support atomic file transfer for ASCII mode as well.
Where do I start? All the FTP adapter enhancements mentioned in this section are configured using adapter properties. So, to use these new features you must set the relevant binding properties while configuring the FTP adapter send port or receive location. For information on the FTP adapter features in BizTalk Server 2010, see Enhancements to the FTP Adapter in BizTalk Server 2010. For instructions on how to configure the FTP adapter, see Configuring the FTP Adapter.

Enhanced Trading Partner Management

For more information about the enhancements to the Trading Partner Management feature in BizTalk Server 2010, see Building Blocks of a Trading Partner Management Solution.

Enhanced support for HIPAA documents

For more information about the enhanced HIPAA support in BizTalk Server 2010, see HIPAA Document Schema Version 5010.

Enhanced BizTalk Mapper

For more information about the enhancements to the BizTalk Mapper feature in BizTalk Server 2010, see Enhancements to BizTalk Mapper.

Support for .NET Framework 4

For more information about how BizTalk Server 2010 supports .NET Framework 4, see Updated .NET Framework Support.

SQL Server Backup Compression in BizTalk Server

SQL Server backup compression is a new feature that is introduced in SQL Server 2008 Enterprise edition. In BizTalk Server 2010, backup compression enables you to create compressed backups of BizTalk Server databases that are business critical and consume large amounts of disk space.
noteNote
Creating compressed backups is supported only in SQL Server 2008 Enterprise and later versions.
When you run backup compression, custom databases that are a part of BizTalk backup jobs will also be compressed. Database backups will happen without compression if backup compression is enabled on databases that belong to nonenterprise editions of SQL Server. If you are a SysAdmin, a warning message will be displayed in the SQL Server’s Event Viewer.

Upgrade Scenarios

If you have upgraded to BizTalk Server 2010 from BizTalk Server 2009/2006R2 and you plan to use backup compression then you must browse to the drive:\Program Files\Microsoft BizTalk Server <2009/2006R2 >\Schema directory, and then run Backup_Setup_All_Procs.sql against all the custom databases that you want to back up. This updates the stored procedures.

Performance Impact

  • By reducing the size of your BizTalk backups, you save significantly on disk media.
  • Reduces the amount of time to backup BizTalk Server databases.
  • Backup compression increases CPU usage, and the additional CPU consumed by the compression process might impact concurrent BizTalk Server operations.
  • We recommend that you do not enable database backup compression when you are using transparent data encryption (TDE). This is because the compression ratio of encrypted data is far less than unencrypted data.

SQL Server Transparent data encryption (TDE) in BizTalk Server

Transparent data encryption (TDE) is a new encryption feature introduced in Microsoft® SQL Server® 2008. It provides protection for the entire database “at rest”, meaning the data and log files without affecting existing applications.
In BizTalk Server 2010, the transparent data encryption (TDE) feature of SQL Server can be used to protect data that contains confidential and sensitive information such as customer orders with credit card information in messages. This information must be secured in order to comply with privacy legislation and industry standards. For example, the Payment Card Industry Data Security Standards (PCI DSS) (http://go.microsoft.com/fwlink/?LinkID=195137) specifies a set of requirements designed to ensure that ALL companies that process, stores or transmit credit card information maintain a secure environment.
You may want to protect stored cardholder data and restrict access to cardholder data by business need-to-know. To help secure BizTalk Server, SQL TDE offers a way to encrypt data files so that data in backups cannot be read if the reader does not have access to a decryption key and a password. This reduces the risk of sensitive data being compromised even if physical access to the backed up data is obtained.
When enabling TDE, we recommend that you take backups of all BizTalk Server databases and store it in a secure off-site location. You must ensure that the state of TDE encryption is consistent across all BizTalk Server databases. For example, when you add a new message box DB to the BizTalk Server, you must explicitly enable TDE on that DB.
CautionCaution
When enabling TDE, you should immediately back up the certificate and the private key associated with the certificate. If the certificate ever becomes unavailable or if you must restore or attach the database on another server, you must have backups of both the certificate and the private key or you will not be able to open the database. The encrypting certificate or asymmetric should be retained even if TDE is no longer enabled on the database. Even though the database is not encrypted, the database encryption key may be retained in the database and may need to be accessed for some operations.

Managing TDE in BizTalk Server

To enable and disable TDE, backing up the TDE enabled BizTalk Server databases and restoring them see Understanding Transparent Data Encryption (TDE)(http://go.microsoft.com/fwlink/?LinkID=195138).
Considerations If a database is being used in database mirroring or log shipping, both databases will be encrypted. The log transactions will be encrypted when sent between them.
CautionCaution
Backup files of databases that have TDE enabled are also encrypted by using the database encryption key. As a result, when you restore these backups, the certificate protecting the database encryption key must be available. This means that in addition to backing up the database, you have to make sure that you maintain backups of the server certificates to prevent data loss. Data loss will result if the certificate is no longer available. For more information, see SQL Server Certificates and Asymmetric Keys (http://go.microsoft.com/fwlink/?LinkID=210625).

Monitoring known issues in BizTalk Server

Monitor BizTalk Server is a new SQL Agent job introduced in BizTalk Server 2010. You can run the job to identify any known issues in Management, Message Box, or DTA databases. For more information about the Monitor BizTalk Server job, see Monitoring BizTalk Server.

Customer Experience Improvement Program in BizTalk Server

Microsoft introduces the Customer Experience Improvement Program in BizTalk Server 2010. As part of this support in Beta, you are automatically opted-in to provide useful feedback to Microsoft regarding your usage of BizTalk Server. The data collected from you is anonymous and cannot be used to identify you. Microsoft collects feature usage statistics as part of this program.
By participating in this program, you can help improve the reliability and performance of various features of BizTalk Server. Post BizTalk Server 2010 Beta, you may also choose to opt out of this program. For more information about this program and its privacy policy, see Microsoft BizTalk Server CEIP Privacy Policy(http://go.microsoft.com/fwlink/?LinkId=188553).

Updated Platform Support

BizTalk Server 2010 includes support for the following software versions:
  • Windows Server 2008 R2
  • Windows Server 2008 SP2
  • Windows 7
  • Windows Vista SP2
  • SQL Server 2008 SP1
  • SQL Server 2008 R2
  • Visual Studio 2010
  • Microsoft Office 2007
  • Microsoft Office 2010 (x86 only)
BizTalk Server 2010 also supports upgrade from BizTalk Server 2006 R2 and BizTalk Server 2009. For more information, see http://go.microsoft.com/fwlink/?LinkId=183138

New Features in BizTalk Server 2009

New Features in BizTalk Server 2009



With the June 2006 release of BizTalk Server 2006, the fourth generation of the Microsoft business process integration server, customers gained the benefits of integration with Microsoft Visual Studio 2005 and 64-bit support. BizTalk Server 2006 also enhanced the existing administration functionality, introduced new capabilities for business activity monitoring (BAM), and enhanced the core messaging engine.
BizTalk Server 2009 builds on the core architecture of BizTalk Server 2006 and makes strides in all dimensions of application-to-application, business-to-business, and business-process automation. This topic describes the new and enhanced features available with BizTalk Server 2009.

EDI Enhancements

Electronic Data Interchange (EDI) is one of the most prevalent means by which businesses exchange data electronically. It represents approximately 75 percent of all business-to-business electronic transactions and grows at about 5 to 7 percent per year. EDI usage entails message syntax and standards (including ANSI X12 and UN/EDIFACT), messaging protocols, and transports.
BizTalk Server 2006 R2 introduced the ability to process EDI messages using EDI pipeline components, as well as AS2 support. BizTalk Server 2009 improves EDI support with the following features:
Dynamic EDI Envelope Generation:
  • Override EDI envelope settings at runtime by setting context properties.
  • Values configured in party resolution are used unless the specific value is overridden.
Multiple Batches
  • Multiple batch configurations can be created for each party.
  • Batch lifecycle can be managed individually.
HIPAA
  • HIPAA schemas now support equivalent segments.

AS2 Enhancements

Transmitting EDI transactions over the Internet is an increasingly popular alternative to sending and receiving EDI using value-added networks (VANs). Using the Internet for data exchange reduces costs, increases efficiency, and has advantages in terms of redundancy and scalability.
To support this growing trend, BizTalk Server 2006 R2 introduced support for EDIINT AS/2 (Applicability Statement 2). AS/2 is a specification that enables transport of business data over the Internet in a safe and reliable manner. BizTalk Server uses AS/2-defined methods to send, receive, encrypt, decrypt, decompress, sign, and verify signatures between partners using HTTP over the Internet. BizTalk Server helps ensure the security of messages through the use of encryption keys, digital signatures, certificates, and non-repudiation.
BizTalk Server 2009 introduces the following AS/2 features:
  • Drummond Group certified for Multiple Attachment (MA) and Filename preservation (FN) support.
  • Resend messages if an MDN has not been received within a specified time frame.
  • Send and receive multiple file attachments.
  • Preserve attachment file names.

Empowerment for Developers

BizTalk Server 2009 empowers the developer by providing support for the latest .NET Framework and better integration with Visual Studio 2008.
The following are new features for developers:
  • Property pages for BizTalk artifacts are now integrated into Project Designer tabs.
  • Migrating projects created for previous versions of BizTalk Server is now handled by the Visual Studio project update wizard.
  • Support for the Microsoft Build Engine (MSBUILD).
  • Support for both release and debug builds.

Deeper Windows Server System Support

BizTalk Server 2009 provides deeper support of the Microsoft Windows Server System integrated server software by including an x86-based 64-bit version of BizTalk Server, and by supporting the latest versions of Microsoft Windows Server 2008, Microsoft SQL Server 2008, Microsoft Visual Studio, and Microsoft Virtual Server.
The following are the enhancements in Windows Server System support.
Supported platforms
  • The following 64-bit processors are supported:

    • AMD64 (x86-64)
    • Extended Memory 64-bit Technology (EM64T)
    noteNote
    Intel Architecture-64 (Itanium-based 64-bit) is not supported.
  • .NET Framework 3.5

    noteNote
    In BizTalk Server 2009, to use the BizTalk Windows Communication Foundation (WCF) adapters, you must install Microsoft .NET Framework 3.5 Redistributable Package, which can be downloaded from the following location: http://go.microsoft.com/fwlink/?LinkID=71264.
  • Windows Server 2003 SP2 or Windows Server 2008
  • Microsoft Visual Studio 2008
  • Microsoft SQL Server 2008