How do I pair BPM modeling tools with an SOA?

How do I pair BPM modeling tools with an SOA?

What is one key characteristic that I should look for in BPM modeling tools, especially when looking to pair them with a service-oriented architecture?

    Requires Free Membership to View

    When you register, you'll begin receiving targeted emails from my team of award-winning writers. Our goal is to keep you informed on recent service-oriented architecture (SOA) and SOA-related topics such as integration, governance, Web services, Cloud and more.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSOA.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSOA.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

When trying to make sure your BPM tools takes full advantage of your SOA efforts, one of the most important things to consider is the ability of the BPM tools to take advantage of service metadata that exists in a registry/repository. Whether modeling within the tool is being done by process analysts or by developers, the ties back to your service repository are important.

First, consider the process analyst. Typically, this person will be working solely within the confines of a BPMN model. A BPMN model is going to consist of flow objects, connecting objects, swimlanes, and artifacts. The two items that have relevance within SOA are the activities (part of the flow objects), and the swimlanes. Swimlanes frequently represent ownership boundaries of functional domains, and these may be the same boundaries used to define your service taxonomy. If you have this taxonomy in your service registry/repository, it would be great to have it accessible to you during your modeling efforts. Secondly, when adding activities to your processes, many of these activities will represent services invocations. As these activities are defined, they should be shared across processes where appropriate. Unless these activities are saved in a repository that is viewable across all processes, you are at risk of having them be defined multiple times, potentially in different ways. If the tool is not integrated with your service registry/repository, then you may have BPMN activities shared across processes, but when that process is handed off to a developer for implementation, the activities associated with mapping that activity to the right service will need to be repeated every time, with risk of it being done inconsistently.

This brings us to the developer side of the process implementation. It is the developer's role to take that model and turn it into something that can be managed by the runtime BPM engine. To do this, there typically is a message flow associated with the process, with steps along the way contributing or manipulating information within the message flow. To do this properly, every automated activity must take some information in and provide some information out. This information is mapped to the information that flows through the entire process. If there is no connection between the service registry/repository and the BPM tool, the service definitions must be manually imported, which can again lead to incorrect mappings in the worst case, or in the best case, a less efficient development effort.

Analysis by groups like the Burton Group have shown that there is a strong correlation between effective BPM efforts and successful SOA efforts. If portfolio management is a success factor, then it is important that the tooling we use take full advantage of that portfolio information wherever possible. The service registry/repository hold the service portfolio, and as a potential orchestrator of services, the BPM engine should be portfolio-aware to fully leverage the efforts from SOA.

This was first published in November 2009