Working in Kovai.co provides a lot of opportunities to learn and explore new things. I’m sure within Kovai.co your job role doesn’t decide your day to day work routine. Click here to know more about the work culture. Recently we had an opportunity to work in Microsoft Azure Marketplace and interestingly we came across a new case related to IIS configuration.
In this blog, I’m going to share my experience in creating a Marketplace installer for BizTalk360 and how we solved the challenge.
Different ways to install BizTalk360
There are various deployment choices for BizTalk360. To fulfill all the customer needs, there are several ways to install BizTalk360 and we provide different types of installer options:
For an overview please check here.
Before going to the problem, I would like to provide a brief insight into Microsoft Azure Marketplace and how to create an Azure Marketplace installer, since the problem appeared while creating Marketplace.
Microsoft Azure Marketplace
The Microsoft Azure Marketplace is an online store that offers applications and services either built on or designed to integrate with Microsoft’s public cloud computing platform.
The products and services offered through the Microsoft Azure Marketplace come from either Microsoft or its technology partners.
Before they become available for purchase on the Marketplace, all services and products are certified through the Microsoft Azure Certified program to ensure compatibility with the Azure public cloud.
BizTalk360 in Azure Marketplace
BizTalk360 on Azure Marketplace is suitable for customers having a full-blown setup in the cloud, such as a domain setup, Active Directory and one or more BizTalk environments running within the network. In this scenario, customers can download BizTalk360 from the Marketplace. BizTalk360 will run independently in its own virtual machine environment and will connect to all the available BizTalk environments available in the same network.
So, our task is to make BizTalk360 support the BizTalk Server 2016 installations on Microsoft Azure. For this, we must provision a complete virtual machine for the BizTalk server 2016 along with the pre-requisites to install BizTalk360. To know more about the BizTalk360 Azure marketplace installer please check here.
Create a user VM Image
Since it’s a vast process, here we would like to give a general step that required to create a managed or an unmanaged image from a generalized VHD.
Capture the VM image (for a managed database)
Generalize the VM image (for an unmanaged database)
Azure marketplace virtual machine image publishing
For in-depth Azure marketplace documentation please refer to the article here.
Once after uploading the VM image into the Marketplace, before getting into public, the images will be available in preview items (inclusively for testing) for the configured subscriptions.
During the testing, we have tried installing BizTalk360 to verify the BizTalk360 is installing automatically without any issues. Without any problem, the BizTalk360 installed its services and created a database. But it failed to create the website. In the installation log, we have found error lines (some may face different error code) to the following:
WriteIIS7ConfigChanges: Error 0x80070002: Site not found for create application.
WriteIIS7ConfigChanges: Error 0x80070002: Failed to configure IIS application.
WriteIIS7ConfigChanges: Error 0x80070002: WriteIIS7ConfigChanges Failed.
We are able to understand that the problem is not due to the creation of the Website but during the changes in it. To drill down the problem, we tried to create a web pool manually and changed its identity. During the change, we faced an exception below.
You may face this specific issue when you are running IIS 7+ and versions. When we try to change the application pool identity of an application pool to a domain account, we get the above error while committing the changes.
The error code might change according to your machine operating system and IIS version, but you will get the text as keyset does not exist while trying to update the application pool identity with a custom account or while trying to specify a connect as a user. You might also get the below error codes:
Cause of the problem
This issue happens when your IIS specific machine keys are corrupted or missing. Your machine keys might go corrupt if there was an improper shutdown of the machine or the machine was cloned from an existing image or if there was a system crash.
We have referred some blogs and articles for this issue, and they suggested to replace the machine keys. What if you don’t have a backup (Its always a good idea to have a backup of the machine keys)? Unfortunately, we have no idea about the corrupted machine keys.
Okay! Let’s see the different machine keys required in IIS for encryption.
The location of the key depends on the operating system (from Windows server 2012 onward) is basically C:ProgramDataMicrosoftCryptoRSAMachineKeys
The BizTalk360 service should be the LOCAL SERVICE account of the IIS Web Management Service (also known as WMSvc). This problem occurs because the SERVICE account does not have Read access on the iisWasKey key.
Check if the metabase.xml is corrupted or if c2319c42033a5ca7f44e731bfd3fa2b5_GUID is corrupted. In IIS any sensitive data like passwords won’t be stored in plain text and will have to be encrypted before it is stored in the config file and get decrypted accordingly when needed.
Most suggest to rebuild or reinstall IIS . But what if reinstalling IIS is not an option?
How we solved the case
We can regenerate these machine keys without reinstalling IIS completely. To do that follow the below steps.
1. Rename the below files or move them to a different location from C:ProgramDataMicrosoftCryptoRSAMachineKeys. This time I don’t want to take the risk, so I just took existing machine keys as a backup.
2. Backup applicationhost.config, then delete everything inside the tags below in applicationhost.config. Delete the contents within <configProtectedData> or <providers>.
3. Open a command prompt in admin mode and run the below command
“%windir%system32inetsrviissetup.exe /install SharedLibraries”
Now you will receive a message “the error Failed = 0x80070005”. Even though it shows a failure message, the above steps should regenerate the machine keys and the configprotecteddata section in applicationhost.config.
If the above suggestions don’t help, the most preferable option would be to reinstall IIS to fix the corruption (no other go).
Fix in the Marketplace
From my understanding, the machine keys might be corrupted due to an improper shutdown of the machine. Because we used the Sysprep command to generalize the VM.
sysprep.exe /oobe /generalize /shutdown /mode:vm
The above command helped the image to remove computer-specific information such as installed drivers and the computer security identifier (SID).
Once after running the sysprep.exe command, we faced the WriteIIS7ConfigChanges exception. So, to fix the issue, we used the below registry command to regenerate the machine keys during the machine provision/first-time launch.
in RegenerateIISKeys.reg file
Windows Registry Editor Version 5.00
“BizTalk360 Azure Marketplace Installer”=””C:AzureMarketplaceInstallerRegenerateIISKeys.bat””
In RegenerateIISKeys.bat file
START cmd.exe /k “C:WindowsSystem32inetsrviissetup.exe”
After the bootup, at the initial launch (only one time) RegenerateIISKeys.bat file will be called by the RegenerateIISKeys.reg file to regenerate the machine keys. So, during the installation of BizTalk360, the installer will have the new machine keys and the installation will be successful.
Keeping the user perspective in mind, we have built various deployment choices for BizTalk360 customers which would ease the installation and provide a user-friendly experience. You are just one click away from provisioning a brand new BizTalk360 VM in Microsoft Azure.
I want to take this opportunity once again to thank everyone in and out of Kovai.co for this wonderful opportunity and believing in us. We are looking forward, for many more opportunities.
The post BizTalk360 Azure Marketplace Installer for BizTalk 2016 appeared first on BizTalk360.
In this blog post we will update you on which new capabilities came with BizTalk Server 2016 Feature Pack 3. Earlier, we have also written about Feature Pack 1 and 2. You can find these articles here:
Introduction to BizTalk Server 2016 Feature Packs
In 2017, Microsoft started releasing so-called Feature Packs for BizTalk Server 2016. The concept of releasing these Feature Packs is that Microsoft doesn’t want their BizTalk Server customers to wait for new features, until a new release of BizTalk Server arrives. Instead, they want their customers to enjoy these new features, as soon as possible once they have been developed and are ready to go to market. As these Feature Packs contain non-breaking features, there is little risk that a BizTalk customer runs into issues as a result of installing such Feature Packs. These Feature Packs are only available with the Enterprise and Developer edition of BizTalk Server 2016.
Since Microsoft started with this strategy, they have released 3 Feature Packs:
The BizTalk Server 2016 Feature Packs are cumulative. This means that once you installed, for example, Feature Pack 3, you can also enjoy the features which were brought in Feature Pack 1 and 2.
You might have also noticed, that each Feature Update also contains a Cumulative Update. It is also possible to install these Cumulative Updates without the new capabilities which are provided by the Feature Packs. To check the most recent releases of these Cumulative Updates, please check this web site:
What’s new with BizTalk Server 2016 Feature Pack 3
This Feature Pack brings improvements in below mentioned areas:
- Compliance with US government accessibility standard
- Privacy – Compliance with FIPS and GDPR
- SQL Server 2016 SP 2 – Deploy multiple databases per instance of an Availability Group
- Office365 Outlook Email – Send and Receive messages using Office365 e-mail
- Office365 Outlook Calendar – Create appointments using Office365 schedules
- Office365 Outlook Contact – Create Office365 contacts
- Web Authentication – Authenticate with Azure AD and OAuth using Microsoft Enterprise Single Sign-On
- Advanced Scheduling – Set up recurrence on Receive Locations with greater precision
Compliance with FIPS and GDPR
As of this Feature pack, BizTalk Server is compatible with FIPS (Federal Information Processing Standard) and GDPR (General Data Protection Regulation).
FIPS is a standard developed by the US federal government for use in computer systems by non-military government and agencies. The specification comes with standards for among others:
- Codes – country, region and state codes, weather conditions, emergency indications
- Encryption – Data Encryption Standard, Advanced Encryption Standard
In case of BizTalk Server, this relates to how data becomes encrypted and decrypted in SQL Server. FIPS-compliance is enabled in the Operating System, under Local Policies; refer to the screenshot below. Once enabled, SQL Server will enter the FIPS compliant mode, thereby using cryptographic standards as defined in FIPS 140-2.
GDPR is a European law on data protection which intends to regulate the privacy of individuals in the European Union. This new law supersedes Data Protection Directive 95/46/EC from 1995.
If you want to read more about BizTalk and GDPR, there are few resources written by Sandro Pereira on this topic:
Multiple databases in Availability Groups SQL instances
Also SQL Server 2016 SP 2 is supported from Feature Pack 3. This is especially good news when you are running SQL Server Availability Groups. Because this allows you to have multiple BizTalk databases in the same SQL instance. As this was not possible earlier, this made setting up BizTalk Server in Availability Groups complex and expensive. The reason for that, is because you needed to have multiple SQL Server instances than without Availability Groups and more expensive as you need to license each SQL Server instance in the Availability Groups.
New Adapters for Office365 connectivity
Few other interesting features of this Feature Pack are the adapters for Office365 Email, Calendar and Contacts. These adapters allow you to use Office365 accounts for receiving and transmitting emails, creating and updating calendar items and creating contacts.
The Office365 Email adapter
This adapter can be uses both for receiving as for transmitting messages. In BizTalk terms, you can use this adapter both on Receive Locations as on Send Ports.
On the receive side the adapter enables you to:
Select a folder from which to retrieve email
Select a timestamp from which you want to receive emails
Retrieve unread emails only
Select an action after the email has been read, like marking the email as read or deleting the email
When transmitting emails via a Send Port, you can set the following properties:
To – separate email addresses with a semicolon (‘;’), maximum 256 characters
CC – separate email addresses with a semicolon (‘;’), maximum 256 characters
Subject – enter maximum 256 characters
Importance – select Low, Normal or High from the drop down in the Send Port
Also, it is important to realize that you can only send plain text messages.
Once you receive an email on a Receive Location, the Receive pipeline adds promoted properties, which you can use for routing the emails. These promoted properties are:
The Office365 Calendar adapter
You can use this adapter both for receiving events as for transmitting events. To be able to receive/send events you need to have the XSD schemas for both operations. You will find these schemas here:
Program Files (x86)Microsoft BizTalk Server 2016SDKSchemas
Related to calendars, this folder contains the following schemas:
The advantage of having these schemas is, that you can determine yourself which elements you will promote for routing purposes.
When you want to receive calendar items, you can select a calendar from an Office365 Outlook account. Next, you can configure that you want to receive events which are starting within a particular time frame.
You can also use the adapter to create events from BizTalk Server. Therefore, you can, populate a message according the above mentioned Send schema. Yet, some event properties can also be set on the Send Port. The properties you can set on a Send Port are:
The Office365 Contact adapter
You can use the Contact Adapter for creating contacts in Office365. For this adapter too, Microsoft has provided a schema. You will find this schema in the same location as the Calendar schemas and has the following name:
Again, because you can add this schema to your BizTalk solution, you can determine yourself which fields you would like to promote. The Send Port configuration only allows you to sign in with an Office365 account. You cannot configure any contact properties on the Send Port.
Note: To be able to use the Office365 adapters from BizTalk, besides Feature Pack 3, you need to install TMS. This service refreshes the Office OAuth tokens which BizTalk uses. After installation of the Feature Pack, navigate to the installation folder of BizTalk Server (Program Files (x86)Microsoft BizTalk Server 2016). There you will find BizTalkTMS.msi, which you must install.
Read this article for more details about the Office365 adapters for BizTalk Server 2016.
Advanced Scheduling of Receive Locations
Scheduling Receive Locations has always been hard with the out-of-the-box capabilities of BizTalk Server. Often people used the open source Scheduled Task Adapter which exists since BizTalk Server 2004. Currently, Sandro Pereira maintains this adapter on GitHub.
The open source Scheduled Task Adapter does a good job. But, organisations might prefer not to go for open source software, but still they might have a need to schedule Receive Location(s). Microsoft has listened to their requests and introduced Advanced Scheduling of Receive Locations with Feature Pack 3!
Below screenshots show how the scheduling capabilities of a Receive Location look like, before and after installation of Feature Pack 3.
In case of the Feature Pack 3 scenario, the upper part of the screen is extended with capabilities to select a time zone and to configure automatic adjustment for Daylight Saving Time (DST).
The ability of setting the time zone can help in case your integration partner(s) live in different regions of the world. Using the Time Zone drop down will make it easier to configure when Receive Locations will pick up messages according the partner’s time zone.
Daylight Saving Time, also mentioned Summer Time, is a practice which is done in a number of countries in the Northern and Southern hemisphere. During DST, the clock becomes advanced one hour close to Spring and adjusted backwards in Autumn. This way daylight lasts longer in the evening. These adjustments might effect the proper working of your interfaces. That’s why Microsoft introduced the ability to automatically adjust the schedule of your Receive Locations, according DST.
By the way: did you know that the Data Monitoring features in BizTalk360 are also compliant to Daylight Savings? Our colleague Mekala wrote an article about it. Here you have the link to that article:
Especially the Service Window capability of Receive Locations are improved hugely. The original ability to configure just a Start and a Stop time has been extended with the following recurrence features:
- Daily – configure the number of recurring days and from which date the recurrence will be active
- Weekly – configure the number of recurring days, from when the recurrence will be active and on which weekdays the recurrence must be active
- Monthly – configure which months and which days the recurrence should take place
With BizTalk Server 2016 Feature Pack 3, Microsoft has released many useful features for BizTalk Server 2016. The Office365 adapters, the improved scheduling capabilities and the support of SQL Server 2016 SP2 (because of simplification of Availability Groups) can be considered as the most useful ones.
Meanwhile, the community is also waiting for the release of BizTalk Server vNext which has been announced recently. This version of BizTalk underlines the on-going commitment of Microsoft in the platform. The new version of BizTalk will, amongst others, contain all the release Feature Packs for BizTalk Server 2016.
You can receive this kind of announcements and many other interesting articles in the Microsoft Integration space directly in your email box, by subscribing to our monthly Integration Newsletter. You can find the August edition of this newsletter, which provides more information about BizTalk vNext, here.
Microsoft earlier today released BizTalk Server 2016 Feature Pack 2 for Microsoft BizTalk Server. This release comes 7 months after Microsoft announced the Feature Pack 1 for Microsoft BizTalk Server 2016.
The BizTalk Server 2016 Feature Pack 2 (FP2) contains all functionalities of Feature Pack 1 and all the fixes in the Cumulative Update 3. This FP2 can be installed on BizTalk Server 2016 Enterprise and Developer Edition. You can download the latest version from here.
What’s available in BizTalk Server 2016 Feature Pack 2
In BizTalk Server 2016 Feature Pack 2, Microsoft is adding the following capabilities –
- Deploy applications easily into multiple servers using Deployment Groups
- Backup to Azure Blob Storage account
- Azure Service Bus adapter now supports the Service Bus Premium capabilities
- Full support for Transport Layer Security 1.2 authentication and encryption
- Support for HL7 2.7.1
- Expose SOAP endpoints with API Management
- Event Hub Adapter to send and receive messages from Azure Event Hubs
- Ability to use SQL default instances and SQL named instances with Application Insights
Application Lifecycle Management with VSTS
With BizTalk Server 2016 Feature Pack 1, Microsoft introduced the capability where users can perform continuous build and deployment seamlessly. Check out the detailed blog article that covers the ALM Continuous Deployment Support with VSTS via Visual Studio capability in detail.
In BizTalk Server 2016 Feature Pack 2, Microsoft has added improvements where users can use deployment groups to deploy BizTalk applications to multiple servers. This comes in addition to using the agent-based deployment.
Backup to Azure Blob Storage account
In BizTalk Server 2016 Feature Pack 2, once you have installed and configured BizTalk server, you can configure the Backup BizTalk Server job to backup your BizTalk databases and log files into Azure Blob storage account.
Event Hub Adapter in BizTalk Server 2016
With BizTalk Server 2016 Feature Pack 2, you can send and receive messages between Azure Event Hubs and BizTalk Server.
Azure Service Bus adapter now supports the Service Bus Premium capabilities
You can use the Service Bus adapter to send and receive messages from Service Bus queues, topics and relays. With this adapter, it becomes easy to connect the on-premise BizTalk server to Azure. In BizTalk Server 2016 Feature Pack 2, you can send messages to partitioned queues and topics. Additionally, FP2 supports Service Bus Premium capabilities for enterprise scale workloads.
Expose SOAP endpoints with API Management
With the BizTalk Server 2016 Feature Pack 2 release, you can expose a WCF-BasicHTTP receive location as an endpoint (SOAP based) from the BizTalk Server Admin console. This enhancement comes in addition to the API Management integrations made in Feature Pack 1 where you can expose an endpoint through API Management from BizTalk.
Ability to use SQL default instances and SQL named instances with Application Insights
In BizTalk Server 2016 Feature Pack 1, Microsoft introduced the capability for users to be able to send tracking data to Application Insights. The Feature Pack 2 supports additional capabilities such as support for SQL default instances and SQL named instances. In addition, users can also send tracking data to Azure Event Hubs.
Within Application Insights, under the Metrics section, select Custom to view the available tracked properties.
Image Source – Microsoft Documentation
Download and Get Started with BizTalk Server 2016 Feature Pack 2
The BizTalk Server 2016 Feature Pack 2 can be installed on BizTalk Server 2016 Enterprise and Developer Edition (retail, CU1, CU2, CU3, FP). You can download the latest version from here.
It is really exciting to see the Feature Pack updates being released by the Pro Integration team. This really shows their commitment to Microsoft BizTalk Server and their vision to integrate on-premise solutions with the cloud.
Currently BizTalk Server 2016 has support for REST, but the support is fairly limited and is missing some feature that most developer expect from REST services.
To overcome these missing feature for companies that are exposing these services to their consumers/partner over the internet, I will show you have to use Azure API Management to publish SOAP services from BizTalk as REST.
For this blog post I took the Hello World example from the BizTalk SDK samples and converted it to a Request/Response orchestration and used the WCF publishing wizard to publish
Publish schema as WCF service (this allows better control over the URL)
Rename the Service and Operation, Select Schemas
Select the location to publish to and I am allowing Anonymous for my example
Note: I ended up using BizTalkWcfService2 as the URL, because an issue I am working with the API Management group
Now you need to setup the App Pool and make sure you can get the WDSL, for this example, We also need to update the WSDL to have the internet name for the server, by default the WSDL is going to be generated with the local server name
I downloaded the WSDL file and changed the server name
Open your Azure API Management Instance and go to the Add a new API blade
Click Upload to upload the WSDL file, if it was not necessary to change the WSDL file you could use the URL instead
Update the highlighted fields with your values, Click “Create”
Wait for the create to complete, Click “Done”
Now before we can use our newly imported SOAP service exposed as REST, we need to add it to a Product to allow users to call it.
I am using a Product Named BizTalk, you can create and use any Product Name you like
Now I go back to the API Definition, Click on our “submit” operation
Then Click on the “Test” Tab
This is the Test blade, notice that API Management has supplied the API Management Subscription Key (necessary to call API Management, this is based on the product we put our API in), the Sample JSON Document and a “Send” button to test with. Click the “Send” button
View the results of the call
You will notice that the send and receive bodies are JSON, but we are calling a SOAP Service, this is what the SOAP call would look like
Lets now examine how API Management published our SOAP Service as REST, on the API tab, Click the “View Code”
The API Management use a policy to do the inbound and outbound transformation, the policy uses the liquid language to do the translation from JSON to XML and them XML to JSON and include error handling
The process of importing our WSDL as REST to SOAP automatically created the policy that does the transformations and also created the inbound and outbound JSON schemas
In a later blog post I will talk about how you can modify the schemas and the transformation.
One of the main features that BizTalk is missing with its REST adapter is the ability to provide the definition of the API for the clients to use to generate the code to call our REST services, in the Developer Portal, API Management provides either Open API (swagger) or WADL for our clients to use.
I hope this blog post helped you understand how you can use Azure API Management to publish your BizTalk SOAP Services as REST
Last week I had the privilege not only of attending the INTEGRATE 2017 conference in London, but presenting as well. A huge thanks to Saravana Kumar and BizTalk360 for inviting me as a speaker – what a tremendous honour and thrill to stand in front of nearly 400 integration enthusiasts from around the world and talk about Hybrid Connectivity! Also, a big thanks to Mexia for generously funding my trip.
With 380+ attendees from 52 countries around the globe, this is by far the biggest Microsoft integration event of the year. Of those 380, only four of us that I know of came from APAC: fellow MVP speakers Martin Abbott from Perth and Wagner Silveira from Auckland NZ, as well as Cameron Shackell from Brisbane who manned his ActiveADAPTER sponsor stand. Wagner would have to take the prize for the furthest travelled with his 30+ hour journey!
I’ve already published one blog post summarising my take on the messages delivered by Microsoft (which accounted for half of the sessions at the event). This will soon be followed by a similar post with highlights of the MVP community presentations, which in addition to BizTalk Server, Logic Apps, and other traditional integration topics also spanned into the new areas of Bots, IoT and PowerApps.
Aside from the main event, Saravana and his team also arranged for a few social events as well, including networking drinks after the first day, a dinner at Nando’s for the speakers, and another social evening for the BizTalk360 partners. They also presented each of the BizTalk360 product specialists with a beautiful award – an unexpected treat!
You have to hand it to Saravana and his team – everything went like clockwork, even keeping the speakers on schedule. And I thought it was a really nice touch that each speaker was introduced by a BizTalk360 team member. Not only did it make the speakers feel special, but it provided an opportunity to highlight the people behind the scenes who not only work to make BizTalk360 a great product but also ensure events like these come off. I hope all of them had a good rest this week!
As with all of these events, one of the things I treasure the most is the opportunity to catch up with my friends from around the globe who share my passion for integration, as well as meeting new friends. In my talk, I commented about how strong our community is, and that we not only integrate as professionals but integrate well as people too.
Arriving a day and a half before the three day event, I had hoped to conquer most of the jet-lag early on. But alas, the proximity to the solstice in a country so far North meant the sun didn’t set until past 10:30pm while rising just before 4:30am – which is the time I would involuntarily wake up each day no matter how late I stayed up the night before! Still, adrenalin kept me going and the engaging content kept me awake for every session.
And no matter what.., there was always time for a beer or two!
I look forward to the next time I get to meet up with my integration friends! If you missed the event in London, you’ll have a second chance at INTEGRATE 2017 USA which will be held in Redmond on October 25-27. And of course, if you keep your eyes on the website, the videos and slides should be published soon.
(Photos by Nick Hauenstein, Dan Toomey, Mikael Sand, and Tom Canter)
The Microsoft BizTalk Server community is one of the long-standing powerful technical communities in the world I’ve seen in an enterprise segment. For many years community members across the world have done numerous events like user group meetings, community gatherings, innovations days etc. This following LinkedIn statement by Tord Glad Nordahl who works as a Program Manager in BizTalk Server team at Microsoft is a testament to the above statement.
What is Global Integration Boot camp?
The idea of Global Integration Boot camp is pretty simple, uniting all the community members in the Microsoft Integration space across the world and conduct a one-day event on the same day.
Beginning of this year a group of people in the community along with Microsoft decided to go ahead with the plan. Hence the birth of Global Integration Boot camp (GIB).
The date was fixed to March 25th 2017 for the first GIB and a Slack group was set up for the core organizers to communicate. As you can see from the below screen shot from Slack there are 61 members in the group who worked behind the scene to make this event a great success.
Out of that 61 people, there are few outstanding contributors (core organising team) whom I wanted to personally acknowledge and thank for their relentless work behind the scene to make this event a grand success Eldert Grootenboer, Sven Van den brande, Rob Fox, Bill Chesnut, Martin Abbott, Dan Toomey, Glenn Colpaert, Lex Hegt, Steef-Jan Wiggers, Wagner Silveira, and all those people who contributed to GIB.
The format of the event is to have 3 to 4 sessions followed by a lab exercise in each location. The session and labs are focused on the following technology stack (all related to Integration)
BizTalk 2016 : BizTalk Server 2016, what’s new, and using the new Logic Apps adapter
Logic Apps : Creating Logic Apps using commonly-used connectors
Service Bus : Build reliable and scalable cloud messaging and hybrid integration solutions
Enterprise Integration Pack : Using the Enterprise Integration Pack (EIP) with Logic Apps
API Management : How does API management help you organize and secure your APIs
On-Premise Gateway : Connecting to on-prem resources using the On-Premise Gateway
Hybrid Integration : Hybrid integrations using BizTalk Server and Logic Apps
Microsoft Flow : Learn to compose flows with Microsoft Flow
Welcome message from Microsoft Product Group
The Microsoft Product Group from Seattle Jim Harrer, Jon Fancey, Tord Glad Nordahl, Kevin Lam, Jeff Hollan, Darek Li has put together this short intro video to GIB
What are the challenges?
Anything you do for the first time is going to raise a great deal of scepticism whether something like this will work? The organisers did a great job of convincing people across different countries, the list started off some 5-6 countries initially and gradually expanded as the event got the moments. For example a couple of locations were added just 2 or 3 weeks before the event date.
The second biggest challenge was securing venues at different places. In majority of the countries the event was conducted at Microsoft venues and in some places the partner organisations provided the space. It’s not just the space, for a whole day event like this there are a lot of logistics need to be addressed like food, drinks, and in some places security staff etc.
The organizers did an excellent job in addressing these challenges and moving forward seamlessly.
Locations, Organisers, Speakers and Sponsors
Following table summarises all the global locations in total 12 countries and 16 locations. Microsoft played an active role across all the locations in helping local sponsors, organisers to make this event a grand success.
Interesting Pictures from the event
These pictures shows the depth of the event across various locations 12 countries, 16 locations, 55 speakers and 650+ attendees.
Missed out on GIB? then don’t miss INTEGRATE 2017
If you have missed out all the fun of GIB 2017, then don’t miss out attending INTEGRATE 2017. It’s bigger in scale, all the Microsoft Product Group team and majority of the speakers who participated at GIB 2017 will be present in a single location in London. The registrations are now open for INTEGRATE 2017 and filling super fast.
The post Global Integration Boot camp – a great success story appeared first on BizTalk360.
Last week I had to move some databases quickly from one SQL server environment to another. Traditionally you would have built your new SQL servers, backup and restored your databases, user logins and SQL agent jobs and then run some VB scripts from your BizTalk Server to reconnect everything up (https://msdn.microsoft.com/en-us/library/aa547833(v=bts.20).aspx). This article describes another way to do this if you have chosen to use availability groups.
I had built a BizTalk 2016 on premise environment using SQL 2016 Availability groups for two talks that I did at Ignite NZ 2016 and on Integration Monday. I built this before Windows Server 2016 went RTM and had used the latest technical preview that was available at the time. I was preparing to put this into cold storage in case I wanted to demo this again but first I wanted to change to a supported version of Windows server. Windows Server 2016 Standard Technical Preview 5 expires this month and I tried upgrade to Windows Server 2016 but this was not allowed. I began to think about the traditional way of moving databases above but my brain began to hurt when I thought about how I was going to handle the availability groups etc but….then the light bulb went on
I decided to use SQL Always ON and failover to move my databases to a new server and then retire the old servers.
- I created two new Windows Server 2016 Standard Servers and joined them to the same Windows Failover Cluster that the Windows 2016 Server TTP5 were part of.
- I installed SQL 2016 Developer Edition on these two new servers and installed the same SQL instances that I had on the TTP5 servers.
- I used a SQL service account for all instances and SQL server agents.
- I scripted all the logins and SQL agent jobs from the TTP5 server and applied these to the same instances on the new SQL servers. So now we had a new SQL servers like this without any BizTalk databases.
- On one of the SQL servers I had to open the registry and explicitly set the FQDN instance names for the SQL agents to run. e.g
- I copied all the firewall exclusions for the SQL instances and the SQL instance endpoints to the new servers.
- I created the SQL Endpoint listeners on each instance with a script like this — =============================================
— On both nodes, create an endpoint called AG1_endpoint that listens on TCP port **7022**
— Run this script once on each node. PLEASE DO THIS OR ELSE YO WILL HAVE PAIN.
— Create endpoint on server instance that hosts the primary replica:
CREATE ENDPOINT AGbts16sqlmgt_endpoint
AS TCP (LISTENER_PORT=7023)
FOR DATABASE_MIRRORING (ROLE=ALL)
- On each instance I added the two new replicas and started the synchronization. GOTCHA here: I had to remove one of my failover replicas before doing this because you can only have a maximum of three failover replicas. If you ignore this then all the steps work except you get an error like when you try to failover.
- Finally I failed over to one of the new servers , removed the old TTP5 servers and evicted them from the windows cluster. It was gratifying to see that BizTalk server kept running through out this process.
- I had to add two linked servers so that the “BizTalk Backup’ SQL agent job would run if a failover occurred. If you don’t do this you get “ Could not find server ‘bts16_listenerruntime’ in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers.”
select name from sys.servers
EXEC sp_addlinkedserver @server=’bts16_listenerruntime’
EXEC sp_addlinkedserver @server=’bts16_listenertracking’
select name from sys.servers
What I have learnt from this experience is that you can use the Availability groups as a way of moving BizTalk database to new servers without much downtime and fuss. This also shows how one might carry out a DR test.
Hey you, yes you! I reckon you ended up reading this blogpost due to the enticing title. Well awesome, now that I have your attention.
Like all things in nature, things evolve. Well they either evolve or get instinct. By sharing this post I hope you as an Integration Specialist want to evolve as well and don’t get extinct.
So how would you know if your existence as an Integration Specialist is not about to get obliviated from this world? Well keep on reading..
Let’s start off with: Yes BizTalk Server is here to stay for the foreseeable future. BizTalk Server 2016 was just released and once again this is proof that Microsoft is still heavily investing in this great , one of a kind, integration platform.
You might wonder, how does Microsoft keep it alive? Well Microsoft is doing so by constantly evolving as it understands the business needs and the fact that integration space is changing and now both spans on-premises as the cloud and a clear example of this is to be seen with the new release of BizTalk Server 2016. This release a new adapter is being introduced which allows us to seamlessly expand into the Hybrid Integration Space, the logic app adapter for BizTalk. Besides this adapter we offcourse still have our good ‘old’ friend the SB Messaging adapter (service bus).
Anyways I am digressing. What about that thing I mentioned before; about becoming extinct as an Integration Specialist? Well, please allow me to elaborate.
Isn’t it true that when you decided to take up on a career within IT you were fully aware that you would need to keep your skillset and knowledge constantly up to date (I.e.; keep on learning new and exciting stuff). Well how many of you, actually do, keep up to date; and I mean really up to date, thus not only reading up on the new stuff but actually getting your hands dirty.
Most of the integrators I talk to, work day in day out with BizTalk Server, and although reading up on for example Logic Apps, Service bus, Azure functions, App Services, Service Fabric, Azure API management and so forth most of them have not really gotten their hands dirty and played around with these awesome services in Azure which open up new ways with regards to integration capabilities.
If I ask them why? I Usually get the same answer, no time, our company does not allow for us to use the Cloud, no need as we use BizTalk, not mature enough, don’t know where to start, it changes all the time, and so on. Well I do understand these answers and I most certainly do understand that ideally we would love to be able to learn these new skills in our boss’ time, but hey let’s wake up! You can decide to wait until this time arrives or you simply start investing in yourself! Anyways the longer you wait the harder it will get and that day where you will be deemed extinct will only get closer and closer. So please do not let this happen, don’t become extinct, evolve! The last thing you want is to end up like Milton from Office Space (https://www.youtube.com/watch?v=Vsayg_S4pJg)
In order to evolve you will need to expand your knowledge and be able to apply everything you learned (think integration patterns, integration best-practices etc.) in this new Hybrid world; and yes sorry to tell you; you won’t get far by merely clicking, copy and pasting and dragging and dropping. No you will need to level-up your foundational skills.
At this point you might ask yourself, how do I level-up my foundational skills and where do I start? Well it’s actually simpler than you might think especially considering that the chances are pretty big that you are a seasoned BizTalk Specialist which is able to solve the most complex integration challenges using all the capabilities within BizTalk, sure some areas are more familiar than others but overall; you have the skills, capabilities , know all the EAI patterns, love to decouple services and you know that Microservices is nothing more than another implementation of SOA and heck yeah you’ve been doing that for years. So yes you have a great foundation and that on itself gets you halfway there.
Nevertheless you will have to level-up and that my friend is only to be done in one way and that’s by exposing yourself to these new technologies and start experimenting. In short make those flying hours and don’t decide to be a passenger, become the pilot. Make mistakes, because by making mistakes we learn. If you are stuck reach-out to the community, attend user group meetings and so on and before you notice you will have skilled up and you are one step further away from getting extinct and one step closer to evolving even further.
So in fact it is pretty simple to ensure you will not get extinct, all it takes is that additional push in the right direction to get you moving and hopefully I’ve been able to contribute to this little push. So don’t wait any longer and get started
- If you don’t have an Azure Subscription, sign up here for a free trial and receive $260 in credits – or join visual studio dev essentials and get $25 dollar of Azure Credits per month for a year
- Have a look at one of the following resources to learn more about Logic Apps, API Management, Service Bus and BizTalk Server 2016
- Logic Apps
- API Management
- Service Bus
- BizTalk Server 2016
If you are in Sydney Australia, please do check out the Hybrid Integration Platform Usergroup and feel free to join us for one of our meetups!
Microsoft IT’s Enterprise Integration Platform (EPS) team became the first to go-live on BizTalk Server 2016. The platform that is managed by EPS is one of the most critical in the Microsoft ecosystem as it processes over 30 million B2B transactions per month worth in excess of USD 120 Billion annually with 2000 + partners using multiple message formats including X12, EDIFACT, XML, SWIFT spans across all business domains viz., Supply Chain, Finance, Human Resources, Volume Licensing. The initial functional & performance test results of BizTalk 2016 were so encouraging that the team implemented a “critical” trade screening business process that ensures screening of organizations, consumers before Microsoft sells its products and services.
This project is part of overarching initiative to optimize infrastructure costs by adopting Azure’s IaaS & PaaS offerings and completely eliminating on premise footprint. This is where BizTalk 2016 delivers key business value due to its compatibility with Azure IaaS while providing a supported High Availability solution. Yes, that’s right – unlike its predecessor, BizTalk Server 2016 leverages out-of-box SQL Server 2016’s “Always On Availability Group ” functionality to provide high availability solutions on Azure IaaS. This release also provides BizTalk connectors to support hybrid integration scenarios.
While the PaaS story of B2B integration matures with the rapid emergence of Logic Apps, Microsoft was fully focused on this new release of BizTalk Server as it allows existing customers to move to Microsoft supported BizTalk-IaaS solution without having to change existing BizTalk applications. To ensure a defect-free release of BizTalk 2016, Microsoft IT and BizTalk Product Group collaborated to identify top enterprise integration scenarios which need to be tested before general availability (GA) of BizTalk 2016 and be the first customer to adopt BizTalk 2016 on IaaS. To achieve this objective, rigorous testing and validation was performed along the following lines:
- BizTalk functional testing on IaaS
- All artefacts, including different adaptors and message types
- End to end flows which include B2B and hybrid A2A scenarios using the new Logic Apps adaptor.
- Individual Application data and sanity validation tests
- High Availability tests
- Change the backend SQL HA/DR architecture of the SQL WFSC cluster to SQL Always On Availability Group and potential implications/best practices to adhere to.
- Extreme HA tests, including MSDTC edge case scenarios.
- Performance & Load testing
- Performance tests (sustenance, peak load behavior, etc.)
- Reliability tests (peak load auto-recovery)
- Scalability tests (ability to handle up to 5X the normal traffic load patterns)
The migration from BizTalk Server 2013R2 was “lift and shift” or as is basis. Existing BizTalk applications from 2013R2 were used as is.
The experience overall with BizTalk Server 2016 on Microsoft Azure IaaS VMs has been exciting, especially with the new set of features including IaaS High-Availability support, Logic Apps adaptor, improved BizTalk Admin UI console and new features which have made administration easier than before. Additionally, due to the migration to IaaS, the team has been able to consolidate and optimize hardware requirement exactly as per use, thereby already showing up to 20% cost savings annually in the initial analysis.