BizTalk as EAI Tool PPT

I have created this presentation to show the concept of BizTalk server as Enterprise Application Integration. And about how does BizTalk fit in the Enterprise Application Integration concepts, How does BizTalk fulfill the Security criteria, Error Handling and Business Monitoring

BizTalk_Interprise Application Integration

Advertisements

Enterprise Application Integration

Enterprise Application Integration:

In modern era, the concept of EAI is more relevant in IT industry. This is era of SAAS (Software as a system) and from large to small company everyone tries to create product and sell. And every organization cannot depend on one software or technologies. So, Enterprise integration becomes the vital part of organization. In software industry there are several tools available for integration to make easy and effective integration. In below PPT I have provided brief details of Enterprise Integration.

Integration_Architecture

Enterprise_Integration_Architecture

 

MSDTC issue while configuring BizTalk

Issue: 

The local MS DTC detected that the MS DTC on database has the same unique identity as the local MS DTC. This means that the two MS DTC will not be able to communicate with each other. This problem typically occurs if one of the systems were cloned using unsupported cloning tools. MS DTC requires that the systems be cloned using supported cloning tools such as SYSPREP.

Resolution:

Whenever any BizTalk configuration issue occurs then first we need to check event log. Because in log file we may not get proper reason for failed.

Sometimes after installation of BizTalk, when we are configuring BizTalk in multi-server environment then some issue occurs. Above issue occur when there is used multi-server SQL Server. And create a sql instance for that. When we are creating multi-server SQL Server, then most probably create clone of the Server in this case msdtc may be corrupted.

In above failed scenario we need to uninstall the install msdtc on SQL Server through command prompt.

There is not require any specific folder location. We just need to run command prompt as administration and the type the below code.

command prompt: >msdtc -uninstall

>msdtc -install

If require then restart SQL Server Service from Services.msc

SSO Application configuration

SSO Application configuration requires to reduce burden on BizTalk Configuration file, because using BizTalk configuration file some time create problem if any one by mistake update some invalid data then it will not run any BizTalk application. Also, you cannot set up value from BTSConfig in custom pipeline. So, to overcome this issue, there is a tool provided by Microsoft as SSOConfigurationMMCSnapIn along with SSOHelper class file.

below is the link of download SSOConfigurationMMCSnapIn software which you need to install on the system.

https://www.microsoft.com/en-in/download/details.aspx?id=14524

BizTalk 2016 has some issue with SSO Configuration Application MMC Snap-In. So Sandro Pereira has created a new tool BizTalk.Tools.SSOApplicationConfiguration to setup the data. you can download from below reference:

https://gallery.technet.microsoft.com/BizTalk-Server-SSO-e83756f7

For more details you can refer to below reference:

https://blog.sandro-pereira.com/2018/02/09/the-birth-of-a-new-sso-application-configuration-tool-for-biztalk-server-2016/

You need to create a dll file to read the key/value pair from sso configuration. SSOClientHelper.cs file is also available in SSOConfigurationMMCSnapIn downloaded file. If you doesn’t find, then create dll based on below code and gac it. Below code is mentioned in that cs file.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Collections.Specialized;

using Microsoft.BizTalk.SSOClient.Interop;

namespace SSOHelper

{

    public class ConfigurationPropertyBag : IPropertyBag

    {

        private HybridDictionary properties;

        internal ConfigurationPropertyBag()

        {

            properties = new HybridDictionary();

        }

        public void Read(string propName, out object ptrVar, int errLog)

        {

            ptrVar = properties[propName];

        }

        public void Write(string propName, ref object ptrVar)

        {

            properties.Add(propName, ptrVar);

        }

        public bool Contains(string key)

        {

            return properties.Contains(key);

        }

        public void Remove(string key)

        {

            properties.Remove(key);

        }

    }

 

    public static class SSOClientHelper

    {

        private static string idenifierGUID = “ConfigProperties”;

        public static string Read(string appName, string propName)

        {

            try

            {

                SSOConfigStore ssoStore = new SSOConfigStore();

                ConfigurationPropertyBag appMgmtBag = new ConfigurationPropertyBag();

                ((ISSOConfigStore)ssoStore).GetConfigInfo(appName, idenifierGUID, SSOFlag.SSO_FLAG_RUNTIME, (IPropertyBag)appMgmtBag);

                object propertyValue = null;

                appMgmtBag.Read(propName, out propertyValue, 0);

                return (string)propertyValue;

            }

            catch (Exception e)

            {

                System.Diagnostics.Trace.WriteLine(e.Message);

                throw;

            }

        }

    }

}

 

Code for reading Key Value data as defiled above

string archiveFilePath = SSOHelper.SSOClientHelper.Read(“ApplicationName”, “KeyName”);

You can use above code template in custom pipeline, orchestration or any other BizTalk components.

Microsoft.BizTalk.Adapter.Wcf.AdapterException: Receive location for address ServiceName.svc not found

Issue:

Webhost failed to process a request.

Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/33808916

Exception: System.ServiceModel.ServiceActivationException: The service ServiceName.svc cannot be activated due to an exception during compilation.  The exception message is: Receive location for address ServiceName.svc not found. (The BizTalk receive location may be disabled.). —> Microsoft.BizTalk.Adapter.Wcf.AdapterException: Receive location for address ServiceName.svc not found. (The BizTalk receive location may be disabled.)

Resolution:

This will happen when BizTalk web Service getting corrupted. Sometimes if we update user credential and forgot to update on respective service e.g. Enterprise SSO, BizTalk Host, Application Pool identity on IIS then it will happen

1st Approach:

  1. Check application pool identity user on IIS with BizTalk Isolated Host User. Both user should be same

2nd Approach

  1. Change application pool or create new application pool and assign the web service corresponding to the same.

3rd Approach:

if first two approach doesn’t work then we have to go for below approach

  1. Need to remove BizTalk application from BizTalk Administration Console and redeploy again along with publishing web service, its lengthy process but we must do. I was stuck for a week for trying to solve this in other way.

XML is missing in XMLDisassenbler stage: There was a failure executing the receive pipeline: Source: XML disassembler

Issue:

XML is missing in XMLDisassenbler stage:   There was a failure executing the receive pipeline: Source: “XML disassembler” Receive Port URI Reason: Item has already been added. Key in dictionary: ‘Request’  Key being added: ‘Request’

Resolution:

When we use ESB pipeline in BizTalk Receive location, this will happen when there is multiple schema in BizTalk admin console though different application. We need to specify the schema in the pipeline through help of below link:

https://vkbiztalk.com/2018/03/21/same-schema-in-different-biztalk-applications/

The type or namespace name does not exist in the namespace.

Issues: The type or namespace name does not exist in the namespace in orchestration.

Error.JPG

Reason: When we have start building solution and add orchestration. And after some time we change the name or design of the solution. And then if we create a new orchestration, that orchestration would have different namespace from older solution because solution name has been changed. So if we have two or more orchestration then they have different namespace. That’s why this issue occur when we try to build the solution.

Solution: You need to verify the type namespace in each orchestration, namespace should be unique through out all orchestration in one solution.

in short, Orchestration namespace should be same for all orchestrations under one bizTalk solution

NameSpace.jpg

An Internal Failure occurs for unknown reason

It was amazing to get this issue. Today morning I opened my BizTalk admin console and got this issue. I don’t know what was happened. Yesterday It was working fine and perfectly.

An Internal Failure occurs for unknown reason (WinMgmt)

Window Error.jpg

I have got some weird reason for this. My machine has run window updates and due to these new updated patches up I am getting this issue.

Root cause: July, 2018 Microsoft Security Updates cause errors on the BizTalk Administration Console: An internal failure occurred for unknown reasons (WinMgmt)

After applying this month’s security patches, we get the above errors in the BizTalk Admin Console when either refreshing the Group Overview or trying to view any of the Platform Settings on BizTalk Servers.

 

Solution: till now no solution is yet to figure out from Microsoft. You need to just uninstall the window updates of last day. Then restart the system and it starts working. Bingo😊

Location: We need to uninstall this update via Start->Control Panel-> Program and features-> View Install Updates

Location.jpg

Below is list of Windows updates you may need to uninstall. Few of them available and sometimes few are not available on your machine.

  • BizTalk Server 2016: KB4338605, KB4338613, KB4338424, and KB4338419
  • BizTalk Server 2013 R2: KB4338600 and/or KB4338601
  • BizTalk Server 2010: KB4338602
  • Others: This includes KB4338600, KB4338605, KB4338613, KB4338814, KB4338424, KB4338419

 

Microsoft has re issued the patches that caused above issues. Please find the details in the below link.

https://blogs.msdn.microsoft.com/dotnet/2018/07/30/net-framework-july-2018-update/