官术网_书友最值得收藏!

Working with BizTalk orchestration

BizTalk Server includes a workflow platform, which allows us to graphically create executable, long-running, stateful processes. These workflows, called orchestrations, are designed in Visual Studio and executed on by BizTalk Server. The Orchestration Designer in Visual Studio includes a rich palette of shapes that we can use to build robust workflows consisting of control flow, message manipulation, service consumption, and much more. The orchestration runtime is responsible for executing the orchestrations and managing their state data.

Orchestration is a purely optional part of a BizTalk solution. You can design a complete application that consists solely of message routing ports. In fact, many of the service-oriented patterns that we visit throughout this book will not require an orchestration. Having said that, there are a number of scenarios where injecting orchestrations into the solution makes sense. For instance, instead of subscribing directly to the "new employee" message, perhaps a payroll system will need additional data (such as bank information for a direct deposit) not currently available in the original employee message. We can decide to create a workflow, which first inserts the available information into the payroll system, and then sends a message to the new employee asking for additional data points. The workflow will then wait for and process the employee's response, and conclude by updating the record in the payroll system with the new information. BizTalk orchestrations are a good fit for automating manual processes or choreographing a series of disconnected services or processes to form a single workflow.

Orchestration "shapes" such as Decide, Transform, Send, Receive, and Loop are used to build our orchestration diagrams like the one shown here. The following diagram shows a message leaving the orchestration, and then another message returning later on in the flow. How does that message know which running orchestration instance to come back to? What if we have a thousand of these inpidual processes in flight at a single point in time? BizTalk Server has the concept of correlation, which means that you can identify a unique set of attributes for a given message; this will help it find its way to the appropriate running orchestration instance. A correlation attribute might be as simple as a unique invoice identifier, or a composite key made up of a person's name, order date, and zip code.

Tip

Orchestration is a powerful tool in your development arsenal and we will make frequent use of it throughout this book.

主站蜘蛛池模板: 仁寿县| 贵溪市| 永城市| 南陵县| 大余县| 聊城市| 兴宁市| 弋阳县| 怀远县| 教育| 军事| 专栏| 赤水市| 沅陵县| 封丘县| 容城县| 宣恩县| 嘉兴市| 南郑县| 巴林右旗| 尼勒克县| 玛多县| 栾城县| 平远县| 竹北市| 莱阳市| 丰原市| 普兰店市| 苗栗市| 西丰县| 英德市| 奎屯市| 青州市| 隆回县| 托克托县| 宜章县| 泸溪县| 永川市| 揭阳市| 瑞金市| 襄垣县|