Software architectural decisions frequently involve tradeoffs between implementing basic functions yourself or using an existing framework or tool to reduce the manual effort of some parts. This blog post is about a trade-off of this sort: using a business process management (BPM) tool to enhance your enterprise integration scenarios (rather than "rolling your own").
Enterprise Integration: Platforms and Patterns
Businesses today increasingly interact with their customers through applications. These customers expect new features and functionality to be delivered frequently, and one of the best ways to do this is through the integration of applications with existing systems, both within the enterprise and beyond.
There are many strategies for performing Enterprise Integration, and the most common strategies have been turned into patterns as popularized in the book "Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions" by Gregor Hohpe and Bobby Wolfe.
RedHat provides two excellent integration platforms that implement these Enterprise Integration Patterns; JBoss Fuse and JBoss Fuse Service Works. Each of these platforms use Apache Camel for integration patterns and provide a robust JMS Messaging subsystem. These platforms and the patterns they implement are therefore very useful in a wide variety of integration scenarios.
The JBoss Business Process Manament Suite (JBoss BPM Suite) is a Worflow engine that includes the JBoss Business Rules Management System (BRMS). The BPM Suite allows for the definition of complex business processes using the standard Business Process Modeling Language 2 (BPMN2) notation. The BRMS features allow business rules to be extracted and managed outside of applications.
You should consider the JBoss BPM Suite to enhance your Enterprise Integration scenarios, especially if you experience any of the following in your enterprise.