Tuesday, July 31, 2007

How BPEL adds value to PeopleTools 8.48?

One of the key enhancements delivered in PeopleTools 8.48 was integration with Oracle BPEL Manager. Oracle's description of BPEL is:

Oracle BPEL Process Manager, a member of the Oracle Fusion Middleware family of products, enables enterprises to orchestrate disparate applications and Web services into business processes. The ability to quickly build and deploy these processes in a standards-based manner delivers critical functionality for developing a Service-Oriented Architecture (SOA).

Now... how this translates into real-world cases?

Recently, we had to design for one of our customers a Web Service based integration of PeopleSoft Financials with a Third Party Billing system. One of the integrations consisted in the Third Party system sending information to PeopleSoft Financials in order to perform the following actions:
  • Create the customer if it was not present.
  • Create the invoice as a pending item in PeopleSoft Receivables module.
  • Run Receivables Update process.
  • Create the deposit and apply it to the item.
  • Run Receivables Update process again to update customer's balance.
Before BPEL, if we wanted to create this integration, a solution would have to create a Web Service in PeopleSoft that encapsulates all these activities. The problem of this approach is that this new Web Service would not easily reusable, as most consumer applications will only require part of the operations performed in it.

With BPEL, we can keep Web Services at the right granularity to help making them reusable. Following with the example, we would just make sure the following Web Services exist (taking into account that some of them may be already available in the delivered product):
  • Customer creation.
  • Pending item creation.
  • Receivables update processing.
  • Deposit creation and application.
BPEL would then be used to orchestrate these Web Services, without requiring to build aggregated and poorly reusable Web Services in PeopleSoft.

In summary, BPEL seems to bring PeopleSoft applications to the next level in what relates to integration with Third Party applications. Also, being BPEL one of the keystones of Oracle Fusion Architecture, it seems a wise decision to gain some BPEL experience as this might be a highly demanded skill in the near future.

Note: Although Oracle ships its BPEL Manager product together with PeopleTools 8.49, this license only covers design-time use. For runtime use, you should purchase Oracle BPEL Manager separately. For more information, please refer to:

http://download.oracle.com/docs/cd/E05453_01/psft/acrobat/pt849_lic_notes.pdf

2 comments:

Anonymous said...

This is nice article. What would happen if you get error after "Create the deposit and apply it to the item" function. Did you rollback the successful activities in the bpel process ?

Javier Delgado said...

Actually not. The requirement was that the business process went as far as possible, not considering it as a single transaction if a step failed in between.
If we had to implement such requirement, the whole approach would change, as we used Web Services based on Component Interfaces, which don't allow rollback after the component was saved. Instead, we should build specific rollback web services called upon failure of any of the previous transactions.