An orchestration is the executable implementation of a business process in BizTalk that allows modeling the process visually. Orchestrations interact with external systems using send and receive ports. They are created in Visual Studio and executed by the BizTalk orchestration engine which manages the lifecycle. Administrative processes in BizTalk can automate government procedures by designing the process in BPMN, implementing it with an orchestration in Visual Studio, and interfacing with other systems through a service bus. Orchestration instances can be monitored using the BizTalk console and debugger tools.
2. Introduction
An orchestration is the executable implementation of a business process, that is, a
logical and chronological set of activities in order to achieve a goal. In order to
interact with systems and applications outside the boundaries of the orchestration,
you can use send and receive ports. Orchestration allows modeling the business
process visually and it is the primary mechanism to automate the process within a
solution. They are created in Visual Studio and compiled into .NET assemblies that are
deployed in the Global Assembly Cache and registered in the BizTalk Management
database.
The tool used to define the orchestration is BizTalk Orchestration Designer which
presents a visual development environment for specifying the process flow separately
from the implementation of the individual activities in the process. It is possible to link
each activity with its implementation on representing the interaction with an
application or a system that is external to the orchestration itself.
Orchestrations are executed by the BizTalk orchestration engine which is the maestro
and runtime environment that manages the life cycle of the orchestrations such as
instantiation, execution, termination and migration across host instances as well as
schedule and monitor the interaction with external entities.
The BizTalk engine consists technically by a set of SQL Server databases with stored
procedures and jobs running on the MessageBox database and Management database
as well as a set of managed assemblies which run within BizTalk host instances.
XLANG is the main language use to specify and execute the workflows.
From the architecture viewpoint, orchestrations are tied to the MessageBox database
which receives messages from receive ports and dispatch messages through the send
ports. Each instance of the orchestrations is listening for activity based on the
subscriptions to the underlying orchestration definition (see Figure 1).
3. Administrative process with BizTalk orchestration
An administrative process is usually a long term process that performs a specific
operation flow interacting with the human action of the operator who performs
decisions.
Therefore an administrative procedure is designed through a modeling language, in
our case, BPMN.
Example, the automated process regulated by DL 160/2010 (italian law).
4. Through the BizTalk schema editor is designed schema of the message that
represents the automated process with all the relevant datas.
Following the design of the administrative procedure is implemented through the
orchestration designe of visual studio.
5. The interface between the BizTalk orchestrations and other systems (including web
application Single Page Application) is made through a service bus (service provided
by Windows Azure).
Therefore, the orchestration example is "signed" only to messages of type
"procedimentoautomatizzato" and then creates an instance of orchestrazion for each
"procedimentoautomatizzato” entered by the user through the Web application.
Through the Biz Talk console you can monitor instances BizTalk orchestrations.
6. Using the tools of BizTalk orchestration debugger can analizare the single
orchestration instance, the steps performed and the current status: