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

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.

主站蜘蛛池模板: 巴青县| 四川省| 南澳县| 定州市| 嘉荫县| 宁化县| 桐乡市| 苏尼特右旗| 清丰县| 将乐县| 会宁县| 蒲江县| 锡林郭勒盟| 深圳市| 砀山县| 西丰县| 仙游县| 宁化县| 霍城县| 淮滨县| 林芝县| 讷河市| 酒泉市| 景德镇市| 浦江县| 张家港市| 金秀| 来安县| 龙游县| 乐陵市| 华亭县| 卢龙县| 荣成市| 彭山县| 中方县| 电白县| 盐池县| 屏边| 友谊县| 额敏县| 宜昌市|