Your BPM & Workflow software
in the Cloud with #AuraPortalCloud

Your BPM & Workflow software in the Cloud with #AuraPortalCloud
27 April 2011

ERP Integration in BPMS

This post is also available in: Spanish

The operation of a company is defined by its activities. Processes are the sequence of activities in order to achieve a specific purpose. If the scope of a BPMS (a business software to design and implement the automation of processes) covers all activities within a company, where do the rest of the applications the company uses fit?

First of all, we have to understand that the BPMS method of working is much more effective than the one that has traditionally been used.

Activities, when acted on within the processes, that are performed by people are considered Personal Tasks.  However, there are some, (actually many), which are well defined and repetitive enough to be automated using System tasks that are executed directly by the BPMS system through Engine Processes without human intervention. And of course, the more activities that can be left to automatic control mechanisms, the more time and costs can be reduced and with fewer mistakes or errors.

These automations can also be associated with the Personal Tasks. For example, each user receives its assigned tasks in a work table that incorporates all management, organization and control elements to be performed.

Thus, the working method with a BPMS simplifies and streamlines substantially the work, but also provides a comprehensive control mechanism through its Intelligence Process tools: BAM (Business Activity Monitoring), BI (Business Intelligence), Dashboard, KPIs (Key Performance Indicators), etc.

Secondly, it should be noted that operating companies already have many applications they are working with, and most of them cannot be overlooked. Although in many cases these applications can be  departmental in nature and therefore somewhat independent of one another.

So, the best way is to integrate these applications, is to perform as much work as possible from within the BPMS. This way, when a certain event launches a process, the actions required to perform the activities to their full resolution can be done automatically (using System Tasks) or manually (using Personal Tasks) including those that correspond to the inputs and parameters of the rest of the applications.

For example, when making a decision in a task it is recommended that one consults the financial data (contained in a financial application), which can be located and analyzed automatically. Or, if a customer complains (from his own office) about being overcharged, the BPMS itself would check if the order is correct (in comparison to the ERP data) or would send a notification to those responsible with the details of any discrepancy. It also could undertake any necessary corrective actions within the ERP system, such as in the Accounts Payable or Cash Management modules. In addition, other actions such as customer notification, automatic creation of a Quality Nonconformity could also be launched as a result. In this case, the whole process would be solved in a few seconds, without human intervention and considering the data from the integrated applications.

Though designed processes within the BPMS, users can work in an integrated fashion with existing management software, and with experience, companies can gradually model BPMS processes using the activities of the available Legacy ERP applications, or other internal applications. This allows the company to replace those applications that are now modeled by processes and thus achieve improved automation, flexibility, security and power. Ultimately, BPMS enables a global unification of the business operation to be achieved, including all internal employees, as well as external suppliers and customers within the processes.

An Example. AuraPortal Integration Case Study

The following diagram shows a real case of integration within different areas of the company. This is a complete process of Presales, Sales, Purchase, Delivery and Billing products to customers. Next, there are 10 Integration points, numbered from 1 to 10 and they are indicated with a blue circle with the red number inside.

 

1. Data Import Service: This is a Microsoft Windows service that performs data imports from external programs to AuraPortal. On the one hand, the Import Service connects to ODBC to external database, and on the other to AuraPortal through Web Services.

In this example customer accounts are imported from ERP to AuraPortal.

2. Web Services (SOA): AuraPortal has various Web Services for SOA integration (Service Oriented Architecture) with external applications.

In this example, when a user creates a sales order from an ERP system, a process is automatically initiated by invoking the Web Service specifically designed for his Startup Message.

3. AuraPortal Adapters Server: Data stored in external databases (ERP, CRM, Etc.), can be consulted or modified from AuraPortal processes without the need of IT programming.

In this example, once the Sales Order SubProcess is completed, the Gateway (DX.82) decides whether the customer’s balance is debit or credit. To do so, the data is consulted in the ERP database through AuraPortal Adapters Server and depending on the value, the flow will go in one direction or another.

4. AuraPortal Adapters Server: In addition to the functionality described in the previous section, where the Gateway uses Adapters Server to consult data in an external program, it is also able to use Adapters Server to display data from external programs in an AuraPortal Personal Task.

In this example, when the customer has a debit balance, a Personal Task arrives to an employee responsible for authorizing or rejecting the sale. When the employee opens the task TP.124 (Sales Authorization?), the outstanding invoices list will be displayed. This data analysis will be performed automatically through Adapters Server to ERP.

5. System Task – Notifier (e-Mail): AuraPortal has several System Tasks to perform actions automatically without user intervention. One of them is to receive notifications via email for users without AuraPortal access (called Guest User).

In this example, if the customer had a debt balance and the sale was not authorized in the Personal Task TP.124 (Sales Authorization?), a system task would automatically send an email to the customer notifying him of the order cancellation.

6. AuraPortal Adapters Server: Similar to point number 3, when the sale has been approved, a gateway needs to determine if there is available stock to fulfill the order. To do this, the stock is checked by interrogating the ERPsystem through AuraPortal Server Adapters, and thus the flow moves to the material delivery task (TP.146, Material Delivery to Client) or towards a purchase completion action (TS, Purchase Process IM).

7. System Task – Deviator (Between Processes): Flow can be diverted from an AuraPortal Process to another, for example, to start a new task.

In this example, a Purchase Process is initiated from a System Task in the Main Process. The main process stops at an Intermediate Message Event (EM), pending the completion of the Purchase Process.

8. System Task – Invoker (From Web Services): External Web Services can be invoked by an AuraPortal System Task.

In this example, the Purchase Process makes an order to the supplier by invoking their Web Services from a system task (TS.33, TS – Invoking WS to buy to supplier).

9. System Task – Deviator (Between Processes): Intermediate Message Events can be activated to other AuraPortal Processes though a Deviator System Task.

In this example, when receiving the supplier’s material, a System Task (TS.45, TS – EM Sales Process) activates the Intermediate Message Event where the Original Process Flow had been stopped. So this System Task causes the flow to continue on and deliver the material to the customer.

10. System Task – Creator (From Script): MS SQL Stored Procedures can be invoked to execute Scripts or external programs through a Creator System Task (From Script).

In this example, a system task (TS.29, TS-ERP Script Execution) invokes a MS SQL Stored Procedure that runs a program sending the necessary information from the Sales Process to create the customer’s invoice in the ERP system.