From the Desk of Mohamad Afshar, PhD

Mohamad Afshar

Subscribe to Mohamad Afshar: eMailAlertsEmail Alerts
Get Mohamad Afshar: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Java EE Journal, SOA & WOA Magazine

J2EE Journal: Article

Supporting the Business Process Lifecycle Using Standards-Based Tools

Closed-loop BPM solutions

Case Study: Online Loan Application Processing

Consider the following example of a loan flow process deployed at a typical loan broker. The broker accepts a request from a client, does a credit check with an external service, and routes the application to two loan agencies. After getting two offers, the better offer is selected and the customer is notified. In this section, we'll show how you can automate this business process with available solutions based on SOA and Web Service principles using BPMN and BPEL.

In the modeling phase, the business analyst specifies the participants (LoanBroker, CreditRatingService, StarLoanService, UnitedLoanService, and the customer). The loan flow process orchestrates interactions between these services into end-to-end flows. To enable this, the analyst specifies the sequence of events and message flows between these entities using BPMN within the modeling tool, such as Popkin's System Architect. Figure 4 illustrates the high-level BPMN process model and a drill-down into a subset of this process, where a request for a loan offer is routed to the two loan agencies.

To further analyze this process, you could model the loan application inflow rate and processing time for each loan agency and then run simulations to come up with the throughput or response time for the end-to-end flow. If we also assume that a certain number of loan agents at the two agencies are needed to complete the task, and we assume an average time to process a loan, we can use simulations to help determine resource usage and the number of resources required based on the expected load. Some modeling tools let you run simulations based on the process model. For example, if you're using Popkin's System Architect to model business processes, you can use Popkin's SA Simulator II to run the simulations (i.e., run through the hypothetical scenarios).

After modeling the process in BPMN, you export to BPEL. You can then complete the BPEL skeleton generated from the BPMN modeling tool to include URLs for the services, and XSDs for the loan application and loan offer, and data transformations for the documents exchanged between the services.

Oracle BPEL Designer provides a graphical way to build the loan-flow BPEL process. Because it uses BPEL as its native format, processes built with Oracle BPEL Designer are 100% portable. It's also available as a plug-in for Oracle's JDeveloper IDE, or the Open Source Eclipse IDE, so developers can easily program the code for implementing new services and user interfaces in the same tool as they implement the BPEL processes. Figure 5 shows the Loan Flow process modeled in Oracle BPEL Designer.

Once the process is deployed, the BPEL engine can provide metrics on the performance of each instance of a process. For example, Oracle BPEL Process Manager includes a BPEL Console that you can use for an aggregate view, or drill down into a particular instance of a business process's execution. However, you can also roll process metrics into a BAM solution. The BAM dashboard can be used to provide critical business data such as the number of loan requests approved during a certain timeframe, loan offers by provider, or the average processing time per loan. For example, Oracle BAM lets you instrument BPEL processes with sensors to monitor critical activities and variables. The BAM dashboard can also provide alerts - such as the approval of multiple customers with low credit scores or a loan rejection rate greater than 10% - that may indicate potential problems, and that let you take proactive steps. Figure 6 shows the BAM dashboard with key metrics for the loan flow process.

The optimization phase for the loan flow would involve using actual processing times based on weekly or monthly reports and then running the simulation tool again to generate possible bottlenecks and predict SLAs. This may result in a redesign of the process, such as adding new loan services to meet response-time requirements. Some of these metrics can also be used in real-time. For instance, if one loan agency takes too long to respond, the BPEL process flow can time-out and continue processing with only one loan offer to meet SLA requirements.

Any optimizations to the business process can be fed back to into the modeling tool, where changes can be made to the process using BPMN. Then the new process is exported to BPEL, which is picked up by the developer, who changes the implementation with BPEL and deploys it. Note that many process orchestration engines can run multiple definitions of the same business process concurrently. This is useful because when you change a business process, you may want existing instances to run through to completion on the old definition.

Conclusion

Closed-loop BPM systems are critical for developing efficient and effective business processes that can quickly respond to changing business conditions. A closed-loop BPM solution based on open standards lets organizations rapidly iterate over the complete process lifecycle using standards-based tools. One way to do this today is to use Popkin's tools to model and simulate processes with BPMN, export the definition to BPEL, implement the processes in Oracle BPEL Designer, and deploy them to Oracle BPEL Process Manager.

References

  • For more information on BPEL and closed-loop BPM: http://otn.oracle.com/bpel.
  • For more information on Popkin and process modeling: www.popkin.com.
  • Business Process Management: The Third Wave by Howard Smith and Peter Fingar (Meghan-Kiffer Press, 2003)

    Acknowledgements

    The authors would like to thank Jon Dart, Frank Knifsend, and David Shaffer for reviewing this paper.
  • More Stories By Mohamad Afshar

    Mohamad Afshar, PhD, is VP of Product Management at Oracle. He has product management responsibilities for Oracle's middleware portfolio and is part of the team driving Oracle's investments in SOA on Application Grid - which brings together SOA and data grid technologies to ensure predictable low latency for SOA applications. Prior to joining Oracle, he founded Apama, a complex event processing vendor acquired by Progress Software. He has a PhD in Parallel Systems from Cambridge University, where he built a system for processing massive data sets using a MapReduce framework.

    More Stories By Bhagat Nainani

    Bhagat Nainani is a product development manager in the Oracle Application Server division. He currently leads the development of BPM services for the Oracle BPEL Process Manager. He has more than 10 years of experience with distributed systems, enterprise software, and integration technologies.

    More Stories By Jog Raj

    Jog Raj is the senior BPM consultant at Popkin Software. Jog has been involved in the early days of the development of the BPMN (Business Process Modeling Notation) at www.bpmi.org. Jog has also been responsible for the development of the mapping of BPMN to BPEL in System Architect. Jog has been involved in modeling business processes for over five years. He has been instrumental in the success of many major blue chip clients' projects both in the U.S. and Europe.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.