Technical Paper - BPM Leader

26 downloads 224 Views 1MB Size Report
The advantages of using a BPMS to develop process-based applications . .... different agents in the process, and to prov
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