Sunday, November 27, 2016

Begineer to BizTalk Expert : Interview with Rachit Sikroria

Welcome to 24th interview of the series, today's expert is Rachit Sikroria.

Rachit Sikroria is a Senior BizTalk Consultant at Tata Consultancy Services (TCS).  He has 6 years of experience with EAI and ETL technologies. He is specialized in Microsoft BizTalk Server 2006 - 2016, Microsoft Azure, Business processes (EAI / B2B, ETL & BPM), Microsoft .NET Framework & ESB and SOA solutions. He enjoys supporting the BizTalk Community through continued participation on the MSDN and TechNet Forums. He is an individual who can wear many hats in the application life cycle, but has a focus on design and development, with the goal of becoming more of an Architect. 
Microsoft awarded him the prestigious Azure MVP of the year 2016 for his outstanding contribution to the Microsoft BizTalk Server community.

One applaudable thing is that Rachit is been top answerer on MSDN forums:



Let's begin the interview.....

Mahesh: Who are you and what you do? 
Rachit: My name is Rachit Sikroria. I am based in Gurgaon, India where I serve Tata Consultancy Services as a Senior BizTalk Consultant, specialized in Integration and Cloud technologies on the Microsoft technology platform. I have had the opportunity of working in many exciting industries such as Commercial Aviation, Banking, Finance & Energy and Utilities.

Mahesh: When did you start working on BizTalk?
Rachit: It was 31st Jan, 2011 when I was hired by a consulting firm. I was a novice at that time with only a training of a fortnight. I was then assigned a project for one of our clients where I started learning and exploring with BizTalk Server 2006.
Throughout my career, I have been opportune to work on latest technologies with a lot of sleepless and tough yet exciting moments in service.


Mahesh: How did you Master BizTalk Server?
Rachit: No one can really master BizTalk. It is just that we can become better and better with every successive project. In the initial years of my career, I was required to read a lot of books and blogs but with time I realized that reading is not enough, it is important that one should start practically implementing things too. So, what counted as actual learning for me were the real situations that I bumped into almost every now and then. My knowledge came through the success that I found in those hit and trials.
Also, throughout my career I got the opportunity to work with different Industries with different integration requirements which helped me gain the expertise while working out the best fit solutions.
At this stage of my career I can say one thing about BizTalk, that, I live it, breathe it, and absolutely love it.

Mahesh: What are your major projects?
Rachit: I have completed 2 major projects which lasted for a year each. One of them was for a well-known financial company where we had to bridge the front-end website with the back-end systems and help in building their middleware/BPM platform using BizTalk Server.  The other was for one of the major airlines of UK where we had to setup their Booking and E-Ticketing system. 
These two have been the most demanding and inspiring projects I was involved in so far where we faced challenges in removing blocking issues, and satisfying low-latency requirements by implementing different design patterns within the stringent SLAs. 
I also got a chance to integrate BizTalk with different software packages like SharePoint, SAP, Oracle, SQL and CRM Dynamics. 

Mahesh: How you compare BizTalk with other Integration products? 
Rachit: I have not used any other integration platform so far. Therefore, I can’t really compare! But I can surely say that BizTalk Stack (BizTalk Server, Windows, SQL Server, Visual Studio, .Net, SharePoint, IIS) is much more than just a BizTalk Server. You can do a lot more with BizTalk than any other offering. 
Another advantage is of course the encouraging community support we have. 

Mahesh: What as per you is a must to know to become an Integration (BizTalk) expert.
Rachit: Fore-mostly, the professional should have a passion for technology and BizTalk/Integration in particular. The second is the skill to analyze the requirement and have the capability to decide when to use BizTalk and when not to. We come across a lot of questions on the MSDN forum where professionals have implemented BizTalk instead of the ETL tool like SSIS that was more suited.  
Not to forget in today's cloud-enabled world, it is important that the experts should evolve with the new offerings. With the recent release of BizTalk Server 2016, we can now connect both traditional on-premises applications to cloud-native applications seamlessly. We have BizTalk Azure VMs available to move our on-premises setup to cloud as well. So, there is a lot to explore and as an integration expert, one should be ready to stay abreast of the latest technologies.

Mahesh: What are your thoughts on the forums, blogs and articles etc.?
Rachit: I think that the existence of platforms like Microsoft MSDN Forums, Blogs, Code Gallery, and TechNet Wiki have played a crucial role behind the success of Microsoft technologies. They are sources of readily available expertise and you get solutions for most of the issues in just few clicks over the Internet. 


Mahesh: Your suggestion to a newcomer? What should be their approach to get sound knowledge in BizTalk?
Rachit: I always say that Knowledge is no fortune that happens through a windfall gain. One gets in the cycle of learning, remembering and sharing and it is a long-devoted process. Work with lots of learned techies, read and observe. Like in any other discipline, start with the basics and in case of severity, come back to them. Chances of failing minimize if one has a strong base knowledge. Perfection comes later!
For one stop shop for BizTalk, I would refer the following link. This link holds all the excellent articles written by MVPs and other BizTalk Community members across the globe.
http://social.technet.microsoft.com/wiki/contents/articles/2240.biztalk-server-resources-on-the-technet-wiki.aspx

Mahesh: There are many tools from community which support BizTalk in one or the other way (like BTDF, Bizunit etc), what do you say about it? Which ones you would recommend? Why?
Rachit: I would say that they all are life savers. Tools like BTDF, BizUnit, BizTalk Server Pipeline Component Wizard, BizTalk CAT Instrumentation Framework Controller, BizTalk Mapper Extensions UtilityPack and many more are highly useful tools.

Mahesh: What are your thoughts about BizTalk certification?
Rachit: If I were to choose, I would rather prefer a professional having Microsoft Forums and Technet contributions listed in his/her resume than a certification. The former reflects more about the person’s capability and penchant.

Mahesh: What is the future of BizTalk?
Rachit: People keep asking question like “Is BizTalk Server Going Away at Some Point”, “Does Microsoft BizTalk Server Have a Future?” and “Is BizTalk dead?”. My answer to them is NO, BizTalk is not dead, it is very much alive and kicking. BizTalk server is still the best on-premises integration platform available, and it is not changing anytime soon. Microsoft is still committed to release a new version of BizTalk Server around about every 2 years. BizTalk and Logic apps, both are integral part of Microsoft integration roadmap. With the release of a new Logic Apps adapter for BizTalk and the BizTalk Connector for Logic Apps the integration between BizTalk Server and Logic Apps is fulfilled.


Mahesh: What motivates you to do the community work?
Rachit: For me, the highest compliment is to see people finding their solutions through my answers. I am in awe of other contributors who have achieved intellectual zenith. The biggest motivation is that this community work has helped me both, share and receive knowledge. So, when I am answering someone’s question, I’m also learning the many things I am ignorant of. Recently, I even started sharing code samples and writing Wiki articles. 


Mahesh: Being an MVP, do you feel that responsibilities get added? What is your thought on MVP?
Rachit: May be not a responsibility, but it is definitely an impetus to do more in this field. To learn that Microsoft recognizes our efforts, a virtual leadership is created in us that makes us go on and on with our services. MVP award has given me that extra connection with the Microsoft Product team and it leads to professional growth. Being a part of the Private mailing-list that has all Azure MVPs together and several Microsoft employees too (including members of the Azure team), is like a dream come true! I am now offered invitations for all the webcasts and tech session which keep me abreast of the latest progress in Microsoft technologies.


Mahesh: From my perspective, Microsoft keeps coming up with Overlapping technologies like recent ones MABS and Logic Apps, in some situation it gets puzzling. What you say? 
Rachit: Honestly, this strategy left me quite disappointed too, it seems a little attention was paid to MABS by the product team. Now that MABS is being phased out in favor of Logic and API Apps, and rightly so, as MABS never had the full capabilities of BizTalk Server. For example, you don't have orchestrations/long-running workflows, there was no way to have parallel and conditional execution, No in-built business process management capabilities or business rules engine. It was just good for lightweight integration scenarios at best.


Thanks a lot Rachit for sharing your insights and experiences, this will surely benefit many !!!

Feel Free to ask questions to Rachit in the comments!!!!!!!! 




Related Post:



Wednesday, November 23, 2016

How to install BizTalk Health Monitor v3.2

In previous version of BHM, you had to register the MBVSnapIn.dll 🙂

Here are the steps:

  • Open a command prompt as an administrator
  • Navigate to the BizTalkHealthMonitor folder
  • Run InstallUtil.exe MBVSnapIn.dll


And followed by adding it to MMC, but this is lot simplied in version 3.2 .

Following is the Link to download setup file:
https://www.microsoft.com/en-us/download/details.aspx?id=43716




After download, unzip the package to your preferred location – I have unzipped it in 


Click on BHMSetup and Run as Administrator


You will see Installation page

Click on Start Installing 


In few seconds you will see installation is completed


As can be seen I have checked all the check boxes, you can uncheck based on your preferences. I clicked on Exit and following error popped out

This is a known issue with Windows Server 2012 and Windows 10 and to resolve this issue, steps are mentioned in the error page (see above).

Click on properties and  go to General Tab
----> 

You see against Security the Unblock button, we need to click on it.


Same process has to be followed for MaintenanceRep.dll


Now repeat the initial step of installation and after installation now you should be able to see following, BizTalk Health Monitor MMC having BizTalk Server Administration and Event Viewer (it is because we had checked the option to include while installation)


As I installed it on my personal demo machine, only one profile is shown, click on Analyze Now
On the Dashboard you can see the current analysis report and in case you want to analyse later sometime -- you can simply right click and choose Analyze now


Note that whenever you run Analyzer, log for that is maintained as can be seen in image below(marked in yellow)








Thursday, November 17, 2016

How to get Retry Count of Successful sent attempt -Two way Scenario

In the last post we saw how to get retry count of successful attempt of transmission in one way scenario, there we used Delivery Notification property of logical send port where NACK actually generates Delivery Failure exception, but that property doesn't work with web service call i.e. request- response port.

Why?

In case of two way port the "Delivery Notification" is implicit in the Receive Operation, so either you receive a service response message or an error message thus completing the call i.e. confirming Delivery. 

But what if the service you are calling is stopped or unavailable temporarily? Do we get Delivery Failure exception? 

To demonstrate what exception we get and how to get Retry count of the successful attempt in case of webservice call, have created very simple WCF Service with four methods and deployed it on the same machine, followed by consuming it using BizTalk WCF consuming Wizard.

WCF service code



published webservicebrowsing the service








How to do 



Scenario:


The scenario is simple, you have to invoke a Add method of HelloWordWCFservice and if there is failure then retry has to be done and log the retrycount when service call was successful.




Input schema 

input schema

Output schema and generated files by wizard

artifacts generated by Consuming wizard

Creating Orchestration


Orchestration with retry logic

The steps remain same as demonstrated in earlier post,the change here is we have request-response port, one send port where the response message from service call and have included following exception blocks 

exception blocks


Here if you see, I have placed the exception blocks based on relevance, of most likely exception to be raised.

Testing



1. Service is up and running


In this scenario, the call was successful and the response message was saved at the configured folder.


event log for successful transmission

2. Service is stopped with Retry count set to 3 and retry interval set to 1 minute (Service started after 1 minute)


event log for exception caught

As can be seen above the type of exception raised was Soap Exception when the service was stopped and we get the RetryCount of the successful attempt i.e. 1 when service started.

Note: The Delivery Notification property(either None or Transmitted) has no effect on the behavior


Download Sample