Deploy WCF Service w/o BizTalk Application

Topics: Bindings File, Settings Management and SSO, General Questions, IIS and Web Services
Oct 14, 2014 at 5:40 AM
Hi,

We have an ESB that is comprised of a number of BizTalk services as well as just plain WCF services, both of which utilize BTDF SSO configuration items. We would like to have a consistent deployment mechanism for all of these services, and BTDF would certainly seem to provide this.

However, when deploying the pure WCF services, an empty BizTalk application is created which is not needed. Is there any way to switch this off?

We would still like to use BTDF for the WCF services in order to create the SSO application and config values via the Environment Settings.

Thanks,
Dan
Coordinator
Oct 14, 2014 at 6:26 AM
Hi Dan,

It's not designed for general purpose installations, so out of the box no. When you undeploy, it checks for the existence of the BizTalk app and when not present, stops immediately.

You could probably do it with some careful overrides of targets and properties. If you copy one of the targets from BizTalkDeploymentFramework.targets and paste it into your .btdfproj, that copy will override the base. For example, you'd probably override the PrepareAppForUndeploy target to eliminate the app existence check. You'd also want to override the default dependency lists such as DeployDependsOn, where you could eliminate most of the deployment steps.

Thanks,
Tom
Oct 16, 2014 at 4:10 AM
Thanks, Tom - that worked great! Here's what I had to insert in the project file:
<!--
================================================================= 
THE FOLLOWING PROPERTY GROUP OVERRIDES THE DEFAULT
TARGETS FILE THAT CREATES THE BIZTALK APPLICATION 
================================================================= 
-->
<PropertyGroup>
<!--
THE FOLLOWING DEPLOY DEPENDENCIES HAVE BEEN REMOVED:
DeployAppDefinition;PreprocessBindings;ImportBindings;ConditionalHostStop;TerminateServiceInstancesConditional;DeployFileAdapterPhysicalPaths;
DeploySchemas;DeployPipelineComponents;DeployPipelines;DeployTransforms;DeployOrchestrations;DeployVocabAndRules;DeployCustomFunctoids;
DeployEsbItineraries;DeployBtsNtSvcExeConfig;StartApplication;CustomPostDeployTarget;BounceBizTalk;
-->
<DeployDependsOn>
CustomPreInitialize;
FrameworkInitialize;
CustomPostInitialize;
PreprocessFiles;
PreprocessAndConfigureLog4net;
CustomDeployTarget;
DeploySharedAssemblies;
DeployExternalAssemblies;
DeployComponents;
DeployVDirs;
DeploySSO;
DeployBam;
CustomPostDeployTarget;
CustomFinalDeploy
</DeployDependsOn>

<!--
THE FOLLOWING UNDEPLOY DEPENDENCIES HAVE BEEN REMOVED:
PrepareAppForUndeploy;ConditionalHostStop;UndeployBtsNtSvcExeConfig;UndeployEsbItineraries;UndeploySchemas;UndeployOrchestrations;UndeployTransforms;
UndeployPipelines;UndeployPipelineComponents;UndeployCustomFunctoids;UndeployAppDefinition;UndeployFileAdapterPhysicalPaths;BounceBizTalk;
-->

<UndeployDependsOn>
CustomPreInitialize;
FrameworkInitialize;
CustomPostInitialize;
CustomUndeployTarget;
UndeployBam;
UndeployComponents;
UndeployExternalAssemblies;
UndeploySharedAssemblies;
UndeployVDirs;
UndeployVocabAndRules;
UndeploySSO;
CustomPostUndeployTarget;
CustomFinalUndeploy
</UndeployDependsOn>
</PropertyGroup>
Now my only issue is the inability to create nested virtual directories. Is this possible in BTDF 5.5 using the VDirList item?

Cheers,
Dan
Coordinator
Oct 16, 2014 at 4:47 AM
Edited Oct 16, 2014 at 4:48 AM
Excellent Dan. Glad to hear that you were able to reconfigure it to meet your needs. I believe that you can do nested vdirs in BTDF v6.0 (stable beta) since I rewrote the entire IIS deployment tooling. It's not going to work in v5.5.

You can always use custom targets to call out to appcmd.exe to do what you need.

Regards,
Tom