resource management, cloud computing ... systems via web services APIs. ... for, MySQL, Oracle, MSSQL Server, Jasper, SA
Technical Paper
What is a
Process-Based
Application?
WHAT IS A “PROCESS BASED APPLICATION”?
What is a “process based application”? The trend away from rigid platform-based workflows to flexible process-based applications – and the added value of the IT professional By José Ramón Pais Curto, BPM Expert
TABLE OF CONTENTS The relationship between “business” and IT” ............................................................................................................................2 1. The new business needs ..................................................................................................................................................2 2. Business Process Management (BPM) methodology and Business Process Management Suites (BPMS)...........................3 3. From Platform-based to Process-based Applications using BPMS.....................................................................................6 3.1. Development of process-based applications ............................................................................................................7 3.1.1. Model the process ..............................................................................................................................................7 3.1.2. Define process data ............................................................................................................................................7 3.1.3. Define forms.......................................................................................................................................................7 3.1.4. Define business rules .........................................................................................................................................7 3.1.5. Integration with other Information Systems .........................................................................................................7 3.1.6. Define users .......................................................................................................................................................8 3.1.7. Simulation ..........................................................................................................................................................8 3.1.8. Implementation ..................................................................................................................................................8 3.1.9. Monitoring and reporting ....................................................................................................................................8 4. The advantages of using a BPMS to develop process-based applications .........................................................................8 More BPM Resources ..............................................................................................................................................................11
WHAT IS A “PROCESS BASED APPLICATION”?
The relationship between “business” and IT” Michael Hammer, the father of Business Process Reengineering (BPR), said once that programmers should be removed from the process design stages, because they were too engrossed in the world of systems without being able to recognize opportunities and emphasizing more what they cannot do than what they can do1. And the BPM “gurus” Peter Fingar and Howarth Smith have proclaimed: “Don´t bridge the business‐IT divide, obliterate it.”2 Some IT professionals have interpreted this to mean “obliterate IT” but what they really said was to obliterate the divide, not IT itself. These statements seem to indicate that in the coming years, many people working in IT should be more explicitly involved in the business process with the implicit threat that if they are not, they IT should be more explicitly will soon be packing their bags to go do something else.
involved in the business
While it is true that these statements are somewhat extreme, they process…if they are not, should be understood in the sense of a new IT‐business reality. The they will soon be packing point that these authors are making is that programmers should their bags find a way to make their language more understandable to the business analysts and closer to the reality of business. Languages such as UML, Java, C + + and abstraction methodologies like Object Oriented Programming, while necessary to implement IT solutions, are not intended for communication with business people, and so do not facilitate the necessary connection they need to have. We need to change the practice where one group of people define what is needed and another group translates these requirements into executable code. The two worlds of IT and business need to understand each other to work together on solutions to business problems.
1. The new business needs Moreover, companies need to move from a functional model to a process‐oriented model, allowing them to be more flexible and proactive to changes in their environment. Current information systems and processes rarely correspond to a transparent, cross border organization. On the contrary, these information We need to change the practice where one group of people define systems replicate and reinforce the classical and functional organizational structure, where each business what is needed and another group unit has its own applications and data silos. This of course translates these requirements leads to inefficiencies due to redundancy of data in into executable code. different systems. This situation can be clearly seen in platform‐based applications such as ERP systems. Wide access to technology means any company has access to solutions that were unthinkable just a few years ago. 1
Paul Harmon, Business Process Change: A Guide for Business Managers and BPM and Six Sigma Professionals, 2nd ed. 2007 2 Peter Fingar and Howarth Smith, Business Process Management: The Third Wave,2006 © 2013 Bonitasoft
www.bonitasoft.com |2
WHAT IS A “PROCESS BASED APPLICATION”? However the major ERP vendors still base their strategy on offering the same predefined and packaged processes to different sectors and markets, with the result that all companies have essentially the same processes and options for management of their business models to those of their competitors. Further, these processes can be widely replicated but not easily customized. This limits the possibilities for innovation and differentiation in business models, restricts adaptability to change, constrains the capacity to work on process improvement, and inhibits the opportunity to find new competitive advantages through the highly potential strategic weapon of IT.
2. Business Process Management (BPM) methodology and Business Process Management Suites (BPMS) We live with the inflexible platform‐based applications as long as they work and the functions that they perform support our business operations. But when pressured by market competition, or by customers, suppliers or government regulations that require us to implement new functionalities, or when we seek changes ERP workflows are not designed to exploit new competitive advantages or to cover new to manage business processes. markets, or because we have new processes or even new Because they are functional and business models – anything that requires us to adapt our systems, that is when we bump against the limits of our not process‐driven, they will platform‐based applications. always be limited ERP vendors have tried to bridge these gaps by integrating workflow solutions into their systems, but these workflows are not designed to manage business processes as they are understood in BPM methodology. Because they are functional and not process‐driven, they will always be limited to the data and functions contained in the ERP. Example Because most companies face changes more and more frequently, BPMS allows implementation of business processes quickly. Consider a process in an ERP to develop the budget proposal that is sent to the client. In this process, once the client approves the proposal, it is “manually” input into the ERP which then generates a production order. This ERP process with a manual input into the ERP would look like this:
3 | www.bonitasoft.com
© 2013 Bonitasoft
WHAT IS A “PROCESS BASED APPLICATION”?
Figure 1.
Platform‐based workflow
What we found in this model is that when companies need to adapt their legacy ERP processes to new scenarios to be aligned with actual business needs and requirements, and where they need to involve different agents in the process, managing this new scenario with the ERP alone is difficult or even impossible. In contrast to the lack of freedom and rigidity of platform‐based applications, we now have BPM (Business Process Management) methodology as a new paradigm. It is focused first on business processes, under the assumption that a business will be as efficient as the processes that it runs. Using a BPMS as the technology platform through which we can implement BPM will give us the agility and speed required in order to adapt to the changes occurring in our business environment. Example, continued Let’s look at using BPM to implement a Business Process Application to manage the manual step in the ERP. We will involve the client in the process through a web interface, and because there are frequently new legal policies to take into account, we will also involve a legal firm to validate the proposal, making the process even more complex. This scenario is quite common. Many companies find that they need to adapt their legacy ERP processes to new scenarios more in line with evolving business needs and requirements, to involve different agents in the process, and to provide clients with web interfaces to interact with the process directly. In this case a process‐based application (Business Process Application or BPA) will:
© 2013 Bonitasoft
Give the client direct access to the proposal via a portal, to approve or reject it. Send the proposal to the legal department or firm (who were not involved at all in the ERP platform‐based process), so that they can review the proposal for compliance with legal regulations and approve or reject it. Wait for both the client and the legal firm to approve the proposal, then send it to the ERP system automatically to generate the Production Order.
www.bonitasoft.com |4
WHAT IS A “PROCESS BASED APPLICATION”? This business process will then be something like this:
Figure 2.
Schematic model of a process‐based application
And then modeled in BPMN with a BPMS:
Figure 3.
Process‐based application modeled in Bonita BPM
With this Business Process Application integrated with our ERP, it is now possible to add new functionalities to the ERP, and have streamlined the budget approval process for the organization, the client, and the legal firm. So we have created business value, making it easy for people to communicate and participate in the business process, facing the challenge of integrating heterogeneous IT software systems.
5 | www.bonitasoft.com
© 2013 Bonitasoft
WHAT IS A “PROCESS BASED APPLICATION”?
BPM as a methodology will allow us to ensure that the processes that automated with a BPMS are aligned with the strategy, goals and business objectives of the company, and that these processes operate efficiently. This ensures the success of software developments and that they will do what they are supposed to do, and consequently eliminates the gap between what the business needs from IT and what IS technologies are capable of providing. The BPMS platform provides a single integrated environment tool for the development and deployment of business processes through its enabling technologies: BPMN modeling tools, process engine, business rules engine, orchestration engine, analysis and simulation tools and an integration environment to connect processes with applications and external sources.
3. From Platform-based to Process-based Applications using BPMS BPM and BPMSs already have a broad set of implementations in all types of businesses and sectors. The objectives and motivations of why a company adopts BPM are very different. Some companies focus on the efficiency of being able to run their business activities and processes in order to achieve the same results with less time, materials and costs. Others want to achieve greater agility and responsiveness to change, or to move from a functional‐based to a process‐based organization. But whether for these or for other reasons, there are many scenarios in which the adoption of BPM has helped companies achieve their goals in areas such as operational improvement, restructuring of the IT infrastructure, improvements in quality management, reduction of costs, improved production processes, improved customer service, regulatory compliance or reduction of errors due to manual data processing. In the end, almost everything we do with software development can be seen as processes. For example, there are individual processes such as customer order reception, hotel reservations, invoicing, candidate recruitment, warranty management; or linked processes such as e‐commerce Processes automated with a BPMS are platforms, reservation systems, human aligned with the strategy, goals and resource management, cloud computing platforms, and so on. business objectives of the company…this
eliminates the gap between what the Thus, we can use a BPMS to generate business needs from IT and what IS applications in an integrated development environment, without the need for specific technologies are capable of providing environment designed code generation. It offers the advantage of being fully process oriented and provides all the tools necessary to model, implement, manage and control the business process life cycle. Leveraging the native capabilities of a BPMS for business process management allows the development of a process‐based application fast, efficiently and safely.
© 2013 Bonitasoft
www.bonitasoft.com |6
WHAT IS A “PROCESS BASED APPLICATION”?
3.1.
Development of process-based applications
To develop a process‐based application of any type, we generally respect some or all of the following steps using the different modules included in BPMS platforms.
3.1.1.
Model the process
Before building the process‐based application, we need to model the processes that will become the application using the process modeler. This is where we will spend the most time, and where the BPM methodology will provide us with tools and practices to do it. In addition, a BPMS should use a specific notation for process modeling, such as BPMN. This will serve as an important communication tool, as it is a notation easily understandable by both business and IT people. Despite the facility of BPMN, there are technical details beneath that must be taken into account. There are a lot of things behind the graphic symbols of rectangles, diamonds and arrows used in BPMN, which will also manage the behavior of the process flow, integrate sub‐processes, control automatic activities, involves participants and handle any exceptions that may occur in the process. All of this can be taken into account and managed in the BPMS process model before turning the process into an executable application with the process engine.
3.1.2.
Define process data
In the next step, we’ll use a module to introduce the data required by the process. We need a data modeling entity relationship diagram, a managing editor, and the capability to use different data formats like XML or Java Objects.
3.1.3.
Define forms
Users that participate in the process interact though interfaces which record the information necessary for the execution of the process. These interfaces (such as web forms) display the data that the participants may need to execute their tasks or decisions. In the Bonita BPM Form Designer we need to have widgets to define the characteristics of form fields, and need the capability to customize the interfaces.
3.1.4.
Define business rules
The business rules editor will allow us to design the business rules that will govern the operation of the process, as the process can operate differently depending on the value of the environment variables. The rules editor integrates decision tables that allow users to directly define business rules, or to call them from a spreadsheet with a business rules engine.
3.1.5.
Integration with other Information Systems
It is in the integration capabilities with other systems where we find the greatest difference from platform‐ based application workflow systems. The integration engine allows connectivity and integration with legacy systems via web services APIs. API´s also support REST services and can be invoked from connectors or scripts.
7 | www.bonitasoft.com
© 2013 Bonitasoft
WHAT IS A “PROCESS BASED APPLICATION”?
In Bonita BPM, for example, there is a large number of connectors with different types of services and applications: for databases, messaging, ERPs, ECMs, data warehousing, CRM s, etc. including connectors for, MySQL, Oracle, MSSQL Server, Jasper, SAP, SalesForce, Alfresco, Sugar CRM, and many more. In Bonita BPM there is also an interface to create custom connectors.
3.1.6.
Define users
In a process‐based application,we define and assign the participants responsible for performing each of the activities in the process, directly assigning tasks to each of the participants, or by synchronizing the organization of users with LDAP or Active Directory. This user management allows the assignment of tasks to users based on different roles, groups, and allows definition of rights and privileges.
3.1.7.
Simulation
Processes generally are not deterministic in the sense of repeating exactly the same behaviors, but rather stochastic with a degree of uncertainty. We can repeat a simulation of the process several times with the same initial data, and the results are not always the same. This is why simulation functionality in a BPMS will be critical to simulate and test different combinations of processes, so that we can study different alternatives, predict their behavior, failures, bottlenecks and opportunities for improvement, to evaluate and respond to situations and scenarios before implementation.
3.1.8.
Implementation
The generated applications will be deployed in a web environment complying with W3C standards. The Bonita BPM Engine can be used with Bonita‐generated process applications, or it can be consumed as an EJB by external applications.
3.1.9.
Monitoring and reporting
Monitoring and reporting in processes (numerically and graphically) allows real‐time tracking, setting and monitoring KPI 's, creation of reports and custom dashboards as well as integrated BAM (Business Activity Monitoring) and BI (Business Intelligence) functions.
4. The advantages of using a BPMS to develop process-based applications With the different modules that BPMSs have to address applications whose operation is governed by processes, a BPMS is generally the best choice for the development of process‐based applications. The other alternatives, both platform‐based applications and custom developed software, are costly, difficult to maintain for these projects, and do not offer the speed and adaptability offered by a BPMS.A BPMS, in addition to offering the advantages of process orientation, also has other advantages for the development of process‐based applications: • The capacity to modify the model in BPMN and automatically modify the entire application with the new changes, so any change in the business logic does not involve modifying the entire application. This dramatically reduces development and testing time for maintenance and adaptation of © 2013 Bonitasoft
www.bonitasoft.com |8
WHAT IS A “PROCESS BASED APPLICATION”? applications. With this capability of BPMS we abandon the monolithic view of platform‐based applications and open the way to work on continuous improvement of processes. • The capacity to manage process versions, so we can reuse existing processes to generate new or improved processes. These BPMS capabilities result in more flexibility, less programming, more focus on the business, cost savings and reduced Time‐to ‐Market. This new understanding of business applications development will optimize and monetize our investment in IT and ensure that Information Systems do what they have to do: to support and improve business models and strategies, without the imposed limitations of IT systems. It also means that IT is no longer perceived We should think about the only as the back office or data repository that does not advantages of adding a BPMS contribute to the competitiveness of the company.
layer for process management
Certainly process‐based and platform‐ based applications over the existing applications will coexist for a long time in blended solutions. We will in the enterprise continue using CRMs, ERPs and custom developments in Java and.NET, but if the solutions we need to develop are business processes, we should think about the advantages of adding a BPMS layer for process management over the existing applications in the enterprise.
Figure 4.
BPMS layer over existing applications
Should programmers pack their bags? Using a BPMS for the development of business process applications instead of force‐fitting platform applications or custom coding may seem to indicate that IT people have nothing to do – and that they will no longer be needed for software and systems development, as many developers and IT analysts may think when they first discover BPM. In my opinion, the analytical ability and vision that IT people have for business will always be necessary for any BPM project. In addition, except for very simple processes with no integration with other systems, these projects require IT people. They must participate with business people in the specification and design of the
9 | www.bonitasoft.com
© 2013 Bonitasoft
WHAT IS A “PROCESS BASED APPLICATION”?
processes that will be implemented, and these projects will continue to have a strong component of IT in areas such as: • • • • • • • •
integration service‐oriented architectures (SOA) process data logic and handling maintenance of web services repositories security technology architectures to support the process‐managed organization in deployment and testing in different production environments exception handling to ensure that instances are never interrupted by stopping the process flow or the unavailability of a web Service • and so on.
All these issues need IT. As we said before, applying the BPM perspective that a company will be as efficient as their processes, we can say now that a company will be as flexible as the IT systems that support the business. With Bonita BPM, we have a platform to address BPM projects via the development of business process applications. Bonita BPM has all the necessary modules as described above for complete life cycle management of the processes, and eases implementation time, customization, adaptability and management of business process applications. Bonita BPM is an open source platform under GPL v2, offers web –based user interfaces, and is SOA services‐oriented. It also has a large community of developers, complete product documentation, examples of use and access to connectors provided by the community. With all these possibilities, the various connectors that are available, and the facility to handle the different modules of Bonita BPM when designing and implementing processes, developing new applications or adapting existing processes becomes achievable. Its adoption as a development tool will depend on the involvement that IT people have with the business goals and objectives. So it seems that we will not need to pack our bags and go—unless we are heading out for a well‐earned holiday.
© 2013 Bonitasoft
www.bonitasoft.com |10
WHAT IS A “PROCESS BASED APPLICATION”?
More BPM Resources
Develop a First Business Process Application with Bonita BPM
Why Choose Open Source BPM?
Best Practices for Getting Started with BPM
Understanding Business Process Automation
See our webinar Integrate Your CRM with BPM for Better Marketing and Sales
More information available at www.bonitasoft.com On BPM Leader:
How ERP and BPM Can Co‐Exist Together BPM and ERP: Why Fight a Battle?
And by the author (in Spanish)
11 | www.bonitasoft.com
© 2013 Bonitasoft
HEADQUARTERS GRENOBLE, FRANCE 32, rue Gustave Eiffel 38000 Grenoble
EMEA, ASIA & LATIN AMERICA PARIS, FRANCE 73‐77, rue de Sèvres 92100 Boulogne‐Billancourt
NORTH AMERICA SAN FRANCISCO, USA 51 Federal St. Suite 305 San Francisco, CA 94107