Monday, September 25, 2017

Begineer to BizTalk Expert : Interview with Toon Vanhoutte


Welcome to the 29th interview of the series, today's expert is Toon Vanhoutte.


Toon Vanhoutte, a Microsoft integration expert. For more than 10 years, he is been involved in a high variety of large and medium-sized integration projects. It all started with pure application integration with Microsoft BizTalk Server, but rapidly other technologies got involved: SSIS, WCF, WF... he has implemented many different types of integrations: EAI, B2B, SOA, ESB… Last years, the focus has been mainly on the adoption of the rich Microsoft Azure cloud platform: API Apps, Logic Apps, Azure Functions, Service Fabric, API Management, etc... Nowadays, integration is more and more moving towards hybrid setups and fully cloud based solutions.

He started as a pure developer. By combining a deep technical know-how with good communication skills, he grew towards a more consultancy oriented role. After several years, it was a natural step to become development team lead. As he got more and more involved into architectural decision making and solution design, he is now taking up to role of Integration Solution Architect. 

He is quite active member of the Microsoft integration community. He was a speaker on several community and company events. You can read some of his blog posts on the Codit Blog. He is also a Microsoft Certified Trainer, as he loves to share my experiences in training sessions or at workshops. 

Throughout his career, he has gained a specific expertise and interest in:
• ALM: applying continuous integration principles (automated build, release and deployment)
• B2B: AS2 and AS4 messaging protocols (member of OASIS ebXML technical committee) 
• SCRUM: product owner for several long-term projects (certified scrum master + product owner)
• Hybrid Integration: love to tackle challenges in this specific area

Let’s begin the interview…


Mahesh: Who are you and what you do? When did you start working on BizTalk?  
Toon: I'm Toon Vanhoutte, working as a Lead Architect for Codit Belgium.  I'm responsible for the technical vision and strategy within the company, taking up a lot of technical pre-sales activities and highly involved in solution architecture.  Codit delivers projects in four domains: Integration | API Management | Azure Solutions | Internet of Things.  During my master thesis, back in 2006, I got in contact with BizTalk Server for the first time.  Since 2007 I'm working professionally with this amazing integration product.

Mahesh: How did you mastered BizTalk (Learning path, amount of time)? 
Toon: I graduated as an industrial engineer, so I really had no IT education.  Thanks to some enormously helpful colleagues at my first job, I learned everything step-by-step.  You need to make sure you really understand the basics: .NET Framework, XML, XSLT, SQL Server and common integration patterns!  Next to that, it's important to know how BizTalk works under the hood, so you use it the right way!  Pub-sub means leveraging the BizTalk MessageBox and context properties, not using a decision shape within an orchestration!  Next to that, there are some great Pluralsight courses out there and I would definitely recommend the book Professional BizTalk Server 2006 by Darren Jefford, Kevin B. Smith & Ewan Fairweather, once you understand the base principles.  Learning on the job is still the best way to master BizTalk Server, guided by someone who really knows the product well!

Mahesh: Which are the major projects you handled so far? 
Toon: EESSI is definitely the biggest project I worked on.  It's the abbreviation of Electronic Exchange of Social Security Information.  It's an IT system, designed to help social security institutions across the EU to exchange information more rapidly and securely.  Together with my team, we were responsible to build the generic Access Point software on top of BizTalk Server, that will be deployed in more than 50 places across 32 European member states.  BizTalk has a crucial role in the secure and reliable exchange of message, using the AS4 protocol.  Throughout the coming years, EESSI will be gradually rolled out in production.  A huge project, involving complex project management, architecture and development.

Mahesh: What do you think is the most challenging part while working on Integration project? 
Toon: Convincing the customer to have an integration mindset and to decouple applications as much as possible.  The benefits or such an approach are mostly only visible after several years, which doesn't make it easy to adopt such a vision from the beginning.  Another challenge is to point also to the responsibilities for backend applications, such as providing idempotent endpoints.  An integration layer can solve a lot, but not everything.  It's always a balancing exercise between integration best practices and customer expectations.

Mahesh: How do you see BizTalk compare to other integration platform? 
Toon: I know the base feature set of some of BizTalk's competitors, but not enough to make an objective comparison.  One of the big selling points of BizTalk Server is that the product supports many open standards and that it is not build around one specific application.  It's an extremely extensible product, which means you are not limited by the product boundaries.  Nowadays, it's important to mention the smooth integration with the Azure cloud platform, which opens an enormous range of new opportunities.  And last, but not least: there's a big community around BizTalk Server, which should not be underestimated!  In several proof of concepts, we won against some competitors, thanks to the fast value creation we achieved with BizTalk.

Mahesh: What as per you is must to know to become an Integration (BizTalk) Expert? 
Toon: I don't like the term "expert", because based on the projects you've done throughout your career, there are some areas of integration that you really master and others that you just know until a certain level.  You can't be a specialist in everything.  At Codit, with combined forces, we can call ourselves integration experts, but not as a single individual.  There are three important things if you are working in integration: know your integration product(s), know your integration patterns and have good communication skills!

Mahesh: What are your thoughts on forums, blogs and articles etc.? 
Toon: The value you get out of such community content is incredible!  Just google the exception message you encounter and you'll probably find the solution on one of the forums out there.  The enormous amount of blogs and articles are really helpful if you're dealing with a new challenge: probably someone else has already encountered similar challenges and explained how he/she tackled the problem.  You can always reach out to active community members if you want to discuss a specific use case.

Mahesh: Your suggestion to a newcomers? What should be approach to get sound knowledge in BizTalk? 
Toon: First of all, make sure you are accompanied by colleagues who really know how to use BizTalk as it should.  They will guide you on the job, which is the best education you can imagine.  Next to that, ensure you obtain a profound understanding of  .NET Framework, XML, XSLT, WCF, SQL Server and common integration patterns!  As a BizTalk developer, it's essential that you don't only interact with systems, but also with the people that are in charge of them.  Communication and people skills are very important to find your way in the integration space!

Mahesh: There are many tools from community which support BizTalk in some or the other way(like BTDF, Bizunit etc), what do you say about it? Which ones you would recommend? Why? No Microsoft support available?  
Toon: The reason that these mature community tools have been developed, is because of missing functionality in the core product.  For years, these missing gaps have been ignored, but recently they got some attention by introducing a Uservoice page and releasing the BizTalk feature packs.  The most popular community tool is probably the BizTalk Deployment Framework, which is a very solid solution to deploying BizTalk applications.  The ALM story of BizTalk is being improved through various feature packs, so maybe it will get deprecated in the future.  Since a couple of weeks, BizTalk has taken its first steps in open sourcing some parts of the product.  Hopefully, some community products can be on-boarded via that channel! 

Mahesh: What are your thoughts around BizTalk certification? 
Toon: Obtaining a BizTalk certification, means you understand the base principles of the product.  However, it's not a guarantee that you will be able to deliver quality integration solutions on top of BizTalk Server.  It's a pity to see that there is no active BizTalk or Microsoft integration certification available at the moment.  Let's hope this will change in the near future.

Mahesh: What is the future of BizTalk? 
Toon: BizTalk is here to stay, more than ever before.  It's has a very extensive customer base, which can't be ignored.  The commitment of Microsoft towards the product has never been so big and clearly communicated.  Thanks to its perfect integration with Azure ServiceBus and Logic Apps, BizTalk is very well positioned for hybrid scenarios, which is reality nowadays.  Traditional enterprises that have a BizTalk solution running on-premises, can now easily benefit from the great cloud opportunities, without disrupting their running businesses.  This bring more agility and flexibility to their integration platform!

Mahesh: Any thoughts on cloud? 
Toon: Any?  Many!  Hybrid integration is reality, cloud integration is the future!  With cloud integration, I don't mean a lift and shift of BizTalk Server to Azure IaaS, but really leveraging Azure's serverless integration platform.  By combining Azure Logic Apps, ServiceBus, Functions, Event Grid and many other Azure services, you can build in no time extremely powerful integrations.  It's important to enrich these integrations with the right governance, appropriate security, end-to-end monitoring and continuous delivery.  It are exciting times to be in the integration space right now, as all these Azure services are evolving rapidly.

Mahesh: What motivates you to do the community work? 
Toon: During my first BizTalk years, I learned a lot from the community content out there.  Contributing nowadays, feels like giving something back in return.  When discovering new technologies, I love to go that extra mile, because I know I will share my findings with the community afterwards.  As all the community content I produce remains publicly available for a long time, I consider this as an extremely important part of my CV.  I have also the impression that other community members and product teams are more responsive, as they value your contributions to the community. 

Mahesh: As per the Roadmap provided by Microsoft, Logic Apps will be able to run on-premise in addition to AZURE. Do you think Azure Stack Logic Apps on prem will supersede BizTalk Server? 
Toon: I'm not convinced that Logic Apps will make it any time soon to Azure Stack.  There was the announcement that App Services will become available on Azure Stack, but Logic Apps is not part anymore of App Services, even though it was originally released as a part of it.  For on premise integration, I'm convinced that BizTalk Server will remain Microsoft's key component, as it has an extremely powerful integration with traditional line of business systems.  Logic Apps doesn't have yet such mature enterprise LOBC connectors to connect to Oracle, SAP, IBM, MQSeries, as BizTalk / Host Integration Server has.

Mahesh: From my perspective, Microsoft keeps coming up with Overlapping technologies like recent ones MABS, Microsoft Flow and Logic Apps, in some situation it gets puzzling. What you say? 
Toon: I guess this is one of the characteristics of using cloud services.  There's always overlap between different services, which can make it confusing for many people.  Once you starting digging into the details and purpose of the different Azure services, you'll notice that there are fundamental differences between them.  It requires a good understanding of the Azure PaaS offering, to ensure you use the right tool for the right job.  This often means combining different services into a single integration solution.  It's really a better together story!

Mahesh: Do you think BizTalk in cloud (IAAS) is accepted over BizTalk on Prem? Which one you prefer - what pros and cons you see? 
Toon: I don't have a real preference, as the integration challenges remain the same.  The decision to move BizTalk to the cloud is mostly part of a broader cloud strategy of an organization.  A lift-and-shift scenario is often chosen to reduce the total cost of ownership of the server infrastructure.  BizTalk Server is, in such scenarios, just one of the many applications that are moved to the cloud.

Mahesh: How do you see the step of Microsoft releasing Feature Pack for BizTalk?
Toon: I really love the more agile approach of bringing new features to the BizTalk platform.  Via this way, the product team can faster implement the suggestions from its community and customer base.  These fast releases bring of course an extra responsibility to the product team, as they need to guarantee enterprise-grade stability for these brand new features.  The first feature pack didn't bring that much value, but I'm really looking forward to the next one, as it will extend the ALM capabilities of BizTalk.

Mahesh: Microsoft is keeping on adding many things under Hybrid Integration, where should be Integration developers be focussing on? 
Toon: BizTalk Server and Logic Apps are the beating heart of Microsoft's hybrid integration platform.  When you're new to integration, these are the two products that really deserve your attention.  Next to that, it's important to understand the fundamentals of Azure API Management and ServiceBus.  Don't be afraid to experiment and play around with new Azure services.  The documentation is quite good and there's already great community content available at your fingertips!

Mahesh: Do you think the cost of using cloud services(Logic App, Service Bus etc) will be more than having infrastructure on prem.(Where transactions are in millions or more)? 
Toon: For smaller and mid-sized integration layers, I'm convinced that serverless cloud integration will be a lot cheaper, because you don't need to take care of the server infrastructure and you don't have any fixed license costs.  However, don't take it for granted that consumption based billing is always cheaper.  High throughput integrations might become very costly, if you need to pay per execution.  The fact that the cost is very unpredictable, scares some big customers.  I'm curious to see whether Microsoft's pricing will anticipate on such scenarios, in the future.


Thanks a lot Toon for taking out time and sharing your insights, experiences, this will surely benefit many !!!

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




Related Post:



Tuesday, September 19, 2017

Getting Started with Logic Apps - File Routing

The very first thing which comes in mind when starting with any Integration tool is to do couple of demo
1. How to route file from one location to another (File Routing)

In this post I intend to explore the way Logic app can be used in a scenario where only routing of files is required, also brief comparison with BizTalk File Adapter and some points to be noted.

Prerequisite:
  1. Azure subscription
  2. On Premises Data gateway (If not done already then follow -Installing and Configuring On Premises Data Gateway - By adding user to Active Directory)
Let’s start with designing the workflow:-


Create instance of Logic App
  •   Login to https://portal.Azure.com
  •   Create instance of Logic app, click on new and select Logic App
  •   Provide Name, select subscription, resource group and Location.
  •   Then select Blank Template and search for File Trigger
  •   For now there are couple of triggers available against File System
create Logic App

  •   Select the trigger type you are interested in, I have selected “when one or more files are added or modified”

  • First thing after selecting trigger is to create a connection, here we use On Premises data gateway (Connect via on-premise data gateway), thus Demo data gateway gets auto populated as it is already installed on the machine. Provide rest of the connection information.
create connection

  • After creating a connection we need to provide the Folder information, which Logic Apps needs to watch for
configure trigger

get file content action

  • Second action is to create file from the content and save it to destination folder with the same name and for that add an Action, Create File
create file action

That’s it. Logic app to route file from one folder to another folder which is on Premises is ready.




Testing


  • Created one sample xml and one text file in IN folder and both were routed to OUT folder- Logic app was triggered

Trigger successful testcase


Note: The files are not deleted from IN folder (In BizTalk file adapter deletes the files, once it drops it in messagebox)


  • Modified the already existing file in IN folder and it was routed to OUT folder - the Logic app was triggered
  • When dropped already existing sample files nothing happened - the logic app wasn’t triggered(it was skipped)

Trigger skipped testcase


Note: It seems File System trigger looks at the timestamp as well- anything older than the Interval (where it looks for new or modified files) is ignored.

If there is any other way to implement this scenario in Logic apps, then would certainly love to hear from you.


Related Post


Saturday, September 16, 2017

Check your request parameters to make sure the Path “” exists on your file system


I got this error while trying to set the input folder for File System connector Trigger in Logic apps, which is intended to trigger the Logic app which is watching a folder (with help of On premises Data gateway)


Check your request parameters to make sure the Path exists on file system



Why it happened


Before specifying the folder to watch, we need to create a connection to File System – below are the details required
 creating FileSystem connection
If you see, against username I had provided only user name, whereas it is mentioned to provide Domain\Username


What to do


We need to follow the instruction  😊 , provide the username in correct format. Specify the domain along with the username  (Domain\Username).

In my case, am connecting to folder which is Virtual Machine and it is not part of any domain, then in this scenario the Machine Name becomes the domain.
providing domain name
                                                                

After correcting the mistake, I was able to see the folders under the Root folder
Folders visible under Root folder

Friday, September 15, 2017

List of companies in Pune having BizTalk Practice

Below are the list of companies in Pune which has Projects/Practice around BizTalk Server or are using BizTalk Server, if I have missed any then please feel free to add in comments

Sr.No
Company Name
Address
Website
1.
KPIT Technologies
Hinjewadi
https://www.kpit.com/
2.
Allscripts Healthcare Solutions Inc
Kharadi
http://as.allscripts.com/
3.
TomTom
Yerawada
https://www.tomtom.com/en_in/
4.
Alliance Group Services
Magarpatta

5
Vodafone
Hadapsar

6
Tieto
Kharadi
https://www.tieto.com/
7
Emtec Technologies
Erandawane
https://www.emtecinc.com/
8
Infosys
Hinjewadi
https://www.infosys.com/
9
Atos
Hinjewadi
https://atos.net/en/
10
Capgemini
Magarpatta
https://www.capgemini.com/
11
MindTree
Hinjewadi
https://www.mindtree.com/
12
TechMahindra
Sharda Centre,Karve Road
https://www.techmahindra.com/
13
iGate


14
Zensar Technologies
Kharadi
http://www.zensar.com/
15
Wipro
Hinjewadi
http://www.wipro.com/india/
16
Syntel
Talawade
https://www.syntelinc.com/
17
MindWorx
Balewadi
http://www.mindworxsoftware.com/
18
L&T
Hinjewadi
https://www.lntinfotech.com/
19
Speheregen
Baner
http://www.spheregen.com/
20
Qeros
Baner
http://qeros.com/
21
Hitachi Consulting
Kasba Peth
https://www.hitachiconsulting.com/
22
Mphasis
Hadapsar
https://www.mphasis.com/
23
Cognizant
Hinjewadi
https://www.cognizant.com/
24
Tata Technologies
Hinjewadi
https://www.tatatechnologies.com/in/
25
TCS
Hinjewadi
https://www.tcs.com/
26
Nuance Communication
Yerawad
https://www.nuance.com/
27
EPAM
Magarpatta
https://www.epam.com/
28
Xoriant Solutions
Baner
http://www.xoriant.com/
29
SA Technologies
Kharadi
http://satincorp.com/
30
ISYX Technologies
Viman Nagar
http://www.isyxtech.com/
31
Fidelity (Formerly Sungard)
Aundh
https://www.fidelity.com/
32
Nihilent Technologies
Weikfield IT Citi Infopark
http://www.nihilent.com/
33
Harman
Magarpatta/Hinjewadi
http://www.harman.com/
34
iLink Systems    
Kharadi
https://www.ilink-systems.com/
35
i-Source Infosystems Pvt. Ltd  
ShivajiNagar
http://isourceinfosystems.com/
36
Honeywell
Kharadi
https://www.honeywell.com/
37
Fulcrum Worldwide
Hijewadi
http://www.fulcrumww.com/
38
Yerawada
https://www.telekom-healthcare.in/
39
CLSA Technologies And Services Pvt Ltd
Yerawada
https://www.clsa.com/
40
Fujitsu Consulting
Talawade
http://www.fujitsu.com/in/
41
Microchip Technology
ShivajiNagar
http://www.microchip.com/