Ive been thinking a little about some of the different technologies in the Microsoft stack and how they overlay on the different capabilities I need within the integration architectures I have been involved with over the years.
Below I have tried to list as many of the different integration capabilities that come to mind as possible and the technologies that can help you implement those capabilities both on premise, or in the cloud as Iaas or as PaaS/SaaS.
Integration Capability | On Premise | Cloud/Hybrid IaaS | Cloud/Hybird PaaS/SaaS | Partner/Other | |
---|---|---|---|---|---|
File Transfer Technologies |
|||||
File Transfer | IIS – FTP | IIS on Azure VM – FTP | API App – File Connector
API App – (s)FTP Connector One Drive Azure Blob Storage |
||
Message Orientated Middleware |
|||||
Messaging | BizTalk Server
Windows Server Service Bus MSMQ |
BizTalk Server IaaS | Azure Service Bus | ||
Publish/Subscribe | BizTalk Server
Windows Server Service Bus |
BizTalk Server IaaS
Windows Server Service Bus |
Azure Service Bus | ||
Remote Procedure Call | BizTalk Server
.net Custom |
.net Custom
BizTalk Server IaaS |
API Apps | ||
Message Routing | BizTalk Server
Windows Server Service Bus |
BizTalk Server IaaS
Windows Server Service Bus |
Azure Service Bus | ||
JSON Support | BizTalk Server
Windows Server Service Bus |
BizTalk Server IaaS
Windows Server Service Bus |
Azure Service Bus | ||
XML Support | BizTalk Server
Windows Server Service Bus MSMQ |
BizTalk Server IaaS
Windows Server Service Bus |
Azure Service Bus
Azure Storage Queue |
||
Message Streams | SQL Server Stream Insight | SQL Server Stream Insight | Azure Service Bus Event Hubs
Stream Analytics |
||
Application Access |
|||||
LOB Applications | BizTalk Server Adapters
WCF LOB Adapters |
WCF LOB Adapters
BizTalk Server IaaS |
API Apps | ||
SaaS Applications | WebAPI
BizTalk Server Adapters |
WebAPI
BizTalk Server IaaS Adapters |
API Apps | ||
Application Programming Interface | WebAPI
BizTalk Server Adapters |
BizTalk Server IaaS Adapters
WebAPI |
API Apps
Logic Apps |
||
Application Web Services | .net
BizTalk Server Adapters |
.net
BizTalk Server IaaS Adapters |
API Apps | ||
Hybrid Connectivity |
Azure Service Bus Relay Azure VPN Azure Express Route BizTalk Services Hybrid Connection |
||||
Screen Scraper | .net custom code | .net custom code hosted on Azure | UI Path | ||
Host/Legacy Applications | BizTalk – Host Integration Server
BizTalk LOB Adapters |
BizTalk IaaS – Host Integration Server
BizTalk IaaS LOB Adapters |
Host Integration API Apps | ||
Service Orientated Technologies |
|||||
Adapter | BizTalk Server Adapters
WCF LOB Adapters |
BizTalk Server IaaS
WCF LOB Adapters |
API Apps | ||
Application Wrapper | WCF
Web API BizTalk Server |
BizTalk Server IaaS
WCF Web API |
API Apps | ||
API Gateway/Proxy | Azure API Management | Sentinet | |||
ESB | BizTalk Server | BizTalk Server IaaS | Azure Service Bus + Logic Apps | ||
Data Orientated Technologies |
|||||
Database Replication | SQL Server | SQL Server VM | Data Sync | ||
Extract, Transform and Load (ETL) | SQL Server Integration Services | SQL Server VM Integration Services | Azure Data Factory | ||
Data Mart and Data Warehouse Technologies | SQL Server | SQL Server VM | Azure Data Catalog
Azure SQL Data Warehouse Azure Data Lake |
||
BAM | BizTalk Server | BizTalk Server IaaS | Power BI
Cortana Analytics |
||
Brokers |
|||||
Enterprise Application Integration | BizTalk Server | BizTalk Server IaaS | API Apps | ||
Business Process Management | BizTalk Server | BizTalk Server IaaS | Logic Apps | ||
Integration Broker | BizTalk Server | BizTalk Server IaaS | Logic Apps | ||
Industry Verticals |
|||||
HL7 | BizTalk Server | BizTalk Server IaaS | |||
EDI | BizTalk Server | BizTalk Server IaaS | Azure BizTalk Services | ||
Other |
|||||
SOAP Service Hosting | Windows Service
IIS Custom BizTalk Server |
Azure VM IIS
Azure VM Windows Service Azure VM Custom BizTalk Server IaaS |
Azure Web Role
Azure Worker Role Azure Web App Azure Service Fabric |
||
REST Service Hosting | Windows Service
IIS Custom BizTalk Server |
Azure VM IIS
Azure VM Windows Service Azure VM Custom BizTalk Server IaaS |
Azure Web App
Azure Web Role Azure Worker Role Azure Service Fabric |
||
Custom Background Processes | Windows Service
Console Application |
Azure VM | Worker Role
Web Job |
||
Connectivity Bridge | Azure Service Bus Relay
Azure BizTalk Hybrid Connection |
||||
Transaction Management | BizTalk Server
MSDTC |
BizTalk Server IaaS
MSDTC on VM |
|||
Business Rules | BizTalk Server | BizTalk Server IaaS | BizTalk API Apps | In Rule | |
Transformation | BizTalk Server | BizTalk Server IaaS | BizTalk API Apps | ||
Human Workflow | SharePoint
Dynamics CRM |
Azure VM SharePoint
Azure VM Dynamics CRM |
Office 365 SharePoint
Dynamics CRM |
K2
PNMSoft |
|
General Data Access Options | .net
NuGet SDK’s BizTalk Server Adapters API Apps ODBC .net Linq/Entity Framework |
.net
NuGet SDK’s BizTalk Server Adapters API Apps ODBC .net Linq/Entity Framework |
API Apps | ||
Identity | Active Directory
ADFS Microsoft Identity Manager Azure AD Connect |
Azure Active Directory
Azure Active Directory B2B Azure Active Directory B2C |
|||
Monitoring | System Centre | Application Insights
Operations Insights Azure Service Bus Event Hubs + Power BI |
BizTalk 360 | ||
Time Based Scheduling | BizTalk Scheduled Task Adapter
Windows Task Scheduler |
BizTalk IaaS Scheduled Task Adapter
Azure VM Windows Task Scheduler |
Azure Task Scheduler
Azure Automation Scheduling |
||
Internet of Things | Azure Service Bus Event Hubs
Azure IoT Hub Stream Analytics Machine Learning Notification Hubs |
||||
Reference Data and Metadata | BizTalk Server Cross Referencing
SQL Server Database SQL Server Master Data Services |
BizTalk IaaS Cross Referencing
SQL Server VM Database SQL Server VM Master Data Services |
Azure SQL Database
Document DB |
||
Automated Build & Deploy | Team Foundation Server
MS Build Powershell |
Team Foundation Server
MS Build Powershell Azure Resource Manager Azure Automation |
Azure Resource Manager
Azure Automation Visual Studio Online |
Not every customer needs every integration capability but its nice to know that a moderate sized set of technologies can give you the capability to deliver so many different types of integration requirement. My favourite part of the microsoft technology stack is that when you are working with organisations who are embracing the cloud there are so many options available in both the infrastructure and platform space.
The key element in my mind is that in the modern digital enterprise, technology should not be the blocker and in reality today it is often administration processes such as procurement which are far more time consuming that technology implementation. With that in mind I like the ability to, in a few clicks and with a small amount of governance, be able to add a new platform feature to support our requirements rather than each time I need a new capability have to go to market to take a stab in the dark at who is the “best of breed” of the vendors who I can then try to connect their square peg with the round holes in my integration platform to implement an integration solution which combines the two integration technologies and all of the support pain I feel later when things dont work and its always the other persons fault. The Microsoft Integration Platform combining Windows Server and Azure lets me focus on solving real business problems while others could trying manage procurement processes and vendors for months before they even start solving the real problem.
Hey thats my 2 cents there but hopefully the above gives you a good idea of what technology fits in which box
Excellent summary