A BPM-enabled application differs from a conventional one in that it comes as part of a suite, with a toolset that can be used to examine and change the underlying process used in the application. In particular, the business rules used to make decisions are explicitly listed, and by changing them, the user can redesign the application.
BPM deals with real-world business processes which naturally include a mixture of software applications, human interactions and other technologies. Since businesspeople know what they want all these systems to do, they can use the graphical tools in a BPM suite to model a process, and then run a simulation to make sure it does what is expected. When the simulation behaves as desired, it can be automatically turned into code without the intervention of a programmer.
Converging workflow and applications
BPM has evolved to fill a need, as Michael White, product marketing manager of Singularity, explains: "In the 1990s people became familiar with, on one hand, 'workflow' software for co-coordinating human activities across an organization, and on the other EAI software for system-to-system integration (e.g. linking the ERP system to the accounting, payroll and HR systems). BPM can be seen as the convergence of both workflow and EAI, enabled by the widespread adoption of internet technologies, particularly web services and XML."
BPM often utilizes web services, which can be used and re-used reliably, in an SOA framework. Web services provided a standard way for distributed systems to interact with each other across and between networks. Before this, users had to choose DCOM (for Microsoft), Corba (Common Object Request Broker Architecture) or IIOP (for Sun/Unix/Java).