Oracle Retail20 min readBy Priyanshu Pandey

Oracle Retail Cloud Services: The Move to SaaS — Architecture, POM, BDI & Extension Model

A comprehensive guide to Oracle Retail Cloud Services (MFCS). Learn the SaaS architecture, what you lose when moving to cloud, new tools (POM, BDI, APEX, ORDS), custom schema provisioning, and strategies for operating in a locked-down cloud environment.

Phase 10 · Administration & Operations

How RMS architecture radically changed when it moved to the cloud — and what it means for every developer, DBA, and operations engineer.

20 min read📅Jun 7, 2026✍️Priyanshu Pandey📚Oracle RMS Series
INTO THE CLOUD

The SaaS Paradigm Shift

For decades, Oracle RMS was an on-premise behemoth. Retailers bought the software, installed it on their own servers (or hosted it in a private data center), and had absolute control over the database. DBAs could SSH into the server, run SQL*Plus against production, create indexes, add columns, and modify PL/SQL packages at will.

With Oracle Retail Merchandising Foundation Cloud Service (MFCS), Oracle shifted RMS to a true Software-as-a-Service (SaaS) model. You no longer buy the software; you rent access to it. Oracle manages the servers, the database, the upgrades, and the security.

This is not just a deployment change — it is a fundamental operating model change that affects every role in the retail IT organization.

ARCHITECTURE

MFCS Architecture

┌──────────────────────────────────────────────────────────────────┐
│                    ORACLE CLOUD INFRASTRUCTURE (OCI)             │
│                                                                  │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────────────┐  │
│  │  ORACLE JET  │  │    ORDS      │  │  AUTONOMOUS          │  │
│  │  Web UI      │  │  (REST API   │  │  DATABASE            │  │
│  │              │  │   Gateway)   │  │                      │  │
│  │  Managed by  │  │  Managed by  │  │  ┌────────────────┐  │  │
│  │  Oracle      │  │  Oracle      │  │  │  RMS Base      │  │  │
│  └──────────────┘  └──────────────┘  │  │  Schema        │  │  │
│                                       │  │  (READ-ONLY)   │  │  │
│  ┌──────────────┐  ┌──────────────┐  │  ├────────────────┤  │  │
│  │     POM      │  │     BDI      │  │  │  Custom Ext    │  │  │
│  │  (Batch      │  │  (Data       │  │  │  Schema        │  │  │
│  │  Scheduler)  │  │  Integration)│  │  │  (YOUR ACCESS) │  │  │
│  │  Managed by  │  │  Managed by  │  │  ├────────────────┤  │  │
│  │  Oracle      │  │  Oracle      │  │  │  APEX          │  │  │
│  └──────────────┘  └──────────────┘  │  │  Workspace     │  │  │
│                                       │  │  (YOUR ACCESS) │  │  │
│                                       │  └────────────────┘  │  │
│                                       └──────────────────────┘  │
└──────────────────────────────────────────────────────────────────┘
WHAT YOU LOSE

What You Lose

Moving to MFCS requires a massive mindset shift for legacy RMS developers, primarily because you lose direct access to the database.

What's Removed in MFCS
ColumnTypeDescription
SYS/SYSTEM Access
❌ Removed

You cannot install custom schemas, create database links, or run AWR reports. Oracle manages all database administration.

Base Modifications
❌ Removed

You physically cannot ALTER an Oracle base table or recompile an Oracle base package. The Extension Model is strictly enforced.

Direct SQL*Plus
❌ Removed

You cannot SSH into a server and run SQL scripts against production. All SQL access goes through APEX SQL Workshop or SQL Developer Web.

OS Access
❌ Removed

No SSH, no file system access, no ability to read log files directly. Logs are accessed through cloud monitoring tools.

Custom Indexes
❌ Removed

You cannot create indexes on base tables. The Autonomous Database manages indexes automatically.

External Schedulers
❌ Removed

Control-M, Autosys, and cron cannot be used. All batch scheduling must go through POM.

Database Links
❌ Removed

Direct database links to external systems are not allowed. All integration must use REST APIs or BDI.

NEW TOOLS

The New Cloud Tools

To compensate for the locked-down environment, Oracle provides cloud-native alternatives:

On-Premise ToolCloud ReplacementPurpose
SQL*Plus / ToadAPEX SQL Workshop / SQL Developer WebInteractive SQL access to your custom schema
Control-M / AutosysPOM (Process Orchestration & Monitoring)Batch job scheduling and monitoring
Database LinksORDS REST APIsReal-time integration with external systems
Direct Extracts (SQL)BDI (Bulk Data Integration)Batch data extraction and loading
Custom Schemas (manual)Oracle-Provisioned Extension SchemaCustom tables, views, and PL/SQL
Oracle Forms / Custom UIsOracle APEXCustom data entry screens and dashboards
AWR / StatspackCloud Performance InsightsDatabase performance monitoring
POM

Process Orchestration & Monitoring (POM)

POM replaces external batch schedulers like Control-M and Autosys. It provides a web-based interface for:

Key POM Features

  • Job Scheduling: Define batch jobs with dependencies, execution windows, and retry policies
  • Dependency Management: Job B runs only after Job A completes successfully — with automatic hold/release
  • Monitoring Dashboard: Real-time status of all running, queued, and completed batch jobs
  • Error Handling: Failed jobs are held for review with detailed error logs
  • Parallel Execution: Configure multiple threads for parallel batch processing
  • Calendar Integration: Schedule jobs based on business calendars (skip holidays, run on fiscal period boundaries)

POM vs. External Schedulers

The biggest adjustment for operations teams is losing the flexibility of external schedulers. In Control-M, you could create arbitrary job sequences mixing RMS batches with non-RMS processes. In POM, you are constrained to Oracle's predefined batch flows — though you can add custom jobs to the sequence.

BDI

Bulk Data Integration (BDI)

BDI (Bulk Data Integration) is the cloud replacement for direct database extracts and loads. Instead of running SELECT INTO against production or using SQL*Loader, BDI provides:

  • Scheduled Extractions: Pull data from RMS base tables into flat files or JSON payloads
  • Incremental (Delta) Support: Extract only changed records since the last run
  • Pre-Built Extractors: Oracle ships BDI extractors for all major RMS entities (Items, Locations, POs, Inventory)
  • Cloud Object Storage: Extracted data is deposited in Oracle Cloud Object Storage buckets for downstream consumption
  • REST API Triggers: BDI jobs can be triggered via REST API for on-demand extractions
BDI Extraction Example — Items Changed Today
SQL
# Trigger a BDI item extraction via REST
curl -X POST \
  "https://mfcs.oracleretail.com/bdi/extract/items" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "extractType": "DELTA",
    "sinceDate": "2026-06-07",
    "outputFormat": "JSON",
    "destination": "cloud-storage://bucket/items/"
  }'
CUSTOM SCHEMA

Custom Schema Provisioning

In the cloud, you cannot create your own database schemas. Instead, you request Oracle to provision a custom extension schema for you:

  1. Submit Service Request (SR) to Oracle Support requesting a custom schema
  2. Oracle provisions the schema with appropriate grants:
    • SELECT access on most base RMS views (not tables)
    • CREATE TABLE, CREATE VIEW, CREATE PACKAGE privileges in your custom schema
    • APEX workspace linked to your custom schema
  3. You create custom objects in your schema:
    • CUST_ITEM_ATTR — custom item attributes table
    • CUST_LOC_ATTR — custom location attributes table
    • PKG_CUST_ITEM_PROCESSING — custom PL/SQL package
    • APEX applications for data entry and reporting
ℹ️

Schema Naming Convention

Custom schemas typically follow the pattern RMS_CUSTOM_01 or RETAILER_EXT. You get read-only access to base data through views like V_ITEM_MASTER, V_ORDHEAD, and V_ITEM_LOC_SOH — not the actual base tables.

DAILY OPERATIONS

Operating in the Cloud

Daily Batch Monitoring

Instead of tailing log files on a server, cloud operations teams monitor batch execution through POM's web UI:

  • Green = job completed successfully
  • Yellow = job running
  • Red = job failed — click for error details and stack trace

Performance Troubleshooting

Without AWR reports and direct execution plan access, performance troubleshooting follows a different workflow:

  1. Identify slow-performing operations through POM execution times or user reports
  2. Use APEX SQL Workshop to analyze your custom queries
  3. For base table performance issues, open an Oracle Support SR with the query hash and execution time
  4. Oracle's DBA team investigates and applies fixes (statistics gathering, plan management)

Upgrade Management

Oracle pushes updates automatically:

  • Monthly patches: Bug fixes and minor enhancements (mandatory, automatic)
  • Quarterly releases: Feature releases with new functionality (scheduled maintenance window)
  • Annual major releases: Significant feature additions (coordinated with the retailer for testing)

You must maintain a regression test suite that runs after every Oracle patch to verify that your custom extension code still works.

BEST PRACTICES

Best Practices

Important Gotchas

  • !
    Start your cloud migration by inventorying EVERY base modification in your current on-premise installation. Each modification must be either eliminated, replicated via the Extension Model, or redesigned using REST APIs. This inventory is the foundation of your migration project plan.
  • !
    Build automated regression tests for all custom extension code. Oracle pushes monthly patches that can change base behavior. Without automated tests, you won't know if a patch broke your custom logic until a business user reports it.
  • !
    Don't underestimate the POM learning curve. Operations teams accustomed to Control-M's flexibility will find POM's constraints frustrating. Invest in POM training well before go-live.
  • !
    ORDS REST API performance is not the same as direct SQL performance. Expect REST API calls to be 2-5x slower than equivalent direct database queries. Design integrations to batch requests where possible.
  • !
    Cloud environments have network latency that on-premise didn't. If your external systems are not hosted in OCI, factor in cross-cloud network latency for all integration points.

Key Takeaways

  • Oracle Retail Cloud (MFCS) is a true SaaS model — Oracle manages the infrastructure, database, upgrades, and security.
  • Direct database access, base code modifications, database links, and external schedulers are all removed in the cloud.
  • POM replaces external batch schedulers; BDI replaces direct database extracts; ORDS replaces database links.
  • Custom extension schemas are provisioned by Oracle Support and provide a sandboxed environment for retailer-specific customizations.
  • Oracle pushes automatic monthly patches and quarterly releases — requiring automated regression testing of all custom code.
  • APEX is the officially supported tool for custom UIs, data entry screens, and administrative dashboards in the cloud environment.
RetailCoder
All systems operational
v1.0 Live

RC:OMS

Multi-channel order management with double-entry inventory ledger. Amazon, Flipkart, Shopify, WooCommerce — one source of truth.

Launch demo →
v1.0 Live

RC:Storefront

Self-hosted headless e-commerce. Your server, your data, zero transaction fees. Native RC:OMS inventory sync.

Visit Storefront →
Pipeline

RC:Pulse

AI-powered retail analytics and demand forecasting — built natively on top of your RC:OMS and Storefront data.

Request early access →
Built in India 🇮🇳  ·  Architected by Priyanshu PandeyTalk to an engineer →