No BPMs includes all of the functionality you are likely to need to process data along instances of process templates.
Here are two approaches you can use to extend the functionality of your BPMs without the need to customize:
1) export your data to an external environment, carry out processing, generate a file, then attach the file to the database record that has the focus in your BPMS.
The disadvantage of this option is that your data will not be available to flow along process instances. Re-keying of data onto process instance data collection forms, if required, is tedious..
Partially offsetting the disadvantage, as and when you revisit an attached file for purposes of editing \ versioning, your operating system will automatically launch the appropriate 3rd party application.
2) You can avoid having separate data streams by setting up “wait” rules in your BPMs to block processing along process instances until such time as external instance-specific data becomes available.
Here is the sequence of tasks that must be performed to process data at 3rd party applications:
a) exporting data at a process step.
b) formatting the data for data transport,
c) data transport to any number of 3rd party apps.
d) importing the data at the remote systems,
e) carrying out processing at the 3rd party apps
f) exporting the processed data from the 3rd party apps,
g) data transport back to the BPMs.
h) import of the processed data into the BPMs.
Placement of a generic Data Exchanger on the outbound side of your BPMs addresses all of the stated needs and provides the following benefits:
Your BPMs can hopefully automatically export, in real time, all data needed by all external apps.
1. The data required by each app can be mapped once and only once at the Data Exchanger such that apps are able to read data using their respective native data element naming conventions.
2. The specific sub-set of exported data required by each app can be accommodated simply by not providing a data element cross-reference. (no mapping means no need for the data).
3. Data can, be “pushed” to individual apps or picked up depending on the capabilities of such apps.
* a formatter is required to accommodate each format that a new trading partner identifies,
* a parser is required to accommodate each format a new trading partner identifies.
* encryption/ecryption software is typically required to protect data during data transport,
Extend the capabilities of your BPMs!, the world is your oyster.