SlideShare uma empresa Scribd logo
1 de 25
Sponsored & Brought to you by
BizTalk ALM
Toon Vanhoutte
https://twitter.com/ToonVanhoutte
https://be.linkedin.com/pub/toon-vanhoutte/6/276/84b
Integration Monday
BizTalk ALM byToonVanhoutte
Nice to meet you
ToonVANHOUTTE
Integration Architect
toon.vanhoutte@codit.eu
+32 479 905 115
@ToonVanhoutte
+9 years Microsoft Integration
Microsoft Certified Trainer
Specific interest in ALM & B2B
AS4 OASIS Committee Member
Agenda
Scope UnitTest Build Deploy
Continuous
Integration
Integration
Test
Scope
➔ Focused on Continuous Integration
➔ Technical side of BizTalk ALM
➔ Based on community software
➔ On premise, although cloud is very similar
➔ Not covered in this session:
➔ TFS details, branching, versioning strategy, automatic release notes,
load testing, test coverage, check-in policies, NuGet, SCRUM,…
5
I’m uncertain to change a
setting of this complex flat
file schema.
I’ll make a copy of this
pipeline component. It’s
used in too many flows.
When regenerating
schemas, I often forget to
update property promotion.
Deployment is too complex
for operation team, so I
spend a lot of time on that.
Old bugs are returning in
new releases. This
regression is unacceptable.
We can’t afford a long
downtime on production for
deployments.
We need faster release
cycles to fulfill the fast
changing business needs.
Existing pain points from the field
Application Lifecycle Management
7
Analyze
Requirements
Analysis Template
Functional
Technical
Develop
Team
Dependencies
Source Control
Release
Versioning
Build
Deploy
Upgrade
Maintain
Support
Hotfixes
Monitor
Continuous Integration
8
Methodology
Code Repository
Daily Check-In
Build Automation
Test Automation
Deploy Automation
Advantages
Early bug detection
Quality of delivery
Increased release cadence
Disadvantages
Initial setup
Extra cost: hard- & software
Continuous maintenance
Return on
Investment?
Bringing it all together
9
BTS
CIALM
No out-of-the-box BTS support in TFS
No out-of-the-box BTS deployment tool
Integration testing instead of unit testing
Customize build workflow
Buy, DIY or use community tools
Auto testing on deployed BizTalk environment
Granularity of deployment
Fine grained solution structure
Scenario
10
ERP
System
Receive Port
rl_Invoices.SQL
GenericXmlReceive
SQL Debatch
Orchestration
Router
Routing
Set Destination + DestinationType
Send Port
sp_Invoice_Codit.FILE
spl_CoditInvoice
FILE
Send Port
sp_Invoice_Microsoft.FILE
spl_MicrosoftInvoice
FILE
Transform
Create
Flat File
Set
FileName
Orchestration
Currency Converter
Transform
CreateConvert Request
Transform
Merge Convert Response
Send Port
sp_CurrencyConverter.WCF
PassThruTransmit
XMLReceive
WCF
WCF
Send Port
sp_Invoice_Northwind.FILE
PassTrhuTransmit
FILE
Currency
Converter
BizTalk.Demo.ALM.Core BizTalk.Demo.ALM.Invoicing
UnitTesting
Tests running on the codebase (without a deployed BizTalk application)
11
➔ Use UnitTests also to increase productivity (developer tools)
➔ Create data-driven UnitTests
➔ Create a least one UnitTest per bug
➔ Focus also on negative testing
➔ UnitTests are valuable for:
➔ .NET libraries
➔ Schemas
➔ Maps
➔ Pipelines
➔ Pipeline Components
UnitTesting
UnitTesting of a Flat File Schema
12
➔ Create a data-driven test
➔ Use Winterdom SchemaTester
UnitTesting
UnitTesting of a Map
13
➔ Use BizTalk MapTest Framework
➔ Create on base test (only 1 template file to maintain)
➔ Support for generated dates and GUIDs
➔ Define multiple test cases / variations within UnitTests
• Custom libraries called from the map
• Decision logic
• Looping logic
• Grouping logic
• Sorting logic
• Calculation logic
• …
UnitTesting
UnitTesting of pipelines and pipeline components
14
➔ Use Winterdom PipelineTester
➔ Generate pipelines on the flow
➔ Test on message content and context:
➔ Debatching
➔ Property promotion via schemas + disassembler
➔ Property promotion via custom components
➔ Transforms or content modifications within pipelines
Automated Build
15
Continuous build for UnitTesting
Source Control
 Check-In
 Branching
 Labeling
1
Build Workflow
 Get Code Base
 Build
 Unit Testing
2
Automatic Deployment
Several options available
16
➔ Standard BizTalk MSI + pre/post processing scripts
➔ PowerShell + Microsoft deployment libraries
➔ BizTalk Deployment Framework (here)
➔ MSBuild Extension Pack for BizTalk (here)
➔ BtsMsiTask (here)
➔ Codit DeployFx + ALM Suite (here)
BizTalk Deployment Framework
Features
17
➔ Create BTDF MSI during build (without deploy)
➔ Binding File Management via Excel
➔ Automatic deployment with PowerShell
➔ Versioning of MSI
➔ Deployment on BizTalk application level
➔ Fully extensible
Automated Build
18
Deployment build with versioning and deployment
Source Control
 Check-In
 Branching
 Labeling
1
Build Workflow
 Get Code Base
 Build
 Unit Testing
2
Build Workflow
 Get Code Base
 Versioning
 Build
 Unit Testing
 Deployment
Auto Deploy
 Import MSI (*)
 Install MSI (*)
 D/T/A/P
3 ACC
PROD
PowerShell Scripts
➔ BTDF-UpdateVersion.ps1
19
Based on BizTalk ALM Codeplex
➔ Updates AssemblyFileVersion for each assembly
➔ Updates BTDF MSIVersion
PowerShell Scripts
➔ TFS-CopyFilesToDropFolder.ps1
20
Based on BizTalk ALM Codeplex
➔ Copies files from build agent folder to Build Output
➔ Copies all required files into a deployable package
Build Agent Folder Build Output
PowerShell Scripts
➔ BTDF-Deploy.ps1
21
Based on BizTalk ALM Codeplex
➔ Deploys all MSI’s in the package, taking into
account application references and archive location
Deploy Package
Archive
BizTalk
Core-3.0.0.msi
Invoicing-1.0.0.msi
Invoicing-2.0.0.msi
Core-4.0.0.msi
Core  Invoicing
➔ Undeploy Invoicing
➔ Undeploy Core
➔ Deploy Core-4.0.0.msi
➔ Deploy Invoicing-2.0.0.msi
➔ Archive Core-4.0.0.msi
IntegrationTesting usingTransmock
22
ERP
System
Receive Port
rl_Invoices.SQL
GenericXmlReceive
SQL Debatch
Orchestration
Router
Routing
Set Destination + DestinationType
Send Port
sp_Invoice_Codit.FILE
spl_CoditInvoice
FILE
Send Port
sp_Invoice_Microsoft.FILE
spl_MicrosoftInvoice
FILE
Transform
Create
Flat File
Set
FileName
Orchestration
Currency Converter
Transform
CreateConvert Request
Transform
Merge Convert Response
Send Port
sp_CurrencyConverter.WCF
PassThruTransmit
XMLReceive
WCF
WCF
Send Port
sp_Invoice_Northwind.FILE
PassTrhuTransmit
FILE
Currency
Converter
BizUnit Test Case
Mock
Mock
MockSendStep MockReceiveStep
Mockifier
Automated Build
23
Deployment build with versioning, deployment and integration testing
Source Control
 Check-In
 Branching
 Labeling
1
2
Build Workflow
 Get Code Base
 Versioning
 Build
 Unit Testing
 Deployment
Auto Deploy
 Import MSI (*)
 Install MSI (*)
 D/T/A/P
3 ACC
PROD
Build Workflow
 Get Code Base
 Versioning
 Build
 Unit Testing
 Deployment
 Integration Test
Winterdom
Pipeline &
Schema
Testing
...
BizTalk
Map Test
Framework
BizTalk
Deployment
Framework
BizTalk ALM
Guidance
Transmock
Integration
Testing
Powered by the community
Questions?

Mais conteúdo relacionado

Mais procurados

Git, YouTrack and TeamCity - DDDSydney 2011
Git, YouTrack and TeamCity - DDDSydney 2011Git, YouTrack and TeamCity - DDDSydney 2011
Git, YouTrack and TeamCity - DDDSydney 2011
thinkddd
 
Continuous integration with teamcity
Continuous integration with teamcityContinuous integration with teamcity
Continuous integration with teamcity
Eugene Sheretov
 
How to build a Java Web App in the Cloud
How to build a Java Web App in the CloudHow to build a Java Web App in the Cloud
How to build a Java Web App in the Cloud
WSO2
 

Mais procurados (20)

Git, YouTrack and TeamCity - DDDSydney 2011
Git, YouTrack and TeamCity - DDDSydney 2011Git, YouTrack and TeamCity - DDDSydney 2011
Git, YouTrack and TeamCity - DDDSydney 2011
 
Tce automation-d4
Tce automation-d4Tce automation-d4
Tce automation-d4
 
ASP.NET 5 Overview
ASP.NET 5 OverviewASP.NET 5 Overview
ASP.NET 5 Overview
 
Node.js BFFs: our way to better/micro frontends
Node.js BFFs: our way to better/micro frontendsNode.js BFFs: our way to better/micro frontends
Node.js BFFs: our way to better/micro frontends
 
JS digest. November 2017
JS digest. November 2017JS digest. November 2017
JS digest. November 2017
 
Getting started with mobile application development
Getting started with mobile application developmentGetting started with mobile application development
Getting started with mobile application development
 
Continuous integration with teamcity
Continuous integration with teamcityContinuous integration with teamcity
Continuous integration with teamcity
 
Professional JavaScript Error-Logging
Professional JavaScript Error-LoggingProfessional JavaScript Error-Logging
Professional JavaScript Error-Logging
 
The WordPress Performance Team
The WordPress Performance TeamThe WordPress Performance Team
The WordPress Performance Team
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
Silverstripe CMS 4.9.0 release and beyound
Silverstripe CMS 4.9.0 release and beyoundSilverstripe CMS 4.9.0 release and beyound
Silverstripe CMS 4.9.0 release and beyound
 
Web application I have always dreamt of
Web application I have always dreamt ofWeb application I have always dreamt of
Web application I have always dreamt of
 
CI and CD with Visual Studio Team Services and Azure
CI and CD with Visual Studio Team Services and AzureCI and CD with Visual Studio Team Services and Azure
CI and CD with Visual Studio Team Services and Azure
 
Using TeamCity Inside JetBrains
Using TeamCity Inside JetBrainsUsing TeamCity Inside JetBrains
Using TeamCity Inside JetBrains
 
CI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetupCI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetup
 
TCE Automation
TCE AutomationTCE Automation
TCE Automation
 
How to build a Java Web App in the Cloud
How to build a Java Web App in the CloudHow to build a Java Web App in the Cloud
How to build a Java Web App in the Cloud
 
How TeamCity Shines for You, May 26th Webinar
How TeamCity Shines for You, May 26th WebinarHow TeamCity Shines for You, May 26th Webinar
How TeamCity Shines for You, May 26th Webinar
 
Serverless
ServerlessServerless
Serverless
 
Tomasz Janczuk - Webtaskalifragilistexpialidocious
Tomasz Janczuk - WebtaskalifragilistexpialidociousTomasz Janczuk - Webtaskalifragilistexpialidocious
Tomasz Janczuk - Webtaskalifragilistexpialidocious
 

Destaque

Destaque (20)

BRE Deep Dive
BRE Deep DiveBRE Deep Dive
BRE Deep Dive
 
The fall of the BizTalk Architect – From something abstract to something useful
The fall of the BizTalk Architect – From something abstract to something usefulThe fall of the BizTalk Architect – From something abstract to something useful
The fall of the BizTalk Architect – From something abstract to something useful
 
BizTalk on FHIR
BizTalk on FHIRBizTalk on FHIR
BizTalk on FHIR
 
BizTalk Server with SQL Server AlwaysOn
BizTalk Server with SQL Server AlwaysOnBizTalk Server with SQL Server AlwaysOn
BizTalk Server with SQL Server AlwaysOn
 
Hybrid Integration using BizTalk and Azure
Hybrid Integration using BizTalk and AzureHybrid Integration using BizTalk and Azure
Hybrid Integration using BizTalk and Azure
 
BizTalk Mapping Patterns and Best Practices
BizTalk Mapping Patterns and Best PracticesBizTalk Mapping Patterns and Best Practices
BizTalk Mapping Patterns and Best Practices
 
Azure DocumentDB for Healthcare Integration
Azure DocumentDB for Healthcare IntegrationAzure DocumentDB for Healthcare Integration
Azure DocumentDB for Healthcare Integration
 
BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)
BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)
BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)
 
What’s right & wrong with WCF-WebHTTP Adapter?
What’s right & wrong with WCF-WebHTTP Adapter?What’s right & wrong with WCF-WebHTTP Adapter?
What’s right & wrong with WCF-WebHTTP Adapter?
 
2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft2 Speed IT powered by Microsoft Azure and Minecraft
2 Speed IT powered by Microsoft Azure and Minecraft
 
The citizen integrator
The citizen integratorThe citizen integrator
The citizen integrator
 
Business activity tracking and monitoring in Logic Apps
Business activity tracking and monitoring in Logic AppsBusiness activity tracking and monitoring in Logic Apps
Business activity tracking and monitoring in Logic Apps
 
Integration with Dynamics CRM
Integration with Dynamics CRMIntegration with Dynamics CRM
Integration with Dynamics CRM
 
Monitoring on premise biz talk applications using cloud based power bi saas
Monitoring on premise biz talk applications using cloud based power bi saasMonitoring on premise biz talk applications using cloud based power bi saas
Monitoring on premise biz talk applications using cloud based power bi saas
 
Creating reusable pieces in Logic Apps
Creating reusable pieces in Logic AppsCreating reusable pieces in Logic Apps
Creating reusable pieces in Logic Apps
 
Service Bus Premium Messaging: Understanding how it works and when to use Sta...
Service Bus Premium Messaging: Understanding how it works and when to use Sta...Service Bus Premium Messaging: Understanding how it works and when to use Sta...
Service Bus Premium Messaging: Understanding how it works and when to use Sta...
 
Integration and IoT
Integration and IoTIntegration and IoT
Integration and IoT
 
Using ELK-Stack (Elasticsearch, Logstash and Kibana) with BizTalk Server
Using ELK-Stack (Elasticsearch, Logstash and Kibana) with BizTalk ServerUsing ELK-Stack (Elasticsearch, Logstash and Kibana) with BizTalk Server
Using ELK-Stack (Elasticsearch, Logstash and Kibana) with BizTalk Server
 
Microservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration finalMicroservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration final
 
Serverless integration - Logic Apps the most comprehensive integration service
Serverless integration - Logic Apps the most comprehensive integration serviceServerless integration - Logic Apps the most comprehensive integration service
Serverless integration - Logic Apps the most comprehensive integration service
 

Semelhante a BizTalk ALM

Саша Белецкий "Continuous Delivery в продуктовой разработке"
Саша Белецкий "Continuous Delivery в продуктовой разработке"Саша Белецкий "Continuous Delivery в продуктовой разработке"
Саша Белецкий "Continuous Delivery в продуктовой разработке"
Agile Base Camp
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
elliando dias
 

Semelhante a BizTalk ALM (20)

BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)
 
Tfs Build vNext (Jelle Druyts)
Tfs Build vNext (Jelle Druyts)Tfs Build vNext (Jelle Druyts)
Tfs Build vNext (Jelle Druyts)
 
Top ten integration productivity tools and frameworks - Integration Saturday ...
Top ten integration productivity tools and frameworks - Integration Saturday ...Top ten integration productivity tools and frameworks - Integration Saturday ...
Top ten integration productivity tools and frameworks - Integration Saturday ...
 
BizTalk Application Deployment
BizTalk Application DeploymentBizTalk Application Deployment
BizTalk Application Deployment
 
Documenting Your Virtual Infrastructure with PowerShell & PowerCLI
Documenting Your Virtual Infrastructure with PowerShell & PowerCLIDocumenting Your Virtual Infrastructure with PowerShell & PowerCLI
Documenting Your Virtual Infrastructure with PowerShell & PowerCLI
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
Flash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applicationsFlash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applications
 
[Portland 365Sat] PCF Custom Controls
[Portland 365Sat] PCF Custom Controls[Portland 365Sat] PCF Custom Controls
[Portland 365Sat] PCF Custom Controls
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Саша Белецкий "Continuous Delivery в продуктовой разработке"
Саша Белецкий "Continuous Delivery в продуктовой разработке"Саша Белецкий "Continuous Delivery в продуктовой разработке"
Саша Белецкий "Continuous Delivery в продуктовой разработке"
 
Building with Visual Studio Online
Building with Visual Studio OnlineBuilding with Visual Studio Online
Building with Visual Studio Online
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battle
 
Spring Native and Spring AOT
Spring Native and Spring AOTSpring Native and Spring AOT
Spring Native and Spring AOT
 
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
 
NI Package Manager
NI Package ManagerNI Package Manager
NI Package Manager
 
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
 
AWS Code Services
AWS Code ServicesAWS Code Services
AWS Code Services
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS Build
 

Mais de BizTalk360

Mais de BizTalk360 (20)

Optimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaOptimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit Kappa
 
Optimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaOptimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit Kappa
 
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
 
Integration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesIntegration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development Experiences
 
Integration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep DiveIntegration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep Dive
 
Testing for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayTesting for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration Monday
 
No-Slides
No-SlidesNo-Slides
No-Slides
 
System Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration MondaySystem Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration Monday
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBuilding workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
 
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration MondayMigrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
 
Integration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-TerraformIntegration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-Terraform
 
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-FunctionsIntegration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
 
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsIntegration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
 
Integration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-KubernetesIntegration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-Kubernetes
 
Integration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-TricksIntegration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-Tricks
 
Integration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessIntegration-Monday-Terraform-Serverless
Integration-Monday-Terraform-Serverless
 
Integration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-PlatformIntegration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-Platform
 
One name unify them all
One name unify them allOne name unify them all
One name unify them all
 
Securely Publishing Azure Services
Securely Publishing Azure ServicesSecurely Publishing Azure Services
Securely Publishing Azure Services
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

BizTalk ALM

  • 1. Sponsored & Brought to you by BizTalk ALM Toon Vanhoutte https://twitter.com/ToonVanhoutte https://be.linkedin.com/pub/toon-vanhoutte/6/276/84b
  • 3. Nice to meet you ToonVANHOUTTE Integration Architect toon.vanhoutte@codit.eu +32 479 905 115 @ToonVanhoutte +9 years Microsoft Integration Microsoft Certified Trainer Specific interest in ALM & B2B AS4 OASIS Committee Member
  • 4. Agenda Scope UnitTest Build Deploy Continuous Integration Integration Test
  • 5. Scope ➔ Focused on Continuous Integration ➔ Technical side of BizTalk ALM ➔ Based on community software ➔ On premise, although cloud is very similar ➔ Not covered in this session: ➔ TFS details, branching, versioning strategy, automatic release notes, load testing, test coverage, check-in policies, NuGet, SCRUM,… 5
  • 6. I’m uncertain to change a setting of this complex flat file schema. I’ll make a copy of this pipeline component. It’s used in too many flows. When regenerating schemas, I often forget to update property promotion. Deployment is too complex for operation team, so I spend a lot of time on that. Old bugs are returning in new releases. This regression is unacceptable. We can’t afford a long downtime on production for deployments. We need faster release cycles to fulfill the fast changing business needs. Existing pain points from the field
  • 7. Application Lifecycle Management 7 Analyze Requirements Analysis Template Functional Technical Develop Team Dependencies Source Control Release Versioning Build Deploy Upgrade Maintain Support Hotfixes Monitor
  • 8. Continuous Integration 8 Methodology Code Repository Daily Check-In Build Automation Test Automation Deploy Automation Advantages Early bug detection Quality of delivery Increased release cadence Disadvantages Initial setup Extra cost: hard- & software Continuous maintenance Return on Investment?
  • 9. Bringing it all together 9 BTS CIALM No out-of-the-box BTS support in TFS No out-of-the-box BTS deployment tool Integration testing instead of unit testing Customize build workflow Buy, DIY or use community tools Auto testing on deployed BizTalk environment Granularity of deployment Fine grained solution structure
  • 10. Scenario 10 ERP System Receive Port rl_Invoices.SQL GenericXmlReceive SQL Debatch Orchestration Router Routing Set Destination + DestinationType Send Port sp_Invoice_Codit.FILE spl_CoditInvoice FILE Send Port sp_Invoice_Microsoft.FILE spl_MicrosoftInvoice FILE Transform Create Flat File Set FileName Orchestration Currency Converter Transform CreateConvert Request Transform Merge Convert Response Send Port sp_CurrencyConverter.WCF PassThruTransmit XMLReceive WCF WCF Send Port sp_Invoice_Northwind.FILE PassTrhuTransmit FILE Currency Converter BizTalk.Demo.ALM.Core BizTalk.Demo.ALM.Invoicing
  • 11. UnitTesting Tests running on the codebase (without a deployed BizTalk application) 11 ➔ Use UnitTests also to increase productivity (developer tools) ➔ Create data-driven UnitTests ➔ Create a least one UnitTest per bug ➔ Focus also on negative testing ➔ UnitTests are valuable for: ➔ .NET libraries ➔ Schemas ➔ Maps ➔ Pipelines ➔ Pipeline Components
  • 12. UnitTesting UnitTesting of a Flat File Schema 12 ➔ Create a data-driven test ➔ Use Winterdom SchemaTester
  • 13. UnitTesting UnitTesting of a Map 13 ➔ Use BizTalk MapTest Framework ➔ Create on base test (only 1 template file to maintain) ➔ Support for generated dates and GUIDs ➔ Define multiple test cases / variations within UnitTests • Custom libraries called from the map • Decision logic • Looping logic • Grouping logic • Sorting logic • Calculation logic • …
  • 14. UnitTesting UnitTesting of pipelines and pipeline components 14 ➔ Use Winterdom PipelineTester ➔ Generate pipelines on the flow ➔ Test on message content and context: ➔ Debatching ➔ Property promotion via schemas + disassembler ➔ Property promotion via custom components ➔ Transforms or content modifications within pipelines
  • 15. Automated Build 15 Continuous build for UnitTesting Source Control  Check-In  Branching  Labeling 1 Build Workflow  Get Code Base  Build  Unit Testing 2
  • 16. Automatic Deployment Several options available 16 ➔ Standard BizTalk MSI + pre/post processing scripts ➔ PowerShell + Microsoft deployment libraries ➔ BizTalk Deployment Framework (here) ➔ MSBuild Extension Pack for BizTalk (here) ➔ BtsMsiTask (here) ➔ Codit DeployFx + ALM Suite (here)
  • 17. BizTalk Deployment Framework Features 17 ➔ Create BTDF MSI during build (without deploy) ➔ Binding File Management via Excel ➔ Automatic deployment with PowerShell ➔ Versioning of MSI ➔ Deployment on BizTalk application level ➔ Fully extensible
  • 18. Automated Build 18 Deployment build with versioning and deployment Source Control  Check-In  Branching  Labeling 1 Build Workflow  Get Code Base  Build  Unit Testing 2 Build Workflow  Get Code Base  Versioning  Build  Unit Testing  Deployment Auto Deploy  Import MSI (*)  Install MSI (*)  D/T/A/P 3 ACC PROD
  • 19. PowerShell Scripts ➔ BTDF-UpdateVersion.ps1 19 Based on BizTalk ALM Codeplex ➔ Updates AssemblyFileVersion for each assembly ➔ Updates BTDF MSIVersion
  • 20. PowerShell Scripts ➔ TFS-CopyFilesToDropFolder.ps1 20 Based on BizTalk ALM Codeplex ➔ Copies files from build agent folder to Build Output ➔ Copies all required files into a deployable package Build Agent Folder Build Output
  • 21. PowerShell Scripts ➔ BTDF-Deploy.ps1 21 Based on BizTalk ALM Codeplex ➔ Deploys all MSI’s in the package, taking into account application references and archive location Deploy Package Archive BizTalk Core-3.0.0.msi Invoicing-1.0.0.msi Invoicing-2.0.0.msi Core-4.0.0.msi Core  Invoicing ➔ Undeploy Invoicing ➔ Undeploy Core ➔ Deploy Core-4.0.0.msi ➔ Deploy Invoicing-2.0.0.msi ➔ Archive Core-4.0.0.msi
  • 22. IntegrationTesting usingTransmock 22 ERP System Receive Port rl_Invoices.SQL GenericXmlReceive SQL Debatch Orchestration Router Routing Set Destination + DestinationType Send Port sp_Invoice_Codit.FILE spl_CoditInvoice FILE Send Port sp_Invoice_Microsoft.FILE spl_MicrosoftInvoice FILE Transform Create Flat File Set FileName Orchestration Currency Converter Transform CreateConvert Request Transform Merge Convert Response Send Port sp_CurrencyConverter.WCF PassThruTransmit XMLReceive WCF WCF Send Port sp_Invoice_Northwind.FILE PassTrhuTransmit FILE Currency Converter BizUnit Test Case Mock Mock MockSendStep MockReceiveStep Mockifier
  • 23. Automated Build 23 Deployment build with versioning, deployment and integration testing Source Control  Check-In  Branching  Labeling 1 2 Build Workflow  Get Code Base  Versioning  Build  Unit Testing  Deployment Auto Deploy  Import MSI (*)  Install MSI (*)  D/T/A/P 3 ACC PROD Build Workflow  Get Code Base  Versioning  Build  Unit Testing  Deployment  Integration Test
  • 24. Winterdom Pipeline & Schema Testing ... BizTalk Map Test Framework BizTalk Deployment Framework BizTalk ALM Guidance Transmock Integration Testing Powered by the community