Sunday, December 04, 2016

Microsoft Azure Function GA

In this blog post we will discuss an Azure Service called Azure Functions. This service has recently (15th of November) gone GA (General Available) and provides a capability of running small pieces of code in Azure. With functions, you do not have to deal that much with infrastructure, it’s the responsibility of Azure or an application (see Azure Functions Overview). The functionality you develop in a browser i.e. in the Azure Portal (Function App or, test it and done. The only aspects other than the code are scalability and pricing.

Basic Walkthrough of creating an Azure Function

In the Azure Portal, you can navigate/search for Function App. And click on Function App. Next, you’ll see a button Create and once you press that a pane will appear.

In this pane, you specify the name for the app, select a subscription, create or add to the existing resource group, choose a hosting plan, location and choose a storage account. Hit create and a quick start tab will appear once the app has been provisioned, where you can choose a scenario, a preferred language or create your own function. You can choose for the Webhook + API scenario with C# and click “Create this function”, which will create an HTTP triggered function. The first thing that will happen is that you will be taken through a tour guiding you through several tabs and options. The focus will be on the development tab once you complete the tour.

By choosing the scenario “Webhook + API” you instantly get access to sample code you can leverage. The code represents a HTTP request that takes a request and returns with a response either Hello plus or that you’ll have to provide a query string. You can run this straight away or call via Postman i.e. copy the Function URL and execute a GET.

By choosing the Integrate tab you can change the trigger, input and output bindings for your function. By clicking the document plus sign you’ll see information on the setting for HTTP and webhook bindings, including more sample code (see also Azure Functions HTTP and webhook bindings). In the next tab Manage you can enable/disable the function, and manage function keys, which are intended for security purposes (see also Working with Keys). In the Monitor tab, you observe your function runs.

The Function app settings tab below shows function app settings, that hook into the capabilities of the app service, where basically the function apps run.

In the Development tab, you can test your function by selecting test and configure how you like to test your function.

The development environment or feature of functions provides you with the necessary tools to build, test and deploy your function. You do not specifically need any other tools like Postman. However, the latter can be useful to see if your function is accessible from the outside. For testing a function see Testing Azure Functions.


The Azure function can be another solution building block in your toolbox. From a solution architecture perspective, you a few similar building blocks available such as WebJob, Flow, and Logic Apps. All capable of solving integration problems and/or automate business process. Fortunately there is guidance on what to choose: Choose between Flow, Logic Apps, Functions, and WebJobs.

Pricing is another aspect of any Azure Service you use. With functions, you can either opt for a consumption plan or regular pricing through App Service Plan, see Function Pricing. You can use the calculator to have a better indication of price.

Depending on your requirements i.e. predominantly at what scale you want to run your functions, see Scaling Azure Functions.

To build Azure Functions you can use a browser as it is a server less coding experience. However, you have the possibility of building a function using Visual Studio 2015. Note that this is still in preview.

In case you run into issues with Functions you have several options:


In this blog post we scratched the service of Azure Functions by providing a basic walk through of creating a function. The service has gone GA and extends the capabilities Microsoft Azure brings to its consumers. It’s a great addition to building Azure solutions.



Monday, October 31, 2016

Microsoft pushes integration into the new era of digitalization

Just recently Microsoft has released its tenth version of BizTalk Server: BizTalkServer 2016. This latest version will bring the cloud closer to the enterprises with connectivity to Azure Service Logic Apps. The Logic App adapter will close the gap with regards to connectivity with SaaS solutions. The Logic Apps has a myriad of connectors of various SaaS solutions like Dropbox, GitHub, Marketo, Salesforce and with Azure Services like DocDb, Machine Learning and Functions.

SaaS connectors that will grow in numbers in the near future and connectors to Azure Services. Connectors that provide connectivity to anything, anywhere, which is basically the key driver for integration. Hence the centralizing Logic Apps and BizTalk Server at the heart of Microsoft’s Enterprise Integration Platform.

We have arrived in the digital age, where applications and data is everywhere. With all types of devices, we are connected 24/7 and surrounded by data we consume. And enterprises need to be connected and have access to data in- and outside their data center or cloud. Therefore, integration plays an essential role that it always had.

Microsoft technology has evolved over the years and matured into the tools we can use in this digital age to build integrations that fulfill current business needs. BizTalk Server, and Logic App each serve the need for enterprise requirements for integration and can work together nicely. And this Microsoft’s vision for integration i.e. the unified integration experience.

BizTalk Server can provide deep integration with divers line of business systems like SAP and Oracle and act as a gateway to the cloud. Logic Apps can make enterprises more agile to quickly deploy small integration solutions with minimal overhead and lead time. Both collaborate well with API Management and the Azure Service Bus, two other key Azure Services, forming Microsoft Integration Platform. A platform designed and built for the digital age!



Creating a basic integration with Logic Apps

The new kid on the block in Microsoft’s integration portfolio is Logic Apps. And for those who do not know what a Logic App is; it’s a hosted piece of integration logic in Microsoft Azure. To be more precise the hosting is done in Azure in a similar way as a Web App and the logic are built by creating a trigger followed by a series of actions similar to a workflow. And you can simply create and built them in a browser reducing development and lead-time. In just a couple minutes up to perhaps an hour you can have one running.

The beauty of Logic Apps is that Microsoft provides tons of connectors that will enable you to connect quickly through various protocols and with an wide range of applications. And runs in the cloud meaning that you as developer have to worry less about hosting, scalability, availability and management. As a developer, you can focus on the connectivity and logic in the Logic App. Add a trigger, a few actions, configure, save, secure, test and you are ready to add value to your business. Integration at the speed of light as figure of speech or in other words integrations will no longer be the bottleneck for IT to run at the speed of business.

With Logic Apps, its connectors and other capabilities, there are numerous, if not countless, scenario’s you can think of. For example, you can setup HTTP trigger i.e. endpoint that accept a payload, which subsequently is handled in the Logic App to be processed.

Read the full article on the TechNet Wiki: TNWiki Article on create a basic integration with Logic Apps.

Tuesday, July 19, 2016

Microsoft Integration MVP 2016– 7th Time in a row!

A few weeks ago I received an e-mail from Microsoft with exciting news that my MVP status has been renewed again. I am now an Azure MVP!


For me this is the seventh time to receive this award. The sixth year in the program has been again an awesome experience, which gave me the opportunity to do great things and meet inspiring, very skilled people. I have had some interesting speaking engagement, which were fun to do and were very fulfilling. I learned a lot through speaking thanks to the community and fellow MVP's. I was able to share my experiences through these speaking gigs and other channels like this blog, MSDN Gallery, and above all the TechNet Wiki.

I would like to thank:
  • My MVP old lead William Jansen, and new MVP lead Tina Stenderup-Larsen.
  • The BizTalk Product Team, Jim Harrer, Ed Price, Mandi Ohlinger, Tord G. NordahlDan RosanovaJon FanceyPaolo Salvatori, and all other Microsoft employees involved.
  • People at my former employers: Rene BrauwersEldert Grootenboer, fellow MVP Edward Bakker and many others. 
  • At my current company DutchWorkz : Rutger van Hagen and colleguaes.
  • Fellow Microsoft Integration MVP's: Richard SeroterKent WeareMikael HåkanssonJohan Hedberg, Saravana KumarNino Crudele, Sandro PereiraStephen W. Thomas, Mick Badran (Azure), Micheal StephensonTomasso GroenendijkNicholas HauensteinSalvatore Pellitteri,Sam VanHoutteGlenn ColpeartBill ChesnutHoward S. Edidin, Martin Abbott, Leonid Ganeline, and Ashwin Prabhu, who I got learn even better and supported me in this program.
  • The BizTalk community: Mikael SandLex HegtColin Meade, Naushad Alam, Johann Cooper, Mark Brimble, Mitch VanHelden, Sven Van den Brande, Jérémy Ronk,  Maxime Labelle, Jean-Paul Smit, Dean Robertson and the collegueaes at Mexia, and many others that make the BizTalk community strong! 
  • Andrew Slivker from Sentinet.
  • Finally my wife Lian and children StanEllis and Cato for their support.
I’m looking forward to another great year in the program.



Wednesday, May 11, 2016

A solid vision for integration - Day 1 Integrate 2016

Microsoft is bringing the technologies around integration together in their vision for integration. API Management, Logic Apps, Connectors, Service Bus, and BizTalk are shaped into a hybrid type of platform. BizTalk and the logic apps form the heart in their vision to provide a seamless hybrid experience. Jim Harrer, the new PM for integration, shared the vision, services, and roadmap with us today at Integrate 2016. This event is the only integration focused event worldwide in the London Excel.

Below the picture that tells it all. And around BizTalk will see a release of the CTP2 version soon, including a first version of a logic app adapter, which will broaden the connectivity spectrum of BizTalk.

The vision shows Microsoft commitment in the integration space. Many thought that the BizTalk product was on life support and that there was no integration story. Well there is one and the roadmap shows a lot of promise. And what Microsoft has planned for us can be seen in the next picture.

The Visual Studio Integration is one of the much anticipated features that many integration professionals cheered. And it shows a good step forward. The product team shows what investments the Product team is making, which will enhance our confidence in integration with Microsoft technologies.
Integrate 2016 started with a blast and demonstrates that this is event is much needed to reestablish Microsoft as frontrunner in the integration space and that their technology and services are very relevant.

Thanks BizTalk360, their team, MVP’s, the attendees and Microsoft for making this event happening.



Thursday, March 03, 2016

BizTalk Server Extensibility (e)Book

A new BizTalk Server eBook is available for the 2013 R2 version with the focus on extensibility.

Together with Johann Cooper and Eldert Grootenboer I have written on various aspects of extensibility with BizTalk Server. The .NET framework adds tremendous value in extending BizTalk Server solutions to create more versatile, robust solutions. We discuss the extensibility for BizTalk Server from a holistic view around the following topics:

- Ports
- Orchestrations
- Deployment
- Operations
- Tooling

The eBook is available through the BizTalk360 website.

The journey started after my first webcast BizTalk Extensibility for the Integration Monday a year ago in February 2015. At first I did not have any plans to pursue anything after that talk. However, a few months later I got in touch with Johann Cooper, who I interviewed for my blog and met in person in 2014 during my visit to Australia.

We discussed opportunities of writing a book for a well-known publisher. Unfortunately a deal never materialized and we started to think about other options. Our initial thought was to create a white paper on BizTalk Server Extensibility as this didn’t have the attention we though it should have. We felt the .NET framework empowers BizTalk Server in a very valuable way, if applied with thought.

Johann and I started writing the paper at the end of September 2015. And soon it turned out that we had many topics around extensibility and predicted that the amount of material would validate making an eBook out of it rather than a paper.

Our prediction was right. After a few months we had close to 100 pages, yet some topics still required attention. Therefore, we involved Eldert as an extra co-author to end of the book in time with his expertise on some of the topics like BAM and the BTDF. His help and our motivation helped us to finish what we started in September.

We were not alone in this, as Sandro Pereira, Mark Brimble and James Corbould put in numerous hours to review our eBook. These guys are superb reviewers and helped us a great deal to evolve the eBook to a very valuable resource for you as readers to benefit from. Therefore, Sandro, Mark and James, thank you so much for your efforts and support!

I also like to extend my gratitude to BizTalk360 and Saravana Kumar, who has publish the eBook through his site. Saravana is a great support towards the BizTalk community, thank you my dear friend.

Working on this eBook demanded a lot of time for us and it was worth every second of it. I enjoyed working on it and collaborating with both co-authors and like to thank both Johann and Eldert for realizing this eBook. A year ago I never thought this end result was in the making.

Enjoy reading it,


Tuesday, February 09, 2016

BizTalk360 Version 8.0 Review

A new version of BizTalk360 has been released, version 8 which comes with a boatload of features and a complete overhaul of its user interface to provide an exceptional user experience. The product adopted a concept of widgets in the dashboard similar to the new Microsoft Azure portal. A BizTalk 360 user can now create and customize dashboards for different use cases.

The User Interface, Dashboards and Widgets.

In this post I will review a few of the new features and let’s kick off with the UI, which has improved dramatically. Intially BizTalk360 was a Silverlight application before it migrated to HTML 5. And in version 8.0 it has adjusted to what you experience on the Azure Portal and what you see with UI in devices. Below you see a customized dashboard with several widgets.

Figure 1. An example of my customized monitoring dashboard.

The end user has also the ability to create his own custom widgets via the settings page.

Picture 2. An example of creating a custom widget.

Furthermore the separation of monitoring and analytics is based upon audience targeting. An analyst or support engineer can interpret information of messaging and processes within a BizTalk Group from a different perspective as shown below demonstrating a customized dashboard.

Figure 3. An example of a customized analytics dashboard..

BizTalk360 API’s

Another incredible addition are the API’s, which offer a tremendous amount of value to enterprise customers. It brings extreme extensibility for its end users and enables the for instance to pull information from several environments. The API’s (REST web services) are the core of the BizTalk360 capabilities and the BizTalk360 front-end uses them. And as a BizTalk360 end user you can leverage all of these API's to have access to your BizTalk environment. In the setting menu under API Documentation you can find the descriptions of each API and operation. For instance if you select BizTalkApplicationService you can observe a list of operations belonging to it. Subsequently select one of the operations, Services.REST/BizTalkApplicationService.svc/GetOrchestrations, specify the environmentId and applicationName and hit “Try it out!”.

Figure 4. BizTalk360 API’s document page..

You can call the API’s from different machines, by setting the appropriate authorization in the user access policy. Calling the API operation from SoapUI will result in the same response as from BizTalk360 API Documentation.

Figure 5. Calling BizTalk360 API from SoapUI.

The look-and-feel are similar when you publish an (Web) API configured with swagger documentation describing it.

Business Rules in a browser

Yet another new feature added to BizTalk360 is the rule engine capability of BizTalk Server i.e. the business rule and composer are accessible from a browser. You can view what type rules are deployed.

Figure 6. Deployed rules in a BizTalk Group.

And one of the capabilities is that you as end user can compose new rules, edit or test them. Below you see an example of testing a deployed rule, which you can do in a browser!

Figure 7. Test of a deployed business rule.

The version of the business rules composer in BizTalk360 only supports pre-created vocabularies. Therefore, to ensure a smooth user experience, you need to create all the vocabularies you will require to develop or edit your rules in the BizTalk Business Rules Composer. In a nutshell follow the instructions on the BizTalk360 portal with regards to rules.

Live feeds

In an enormous environment various operation people perform various actions in a production or UAT environment, and it can be valuable means of real-time tracking of what happens. This new version of BizTalk360 offers live feeds and you view on the right side after click the icon (indicated in red in the picture below).

Figure 8. Live feed in BizTalk Group.

Alarms and notifications

In BizTalk360 you can set alarms, which can result in an email being sent to you.

Figure 9. An example of email indicating a receive location is down.

Or you can leverage one of the out of the box notification channels like Slack and configure an alarm using a notification channel.

Figure 10. Enable the SlackNotification on a custom alarm.

Once you have set up Slack following the instructions on BizTalk360 UI and the alarm you will receive notifications in Slack.

Figure 11. Notification in Slack.

Final words

The BizTalk360 team has worked intensely the last 12 months to bring this to the table. Not just the flexibility with widgets, yet also with the separation of monitoring and analytics, the 360 plus API’s on top of your BizTalk Group, live feeds, notifications and the rules engine. This product has definitely evolved to the next level. Expect the release of 8.0 to change the way BizTalk is being monitored!



Sunday, December 27, 2015

Year 2015

Time flies when your having fun. I did have fun this year working with Microsoft Azure and Integration at a utility company. Did an IoT project, bridged on premise applications to the outside world (Service Bus Relays and Queues) and some old skool integration. What else did I do? Well you might have guessed: speaking, travelling, and have an occasional beer. Pictures tell more than a thousand words.

Thanks everyone for reading my blog and I will continue to share my knowledge through speaking and writing in 2016.