This post was originally published here
Introduction
The BizTalk Scheduled Task Adapter is an In-Process receive adapter that executes a prescribed task on a daily, weekly or monthly schedule. The adapter is configured entirely within BizTalk, all configurations are stored within the SSODB and can be exported and imported via binding files.
The schedule capabilities are similar to those available with the Windows Scheduled Task Service.
Four simple tasks are included in this version:
- XmlStringStreamProvider – generates a BizTalk message from a configured XML string
- FileStreamProvider – generates a BizTalk message from the contents of a file
- HttpDownload – generates a BizTalk message from data downloaded from a website
- SQLStreamProvider – generates a BizTalk message from the contents of a SQL Query (similar to the old SQL adapter)
Custom tasks can be created. Any .NET class that implements the appropriate interface can be scheduled.
Release History
This adapter is available since BizTalk Server 2004.
- Release 6.0: release on March 1, 2017, by Sandro Pereira, this adapter was tested to work on BizTalk Server 2016. Compiled in .NET Framework 4.6
- Release 5.0: release on February 18, 2015, by Sandro Pereira, this adapter was tested to work on BizTalk Server 2013 R2. Compiled in .NET Framework 4.5
- Release 4.0: release on June 12, 2012, by Sandro Pereira, this adapter was tested to work on BizTalk Server 2010. Compiled in .NET Framework 4.0
- Release 3.0: release on Aug 10, 2010, by Greg Forsythe, this adapter was tested to work on BizTalk Server 2009. Compiled in .NET Framework 2.0
- Release 2.0: last release on Apr 20, 2008, by Greg Forsythe, this adapter works with BizTalk Server 2006 and BizTalk Server 2006 R2. Compiled in .NET Framework 2.0
- Release 1.02: last release on Apr 20, 2008, by Greg Forsythe, this adapter works with BizTalk Server 2004, BizTalk Server 2006 and BizTalk Server 2006 R2. Compiled in .NET Framework 1.1
Requirements
The BizTalk Scheduled Task Adapter v6.0 will work with:
- BizTalk Server 2016
- .NET Framework 4.6
How to install BizTalk Scheduled Task Adapter
To install the adapter you need to run “ScheduledTaskAdapter.msi”.
- In the “Welcome” screen, click “Next”.
- In the “Select Installation Folder” screen, you must set the installation locations were you what to install the adapter and then click “Next”.
- In the “Confirm Installation” screen, click “Next”, then it will appear the installation progress
- Assuming all goes well, the “Installation Complete” screen will appear. Click “Close” to finish the installation process.
The setup will install the following assemblies in the selected folder (The default folder is: C:Program Files (x86)BizTalk ScheduledTask Adapter 6.0):
- BizTalk Scheduled Task Adapter.pdf (Installation manual)
- Biztalk.Adapter.ScheduledTaskProperties.dll
- Calendar.Schedules.dll
- Microsoft.BizTalk.CommonSettings.dll
- Microsoft.BizTalk.SqmFramework.dll
- ScheduledTaskAdapter.Admin.dll
- ScheduledTaskAdapter.dll
- ScheduledTaskAdapter.TaskComponents.dll
- stdole.dll
The setup will add the following assemblies to the Global Assembly Cache (GAC)
- Biztalk.Adapter.ScheduledTaskProperties.dll
- Calendar.Schedules.dll
- ScheduledTaskAdapter.dll
- ScheduledTaskAdapter.Admin.dll
- ScheduledTaskAdapter.TaskComponents.dll
The setup will add the following registry key:
- HKEY_CLASSES_ROOTCLSID{7A4BDD2A-3063-4f57-A108-DEA05DEB417E}
Post-Installation
Register the Adapter with BizTalk
As it happens with all adapters that we installed on our BizTalk Servers before we can begin to use it we need to register or configure the adapter. To accomplish that we need to:
- Open BizTalk Administration Console
- In the console left tree, expand “BizTalk Server Administration –> BizTalk Group –> Platform Settings” and then “Adapters”
- Right-click on “Adapters” and add a new adapter by selecting the option “New –> Adapter”
- In the “Adapter Properties” window
- Set the name of the adapter: Name = Schedule
- In the adapter combo box, select the option: Schedule
- Set the description of the adapter: “BizTalk Scheduled Task Adapter. The schedule capabilities are similar to those available with the Windows Scheduled Task Service.” (this property is optional but I would suggest to always be filled)
- Note: This configuration requires that you restart the host instance associated with the adapter. At this moment, click “Ok” to continue the configuration process.
- [Optional] By default, the Receive Handler configured for the BizTalk Scheduled Task Adapter will be the default Host configured in the environment, that normally is “BizTalkServerApplication”. We can change this behavior by:
- In the BizTalk Server Administration Console, expand “BizTalk Server Administration”, expand “BizTalk Group”, expand “Platform Settings”, and then expand “Adapters”.
- In the expanded adapter list, right-click the Schedule adapter and then select the option “New –> Receive Handler”
- In the Schedule – Adapter Handle Properties” dialog box, on the General tab, in the Host Name list, select the host with which the adapter handler will be associated. And then click “Ok”
- Again, at this point, a pop-up will appear notifying that this configuration requires that you restart the host instances associated with the adapter. At this moment, click “Ok” to finish the configuration process.
- To finish this configuration process, in the BizTalk Server Administration console tree, expand BizTalk Server Administration, expand the BizTalk group, click Platform Settings, and then click Host Instances.
- In the details pane, select host instance(s) you want to restart, right-click and then click “Restart”.
Using the adapter Context Properties (Optional)
To utilize the Scheduled Task adapter’s context properties within a filter or orchestration the Biztalk.Adapter.ScheduledTaskProperties.dll must be deployed into the BizTalkMgmtDb.
This can be achieved using the Biztalk Deployment Wizard or equivalent tool.
Note: This step is optional; you only need to do this if you want to use Scheduled Task adapter’s context properties within a filter or orchestration.
As previously mentioned, you can deploy Biztalk.Adapter.ScheduledTaskProperties.dll in various ways; I suggest that you do the following steps:
- Open BizTalk Administration Console
- In the console left tree, expand “BizTalk Server Administration –> BizTalk Group” and then “Applications”
- Right-click on “Applications” and add a new application by selecting the option “New –> Application”
- In the “Adapter Properties” window
- Set the name of the application: BizTalk.Global
- Set the description of the application: “Application that contains common resources to several applications” (this property is optional but I would suggest to always be filled)
- Expand the application created previous and select the option “Resources”
- Right-click and add a new BizTalk resource by selecting the option “New –> BizTalk Assemblies…”
- In the “Add Resources” window select “Add…” button and from the installation directory select the DLL “Biztalk.Adapter.ScheduledTaskProperties.dll” (You can find this DLL on the adapter installation folder, by default, C:Program Files (x86)BizTalk ScheduledTask Adapter 6.0)
- And select the options: “Overwrite all”, “Add to the global assembly cache on add resource (gacutil)” and “Add to the global assembly cache on MSI file install (gacutil)”
- Select “OK” button