This is the last post on the four part series of how to define an application integration tool. In the previous posts, we looked at Web Enablement, SOA Enablement and Application Integration. In this post, we will look at process controls and their relationship to the tools that facilitate the many needs of application integration.
Controlling processes is an important aspect of most application integration implementations. Whether manually built into the integration effort through individually coded routines or using a tool to simplify process creation, it is typically the layer of the solution that most clearly represents the business value.
Process controls at their most basic level replace or supplement routines handled by people. This can be as simple as making a decision to invoke a restocking process whenever existing stock falls below a threshold. Process controls can also be complex and represent the entire end-to-end coordination of all enterprise work activities. Both definitions are valid and both can coexist — they can play complementary roles in a single implementation. For our purposes, we will focus on the more basic aspects of process controls;the type of governing controls needed when leveraging data from existing legacy applications.
Why Process Controls are Needed
In most modern integration efforts, especially those that involve enterprise-class applications, the use of a services approach (SOA) is considered a best practice. One aspect of this approach is to keep services that are appended to existing applications as granular as possible. The assumption, granular services are more easily reused.
Granular services expect higher-layer processes will supply the needed business context to govern their use. This way, by using an assortment of process controls, the same application services can be used in many ways to meet a variety of needs. The key is applying process controls that are completely abstract and separate from the underlying services.
This is why some application integration tools, such as the Verastream products I work with, offer tools tailored to build processes. I am often asked why a specific tool to build process controls is recommended, even when most companies already have an enterprise-wide business automation tool. The answer is dependent on how you build solutions that meet best-practice standards and how you get the most return for your effort.
The enterprise-wide tools, and the people that use them, do not have the contextual understanding of the granular services needed to correctly implement them. These service consumers, like others, prefer to work with services that already have the appropriate governing process controls already applied. By including an easy- to- use tool to create process controls for our granular services, those of you who understand the correct use of your granular services now have a fast and efficient way to define how and when your services are used.
As you can see, defining exactly what application integration solutions like Verastream do, does not have a single answer, there are a variety of uses. Whether your goal is replacing your old-style green screens with auto-generated or customized web forms or defining and handling the governing logic and business process management needed for you to safely and securely allow the use of granular enterprise services, both inside and outside the firewall, application integration tools can help.
What tools do you use to make your services truly reusable?