Introduction
In many organizations, Product Data Hub (PDH) serves as the single source of truth for product master data. However, business users often need simplified, custom UIs to create or maintain items and their structures — without navigating the complexity of PDH’s native UI.
In this implementation, we combined Oracle APEX, Oracle Integration Cloud (OIC), and Oracle PDH REST APIs to create a seamless, reliable workflow for item and structure creation/updates.
Business Requirement
Custom UI in Oracle APEX for creating/updating:
Items
Item Structures
Real-time integration with Oracle PDH
Robust error handling with feedback stored in APEX
Support for both create and update requests
Granular record processing (one record at a time to isolate failures)
High-Level Architecture
Actors:
APEX Application → Front-end data entry
Oracle ATP (Autonomous Transaction Processing) → Backend DB for APEX
Oracle Integration Cloud (OIC) → Orchestration and API integration layer
Oracle PDH (Product Data Hub) → Final system of record
Architecture Flow Diagram
User Action in APEX
User creates or updates an Item or Structure
Record is inserted into an APEX backend table with a
status_flag = 'N'
(New)
OIC Trigger
OIC integration is invoked (either on-demand or scheduled)
Reads one unprocessed record at a time from the APEX table
Business Logic in OIC
Determine request type:
Create New Item
Update Existing Item
Create New Structure
Update Existing Structure
Route flow accordingly using OIC orchestration
Calling PDH REST APIs
Use PDH REST endpoints to:
Create/Update Item
Create/Update Structure
Map APEX table fields to PDH payload structure
Response Handling
If success → Update
status_flag = 'S'
in APEX tableIf error → Update
status_flag = 'E'
and store error message for user review
OIC Orchestration Details
Integration Type: Orchestration (Application-driven or Scheduled)
Key Steps:
Read Next Record from APEX
OIC uses ATP Database Adapter to query 1 row with
status_flag = 'N'
Identify Action
Conditional branches:
IF Request Type = ITEM_CREATE → Call PDH Item Create API
IF Request Type = ITEM_UPDATE → Call PDH Item Update API
IF Request Type = STRUCTURE_CREATE → Call PDH Structure Create API to Process Items/Components as well Structure item
IF Request Type = STRUCTURE_UPDATE → Call PDH Structure Update API to Process Items/Components as well as structure item
Invoke PDH REST API
Use REST Adapter with proper authentication
Update Status
Success → Set
status_flag = 'S'in ATP database ( APEX or CUSTOM Application)
Failure → Set
status_flag = 'E'
and storeerror_message (APEX or CUSTOM application)
Loop Until No Records Left
Repeat until all new records are processed
Error
Handling Approach
No comments:
Post a Comment