Post on 14-Dec-2014
description
BTUG Event
Bart ScheurweghsBizTalk Architect @ CNEXTBizTalk trainer @ CNEXTVTSP @ Microsoftbart@cnext.eu
Who am I
Developers ?Architects ?Operations ?CXO ?
Who are you ?
Another view on BizTalk deployment
How to get a BizTalk Application from DEV to TEST to PROD ?How to maintain this ? How to handle change requests ?
Purpose of this session
MSI’s Scripting using BtsTask, Powershell
What is Microsoft offering OOB?
MSI’s ?Scripting using BtsTask, powershellBTDF ?AIMS for BizTalk ?Others ?
What do you do ?
Technical diagram of my first BizTalk flow
Project A
rp_A
rl_A
rpl_AAdapter
Document A
sp_A
Adapterspl_C
OrchestrationA
Document C
Map_DocA-to-DocCommon
All involved objects and their dependencies
Demo.ProjectA
BizTalk.System
Demo.schemas.DocumentA
Demo.Maps.MapsA
Demo.PipeLines.PipeLineA
sp_A
Map_DocA_to_Common rpl_A
rp_A
rl_A
spl_C
Demo.PipeLines.PipeLineC
SchemaA SchemaC
BizTalk Assembly Port location Bts Assembly Artifact BizTalk Application
Demo.schemas.Common
The project grows
Project A
rp_A
rl_A
rpl_AAdapter
Document A
sp_A
Adapterspl_C
OrchestrationA
Document C
Map_DocA-to-DocCommon
Project Brp_B
rl_B
rpl_BAdapter
Document B
sp_B
Adapterspl_C
OrchestrationB
Document C
Map_DocB-to-DocCommon
spl_C and DocumentC are shared objects deployed in common BizTalk Application
Also the amount of objects involved
Demo.ProjectA Demo.ProjectB
Demo.ProjectC
BizTalk.System
Demo.Common
Demo.propSchema
Demo.schemas.Common
Demo.schemas.DocumentA
Demo.Maps.MapsA
Demo.PipeLines.PipeLineA
sp_A
Map_DocA_to_Common rpl_A
rp_A
rl_A
spl_C
Demo.PipeLines.PipeLineC
Demo.schemas.DocumentB
Demo.Maps.MapsB
Demo.PipeLines.PipeLineB
sp_B
Map_DocB_to_Commonrpl_B
rp_B
rl_B
SchemaA SchemaBSchemaC
propSchema
BizTalk Assembly Port location Bts Assembly Artifact BizTalk Application
Including Party information
Demo.ProjectA Demo.ProjectB
Demo.ProjectC
BizTalk.System
Demo.Common
Demo.propSchema
Demo.schemas.Common
Demo.schemas.DocumentA
Demo.Maps.MapsA
Demo.PipeLines.PipeLineA
sp_A
Map_DocA_to_Common rpl_A
rp_A
rl_A
spl_C
Demo.PipeLines.PipeLineC
Demo.schemas.DocumentB
Demo.Maps.MapsB
Demo.PipeLines.PipeLineB
sp_B
Map_DocB_to_Commonrpl_B
rp_B
rl_B
SchemaA SchemaBSchemaC
propSchemaDemo.ProjectA
OrchestrationA
Demo.ProjectB
OrchestrationB
BizTalk Assembly Port location Bts Assembly Artifact Orchestration BizTalk Application Party
PartnerAPartnerBHomeParty
Agreement
EDI_Home_PartnerA EDI_Home_PartnerA
2) Unit of Deployment as small as possible
What do we want ?
3) Minimal redeployment / downtime
5) Functional process != BizTalk artifacts only-> the full picture = including : SQL, Webservices, helperclasses
6) Different environments7) Multi node environments8) Developer experience
4) Functional process != BizTalk Application
9) Operator experience
1) 1 click deployment
10) Manager experience
Can we make this happen?
Probably not
But we have a goal and will try to get there as close as possible
What about differences between environments?
1) Message processing = testable through environments2) What about message transport ?
Our view
What is our cure for the pain ?
1) Object model -> so we can generate an action list
2) Easy maintenance of object model-> auto discovery
3) Object Store-> to store all deployable objects for every different environment
4) A tool able to generate an action list5) A tool able to execute an action list
What do we need ?
1) Object model -> Custom deployment database
2) Easy maintenance of object model-> MMC snap in with connection to BizTalkMgmtDb
3) Object Store-> All deployable objects are stored into the database
4) A tool able to generate an action list->WPF application for the user->custom build action for TFS build server
5) A tool able to execute an action list->WCF service on every node in the environment
What have we done ?
Show me ?
DEMO ?