Welcome!

SOA & WOA Authors: David Linthicum, Rebel Brown, Liz McMillan, Miko Matsumura, Yeshim Deniz

Related Topics: SOA & WOA

SOA & WOA: Article

Adeptia BPM Server 4.1

More than Enterprise Application Integration on steroids

Adeptia has released the latest version of its BPM server. The Adeptia BPM server is another entry in the fast-growing market for Business Process Management Tools.

People unfamiliar with Business Process Management servers can think of them as replacing the typical maintenance-heavy point-to-point systems integrations that let data flow through corporate machinery. The business process engine executes a well-defined business process and shepherds information through those complex multistep processes. I've heard BPM characterized as Enterprise Application Integration on steroids, but as Adeptia's product will show, it's really much more.

Adeptia's BPM Server lets users gradually build up processes by defining simple discrete activities. Activities are then combined into tasks that are executed by the BPM Server. The BPM server can be controlled from its browser-enabled console with one minor exception that I'll discuss later.

Activities

Activities are grouped by logical types including Sources, Targets, Schema, Data Security, Transformer, Notification, Event, Polling, Web Services, Workflow, and Native Calls.

The Source type identifies data to be read and particulars like where to find it and what transport protocol to use when loading the data.

The Target type defines the data to be written and particulars like location and transport protocol.

The schema type defines the format of the data to be read or written. All the major format definitions are supported (i.e., Text, XML, Excel, relational, etc).

The Transformer type specifies the schemas required to map data from a data source to a target.

The Notification type sends e-mail at points in a process flow.

The Event type schedules and triggers process flows.

The Polling type allows process flows to "wait" and "listen" for incoming data.

The workflow type manages user interactions with running process flows.

The Native Call type can run operating system scripts asynchronously during the execution of a Process Flow and, yes, Web Services are well supported. Overall a good set of building blocks to work with.

Process Designer

Adeptia provides a slick Process Designer (Figure 1) that lets users create process flows using BPMN Notation. Once process flows are created using BPMN graphical elements, activities are attached to the elements. This two-step process lets a business user sketch out the logical process. Later when the logical process is well understood, a technologist can locate or create all the required activities and attach them to the process sketch. This in turn creates a fully realized executable business process.

Sometimes these design tools are just eye candy. There's definitely the requisite drag-and-drop functionality for the casual user but Adeptia has done a good job of including features for the technically savvy like the ability to synchronously or asynchronously call other process flows and to peek and poke context variables. Users can control transaction contexts with Begin, End, Checkpoint, and Rollback activities. Also, adding judicious pauses and traces to a flow is a straightforward exercise.

It's interesting to note that the process designer was implemented as a Java Web Start application. This is the minor exception I mentioned earlier. The designer combines the convenience of a single license and install on the server that can do offline work on the desktop. A user can design a process flow when not connected to the BPM Server. He can switch from Offline mode to Online with the status displayed at the bottom of the process designer.

Data Transformation

Adeptia BPM Server can transform one type of data into another type facilitating any-to-any transformation. The data can be transformed in one of three ways:
  • Using the Data Mapper
  • Using a Record-to-Record Service
  • Using a Scripted Service
The Data Mapper (Figure 2) is a visual mapping tool that lets users specify Source and Target Schemas selecting data fields to map between the two. A Map can be of the simple field-to-field variety, but can also include mapping functions that allow string and Boolean manipulation, math functions, and aggregation. The Adeptia mapper includes a nifty "auto-mapper" feature that attempts to match fields between source and target schema automatically. The auto-mapper is smart enough to account for case and attribute sensitivity as well as leaf-count matching. This definitely saves time for the more mundane, yet verbose schema.

Where Adeptia steps out ahead of othermapping tools I've worked with is in its support for testing a finished mapping. The mapper generates XSL that can be viewed in the mapper's "Get XSL" tab. There are tools in the mapper for validating the XSL, generating mock input data, and stepping through the XSL visually as it runs. Nice!

Reporting

Now that we've talked a bit about creating process flows and mappings, how do we know that they're running or have run?

Well, Adeptia includes browser access to its system logs and there's a wealth of information to be found there, but when you need to hone in on a process and find out what's going on, the process flow log is where to look. The browser interface to the process log lets users search for a particular flow by name, status, and date range. The report returns the runtime, name, status, and completion message for all matched flows. Clicking on the "view details" link for a flow displays the activities that ran during the process execution including timestamp, activity name, type, status, and completion message.

Adeptia also gives users the ability to build custom reports using Jasper templates. Jasper is an open source Java reporting tool that lets users design custom report templates in the XML format. Note that Jasper isn't provided with Adeptia's BPM Server.

Reliability

Reliability is always a concern in the enterprise and Adeptia covers its bases by providing clustering capabilities. Its clustering supports load balancing, which is used to distribute the execution of process flows evenly between the members of a cluster. Load balancing is supported using a round-robin algorithm. The clustering also provides failover capabilities. If a node in the cluster falters another node will pick up and finish the process.

Industry Templates

Adeptia also includes a number of pre-built industry-specific templates. Assets like data formats and sample process flows for standards such as ACORD, EDI RosettaNet, AIAG/APQP, etc. With these kinds of tools, preloaded templates can give a project team a leg up on the work.

Documentation

Adeptia provides online help as well as a User Manual that's just shy of 400 pages.

About Paul Maurer

Paul Maurer is a principal in the financial services practice of a leading consulting services company.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.