You are on page 1of 24

Oracle BPEL& Oracle Business Rules

By Santosh.G

Agenda

What is BPEL? What is BPEL PM? About Jdeveloper Components of BPEL Process Activities Oracle Business Rules Overview Pre-Requisites

Oracle BPEL Features


BPEL is a Business Process Execution Language a standard for assembling (Orchestra) a set of services into an end-to-end process flow. The services can be web services, database tables, stored procedures, files, java components, existing apps such as SAP, Oracle eBusiness Suite, etc. The process flows can be synchronous/short running or asynchronous/long running. It is built over SOA( Service Oriented Architecture ) mainly used for integration. It reduces integration complexity in development, deploying and managing applications. It is used to automate business processes, joining systems together and providing a real time view of where individual processes are.

Oracle BPEL Process Manager

Oracle BPEL Process Manager provides a framework for easily designing, deploying, monitoring, and administering processes based on BPEL standards. Oracle BPEL Process Manager provides support for the following features: Web service standards such as XML, SOAP, and WSDL Dehydration (enables the states of long-running processes to be automatically maintained in a database) and correlation of asynchronous messages. Service-oriented architecture (SOA) Parallel processing of tasks
..Cont

Oracle BPEL Process Manager


Fault handling and exception management during both design time and run time Event timeouts and notifications Compensation mechanisms for the implementation of long-running transactions Scalability and reliability of processes Management and administration of processes Version control Audit trails for tracing business flow history Installation on multiple operating systems and integration with multiple application servers (for example, Oracle Application Server, Web Sphere, Web Logic, and JBoss) and databases.

What Is the BPEL Designer?


Oracle BPEL Process Manager provides support for two types of BPEL designer environments for graphically designing BPEL processes: They are Jdeveloper BPEL Designer Eclipse BPEL Designer

JDeveloper BPEL Designer


JDeveloper BPEL Designer is integrated with Oracle JDeveloper 10g. Oracle JDeveloper 10g is an Integrated Development Environment (IDE) for building applications and Web services using Java, XML, and SQL standards. Oracle Jdeveloper 10g supports the entire development life cycle with integrated features for designing, coding, debugging, testing, profiling, tuning, and deploying applications. A visual and declarative development approach and the Oracle Application Development Framework (ADF) work together to simplify application development and reduce coding tasks.

Development and Maintenance


Design your BPEL processes by dragging and dropping elements (known as activities) into the process and editing their property pages. This eliminates the need to write BPEL code. You integrate BPEL processes with external services (known as partner links). You also use wizards to integrate adapters and services such as workflows, transformations, notifications, sensors, and worklist task management with the process. Both BPEL designers can deploy the developed processes directly to Oracle BPEL Console.

Process Activities
Assign Shows how to receive an input string, prefix Hello to it using an assign activity, and asynchronously return the result. Catch Shows how an exception can be raised using the throw activity and managed using a catch activity. Event Shows how to enable an synchronous BPEL process and use event handlers to receive and process events while waiting for the asynchronous callback. Flow Shows how to create parallel paths of execution within a BPEL process. Invoke Shows how to invoke a synchronous integer increment service.

Most commonly used Activities


Pick Shows how to invoke an asynchronous loan service and use a BPEL pick activity to receive an asynchronous response or a timeout message. If the loan amount is more than 10000, it takes about 30 seconds for the server to process it, causing a timeout to be raised. Receive Shows how to invoke an asynchronous loan service and wait for an asynchronous callback message using the BPEL receive activity. Replay Shows how to replay an activity, such as a scope. Reply Shows how to receive a string as input, perform an assign, and use the reply activity to synchronously return the modified string. Switch Shows how to use a switch activity to return a different text message based on whether the input value is greater or less than zero.

Most commonly used Activities


Wait : Shows how to receive input, wait for 60 seconds, and asynchronously call back a client. While: Shows how to invoke an increment service n times with a while activity, where n is provided as an input value. Xpath : Shows how to receive an invalid application, perform several XPath copies, and asynchronously return the application. XPathFunction : Shows how to define and use custom XPath functions within BPEL assign activities. Terminate : Shows how to invoke a synchronous stock quoting service. The terminate activity then aborts, causing the final callback invoke activity to be skipped. Throw : Shows how to throw a BPEL fault (without handling it) and cause the instance to fault.

Components Oracle BPEL Process Manager Components

Components Overview
Each component enables you to perform a specific set of tasks: The design environment (JDeveloper BPEL Designer or Eclipse BPEL Designer) enables you to design and deploy BPEL processes. You design BPEL processes by dragging and dropping elements (known as activities) into the process and editing their property pages. You integrate BPEL processes with external services that you also design and edit (known as partner links). You also use wizards to integrate technology adapters and services such as workflows, worklist, transformations, notifications, and sensors with the process. When design is complete, you deploy the process from the design environment to Oracle BPEL Server. If deployment is successful, you can run and manage the BPEL process from Oracle BPEL Console.

Some Examples
Example 1: a Telecom company can use BPEL for implementing all the steps that need to occur for setting up a DSL account for a customer. Example 2: read the content of a comma delimited file, translate it into XML, validate it, transform it to the format of a database, write it into a database...this is also a process flow Example 3: Hello world and Order Booking Process will be shown as a live demo.

Oracle Business Rules

Oracle Business Rules helps make applications more flexible and agile by enabling business analysts and non-developers to easily define and modify application logic based on business rules, with no programming required. This dramatically reduces the cost of modifying application logic based on business rules and the subsequent redeployment costs.

BENEFITS OF USING BUSINESS RULES


There are a number of benefits that can be derived from the use of Business Rules. The three most important benefits are: Agility: Simple and rapid response to changing requirements. Cost reduction: Lower cost to create or update the parts of applications that implement business policies. Transparency: Rules allow management to easily audit that software services implement their corresponding business policies.

Oracle Business Rules Components


Rule Author GUI

Rules enabled Java Application


facts results Application run-time logic RuleSession Class Rules Engine Rules repository Rules customizing application Rules SDK facts

Facts can be Java objects or XML

Business Rules Product Overview

Oracle Business Rules Components The Oracle Business Rules components consist of a Rules engine; a Rule Author Tool, and a Rules SDK. The Oracle Rules Engine is written in Java. It is fast and efficient and well integrated with both Java and XML. The Authoring tool presents an English-like paradigm for declaring Rules. It can be used by both programmers and business analysts. Programmers Rule-enable applications by defining Facts, used for Rules analysis, and the Actions/Results invoked as a result of such analysis. Business analysts can then define rules in terms of Facts and Actions.

The Authoring tool generates the Oracle Rules language in a repository for use by the Rules engine. This language provides outstanding integration with Java programs, Web services, and XML documents. The Oracle Rules language can be coded directly by programmers but is normally generated by high-level tools. A third component is a Rules SDK. The SDK allows Rules repository access and update by Rules generating programs. The SDK is attractive for applications that define policies via their own special graphic interfaces.

Pre-requisites
Whats required to get started ? 1. Oracle Lite Database 2. Oracle BPEL Process Manager (Jdeveloper) 3. IE 6.0 4. Min 1GB RAM What pre-requisite knowledge is needed to learn BPEL? Good understanding of XML and XSLT is a big plus: although the visual tool tries to hide all of this, we find that this knowledge is still required when things go wrong. Is it same as workflow? Yes. It is workflow++: better support for XML, Transformation, Adapters, Monitoring, Auditing.

To Summarize Invoking a Synchronous Web Service Calling an Asynchronous Web Service Parallel Flow Conditional Branching Fault Handling and Exceptions Events and Timeouts File Adapters Read and Write Adapters for DML operations on database.

Summary of Oracle Business Rules


Business Rules are increasingly used to improve the agility and transparency business applications. This allows organizations to quickly modify their applications in response to regulatory changes, market opportunities, or competitive threat. Oracle Business Rules provides an excellent infrastructure for development and deployment of Business Rules for both the business analyst developing Rules and the programmer integrating Rules into business applications.

Useful Sites

http://www.oracle.com/technology/products/ias/bpel/index.ht ml?SC=NA05060039C0.GCM.7001.SOA+BPEL.bpel.br http://downloadwest.oracle.com/otndocs/products/bpel/quickstart.pdf Any Questions ?

You might also like