32
<Insert Picture Here> BI Publisher Integration with BPEL Kan Nishida, Technical Manager/ Shankar Duvvuri, Snr Principal Consultant EPM/BI Consulting Group, Oracle Corporation

Oracle BI Publisher and BPEL Integration

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Oracle BI Publisher and BPEL Integration

<Insert Picture Here>

BI Publisher Integration with BPELKan Nishida, Technical Manager/ Shankar Duvvuri, Snr Principal ConsultantEPM/BI Consulting Group, Oracle Corporation

Page 2: Oracle BI Publisher and BPEL Integration

Page 2© 2009 Oracle Corporation – Proprietary and Confidential

<Insert Picture Here>

Contents

• Introduction• Solution Overview• Business Benefit• Technical Overview• BI Publisher Web Service/BPEL• Requirement/Challenge/Solution/Use Case• Technical Requirement• Implementation Process• Demo• Q&A

Page 3: Oracle BI Publisher and BPEL Integration

Page 3© 2009 Oracle Corporation – Proprietary and Confidential

Introduction

• 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.

• 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.

Page 4: Oracle BI Publisher and BPEL Integration

Page 4© 2009 Oracle Corporation – Proprietary and Confidential

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

• 10+ years of R&D from MSFT and IBM

• Rich Flow Semantics

• Optimized Bindings (not just Web services)

• Transformation

• WS-Security

• A Process is a Service

Page 5: Oracle BI Publisher and BPEL Integration

Page 5© 2009 Oracle Corporation – Proprietary and Confidential

Oracle BPEL Process Manager

Page 6: Oracle BI Publisher and BPEL Integration

Page 6© 2009 Oracle Corporation – Proprietary and Confidential

BPEL Process Manager Components

• BPEL Designer• The BPEL Designer provides a graphical and user-friendly way to build BPEL

processes.

• BPEL Server• After creating a BPEL process, once successfully compiled in JDeveloper, the process

is then deployed into a BPEL server.

• BPEL Console• 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

Page 7: Oracle BI Publisher and BPEL Integration

Page 7© 2009 Oracle Corporation – Proprietary and Confidential

Solution Overview

• 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.

Page 8: Oracle BI Publisher and BPEL Integration

Page 8© 2009 Oracle Corporation – Proprietary and Confidential

Business Benefit

• By integrating with BPEL, BI Publisher enable users to develop flexible reporting and reports delivery solutions to meet various business needs

• BPEL offers a flexible business process development and orchestration framework, which compliments or enhance the existing functionality of BI Publisher.

• The BI Publisher and BPEL integration doesn't include much custom coding, which enables the process to reflect the today's rapid business change.

Page 9: Oracle BI Publisher and BPEL Integration

Page 9© 2009 Oracle Corporation – Proprietary and Confidential

Technical Overview

• 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.

• 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.

Page 10: Oracle BI Publisher and BPEL Integration

Page 10© 2009 Oracle Corporation – Proprietary and Confidential

BI Publisher Web Service

Type Functionality

Reporting • Generate reports and return

Scheduling • Schedule reports

• Manage scheduled reports and history of scheduled reports

Information • Reports/Folders

• Repository

• Enterprise Server

Manage • Manage reports and folders with Create, Update, and Delete

Security • Validate User Login

• Validate User Report Access

Page 11: Oracle BI Publisher and BPEL Integration

Page 11© 2009 Oracle Corporation – Proprietary and Confidential

ScheduleReport/ScheduleReportInSession

• 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.

Operations• scheduleReport(ScheduleRequest srequest, String

username, String password);• scheduleReportInSession(ScheduleRequest

scheduleRequest, String bipSessionToken)

Page 12: Oracle BI Publisher and BPEL Integration

Page 12© 2009 Oracle Corporation – Proprietary and Confidential

ScheduleReport/ScheduleReportInSession

Parameters for ScheduleRequest :• Email Address for Notification • Indication of Saving the Data• Indication of Saving the Report Output• Repeat Count• Repeat Interval• Start Date for the Scheduling• End Date for the Scheduling• Calendar for Scheduling• Time Zone for Scheduled Time• Job Name• Delivery Request• Report Request• Indication of Public Scheduling• Bursting Delivery

Page 13: Oracle BI Publisher and BPEL Integration

Page 13© 2009 Oracle Corporation – Proprietary and Confidential

Scheduler Setting from BI Publisher UI

Page 14: Oracle BI Publisher and BPEL Integration

Page 14© 2009 Oracle Corporation – Proprietary and Confidential

BPEL Business Process Manager

Page 15: Oracle BI Publisher and BPEL Integration

Page 15© 2009 Oracle Corporation – Proprietary and Confidential

Use Cases

Page 16: Oracle BI Publisher and BPEL Integration

Page 16© 2009 Oracle Corporation – Proprietary and Confidential

Case 1 – Conditional Delivery

Requirements Scenario

• Need to send a report only when an underlying condition matches. • If the condition doesn’t match then there shouldn’t be any report generated or delivered.

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.

Page 17: Oracle BI Publisher and BPEL Integration

Page 17© 2009 Oracle Corporation – Proprietary and Confidential

Case 1 – Conditional Delivery

Challenge Solution

BIP scheduling and delivery functionality doesn’t support the conditional reporting or delivery.

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.

Page 18: Oracle BI Publisher and BPEL Integration

Page 18© 2009 Oracle Corporation – Proprietary and Confidential

Case 1 – Conditional Delivery

Call Inventory Check Web Service to Check

Inventory

Call BIP Web Service to Generate/Deliver Product

Campaign Letter

Inventory is Too High?

Inventory Check Web Service

Send a notification email to Administrator

End of ProcessSend a notification email to

Administrator

End of Process

BIP Scheduling Web Service

Retrieve Data

Generate and Deliver Product Campaign Letter

to All Customer with Bursting

BI Publisher Web Service

Yes

No

Page 19: Oracle BI Publisher and BPEL Integration

Page 19© 2009 Oracle Corporation – Proprietary and Confidential

Case 2 – Custom Calendar Schedule

Requirements Scenario

•Need to send a report based on the company’s business calendar schedule•If it’s holiday then it should not send a report instead should be sent on the next day.

July 4th is a independence day and it is holiday for a company A. Also the company A has October 10th 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.

Page 20: Oracle BI Publisher and BPEL Integration

Page 20© 2009 Oracle Corporation – Proprietary and Confidential

Case 2 – Custom Calendar Schedule

Challenge Solution

BIP has its own scheduling framework but the out-of-box calendar doesn’t support such custom schedule or holiday.

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.

Page 21: Oracle BI Publisher and BPEL Integration

Page 21© 2009 Oracle Corporation – Proprietary and Confidential

Case 2 – Custom Calendar Schedule

Call Business Calendar Web Service to Check if Today is a

Business Day or Not

Call BIP Web Service to Generate/Deliver Management Report. Set Scheduling Date as

Immediate.

Is Business Day?

Check if Today is a Business Day or Not

Send a notification email to Administrator

End of Process

BIP Scheduling Web Service

Retrieve Data

Generate Reports and Deliver Manager Report

Send a notification email to Administrator

End of Process

BI Publisher Web Service

Call BIP Web Service to Generate/Deliver Management Report. Set Scheduling Date as

Next Business Date.

Business Calendar Web Service

If Not, Returns Next Business Day

Yes No

Page 22: Oracle BI Publisher and BPEL Integration

Page 22© 2009 Oracle Corporation – Proprietary and Confidential

Case 3 – Reporting as part of Workflow

Requirements Scenario

Need to incorporate a report generation and delivery as part of an existing BPEL base business process

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.

Page 23: Oracle BI Publisher and BPEL Integration

Page 23© 2009 Oracle Corporation – Proprietary and Confidential

Case 3 – Reporting as part of Workflow

Challenge Solution

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.

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.

Page 24: Oracle BI Publisher and BPEL Integration

Page 24© 2009 Oracle Corporation – Proprietary and Confidential

Case 3 – Reporting as part of WorkflowInvoke Expense Approval

Process

Call BIP Web Service to Generate/Deliver Expense

Summary Report

Manager Receives an Approval Request Email

BIP Scheduling Web Service

Retrieve Data

Generate and Deliver Expense Summary

report to the Manager

Call Payment Web Service

End of Process

BI Publisher Web Service Send Approval Request to

Manager

Manager Receives Past Expense Summary Report

Manager Returns Approval Status

Approved or Not?

Send a Notification Email to Employee

Payment Web Service

End of Process

Approved Rejected

Page 25: Oracle BI Publisher and BPEL Integration

Page 25© 2009 Oracle Corporation – Proprietary and Confidential

Case 4 – Conditional Reporting

Requirements Scenario

Need to send a BI Publisher report based on the values in another report.

Company A wants to check a customer status report and based on the value they want to send a different marketing campaign letter.

Page 26: Oracle BI Publisher and BPEL Integration

Page 26© 2009 Oracle Corporation – Proprietary and Confidential

Case 4 – Conditional Reporting

Challenge Solution

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.

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.

Page 27: Oracle BI Publisher and BPEL Integration

Page 27© 2009 Oracle Corporation – Proprietary and Confidential

Case 4 – Conditional Reporting

Call BIP Web Service to Generate/Deliver Product

Campaign Letter

Higher than Threshold?

Send a notification email to Administrator

End of Process

Send a notification email to Administrator

End of Process

BIP Scheduling Web Service

Retrieve Data

Return the Data in XML format

BI Publisher Web Service

BIP Scheduling Web Service

Retrieve Data

Generate and Deliver Product Promotion Letter to Each

Customer

BI Publisher Web Service

Call BIP Web Service to Generate Customer Service

Report Data

No

Yes

Page 28: Oracle BI Publisher and BPEL Integration

Page 28© 2009 Oracle Corporation – Proprietary and Confidential

Technical Requirements

Product Details

Oracle BI Publisher Enterprise 10.1.3.4.1

BI Publisher reports generation & scheduling

Oracle SOA Suite 10.1.3.1 or 11 For executing BPEL processes

Oracle JDeveloper 10.1.3.4 or 11 For BPEL orchestrationFor building custom web service

Page 29: Oracle BI Publisher and BPEL Integration

Page 29© 2009 Oracle Corporation – Proprietary and Confidential

Implementation Process

1. Setup Oracle BI Publisher Enterprise Server 10.1.3.4.1

2. Setup Oracle SOA Suite 10.1.3 or 11

3. Setup JDeveloper 10.1.3.4 or 11

4. Create an application with a BPEL Process Manager with JDeveloper

5. Incorporate the BI Publisher Web Service as part of the BPEL process

6. Test through BPEL Console

7. Deploy the application to a J2EE Application Server (such as WebLogic Server)

Page 30: Oracle BI Publisher and BPEL Integration

Page 30© 2009 Oracle Corporation – Proprietary and Confidential

BPEL Terminology

Page 31: Oracle BI Publisher and BPEL Integration

Page 31© 2009 Oracle Corporation – Proprietary and Confidential

BPEL Terminology

• Activities • 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.

• Process Activities• Displays all possible activities that can be dragged into the diagram view of the BPEL

process.

• Partner Link• 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.

Page 32: Oracle BI Publisher and BPEL Integration

Page 32© 2009 Oracle Corporation – Proprietary and Confidential