Top Banner
An Oracle White Paper March 2012 Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications
23
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: FusionApps

An Oracle White Paper

March 2012

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

Page 2: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

Disclaimer

The following is intended to outline our general product direction. It is intended for information purposes

only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or

functionality, and should not be relied upon in making purchasing decisions. The development, release, and

timing of any features or functionality described for Oracle’s products remains at the sole discretion of

Oracle.

Page 3: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

Executive Overview ........................................................................... 1

Introduction ....................................................................................... 1

Using OER to Discover Integration Assets ........................................ 2

Web Services ................................................................................ 2

Business Events ............................................................................ 8

Interface Tables and Scheduled Processes ................................... 9

Flat Files ...................................................................................... 10

Coexistence Scenarios ................................................................ 10

Other Artifacts ............................................................................. 12

Using OER in Integration Design ..................................................... 12

Identifying Customization Areas for Integration ............................ 12

Analyzing Cross System Data Mappings ..................................... 17

Conclusion ...................................................................................... 19

Glossary .......................................................................................... 19

Page 4: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

1

Executive Overview

Oracle Fusion Applications provides various ways to integrate its functional capabilities with other

Oracle applications as well as third party and legacy applications. This paper provides an overview of

discovering the artifacts used for such integrations and for use in implementations in general. It

focuses on the use of the Oracle Enterprise Repository (OER) for Oracle Fusion Applications as a

one-stop shop for discovering and governing Oracle Fusion Applications design time metadata.

Introduction

The primary focus of this document is to describe how to discover and use artifacts to build custom

integrations to Oracle Fusion Applications for on-premise and managed hosted deployments.

Figure 1: Integration Patterns

The diagram above shows an overview of Oracle Fusion Applications integration assets that can be

discovered in the repository, and their message interaction patterns between source and target

applications.

Page 5: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

2

Using OER to Discover Integration Assets

This section describes the various types of integration artifacts and how to discover them. Oracle

Fusion Applications documents all integration artifacts, also known as assets, in OER. OER is the

single source of integration information, to provide effective Service-Oriented Architecture (SOA)

governance for any organization. It provides visibility and lifecycle control on the integration assets and

their relationships, which helps promote reuse, manages impact of change, and eliminates

redundancies.

Each integration asset in OER is marked with the level of compatibility support provided by Oracle.

These range from assets that are discoverable but not supported, such as some setup application

programming interfaces (APIs), to assets that are supported with assured backward compatibility.

To view the Oracle hosted version of OER, navigate to http://fusionappsoer.oracle.com and sign in

with your Oracle ID. To view OER in an on-premise deployment, navigate to http://host:port/oer

replacing the host and port with the address where OER was installed.

Use the search criteria on the left panel to view the assets, as shown below.

Figure 2: Viewing Oracle Fusion Applications Integration Assets in OER

Web Services

Oracle Fusion Applications uses standards-based Oracle Fusion Middleware Simple Object Access

Protocol/eXtensible Markup Language (SOAP/XML) web services for exposing inbound APIs. Any

web services development environment that is compliant with these web service standards may be used

to invoke the Oracle Fusion Applications web services. The web services can have two types of

underlying implementations – Application Development Framework Business Components (ADF-BC

services or simply ADF services) and SOA Composites services – both of which are exposed via OER.

Page 6: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

3

Supportability

Oracle Fusion Applications are designed using SOA, however not all services are necessarily suited for

integration purposes. You should rely on assets in OER that have the Compatibility equal to

Supported - Backward Compatibility Assured so that uptake of upgrades or patches does not

require changes to your integration projects.

Note that services in OER are also tagged with the EXTERNAL keyword, which indicates visibility

of the service end points to external clients. The following table clarifies the intended service usage.

Compatibility Keyword Intended Service Usage

Supported EXTERNAL These services can be used by customers and partners to extend and

integrate with Oracle Fusion Applications. These services are available

in OER and explicitly tagged with the EXTERNAL keyword.

Supported Not specified These services cannot be accessed by external web service clients but

can only be accessed by custom composites that are deployed in the

Oracle Fusion Applications SOA domain. These services may not be

explicitly tagged with keywords in OER. The OER description of these

services may also be useful for customization purposes.

Not supported EXTERNAL These services need to be invoked from external web service clients as

part of a predefined business flow but should not be directly invoked by

customers or partners as an integration point. For example,

applications developed for mobile devices, such as the iPhone or iPad,

may need to interact with private services from outside the Oracle

Fusion Applications domain. These may be documented in OER but

are not suitable for integration.

Not supported Not specified These services are only meant to be used within Oracle Fusion

Applications. Customers and partners should not directly invoke these

service endpoints, even in custom composites deployed in the Oracle

Fusion Applications SOA domain. Since these services may allow

customizations, they may be available in OER in certain cases for

documentation of the customizable artifacts.

ADF Services

ADF services are based on the Oracle Fusion business objects and expose standard Create, Read,

Update, Delete (CRUD) style operations. Examples include changing the hire date of an employee

(Worker.changeHireDate), creating a project task (Project Task.CreateTask), or finding an organization

based on certain query criteria (Organization.findOrganizationByNameAndClassification). Note that ADF

services are not limited to CRUD style operations on locally-persisted objects. They may perform

federated queries; act as a wrapper service for batch jobs, or expose non-CRUD object specific

operations, for example, converting a CRM Lead into an Opportunity.

To find web services of interest in OER, query the assets for Type equal to Fusion Apps: ADF

Service, as shown below.

Page 7: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

4

Note: The Oracle hosted version of OER does not have the Fusion Apps prefix added to the asset

types since it is dedicated for use by Oracle Fusion Applications, therefore you can ignore the use of

this prefix in this paper.

Figure 3: OER Asset Types

Use any part of the asset name or a commonly used synonym in the search string. For example, to find

an employee enter employee in the search string and browse through the results, which will yield the

correct service, Worker. Confirm the intent of the service by reviewing the description.

Figure 4: Finding Assets in OER

Page 8: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

5

Once you find the desired asset, click the Detail tab to browse through the supported operations,

including asynchronous operations and callbacks. Scroll down to the end of the Detail tab to find the

Service WSDL URL. To view the schema documents containing customized object definitions replace

the ?WSDL URL suffix with ?XSD&xsdlist in the browser window. Note: This is not applicable to

the hosted OER instance.

Figure 5: Asset Detail in OER

Use the Service WSDL URL in a tool such as JDeveloper, which can then auto-retrieve all of the

references to the schema files. For example, as shown in the screenshot below, you can use the service

WSDL URL in a JDeveloper project to set up a web service invocation with the option to copy all of

the dependent schema artifacts into the project.

Figure 6: Using the Service WSDL URL to Set Up a Web Service Invocation in JDeveloper

Page 9: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

6

Composite Services

Composite services typically represent end-to-end process flows that act on business events produced

by the ADF services. Examples include approving a project status change (Project Status Change

Approval.process) or scheduling an order fulfillment (Schedule Orchestration Order Fulfillment Line

Service.ScheduleOrders). Composite services are typically non-object based services that represent backend

processing flows, and orchestrate many object based services, rules services, and human workflows.

These types of composites are exposed as web services using the standard Web Services Description

Language (WSDL) and XML Schema Definition (XSD) schemas, where they may be invoked from any

web service client, as in the case of the ADF services.

To find the composite services of interest in OER, use the same approach for ADF services, but

querying for assets of Type equal to FusionApps: Composite Service. Drill down to the Detail tab

for the WSDL.

Figure 7: Composite Service WSDL in OER

Many Oracle Fusion Applications ADF-BC objects also initiate SOA composites by raising business

events, which are subscribed to by the composites. In this pattern, the business event is raised with a

key to an ADF-BC persisted object, which is then referred to in the composite services. Such

composites do not need to be typically invoked outside of the context of the ADF service. In fact, they

may not even be public web services and may have been documented to assist in integration

customization efforts.

To identify such composites in OER, navigate to the Taxonomy to find if the composite subscribes to

an event, and if the event payload only contains the key of the ADF Service Data Object. For example:

The diagram below shows a pay sheet approval composite service.

Figure 8: Example of a Composite Service in OER

Page 10: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

7

To determine if this composite service can actually be used outside the scope of an ADF-BC object,

click the Taxonomy tab to review the composite information, as shown below.

Figure 9: Example of a Composite in OER

Click the composite name link and check its taxonomy to find out if it subscribes to a business event,

as shown below.

Figure 10: Navigating to the Composite Taxonomy in OER to Find Business Events Subscribed

Click the Subscribes To link. This shows the details of the event and its payload.

Figure 11: Business Event Details in OER

Page 11: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

8

As seen above, the event payload only contains the unique identifier. For example, the pay sheet object

needs to be created prior to invoking the composite service since the composite service

implementation will need to make a call back into Oracle Fusion Applications to retrieve the details.

Accessing Customized Web Service Metadata

Customer projects typically require extensions to the base objects, for example, adding new attributes

to an ADF business component via flexfields. These customizations are reflected in the XSD schema

files and web services, and this metadata may be required in integration projects.

The public OER instance hosted at Oracle only contains the base, non-implementation specific,

metadata. The customer deployed OER instance provides the base metadata along with links to the

concrete WSDL and XSD that are customized for that implementation. The customized WSDLs

honor the base WSDL interfaces; thus partners can use the base WSDL and XSD to build value-added

applications and integration offerings that need to work against any customer implementation. This is

explained in the next section as part of the integration design patterns.

Business Events

Oracle Fusion Applications business objects and composites publish business events using the Event

Delivery Network (EDN). Oracle Fusion Applications publishes these business events as a way to

notify subscribers of any important changes, such as a change that has occurred to a business object,

for example, an Order Fulfilled or Customer Created, or a milestone reached in the business process,

for example, an Item Shipped. In addition, the Oracle Fusion Applications extensibility capabilities

allow you to create custom objects and trigger business events as well. The loose coupling of publishers

and subscribers in EDN makes business events a key extensibility point for integration purposes. For

any outbound notification to external applications business events can be subscribed to by SOA

composites, which can then invoke any external application.

To find the business events of interest in OER, query the assets for Type equal to FusionApps:

Event, as shown below.

Figure 12: Business Events in OER

Page 12: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

9

Interface Tables and Scheduled Processes

Interface tables typically provide a batch loading mechanism, useful for initial or bulk data loading use

cases. For example, you can use interface tables to populate salary history for an employee (Salary

History) or set up financial chart of accounts (Chart of Accounts). Interface tables can be populated in a

variety of ways:

Using Oracle Data Integrator (ODI), the interface tables can be populated with data from external

databases or files.

Using Oracle Enterprise Scheduler (ESS), the ODI jobs as explained above, can be invoked using the

SOA Suite as a scheduled job.

Using Database Adapter, the interface table can be exposed as a web service to the SOA Suite. Note

that while this may be viable for a few rows, batch syncing of data to the interface tables should be

performed using the ODI or ESS job approach.

Using SQL commands. This is not recommended, as it requires custom implementation of the

mapping, fault handling, and so on.

Refer to the bulk data patterns in the next section for more details and examples.

To find the interface tables in OER, query the assets for Type equal to FusionApps: Table, with a

search string of InterfaceTable as shown below.

Figure 13: Interface Tables in OER

Review the description to understand the processing needed, for example, any scheduled jobs that may

need to be run for processing or purging the data, any related tables such as error tables, and columns

that may indicate the processed state of the rows.

To search for ESS processing jobs, search for assets of Type equal to Fusion Apps: Scheduled

Process.

Page 13: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

10

Flat Files

Some Oracle Fusion Applications, such as Oracle Fusion Customer Relationship Management (CRM),

allow uploading of comma separated values (CSV) file data from a web based user interface (UI). For

example, an external application may need to populate Oracle Fusion CRM with product (Item) or

Opportunity information. Oracle Fusion CRM calls this the File Based Data Import, and to find these

files of interest in OER, query the assets for Type equal to FusionApps: File Based Data Import, as

shown below.

Figure 14: Flat File Definitions in OER (CRM example shown)

Coexistence Scenarios

Oracle Fusion Applications are designed for coexistence with other Oracle Applications Unlimited

products, for example, Oracle E-Business Suite, PeopleSoft, and Siebel. Specific coexistence scenarios

have been prioritized by Oracle for delivery as prepackaged integrations or with integration-ready

interfaces. For these scenarios, the functional and technical integration scenario documentation as well

as the legacy artifacts, for example Oracle E-Business Suite PL/SQL, is available in OER.

To find all artifacts associated with a given coexistence scenario, expand the Browse section in the left

panel and select FusionApps: Coexistence Scenario Documentation in the list. Expand the specific

coexistence scenario and click on the specific Oracle Applications Unlimited version to display all of

the artifacts used in that scenario by that application, as shown below.

Page 14: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

11

Figure 15: Navigating Integration Coexistence Scenarios in OER

To select multiple applications in the coexistence scenario, or if the Browse option is not available,

navigate using More Search Options Filter By Categorization All Categorization Coexistence

Scenario Documentation. To find the integration documentation for these coexistence scenarios, click

the asset of Type equal to FusionApps: Coexistence Scenario Documentation and click the

Documentation tab.

Figure 16: Coexistence Scenario Documentation in OER

To look up the legacy artifacts, query the asset types with the prefix of the application suite, for

example, EBS, Siebel, PeopleSoft, or Primavera, as shown in the EBS:PL/SQL API example below.

Page 15: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

12

Figure 17: Applications Unlimited Artifacts in OER (Oracle E-Business Suite example shown)

To discover integration artifacts from Oracle Applications Unlimited products that are not used in the

Oracle Fusion coexistence scenarios documented in OER, refer to the native implementations of

integration catalogs from those applications, for example, the Integration Repository (IREP) in the

Oracle E-Business Suite.

For any other legacy artifacts from third party systems, a recommended best practice is to harvest

those web service interfaces in OER for centralized governance.

Other Artifacts

Apart from the integration assets detailed in the sections above, OER for Oracle Fusion Applications

also contains a wealth of technical reference documentation, that were previously only found in

manuals. These include metadata and documentation for tables, views, flexfields, business process

project templates, data model diagrams, lookups, profile options, and roles, to name a few.

Using OER in Integration Design

Identifying Customization Areas for Integration

Integration patterns that affect the overall end-to-end business process likely require some level of

customization of Oracle Fusion Applications to utilize the previously mentioned integration assets.

The analysis phase would lead to identification of needs to customize the Oracle delivered business

Page 16: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

13

process. Although there are various types of customizations that may need to be performed, some

examples of integration related customizations are:

Invoking external services to provide data validation or data enrichment; for example, performing an

address validation using a third-party service or retrieving additional customer account information

such as a credit rating.

Integrating with external applications by publishing messages or raising events, for example,

synchronizing a Siebel CRM application with data from Oracle Fusion Applications or vice-versa.

Consider an example that requires invoking an external web service for validating a credit card for

order processing. This may require customizing a packaged SOA composite Business Process

Execution Language (BPEL) process that performs the order fulfillment process. Oracle Fusion

applications are designed with customizations and extensibility in mind. SOA integration artifacts are

customized in a layer on top of the base artifact delivered by Oracle. The layer represents the context

for which customizations are needed, for example, by industry. The layered customization is performed

by importing the SOA project in JDeveloper using a customization context, for example,

Industry=Communications. Artifacts that have been marked as customizable, for example, BPEL

scopes, will then be available for editing.

To find the SOA artifacts available for integration customizations, it is important to understand the

end-to-end processing flow in OER from the ADF Service to the SOA Composite. SOA composites

subscribe to Business Events. These business events are raised by ADF services, UI task flows, and so

on. The event subscriptions by composites are available in OER in the FusionApps: Composite asset

type taxonomy. This establishes one half of the end-to-end relationship. The FusionApps: Event

asset type defines the FusionApps: Logical Business Object in its taxonomy definition. The

FusionApps: ADF Service asset types use this FusionApps: Logical Business Object as its name,

thereby establishing the other half of the end-to-end relationship. The overall flow is shown in the

diagram below.

Figure 18: Taxonomy Relationships for Oracle Fusion Applications in OER

Page 17: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

14

Note that in some cases, the event taxonomy may not contain the Logical Business Object (LBO)

reference, but may have a Logical Business Area, which may be used in the search criteria.

An example better illustrates the above concept. Let’s look at the steps that you would take to modify a

Supply Chain Management order processing flow to add a credit validation step.

Search with asset Type equal to FusionApps: ADF Service with a search string equal to Order, and

identify the desired service based on the description and taxonomies. In the diagram below, Order

Promising is the service you want to focus on. Note that this service name is important as you will use

this to find the Business Events of interest.

Figure 19: ADF Service in OER

Search using asset Type equal to FusionApps: Event with a search string equal to Order Promising.

Review the results to find the suitable event. In the diagram below, find the event of Orchestration

Order Fulfillment Line Check-Availability Initiated.

Page 18: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

15

Figure 20: Business Event in OER Corresponding to Logical Business Object

Check the event taxonomy to find which composites subscribe to this event. In the diagram below,

find the Promise Orchestration Order Fulfillment Line composite.

Figure 21: Finding Composites Subscribing to Business Event

Drill down to the composite to view the Special Administrative Region (SAR) file location, which you

can use for customization.

Page 19: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

16

Figure 22: Viewing Composite Details in OER

Note that you still need to find the BPEL flow to customize. For this, click the composite taxonomy of

the composite to find the composite services of interest. Click the service definition link to review the

description of each and find the service of interest. The example below shows the service selected and

its details.

Figure 23: Composite Taxonomy in OER

Page 20: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

17

Figure 24: Composite Service Overview in OER

Open the BPEL file indicated by the service (CheckAvailability.bpel in the example above) to customize

the flow using Oracle JDeveloper to introduce the credit validation integration as per your business

need.

Analyzing Cross Application Data Mappings

Most of the integration complexity in enterprise application integration projects stem from functional

analysis of the data mapping between the applications. For example, the term Account has a different

meaning in Siebel and may not directly correspond to the Account entity in Oracle Fusion

Applications. For example, which of the following OER asset types of FusionApps: ADF Service is

the right mapping for a Siebel Account entity?

Figure 25: OER Query Results for ADF Services matching Account in Oracle Fusion Applications

Page 21: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

18

The correct answer depends on how the end-to-end business process flow is designed and may also be

influenced by the decisions made by existing legacy integrations. For example, if an existing

Application Integration Architecture (AIA) based integration mapped the Siebel Account to the TCA

Organization instead of the TCA Customer Account, then future implementations should continue using

the same semantics.

The above example highlights one aspect of the mapping at the coarse-grained entity level. Even when

the decision is made to map one entity to another, there are more mapping challenges at the row and

attribute level. For example, data structures of the entity (different table structures), the cardinality of

its instances (how primary keys are designed), entity relationships (master-detail tables), and list of

values for the entity attributes (encoded values for Address State) may all differ from one application to

another. The following diagram highlights the various integration challenges when mapping two or

more enterprise applications.

Figure 26: Integration Challenges with Enterprise Application Mappings

Oracle Fusion Application data model provides a good starting point for integrators. A good

understanding of the underlying semantics of the Oracle Fusion Applications data model as it relates to

other applications reduces the cost of integrations. Store such a mapping knowledge base in centralized

design specifications and mapping spreadsheets, and utilize tools such as the OER keywords or the

JDeveloper Synonym Dictionary. This data mapping exercise should be preceded by the configuration

and deployment of any additional ADF attributes needed at your site. This ensures that the regenerated

schemas reflect the implementation needs.

Page 22: FusionApps

Making the Most of the Oracle Enterprise Repository for Oracle Fusion Applications

19

Conclusion

This paper provides an overview of the Oracle Enterprise Repository for Oracle Fusion Applications.

For more details, review the Developers Guide for Oracle Fusion Applications and Oracle Fusion

Middleware SOA Suite.

Glossary

ITEM MEANING

File-based Import Tool Oracle CRM tool that enables bulk data import data to the Oracle Fusion Applications

CRM schema. It uses ODI technology to load data from its interface tables to Oracle

Fusion base tables.

Oracle Data Integrator (ODI) Oracle tool that enables bulk data import data.

Service Data Object (SDO) Data structure for web services that uses standards based representation of entity data.

Page 23: FusionApps

Making the Most of Oracle Enterprise

Repository for Oracle Fusion Applications

March 2012

Author: Rajesh Raheja

Contributing Authors: Nigel King, Tim Hall, Kris

Doherty

Oracle Corporation

World Headquarters

500 Oracle Parkway

Redwood Shores, CA 94065

U.S.A.

Worldwide Inquiries:

Phone: +1.650.506.7000

Fax: +1.650.506.7200

oracle.com

Copyright © 2011, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only and the

contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other

warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or

fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are

formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any

means, electronic or mechanical, for any purpose, without our prior written permission.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and

are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are

trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark licensed through X/Open

Company, Ltd. 0611