Oracle BI Publisher and BPEL Integration


Published on

Overview of how we can address today's business challenge flexibly with Oracle BI Publisher integrated with BPEL. By Oracle Consulting group, Kanichiro Nishida, Shankar Duvvuri.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Oracle BI Publisher and BPEL Integration

  1. 1. BI Publisher Integration with BPEL Kan Nishida, Technical Manager / Shankar Duvvuri, Snr Principal Consultant EPM/BI Consulting Group, Oracle Corporation
  2. 2. Contents <ul><li>Introduction </li></ul><ul><li>Solution Overview </li></ul><ul><li>Business Benefit </li></ul><ul><li>Technical Overview </li></ul><ul><li>BI Publisher Web Service/BPEL </li></ul><ul><li>Requirement/Challenge/Solution/Use Case </li></ul><ul><li>Technical Requirement </li></ul><ul><li>Implementation Process </li></ul><ul><li>Demo </li></ul><ul><li>Q&A </li></ul><Insert Picture Here>
  3. 3. Introduction <ul><li>Oracle BI Publisher is an enterprise reporting solution to author, manage, and deliver all types of highly formatted documents. Users can create data models against practically any data source and easily design report layouts using familiar desktop tools. Extremely efficient and highly scalable, BI Publisher can generate tens of thousands of documents per hour with minimal impact to transactional systems. Reports can be viewed online or scheduled for delivery to a wide range of destinations. </li></ul><ul><li>BPEL is the standard for assembling a set of discrete services into an end-to-end process flow, radically reducing the cost and complexity of process integration initiatives. Oracle BPEL Process Manager offers a comprehensive and easy-to-use infrastructure for creating, deploying and managing BPEL business processes. </li></ul>
  4. 4. Key Standards: BPEL and Process Orchestration Duplicate Number! SalesDB start end Router Billing Standard markup language for composing a set of discrete services into an end-to-end process flow <ul><li>10+ years of R&D from MSFT and IBM </li></ul><ul><li>Rich Flow Semantics </li></ul><ul><li>Optimized Bindings (not just Web services) </li></ul><ul><li>Transformation </li></ul><ul><li>WS-Security </li></ul><ul><li>A Process is a Service </li></ul>
  5. 5. Oracle BPEL Process Manager
  6. 6. BPEL Process Manager Components <ul><li>BPEL Designer </li></ul><ul><ul><li>The BPEL Designer provides a graphical and user-friendly way to build BPEL processes. </li></ul></ul><ul><li>BPEL Server </li></ul><ul><ul><li>After creating a BPEL process, once successfully compiled in JDeveloper, the process is then deployed into a BPEL server. </li></ul></ul><ul><li>BPEL Console </li></ul><ul><ul><li>BPEL Console provides a mature web-based interface for management, administration and debugging of processes deployed to the BPEL server. Audit trails and process history/reporting information is automatically maintained and available both through the BPEL Console </li></ul></ul>
  7. 7. Solution Overview <ul><li>Oracle BI Publisher offers its reporting and scheduling functionality through its Web Service. Integrating BI Publisher Web Service with Oracle BPEL Process Manager allows users not only to enhance BI Publisher’s out-of-box functionalities but also to provide flexible and advance reporting solutions to meet today’s rapid and complicated enterprise reporting requirement. </li></ul>
  8. 8. Business Benefit <ul><li>By integrating with BPEL, BI Publisher enable users to develop flexible reporting and reports delivery solutions to meet various business needs </li></ul><ul><li>BPEL offers a flexible business process development and orchestration framework, which compliments or enhance the existing functionality of BI Publisher. </li></ul><ul><li>The BI Publisher and BPEL integration doesn't include much custom coding, which enables the process to reflect the today's rapid business change. </li></ul>
  9. 9. Technical Overview <ul><li>BI Publisher offers most of the functionalities through its web service API. Developers can use the web service API to access to the BI Publisher reports catalog, generate and deliver the reports, create or maintain the reports. </li></ul><ul><li>BPEL offers a flexible business process development and orchestration framework. Developers can call BI Publisher web service as a partner web service and easily incorporate it into the business process with BPEL Process Manager. </li></ul>
  10. 10. BI Publisher Web Service <ul><li>Validate User Login </li></ul><ul><li>Validate User Report Access </li></ul>Security <ul><li>Manage reports and folders with Create , Update , and Delete </li></ul>Manage <ul><li>R eports/ F olders </li></ul><ul><li>R epository </li></ul><ul><li>Enterprise S erver </li></ul>Information <ul><li>Schedule reports </li></ul><ul><li>Manage scheduled reports and history of scheduled reports </li></ul>Scheduling <ul><li>Generate reports and return </li></ul>Reporting Functionality Type
  11. 11. ScheduleReport/ScheduleReportInSession <ul><li>Submit and run the reports immediately or set a schedule for the reports to run. When you schedule reports you can also deliver reports to any of delivery types that are registered in your BI Publisher Enterprise Server instance. </li></ul><ul><li>Operations </li></ul><ul><li>scheduleReport(ScheduleRequest srequest, String username, String password); </li></ul><ul><li>scheduleReportInSession(ScheduleRequest scheduleRequest, String bipSessionToken) </li></ul>
  12. 12. ScheduleReport/ScheduleReportInSession <ul><li>Parameters for ScheduleRequest : </li></ul><ul><li>Email Address for Notification </li></ul><ul><li>Indication of Saving the Data </li></ul><ul><li>Indication of Saving the Report Output </li></ul><ul><li>Repeat Count </li></ul><ul><li>Repeat Interval </li></ul><ul><li>Start Date for the Scheduling </li></ul><ul><li>End Date for the Scheduling </li></ul><ul><li>Calendar for Scheduling </li></ul><ul><li>Time Zone for Scheduled Time </li></ul><ul><li>Job Name </li></ul><ul><li>Delivery Request </li></ul><ul><li>Report Request </li></ul><ul><li>Indication of Public Scheduling </li></ul><ul><li>Bursting Delivery </li></ul>
  13. 13. Scheduler Setting from BI Publisher UI
  14. 14. BPEL Business Process Manager
  15. 15. <ul><li>Use Cases </li></ul>
  16. 16. Case 1 – Conditional Delivery Scenario Requirements A company A needs to check inventories periodically and if the amount of the stock is too high then the product specific campaign letter should be sent to all their customers who have purchased the products before. <ul><li>Need to send a report only when an underlying condition matches. </li></ul><ul><li>If the condition doesn’t match then there shouldn’t be any report generated or delivered. </li></ul>
  17. 17. Case 1 – Conditional Delivery Solution Challenge With the BPEL integration, we can 1) check the inventory information as part of the workflow 2) based on the result it decides if the campaign letters need to be generated 3) if the inventory amount is too high then send the letter to all the related customers by calling a pre-build BI Publisher Bursting delivery through the web service. BIP scheduling and delivery functionality doesn’t support the conditional reporting or delivery.
  18. 18. Case 1 – Conditional Delivery
  19. 19. Case 2 – Custom Calendar Schedule Scenario Requirements July 4 th is a independence day and it is holiday for a company A . Also the company A has October 10 th as their company holiday as their annual anniversary day . They don’t want to send a management report on such holidays, but still need to send the report on the next day. <ul><li>Need to send a report based on the company’s business calendar schedule </li></ul><ul><li>If it’s holiday then it should not send a report instead should be sent on the next day. </li></ul>
  20. 20. Case 2 – Custom Calendar Schedule Solution Challenge With the BPEL integration, we can 1) create a holiday table in a database that stores the company holiday information 2) develop a conditional check to see if today is holiday or not 3) if it’s holiday then it doesn’t send but reschedule to send it the next day 4) if it’s not holiday then it sends the report right away. BIP has its own scheduling framework but the out-of-box calendar doesn’t support such custom schedule or holiday.
  21. 21. Case 2 – Custom Calendar Schedule
  22. 22. Case 3 – Reporting as part of Workflow Scenario Requirements As part of an expense approval process a summary report of the past expense report history should be sent to the expense approver so that the approvers can review it before the approval. Need to incorporate a report generation and delivery as part of a n existing BPEL base business process
  23. 23. Case 3 – Reporting as part of Workflow Solution Challenge With the BPEL integration we can directly call the BI Publisher web service to generate and deliver reports. No coding is required to incorporate the BI Publisher web service into the existing BPEL business process. BI Publisher allows external applications to access to the report through its web service. However, the developers need to develop a framework to call the web service to generate the report and delivery as part of the process by themselves.
  24. 24. Case 3 – Reporting as part of Workflow
  25. 25. Case 4 – Conditional Reporting Scenario Requirements Company A wants to c heck a customer status report and based on the value they want to send a different marketing campaign letter. Need to send a BI Publisher report based on the values in another report.
  26. 26. Case 4 – Conditional Reporting Solution Challenge With the BPEL integration, we can 1) call a BI Publisher report through the Web Service and retrieve the key values (threshold value) 2) check the values as part of the workflow process 3) based on the values generate a report with a different set of content and send it to their customers. BIP doesn’t support conditional reports generation or delivery based on another report. As a workaround the developers need to implement the condition as part of the report query.
  27. 27. Case 4 – Conditional Reporting
  28. 28. Technical Requirements For executing BPEL processes Oracle SOA Suite or 11 For BPEL orchestration For building custom web service Oracle JDeveloper or 11 BI Publisher reports generation & scheduling Oracle BI Publisher Enterprise Details Product
  29. 29. Implementation Process <ul><li>Setup Oracle BI Publisher Enterprise Server </li></ul><ul><li>Setup Oracle SOA Suite 10.1.3 or 11 </li></ul><ul><li>Setup JDeveloper or 11 </li></ul><ul><li>Create an application with a BPEL Process Manager with JDeveloper </li></ul><ul><li>Incorporate the BI Publisher Web Service as part of the BPEL process </li></ul><ul><li>Test through BPEL Console </li></ul><ul><li>Deploy the application to a J2EE Application Server (such as WebLogic Server) </li></ul>
  30. 30. <ul><li>BPEL Terminology </li></ul>
  31. 31. BPEL Terminology <ul><li>Activities </li></ul><ul><ul><li>Activities are the steps involved in BPEL orchestration. In the diagram view each activity is represented by an icon (receive – receive input, invoke – invoke a web service, assign – assign values to the web service input variables etc. </li></ul></ul><ul><li>Process Activities </li></ul><ul><ul><li>Displays all possible activities that can be dragged into the diagram view of the BPEL process. </li></ul></ul><ul><li>Partner Link </li></ul><ul><ul><li>Contains the details like WSDL link of a web service. A web service can be invoked in BPEL with the help of an Invoke activity. Every Invoke activity should refer to a Partner Link containing the WSDL link. Example: http://shduvvu-us:9704/xmlpserver/services/PublicReportService?wsdl Is a sample WSDL link for BI Publisher web service. A partner link holds this information. An Invoke activity refers to the partner link to invoke the underlying web service. </li></ul></ul>