Code-Free Application Extensions and Integrations

by Sandeep Banerjie, Srikant Subramaniam, and Nikhilesh Chitnis

Embracing change without writing code.

Part of the Oracle Fusion Middleware Patterns series.

Published February 2010

 Oracle Fusion Middleware



In today's fast-paced business environment, customer preferences, business models, enabling technologies, and regulations change quickly. Organizations must anticipate change – even embrace it – if they are to improve operational excellence, increase customer focus, expand profitable relationships, and remain leaders in their industries.

For many businesses, however, IT lacks the capacity to support fast, fluid business change. Invasive application extensions and integrations are among the several factors that contribute to this problem.

Very often, attempts are made to close Business/IT gaps through the customization and integration of existing ERP, CRM, SCM, and similar applications. But a shotgun approach to implementing these modifications, with little regard for standards and enterprise architecture principles, is likely to exacerbate the problem. Traditional implementation practices for such modifications are typically invasive in nature and introduce risk into projects, affect time-to-market and ease of use, and ultimately increase the costs of running and maintaining the applications.

So, if archaic integration techniques make up nearly 20% of an application's initial implementation costs, and invasive customizations result in nearly 50% of total upgrade costs, adopting innovative solutions to change the economics of integration becomes an imperative rather than a choice.

We are seeing a rapid growth in adoption of Service-Oriented Architecture (SOA), Business Process Management (BPM), Business Intelligence (BI), Web 2.0, and the more recent phenomenon of Cloud Computing in order to address many of these challenges and to evolve to the next generation of IT capabilities and services.

In this article, using a real-life customer example, we will illustrate how you can use SOA, BPM, Web 2.0 and BI to extend and integrate Oracle applications without writing a single line of code. The approach makes these modifications simple, quick to implement, and easy to maintain/upgrade. It offers an innovative and practical solution to radically change the economics of running your Oracle applications.

Customer Scenario: Travel and Expense Management

A global payments technology company with 5000+ employees wants to automate its highly manual and time- and cost-intensive travel authorization process.

The automation will allow employees to submit travel authorization requests online and enable managers to analyze, review and approve/reject requests online. This automation will improve the company's travel and expense management process and reduce operational costs.

The solution will involve extending their back-end travel & expense reimbursement system that does not support this specific requirement out-of-the-box.

IT has 3 choices to deliver this solution.

#1: Native customization of back-end travel and expense reimbursement system

It is most common among packaged application users to first try to fit functionality enhancements or set new requirements directly within the application.

In this case, Oracle E-Business Suite (iExpense) is the travel expense reimbursement system. To deliver this capability, Oracle E-Business Suite has to be customized (extended) and integrated. This customization would involve developing custom Oracle Application (OA) Framework pages through which a user can submit authorization requests. Custom look-up types will have to be created for Oracle Approval Management (AME) and for workflow processes to run. The workflow packages and AME rules will have to be integrated. Existing iExpense pages (e.g. approver's page) will have to be modified to accommodate the additional functionality, including adding/hiding fields, menus, functions, messages, buttons etc. Custom tables will have to be built, including create, update, delete, insert, rollback functions. New reports will have to be generated.

The estimated effort to build the solution using this method is ~70 person-days.

#2: Bolt-on "niche" application for travel authorization

Many a times packaged application users adopt the bolt-on strategy to deliver a missing functionality and avoid customization within the backend application. This typically involves integrating a commercial off the shelf (COTS) niche solution or a custom application with different systems. This approach can provide greater feature-function fit with lower configuration effort, but in most cases it increases the overall cost of the solution, especially when you take into consideration the software support fees and staff costs to run and maintain the solution.

In case of the travel authorization scenario, the solution (either COTS or custom) would be tailored specifically for E-Business Suite. It would be a siloed implementation with its own solution life-cycle, and would not serve as the single standardized platform for application extensions and customizations.

The estimated effort to build the solution using this method is ~20 person-days.

#3: Code-free extension and integration of a back-end travel and expense reimbursement system

This method leverages an integrated SOA, BPM, Web 2.0 and BI applications platform to provide a code-free assembly approach to application extensions and integrations. The solution includes a rich and intelligent Web 2.0 user interface for submitting/approving travel authorization requests. It seamlessly integrates with the Oracle E-Business Suite-iExpense module using SOA. BPM automates the different travel authorization profiles requiring myriad rules, workflows, and integrations. BI applications deliver process intelligence and historical analysis allowing employees and managers to make more informed decisions.

The estimated effort to build the solution using this method is ~10 person-days.

A summary of the key characteristics of the 3 solution deployment choices and their relative impact on time, cost, ease of use, and investment protection are seen in Tables 1 and 2 respectively:

Choices 1 and 2 Choice 3
Build for permanence Build for change
Tightly coupled to back end application Loosely coupled as a composite app on top of back end application
Application function-driven Business process-driven
Collaboration is hard Collaboration is ingrained
Process intelligence is limited Process intelligence is ingrained
Homogenous vertical integration Heterogeneous horizontal integration
Table 1: Key Characteristics of Solution Deployment Choices


Choices 1, 2 and 3 Time Cost Ease of Use Investment Protection
Native Customization High Medium Low Medium
Bolt-on Niche Application Low High High Low
Code-Free Extensions and Integrations Low Low High High
Table 2: Relative Impact of Solution Deployment Choices

The tables above suggest that the integrated platform approach offers the best overall solution, one that is designed for the way people work and built to be changed as needed. This solution enables new levels of agility, creates compelling user experiences, generates additional productivity and delivers competitive advantage.

The integrated platform approach requires ~85% lesser effort to build the solution when compared to traditional approaches like native customization and integration of backend applications. This approach can also reduce upgrade costs by ~40%, about which you can learn more in Oracle white paper Application Upgrades and Service-Oriented Architecture

Let us now discuss the architectural concepts and components that make up the integrated platform for delivering code-free application extensions and integrations.

Programming Code-Free Application Extensions and Integrations: The Platform

The travel authorization solution uses Oracle Fusion Middleware as the integrated platform for code-free extensions and integrations. The different components of the solution are seen in Figure 1. Service-oriented architecture (SOA) is at the core of this integrated platform. It introduces a layered architecture, designed to eliminate code, minimize IT maintenance costs, and accelerate speed of change across the entire IT landscape composed of multiple business applications.

Each component seen in Figure 1 plays an important role and contributes to the overall time, cost, ease of use and investment protection of the solution as outlined earlier in Table 2.

Figure 1: Travel Authorization Solution Platform Components

E-Business Suite-iExpense
is the backend travel and expense management application. It enables entering and submitting expense reports using a standard web browser or a web-enabled mobile device. Oracle Workflow automatically routes expense reports for approval and enforces reimbursement policies. Oracle iExpense integrates with Oracle Payables to provide quick processing of expense reports for payment.

The Oracle E-Business Suite Adapter provides connectivity by exposing the E-Business Suite's interfaces as web services. These web services can in turn be composed into a SOA-based integration solution between business processes across enterprise applications, using Oracle Fusion Middleware. The Adapter supports several integration technologies including: PL/SQL APIs (as used in this scenario), Business Events, Open Interface Tables, Concurrent Programs, XML Messages, eCommerce Gateway Interface and Interface Views.

Application Development Framework (ADF), provided with Oracle JDeveloper, is the 4GL development tool used to expose E-Business Suite web services on a web page. With ADF, SOA Composite and E-Business Suite Adapter, web services can be exposed without a single line of code due to the power of its data controls as well as JDeveloper's visual page layouts and page flows.

For the travel authorization solution, the Travel Authorization portlet is built using ADF. All user interactions are implemented using ADF task flows. The task flows provide a modular approach for defining control flow in an application. Instead of representing an application as a single large development component (for example, a Java Server Faces (JSF) page flow), you can break it up into a collection of reusable task flows, each of which contains a portion of the application's navigational graph. The nodes in the task flows are activities. An activity node represents a simple logical operation such as displaying a page, executing application logic, or calling another task flow. The application can therefore be broken up into a series of individual task flows that call one another. These task flows containing common functionality can be packaged into a library that can be shared between different developers, across different teams, and even across departments within an organization. This kind of modularity facilitates reuse, thereby significantly reducing time and effort to put up and maintain applications.

For more information on building end-to-end enterprise-class (Java EE) web application using Oracle ADF, see Oracle Application Development Framework: Tutorial for Forms/4GL Developers.

SOA Composite, provided with Oracle SOA Suite, helps to integrate the E-Business Suite web services with other systems and processes. This is done using BPEL (Business Process Execution Language), the standard for orchestrating web services and ESB (Enterprise Service Bus) for queuing and messaging purposes. BPEL allows you to create processes that orchestrate web services. The end result is end-to-end processes spanning E-Business Suite and other applications, as well as data integrations from and to E-Business Suite that can leverage process logic for error handling and exception management.

Approval flows in the travel authorization solution (including human workflow and rules) are automated by SOA Composite. The tight integration of SOA Suite and E-Business Suite provides the capability to dynamically extract the approval hierarchy for the human workflow. During run time, automated workflows help reduce errors, eliminate repetitive entries, and enforce approval procedures. During design time, Oracle BPEL Process Manager makes it possible to visually design processes that orchestrate web services exposed from E-Business Suite as well as other applications.

For more information on service enabling E-Business Suite with Oracle BPEL Process Manager and Enterprise Services Bus, see:

WebCenter, provided with Oracle WebCenter Spaces, delivers role-based content to business users, allowing users users to tailor their work environments to meet specific needs and supports the creation of a collaborative environment for project teams to manage their projects and content without requiring IT assistance. WebCenter also includes the ability to embed Oracle Universal Content Management stores to manage documents.

The travel authorization solution makes use of WebCenter Spaces to allow business users customize their workspace and content. Different types of content are delivered based on user role:

  1. Employee:
    a. Custom Travel Authorization Portlet
  2. Travel Auditor
    a. Compliance documents repository
    b. Task worklist
  3. Management
    a. Task worklist b. Oracle Business Intelligence Applications (BI APPS) analytic dashboards

The drag and drop features in WebCenter Spaces and the integration with BI dashboard portlets expedite the overall web page assembly and content distribution.

For more information on integrating E-Business Suite in a WebCenter application, see Integrating Oracle E-Business Suite in a WebCenter Application

Oracle Business Intelligence Applications (BI APPS) deliver a packaged analytics solution that eliminates the need to develop data warehouse design, ETL logic from the sources, and best practice dashboards.

Within the travel authorization solution, BI Apps provide pre-built ETL routines which capture data at the end of each day from E-Business Suite and then upload that data to the BI Apps data store. This data is then delivered via WebCenter Spaces to business users, who can then make informed decisions.

Figure 2 illustrates the overall travel authorization workflow, involving system- and human-centric processes.

Figure 2: Travel Authorization Solution Workflow
  • Employees sign onto the Travel Authorization Portal with WebCenter to raise travel related requests. The portal page has:
    • A list of existing travel authorization requests submitted by the employee with their respective status
    • Link to Submit a new travel authorization request
    • A group calendar of people traveling to various events across the country
    • My Buddy List
    • Travel alerts using RSS feeds
  • Clicking on the 'Submit new travel request' presents a data entry form to submit a travel authorization request with the following information:
    • First Name
    • Last Name
    • Travel Date
    • Destination
    • Event (populated from a central data store)
    • Cost center (information retrieved from E-Business Suite)
    • Amount
    • Subcategory
      1. Companion travel with downgrade
      2. Companion travel without downgrade
      3. Decline use of preferred hotels
      4. Decline lowest fare
    • Weather information for the specified city/date using ADF task flows
  • The travel request is then routed through a workflow using BPEL to different approvers depending on the approval amount. It also appears in the employee's portal page as list of submitted requests.
  • The request is first routed to the travel auditor who is able to see the list of pending travel requests in his WebCenter portal page. This information is rendered from the BPEL worklist application.
  • If the approval amount is > $ 1000, a notification is sent in parallel to the employee's manager using Business Rules and BPEL.
  • Upon approval by the travel auditor, using BPEL the travel request is routed in parallel to:
    • Cost center approver (information is retrieved from E-Business Suite)
    • Manager + Senior Manager of the employee (hierarchy is retrieved from E-Business Suite)
    The Cost center approver, Manager and Senior Manager access the travel request from their respective WebCenter portal pages. Based on spend analytics such as employee T&E history, departmental budgets vs actual, etc. delivered as dashboards within the portal page by BI Applications, approvers make an informed decision to approve/reject the travel request.
  • Once approved by all stakeholders, the travel request information is updated in E-Business Suite-iExpense and an email notification is sent to the travel desk. If rejected by any approver, the travel request is closed and notification is sent to the employee.
  • For approved travel requests, upon completion of travel, employees log in to E-Business Suite-iExpense to submit their expense report and associate the expense line items with the travel authorization request previously updated in E-Business Suite.

An MVC Approach to Creating a Composite UI with ADF, SOA, and JDeveloper

SOA Composite, along with the E-Business Suite Adapter, is used to expose the cost center information from E-Business Suite as the web service "retrieveCostCenter". A set of data controls within Oracle ADF integrates the "retrieveCostCenter" web service and delivers the data to the travel authorization application.

Oracle ADF's 4GL programming and the pre-built connectivity between the components allows for these data controls to be built without a single line of code. Oracle ADF task flows, created using Oracle JDeveloper, lay out the navigational aspects of the custom travel authorization application. (See Figure 3).

Figure 3: Oracle ADF Graphical User Interface

Clicking on a view object in the page flow allows you to design a specific view of the travel authorization application seen in Figure 4. These views or pages are designed using ADF's drag-and-drop features.

Figure 4: Travel Authorization Request View

Oracle JDeveloper uses the WSDL of the deployed service (in this case retrieveCostCenter) to introspect and auto-generate the necessary bindings for invocation. The data control is auto-generated and displayed in a palette in Oracle JDeveloper (Figure 5). This data control is then used to bind the retrieved cost center to a display component on the page and bind it to other view components, buttons, etc.

Figure 5: ADF Data Controls in Oracle JDeveloper

Integrating with E-Business Suite Using Oracle SOA and Oracle Application Adapter

The travel authorization solution uses the SOA Composite to dynamically retreive the list of approvers from E-Business Suite during runtime. This list is then used to drive the workflow for the request.

A BPEL process retrieves the organization hierarchy from the E-Business Suite instance. The integration is established with the Oracle Applications adapter. In this case, a custom PL/SQL API is created in E-Business Suite using a PL/SQL interface to retrieve/update data (Figure 6).

Figure 6: Custom PL/SQL APIs in E-Business Suite

The Oracle Applications adapter provides a visual interface to browse/access APIs (custom and public) from E-Business Suite, and provides connectivity to these APIs as web services (Figure 7).

Figure 7: Oracle Applications Adapter User Interface

Once the adapter is configured, it is consumed in the BPEL process using an Invoke activity (Figure 8).

Figure 8: Consuming an Oracle Adapter within a BPEL Process

At this point the data (list of approvers) from E-Business Suite is retrieved based on following variables:

  1. FirstLevelManager
  2. SecondLevelManager

The list is exposed as a web service and is readily consumed by the main BPEL process and assigned internally to human tasks to drive the workflow.

Building Business Logic Using Oracle SOA and Oracle Business Rules

The travel authorization solution uses a business rule to determine if a travel authorization request requires additional approval. These business rules are implemented via Oracle Business Rules (OBR), a component of Oracle SOA Suite. OBR integrates with applications via rules and decision tables. This integration is achieved via the use of Oracle JDeveloper as the single tool for modeling business terms, rules and processes — without writing a single line of code. The Oracle Business Rules component is wired to the overall business process using the SOA Composite Editor (Figure 9).

Figure 9: SOA Composite Editor in JDeveloper

Modeling is often an iterative activity. For example, a new rule might require a new business term or it might specify an outcome that requires a change to the business process. In this situation integrated tools can make business analysts more productive. While the Oracle Business Rules Designer extension to JDeveloper enables the design-time creation of business rules, the SOA Composer allows users to view, edit, and commit changes to business rules at run-time via a user-friendly web interface, without the need to redeploy the entire application.

A business rule is comprised of IF and THEN parts. The IF part tests one or more business terms. Once this test is passed, one or more actions are performed in the THEN part. For instance, the travel authorization solution has a rule that requires additional approval if the amount exceeds $1000. OBR Designer can be used to model this rule (Figure 10).

Figure 10: Oracle Business Rules Designer

Building the BI Dashboard with Oracle BI Application Spend Analytics

Oracle BI Applications include prebuilt extract, transform, and load (ETL) adapters and business logic to tap into a multitude of common operations applications and data sources, including E-Business Suite, Siebel CRM, PeopleSoft, JD Edwards; call center operational information such as IVR and CTI data; Web logs, and a host of other systems. The Repository content pre-packaged with Oracle BI Applications consists of the source system mappings from these different data sources.

With the help of the repository, we can graphically select the source - in this case E-Business Suite. Then, historical spend information for the employee is retrieved from E-Business Suite and loaded in BI Data Warehouse with the pre-built ETL. The mapping from the source is extracted to a temporary staging for relevant changes (Figure 11).

Figure 11: Designer Mapping

Based on this extracted data, BI delivers the spend analytics as dashboards to travel approvers for informed decision-making (Figure 12).

Figure 12: Spend Analytics Dashboard

Beyond the Travel Authorization Solution: An Approach for Other Applications

The strategies and solutions presented in this article for extending and integrating applications with the Oracle Fusion Middleware platform can be applied to other Oracle applications, including Siebel, PeopleSoft, JDEdwards, and Agile, as well as to non-Oracle applications. The Oracle Fusion Middleware Best Practice Centers offer a broad selection of step-by-step guides and tutorials that illustrate how to service-enable Oracle applications and build integrations, business processes, and composite applications without writing code.

In Summary

The next generation of IT principles – SOA, BPM, Web 2.0, and BI – will make business applications work the way business users perform tasks, with inherent intelligence, collaboration and information access, and in components that can be reused, shared, and aggregated. The resulting dynamic applications will be adaptable in real time to suit situational changes, highly interactive and collaborative by design, and capable of being quickly assembled with data sources from inside and outside the business.

Invasive customizations and extensions of back-end applications are an impediment to building dynamic business applications. As illustrated in this article, Oracle Fusion Middleware offers an open and integrated platform for Applications Unlimited customers to simplify application extensions and integrations, improve process visibility, and resolve process quality gaps. Oracle's Fusion Platform changes the economics of running Oracle applications, both for new implementations and for upgrades. With the Oracle Fusion Middleware Platform, Applications Unlimited customers can immediately leverage code-free extensions and integrations and other capabilities – without the need for technical upgrades to Oracle Fusion Applications.

Sandeep Banerjie Sandeep Banerjie Banerjie is Senior Director of Product Management for Oracle Fusion Middleware. His responsibilities include developing and executing Fusion Middleware product and go-to-market strategies for Oracle and non-Oracle applications across all industries. Sandeep has 17+ years of IT experience and is a frequent speaker on ERP, CRM, SCM, SOA, BPM and Cloud Computing.
Srikant Subramaniam Srikant Subramaniam is a product manager for Oracle Fusion Middleware. He is responsible for enhancing and evangelizing best practices for the middleware platform as it relates to Oracle Applications.
Nikhilesh Chitnis Nikhilesh Chitnis is Senior Sales Consultant for Oracle Fusion Middleware. He is responsible for positioning and demonstrating the value of Oracle's middleware suite of products to global customers. Nikhilesh has extensive expertise in the design, development, and implementation of software solutions across multiple industry domains.