Wednesday, May 24, 2006

Combining BPM And SOA... What's All The Fuss About?

There has been a great deal of discussion around the combination of Business Process Management (BPM) and Service Oriented Architecures (SOA). Just run a search on these terms and you will see hundreds of articles and blog discussions on the joint topic. Many pundits believe that BPM is the real-world manifestation of SOA, which tends towards the theoretical. Check out this ITBusinessEdge article for a discussion. What is clear is that while one does not rely on the other, their individual value is greatly enhanced when joined. Review my post on May 3rd for a discussion on BPM.

While many BPM systems are focused on human-human flow of work, advanced suites can leverage SOA and Web Services to invoke systems as part of a comprehensive business process. By combining the two, a holistic process can be achieved.

For example, in the Financial Services scenario from yesterday, a new loan application is faxed into the organization. This fax invokes the BPM system and the specific business process associated with new loans. A SQL task in the process is kicked off and executes a database query to see if the applicant is already a customer, to ensure no duplicate accounts. Once it is determined that the applicant is not a duplicate, another step in the process connects with the mainframe and returns an application number to the business process. From this point, a business rules engine is called through a SOAP Web Service to evaluate the details of the loan application and depending on the outcome, approval may be automated and the BPM system notified. The next step automatically seeks the loan officer's review and final approval. Once recieved, another step automatically sends mail notification to the applicant, informing him/her of their approval.

This is a greatly simplified instance of the BPM system managing just one business process, making "calls" out to other systems and seeking human input along the way. With a Service Oriented Architecture, the details to making this process work are simplified. Now imagine hundreds of processes much more complex than this - traditionally static processes in an ever-changing business environment. Many of these processes are created by different departments with limited resources and different individuals with varying technical ability. While SOA, with its central "repository" of services, and traditional BPM controlling the process, makes great strides in managing the flow of work, ensuring efficiency and consistency. The dynamic business environment means that ongoing process optimization and adaptability is incredibly important, particularly to ensure a competitive edge.

More on this soon.

No comments: