Last week, June 26th to 28th, Integrate 2017 was once again held in London. This is the largest integration centered event, and a great way to have fun with the community, see amazing sessions, and get to meet the product groups. I have been to these events since the beginning, and have seen it grow into one of the best events around.
Just under two weeks away, TUGA IT will be held once again in beautiful Lisbon. TUGA IT is three days full of sessions, workshops, meeting the experts, and having a great time. After having visited last year as a participant, I am honored to have been selected as one of the speakers this year.
For quite some time, BizTalk was not getting the love it deserved. Sure, we got our platform alignment, and sometimes a new or updated adapter, but all in all, there were not many exciting new features. That changes now, with the just released Feature Pack 1 BizTalk 2016. In this feature pack, we are seeing more new features than we have in a long time, and shows that the product team, with our very own Tord at the helm, really is caring about the product once again. If you look at the user-voice page for BizTalk, you will notice a lot of suggestions are being made by the community, and this feature pack shows that we are actually being listened to as well! In this post, I will go into the new features being introduced.
This week was a busy week for me, in a very good way. I got to travel around again, this time to Sweden, together with my good buddy Steef-Jan. Having been to Sweden doing sessions last year as well, I was very much looking forward going back. I also got to speak at the Global Azure Bootcamp, a massive event all over the world with people speaking, doing labs and having all kinds of interactions around Azure.
We started on Tuesday going to Gothenburg, where I got to do a session on industrial IoT for the SWEBUG, showing how we can integrate with IoT Hub and Dynamics 365 using Logic Apps, Service Bus and more. We had a nice crowd, and lots of interaction, which is always a big plus. In my opinion industrial is where the big chances for IoT are, and had some interesting discussions on how others were seeing this. Continue reading
Yesterday, we held the first Global Integration Bootcamp, an event set up by integration communities around the world. We ended up doing the event in 12 countries, with 16 locations, over 55 speakers and an amazing number of over 650 attendees. Starting in New Zealand, and going around the globe, finally ending in Seattle, this truly has been a global event, bringing the community together.
In February I went on vacation to Australia for almost a month, and had decided to throw in some work-related activities as well (fortunately I have a very understanding wife 🙂 ). I had an amazing time here, catching up with old friends, and meeting new ones. I love the integration community, and always have a lot of fun with these people. In this post, I will go into some of the work-related highlights of my vacation.
Sydney was basically our central hub throughout the vacation, where we returned a couple of times during these weeks. My old colleague Rene Brauers lives here, as does Mick Badran, so we have had a lot of time catching up and being shown around.
Looking back on 2016
The first month of 2017 is almost over, and I was thinking back on my experiences over the last year. Looking at the integration space, 2016 was the year where Azure really matured. Of course, we already have been having the Service Bus stack for quite some time, but last year we also had Logic Apps go GA, which allows us to create flows in Azure, and easily connecting cloud services. And later in the year, Azure Functions went live as well, which gives us the ability to write small pieces of code, which can also be used from Locic Apps, closing the gap for custom code. And this was also the year we got a new BizTalk Server release, BizTalk 2016, which brings us even better integration with Azure, allowing us to focus even more on hybrid integration scenarios. For me personally, this was a year where I had lot of fun speaking, writing and visiting conferences.
In this post, I will show how we can use Visual Studio to write Azure Functions and use these in our Logic Apps. Azure Functions, which went GA on November 15th are a great way to write small pieces of code, which then can be used from various places, like being triggered by a HTTP request or a message on Service Bus, and can easily integrate with other Azure services like Storage, Service Bus, DocumentDB and more. We can also use our Azure Functions from Logic Apps, which gives us powerful integrations and workflow, using the out of the box Logic Apps connectors and actions, and placing our custom code in re-usable Functions.
Writing Azure Functions from Visual Studio
However, most developers will be used to develop from Visual Studio, with its great debugging abilities and easy integration with our source control. Luckily, earlier this month the preview of Visual Studio Tools for Azure Functions was announced, giving us the ability to write Functions from our beloved IDE. For this post I used a machine with Visual Studio 2015 installed, along with Microsoft Web Developer Tools and Azure 2.9.6 .NET SDK.
One of the great features of the BizTalk Deployment Framework is the ability to use a SettingsFileGenerator file to set your environment specific settings in an excel file, and use this in your other files, so you can have generic files like portbindings and BRE rules, being updated with the correct settings for the environment we’re working on, like DEV, TEST or PROD. If you are like me, you will probably also have placed a lot of common settings which are used accross all your applications in this file, like SSO user groups, host instance names, common endpoints, webservice users, etc. This means we end up with a lot of duplicate settings accross our environment settings files, which becomes cumbersome to maintain. Fortunatly, there is a way to work around this.
The BTDF has a nice option which we can use, to have a single SettingsFileGenerator file for all our applications. In this example we have two applications, with a couple of common settings, as well as some application specific settings. The applications were already set up with BTDF, so we already have all necessary placeholders in the PortBindingsMaster file. Lets start by creating a CommonSettingsFileGenerator file which has all these settings in one place. To do this, copy the SettingsFileGenerator from one of my projects to a general Tools directory, rename it, and update it with all the common and application specific settings.