You are on page 1of 23

An Oracle White Paper March 2012

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

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 Oracles products remains at the sole discretion of Oracle.

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

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

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.

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

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.

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

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 Supported Keyword EXTERNAL Intended Service Usage 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.

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

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

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

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

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

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

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

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

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

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

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

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.

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

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.

10

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

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.

11

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

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

12

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

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

13

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

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

14

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

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.

15

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

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

16

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

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

17

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

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.

18

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

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) Service Data Object (SDO)

Oracle tool that enables bulk data import data. Data structure for web services that uses standards based representation of entity data.

19

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

You might also like