Melbourne Global Integration Bootcamp–Live Webinar

Melbourne Global Integration Bootcamp–Live Webinar

For those that cannot make it to a Global Integration Bootcamp event live, we will be doing live webinar for the Melbourne, Australia event (recordings will also be available after the event)

Thanks to SixPivot for providing the facility to present the Live Webinars

You need to register for each session you would like to join using the link below.

Welcome & Session 1 : API Management & API Apps

https://attendee.gotowebinar.com/register/6751857195964514305

Join Bill Chesnut, Cloud Platform & API Evangelist for SixPivot, for the opening of the 2017 Global Integration Bootcamp in Melbourne, Australia and his session on API Management + API Apps

Session 2 : Service Bus, Enterprise Integration Pack & On-Premises Gateway

https://attendee.gotowebinar.com/register/7355755161427574787

Join Nathan Fernandez, Director for Interprit, for Service Bus + Enterprise Integration Pack + On-Premises Gateway

Session 3 : Logic Apps, Flow & BizTalk 2016 (Hybrid Integration)

https://attendee.gotowebinar.com/register/7705137075781361667

Join Tanvir Chowdhury, Principal Consultant for Mexia, for Logic Apps + Flow + BizTalk 2016 (Hybrid Integration)

Session 4 : Logic Apps (cloud adapters), Azure Functions & Azure Storage

https://attendee.gotowebinar.com/register/8961793104422407170

Join Paco de la Cruz, Senior Consultant for Mexia, for Logic Apps (cloud adapters) + Azure Functions + Azure Storage

Session 5 : IoT Hub, Stream Analytics, DocumentDB & PowerBI (IoT)

https://attendee.gotowebinar.com/register/9197003930371197954

Join Sonja Bijou, Solution Designer for Interprit, forIoT Hub + Stream Analytics + DocumentDB + PowerBI (IoT)

Creating BizTalk Server 2016 Developer from Azure Gallery Image

Creating BizTalk Server 2016 Developer from Azure Gallery Image

Published by: Bill Chesnut

The process for creating a BizTalk 2016 Developer machine with 2016 has changed from the previous versions, the Azure Gallery Image does not have SQL, Visual Studio or BizTalk installed, so I will walk you through those steps here.

Start with either the Classic or ARM Azure Gallery Image (ARM Image show below)

image

Logon to your newly created machine

image

You might want to turn off the IE Enhanced Security Configuration or you will be prompted for every website you visit

image

The image does not contain Visual Studio or SQL so you will need to download those:

You might need to signup for a free Visual Studio Dev Essentials subscription on http://my.visualstudio.com

SQL 2016 Developer:

image

Visual Studio 2015 (Community is free, use Professional or Enterprise if you have an MSDN subscription)

image

SQL Server Management Tools – http://go.microsoft.com/fwlink/?LinkID=822301

You should now have these files in your download directory

image

Installing SQL 2016 Developer Edition

We are now going to install SQL 2016 Developer Edition on the image

Note: for this installation I will be using the Administrator (bizadmin) for all services, you can use the accounts dictated by your companies security policies

Installing SQL Management Tools

We are now going to install SQL 2016 Management Tools on the image

Double Click on the setup application image
Click Install image
Installation Complete, Click Close image

Installing Visual Studio 2015 Community Edition

We are now going to install Visual Studio 2015 Community Edition on the image

Note: if you have MSDN subscription, feel free to install professional or enterprise

Installing BizTalk Server 2016 Developer Edition

We are now going to install BizTalk Server 2016 Developer Edition on the image

Configuring BizTalk Server 2016 Developer Edition

We are now going to configure BizTalk Server 2016 Developer Edition on the image

Enter the “User name” and “Password” that you want to use for the BizTalk Server Services, I am using the administrators account but feel free to create and use another account

Click Configure

Note: Ignore the warning about administrator account, this is a developer machine not production

image
Click Next image
Configuration Complete

Click Finish

image

Installing LOB Adapters

We are now going to Install the LOB Adapters & SDK on the image

Double Click on Setup image
Click “Install Microsoft BizTalk Adapters” image
Click Step 1… to install SDK

Follow Setup Wizard

Note: I typically do a Complete install in everything in the Adapter Pack on a developer machine

image
Click Step 2… to install Adapter Pack

Follow Setup Wizard

Note: I typically do a Complete install in everything in the Adapter Pack on a developer machine

image
Click Step 3… to install Adapter Pack (x64)

Follow Setup Wizard

Note: I typically do a Complete install in everything in the Adapter Pack on a developer machine

image
(Optional)
Click Step 4… to install Adapter for Enterprise Applications

Follow Setup Wizard

Note: I typically do a Complete install in everything in the Adapter Pack on a developer machine

image
Open the BizTalk Server Administration Console

Expand Tree, Right Click Adapters, Click New, Click Adapter

image
Type Name WCF-SQL, Select WCF-SQL from Adapter drop down list

Click OK

Note: this is the only adapter I typically add, but feel free to add the rest of the adapters if you development project is going to need them.

image

Installing & Configuring ESB Toolkit (Optional)

We are now going to Install and Configure ESB Toolkit on the image

Final Configuration for Developer Image

We are now going to do the final configuration on the image

Open Microsoft SQL Server Management Studio from the Menu image
Connect to your database server

Click Connect

Note: full stop or period means local machine

image
Click “New Query” image
For a developer image of BizTalk is it not necessary to create transaction logs for the BizTalk Databases, so the command below will set all database into simple recovery mode so no transaction logs are created and not database backups are required

Execute the Query

select ‘alter database [‘+name+’] set recovery simple’ from master.sys.databases where database_id > 4 and state_desc = ‘online’

image
Copy the output of the previous command into a new query window image
Click Execute

Note: all the databases are in simple recovery mode so there is no need to configure the BizTalk Backup Job

image
To keep the tracking database for becoming large on the developer image, we need to setup the DTA Purge Job

Right click on the “DTA Purge and Archive (BizTalkDTADb)”

Click Properties

image
Change the name to “DTA Purge (BizTalkDTADb)”

Click Steps

image
Edit the Step image
Change the step name to “Purge”

Update the Command to the text below

Click Ok, Click Ok

declare @dtLastBackup datetime
set @dtLastBackup = GetUTCDate()
exec dtasp_PurgeTrackingDatabase 1, 10, 11, @dtLastBackup

image
Right click on the “DTA Purge (BizTalkDTADb)”

Click Enable

Note: you can then do the same and select “Start Job at Step” to make sure you don’t have any syntax errors.

image

Conclusion

This finished the basic configuration with a few extra, if you are using BizUnit, BTDF, SpecFlow or any other tools, you will need to install them now.

I would also recommend running windows update to get the latest updates installed

I hope this instruction and screen shots help you get your BizTalk Server 2016 Developer Azure Gallery Image up and running smoothly

BizTalk Server 2016 goes GA

BizTalk Server 2016 goes GA

Today marks several milestones on the history of BizTalk, it was released originally around this time in 2000 and the latest version has gone into General Availability.

There is a long list of what is new in BizTalk Server 2016, the complete list can be found here, I will highlight the one that will be the most significant to most existing BizTalk Server customers

  • SQL Server 2016 AlwaysOn Availability Groups – no more SQL log shipping for DR
  • Support for Visual Studio 2015, Windows Server 2016, SQL Server 2016 and Office 2016
  • Re-engineered SFTP adapter which will support more SFTP servers
  • Shared Access Signature support for WCF Bindings and Service Bus Messaging Adapter

Of all these items in the What New list, the most significant is the SQL Server 2016 AlwaysOn Availability Group support, in my career with BizTalk the biggest challenge at most customers was setting up a proper DR environment and since the release of AlwaysOn Availability Group in SQL 2012, most customers DBA always asked why can’t we use AlwaysOn Availability Groups, and I had to explain that they did not support MSDTC transaction that BizTalk uses MSTDC between database (in both single and multiple SQL Servers) for transactional support.  So what has change to make it supported now, heaps; there have been changes to Windows Server 2016 and SQL Server 2016 that now allow MSDTC transactions to be supported by AlwaysOn Availability Groups.  There are a few very specific details that need to be follow when setting this up for BizTalk, the most notable is that BizTalk requires at least 4 SQL Instances for it’s databases, this is because the current implementation of MSDTC supported by AlwaysOn Availability Groups does not support transaction inside of the same SQL Instance, which BizTalk uses extensively.

If you are interested in talking about how the new features and changes in BizTalk Server 2016 can help your existing BizTalk Infrastructure, please contact me.

BizTalk Continuous Integration with Visual Studio Team Services (VSTS)

BizTalk Continuous Integration with Visual Studio Team Services (VSTS)

Published By: Bill Chesnut

This blog post is to go along with my Integration Monday talk: http://www.integrationusergroup.com/biztalk-continuous-integration-continuous-deployment

Prerequisites

Your BizTalk Solution needs to be using BTDF (https://biztalkdeployment.codeplex.com/)

You need a Visual Studio Team Services Account (https://www.visualstudio.com/)

You need a BizTalk Build Server (BizTalk Developer 2013 R2 machine with BTDF installed)

PowerShell Scripts using in VSTS Build (https://github.com/Mexia/BizTalkCICD)

Modification to the BTDF EnvironmentSettings.xml file required for VSTS Build

Add a Column for Build Server with Settings File Name: Exported_BuildSettings.xml

image

Modification to the Deployment.btdfproj file required for VSTS Build

Open the Deployment.btdfproj files clip_image001
To Display the Build Number and date time of deployment on the BizTalk Server

Add the line below in the PropertyGroup shown

<BizTalkAppDescription>Version: $(ProductVersion) – Deployed: $([System.DateTime]::Now.ToString(“dd-MM-yyyy HH:mm:ss”))</BizTalkAppDescription>

clip_image003

clip_image005

To Select the correct Environment Settings file for the Build Server

Add the line below in the PropertyGroup shown


<DeveloperPreProcessSettings Condition=”‘$(IsInVSTSBuild)’ == ‘True’”>$(MSBuildProjectDirectory)EnvironmentSettingsExported_BuildSettings.xml

</DeveloperPreProcessSettings>

clip_image007
Update this line for any properties that need to be pulled from the EnvironmentSettings file clip_image009
To control which Hosts get stopped and started during the install process

Add the highlighted ItemGroup, repeat the BizTalkHosts entry for all Hosts used by the application

<ItemGroup>

<BizTalkHosts Include=”DefaultHost” />

</ItemGroup>

clip_image011
If the BizTalk Application that you are deploying references other BizTalk Applications, Add the ItemGroup show with a AppsToReference for every BizTalk Application that is referenced clip_image013
If there are other BizTalk Applications that depend on the BizTalk Application that is being deployed

Add the ItemGroup and Target to the end of the Deployment.btdfproj file

Note: add a AppsToRemove line for each BizTalk Application that depends of the BizTalk Application that is being deployed

clip_image015

Steps to Create a Build in VSTS

Open the VSTS Team Project that the BizTalk Solution is in, go to the Build Tab, Click the + to create a new build clip_image002
Select Empty

Click Next

clip_image004
Select Default for the Default agent queue

Click Create

clip_image006
Click Save clip_image008
Type the name for the build, usually the same name as the solution

Click OK

clip_image010
Click Options

Note: The build steps will be added later

clip_image012
Take Default Options

Click Repository

Note: Create Work Item on Failure if build failure work needs to be tracked

clip_image014
Select true for Clean

Click Variables

clip_image016
Take Default Configuration clip_image018
Take Default Configuration

Note: These can be set according to the clients requirements

clip_image020
Enter the string shown for the Build number format clip_image022
Take Default Configuration

Click Save

clip_image024
Click OK clip_image026
On the Build Tab

Click Add build step

clip_image028
From Utility Tasks, Select PowerShell

Click Add

Click Close

clip_image030
Configure as shown clip_image032
On the Build Tab

Click Add build step

clip_image028[1]
From Utility Tasks, Select PowerShell

Click Add

Click Close

clip_image030[1]
Configure as shown clip_image034
On the Build Tab

Click Add build step

clip_image028[2]
From Build Tasks, Select Visual Studio Build

Click Add

Click Close

clip_image036
Configure as Shown

Click the pencil at the end of the name

clip_image038
Update Name

Click OK

clip_image040
On the Build Tab

Click Add build step

clip_image041
From Test Tasks, Select Visual Studio Test

Click Add

Click Close

clip_image043
Configure as Shown

Update Step Name

clip_image045
On the Build Tab

Click Add build step

clip_image041[1]
From Build Tasks, Select MSBuild

Click Add

Click Close

clip_image047
Configure as Shown

Update Step Name

clip_image049
On the Build Tab

Click Add build step

clip_image041[2]
From Test Tasks, Select Visual Studio Test

Click Add

Click Close

clip_image051
Configure as Shown

Update Step Name

clip_image053
On the Build Tab

Click Add build step

clip_image041[3]
From Build Tasks, Select Visual Studio Build

Click Add

Click Close

clip_image036[1]
Configure as Shown

Update Step Name

clip_image055
On the Build Tab

Click Add build step

clip_image041[4]
From Build Tasks, Select MSBuild

Click Add

Click Close

clip_image057
Configure as Shown

Update Step Name

clip_image059
On the Build Tab

Click Add build step

clip_image060
From All Tasks, Select Copy and Publish Artifacts

Click Add

Click Close

clip_image062
Configure as Shown

Update Step Name

clip_image064
On the Build Tab

Click Add build step

clip_image060[1]
From All Tasks, Select Copy and Publish Artifacts

Click Add

Click Close

clip_image062[1]
Configure as Shown

Update Step Name

clip_image066
On the Build Tab

Click Add build step

clip_image060[2]
From All Tasks, Select Copy and Publish Artifacts

Click Add

Click Close

clip_image062[2]
Configure as Shown

Update Step Name

clip_image068
Click Save clip_image069
Click OK clip_image071
To Test the Build

Click Queue build

clip_image073
Take Defaults

Click OK

clip_image075
Verify build complete successfully clip_image077

Thanks for your time and I look forward to helping people on their BizTalk CI & CD journey

Comments are closed.

BizTalk Continuous Deployment with Visual Studio Team Services (VSTS)

BizTalk Continuous Deployment with Visual Studio Team Services (VSTS)

This blog post is to go along with my Integration Monday talk: http://www.integrationusergroup.com/biztalk-continuous-integration-continuous-deployment

Prerequisites

Your BizTalk Solution needs to be using BTDF (https://biztalkdeployment.codeplex.com/)

You need a Visual Studio Team Services Account (https://www.visualstudio.com/)

You need the drop folder from a BizTalk Build (BizTalk Continuous Integration with Visual Studio Team Services (VSTS) or BizTalk Continuous Integration with Team Foundation Server (TFS) 2015 Update 1 )

PowerShell Scripts using in VSTS Release Management (https://github.com/Mexia/BizTalkCICD)

Modification to the BTDF EnvironmentSettings.xml file required for VSTS Release Management

Add a Column for Release Management with Settings File Name: Exported_RMSettings.xml, add #{} around the name of the settings for use by Release Management

image

Steps to Create a Release in VSTS

Thanks for your time and I look forward to helping people on their BizTalk CI & CD journey

Comments are closed.

BizTalk Continuous Integration & Continuous Deployment

BizTalk Continuous Integration & Continuous Deployment

Published by: Bill Chesnut

This blog post is to go along with my Integration Monday talk: http://www.integrationusergroup.com/biztalk-continuous-integration-continuous-deployment/ and is designed to start people thinking about Continuous Integration and Continuous Deployment for their BizTalk Solutions, later post will cover the methods and tools.

What is Continuous Integration & Continuous Deployment

CI & CD mean a number of thing to different people and technologies, for BizTalk I think CI & CD means 3 things: Automating Build, Testing and Packaging, Making Release an easily repeatable process and Reducing Human involvement.

If we look at the the 1st one, Automating Build, Testing and Packaging, these 3 components have never been real easy with BizTalk, you can manually do each of these on a BizTalk developer workstation, but automating all or part of this process has taken a great deal of effort. At Mexia we have chosen to use the BizTalk Deployment Framework (BTDF) from Codeplex because it goes a very long way towards fixing the problems with BizTalk packaging and deployment, which we will look at in later posts.

The 2nd item to me is the hardest one with BizTalk if you have not automated the process, if one developer creates a deployment package (without BTDF) and then another developer creates another deployment package, it is very likely that they will be slight differences and the quality of the deployed code will suffer, I myself have even had these type of issues when the process to create a deployment package becomes more than a couple of pages of instructions, it is very prone to errors.  With BTDF (or the tool of your choice) and automation this can become an easily repeatable process with consistent outcomes.

The final item it something that most BizTalk project teams with be acutely aware of, losing a developer for part or all of a day to do a release or even to make some simple configuration changes, which has a flow on effect with the team falling behind in the work for the next delivery milestone.  Again if tools are used to remove the release configuration from the developers responsibility and the automating of the package creation the developers can concentrate on what developer do, develop.

Why Continuous Integration & Continuous Deployment

Many of the reason for Why do CI & CD are also defined in What is CI & CD, but I think the greatest reasons for spending the time to setup CI & CD are: consistency of delivery, reduced time to deliver and getting the developers out of the configuration loop.  The easier that the build, test, package and deploy process is the more often teams will be willing to do releases, which will benefit everyone involved in the project.

The bottom line is the easier the process to more often it will be done and the more often it is done the better the quality of the final solution.

What’s Next

This post is designed to be the 1st of a series around BizTalk CI & CD, the next post will be hands on with the tools, below is the list of what I plan to cover in this series of posts, I will update the lists with links as I publish those posts:

Thanks for your time and I look forward to helping people on their BizTalk CI & CD journey

Recap of Microsoft Ignite Conference

Recap of Microsoft Ignite Conference

 It has been a couple of weeks since I returned from attending the 1st ever Microsoft Ignite conference, it was held in Chicago and had around 23,000 attendees and heaps of really good sessions.

I think probably one of the biggest issue with IT currently is keeping up with the rate of change, this is one reason I really enjoyed attending Ignite, it gives people the ability to catch up on lots of different technologies in a short period of time, even though your brain feels like it is filling up within the 1st day or so of a week long conference. It never fails that when I am getting ready to attend an event like Ignite, I start creating my schedule and as always I have 4 to 5 session I want to attending at the same time, this year it was the 9:00am slot on both Tuesday and Wednesday that have 5 different topics that I wanted to attend, but the good thing about Ignite is that the session are recorded and available to view after the event.

Here are my highlights of the sessions I attended:

Windows 10 / Windows Server 2016

  • Universal Apps – really think this technology will help developers deliver better cross device support and I am looking forward to start working on a couple of pet projects that I have had in the back of my mind for several year.
  • Domain Joining machines to Azure Active Directory – with some of our recent BizTalk Integration projects we have create BizTalk Server environments in Azure IaaS, to do this with BizTalk it required a virtual machine running as a Domain Controller, this feature of being able to join machine to an existing Azure Active Directory will simply and extend the capabilities of BizTalk Server running in Azure IaaS.
  • Windows Hello – I have always been a believer that strong authentication is a must, I have seen too many cases where it was not. Windows Hello with both facial recognition and enhanced finger print recognition will go a long way to making strong authentication quick and easy.

API Management

  • PowerShell and C# SDK Preview – though this was only talked about a Ignite, since returning from Ignite it has been release, this is help strengthen the DevOps story around API Management
  • Policy Expressions – As with many of the Azure Technologies, API management keeps adding to the capabilities and feature at a feverish pitch.
  • Control Flow Policy –
  • Self-signed backend certificates – probably does not effect many production scenarios but this helps heaps with your dev and test scenarios with API Management
  • Source Control with GIT – the API Management team has exposed the API Management instance as a GIT repository so you can use commands to both import and export you API definition and configuration, again a big win for DevOps with API Management

TFS / Visual Studio Online Build.Preview (or sometime referred to as VNext.Build)

  • Task Based Build – Yes, no more fighting with XAML (XAML based build workflows are still their if you have them), I am very impressed with this new engine, I was able to do in just a few hours what had taken me days to do in XAML. It has now been enabled on Visual Studio Online.
  • All Task Base Build Task Source on GITHub – So if you like one of their task, but want to do a bit of customisation for your particular environment, you have access to all of their code.  I have plans for a couple of custom tasks around the BizTalk Deployment Framework.
  • XCopy build agent install – I the past you needed a build server for each team project collection, now you can have a single build server (in my case BizTalk) for a number of team project collections.

Release Management

  • Web Based – No more thick client / server to install, it is going to be part of Visual Studio Online
  • Integrated with VS Online – so when do a build you can then kick off deployments to your dev/test environment and even those higher environments with a nice approval structure
  • Same Client as Build.Preview – Leveraging the work done on the XCopy deployment for the Build.Preview agent, the release management uses the same agent.

Azure Stack

  • Run Azure on your own hardware – a feature that lots of people have been asking for, the previous Azure Pack did some, but Azure Stack has most of the Azure features.

SQL Server 2016

  • Changed from 2015 to 2016 – There are several products that have been changed from 2015 to 2016, from what I can tell, related to Windows Server 2016, BizTalk has also been changed to 2016
  • MSDTC support for AlwaysOn Availability Groups – Hopefully with this feature and BizTalk 2016 we will no longer have to rely on Log Shipping for BizTalk Server DR

Azure Service Fabric

  • Can run Azure Redundancy on you own hardware – One of the great features of Azure is that for storage you get 3 copies and for virtual machines and several other services you get 3 copies of you instances so if hardware fails you don’t notice, they have opened this up for people that want this kind of HA on their own hardware, thus removing a lot of those requirements for large clustered infrastructure servers, the recording of these session is very informative.

API Apps / Logic Apps

  • Heaps of changes since Preview Release – Again like many of the Azure products, heaps of changes in the 6-8 weeks since it was released into preview and many more changes coming before GA (sometime this summer (US))
  • Some ALM, with more coming – they have shown how to export your Logic Apps with a PowerShell command and then create a project in Visual Studio to update/change and deploy back to Azure
  • Market Place – they have talked about having different levels of Market Place and for many Enterprise Customers, this is going to be very helpful, having a Enterprise Market Place where other developers in your Enterprise can discover and reuse your API Apps and Logic Apps

There were many other session at Ignite 2015, so please go to http://channel9.msdn.com/Events/Ignite/2015 and view the session that you are interested in

Comments are closed.