ml-connector
Oracle E-Business SuiteDatabricks

Oracle E-Business Suite and Databricks integration

Oracle E-Business Suite runs your financials and procurement. Databricks serves as your cloud data platform for analytics, reporting, and historical record. Connecting them automatically loads your latest invoice, purchase order, and general ledger data from EBS into Databricks tables on a schedule you control. Finance teams can analyze spending trends, vendor performance, and GL account balances without manual data exports and CSV imports.

How Oracle E-Business Suite works

Oracle E-Business Suite (R12.2) exposes AP invoices, PO headers and lines, GL code combinations, GL journal entries, vendors and vendor sites, and MTL items through REST services deployed in the Integrated SOA Gateway (ISG). There is no shared public hostname; instead, each customer provides their own ISG endpoint URL and port. Authentication uses HTTP Basic Auth (username and password) or a session token obtained via the /webservices/rest/login endpoint, which also requires application context headers such as ctx_responsibility and ctx_orgid. EBS has no modern webhook system, so all data is retrieved by polling open interface views filtered by LAST_UPDATE_DATE with pagination.

How Databricks works

Databricks is a cloud-hosted data intelligence platform built on Apache Spark and Delta Lake. It exposes REST APIs for reading and writing table data, managing clusters, and querying SQL warehouses via workspace-specific base URLs such as https://<workspace-id>.cloud.databricks.com. Authentication uses OAuth 2.0 Client Credentials (Service Principal with client_id and client_secret), with bearer tokens obtained from the workspace-level token endpoint and expiring every 3600 seconds. Databricks is a data platform only, with no native finance or ERP objects; data tables are created and populated by clients via REST metadata calls and SQL or Spark writes.

What moves between them

Oracle E-Business Suite is the source; Databricks is the destination. ml-connector polls your ISG endpoints on a schedule to retrieve open AP invoices, PO headers and lines, GL balances, and vendor master records. Each extraction filters by LAST_UPDATE_DATE to find recently modified records, then transforms them into Databricks table schemas and loads them via REST API. The flow is unidirectional: EBS to Databricks only. Databricks tables remain readable by your analytics and reporting tools while EBS continues to serve as the system of record for all transactional updates.

How ml-connector handles it

ml-connector stores your EBS ISG hostname, port, and HTTP Basic Auth credentials encrypted, and maintains a session token with automatic re-authentication on 401 responses when the EBS session expires (typically every 30 to 60 minutes). On the Databricks side, it stores your OAuth 2.0 Service Principal client_id and client_secret encrypted, requests bearer tokens at the workspace-level endpoint, and includes them in all table write requests. It polls your EBS open interface views filtered by LAST_UPDATE_DATE with configurable limit/offset pagination to avoid large result sets and handles the asynchronous nature of EBS writes, which may take minutes to hours for full import when records are inserted into interface tables and concurrent programs complete. ml-connector maps EBS AP_INVOICES_ALL, PO_HEADERS_ALL, GL_JE_LINES, and PO_VENDORS records into Databricks Delta tables with consistent schemas, handles Databricks token refresh at the 3600-second boundary, retries failed table writes with exponential backoff, and maintains a complete audit trail for every record extracted and loaded so failed extractions can be replayed.

A real-world example

A mid-sized financial services firm uses Oracle E-Business Suite to manage accounts payable, purchase orders, and general ledger across multiple legal entities. The finance team needs monthly analytical dashboards on vendor spend, invoice aging, and GL account balances but currently exports data from EBS via manual queries and loads it into Excel. With EBS and Databricks connected, invoices, purchase orders, and GL balances automatically populate Databricks tables every morning. The analytics team builds SQL queries and Tableau dashboards on top of Databricks tables while EBS remains the system of record for all transactional processing. Month-end close time shrinks because AP aging analysis and GL reconciliation reports are ready on day one rather than waiting for manual exports.

What you can do

  • Pull open AP invoices from EBS_AP_INVOICES_ALL and load them into Databricks tables with invoice number, vendor, amount, and date fields updated every polling cycle.
  • Sync purchase order headers, lines, and vendor information from EBS to Databricks for spend analysis and vendor performance reporting.
  • Extract general ledger balances and journal entries from EBS and load them into Databricks for GL reconciliation and account analysis.
  • Authenticate EBS using HTTP Basic Auth and ISG session tokens, and Databricks using OAuth 2.0 Service Principal credentials, with automatic token refresh on expiry.
  • Poll on a configurable schedule with pagination, handle long-running EBS concurrent programs, and maintain a full audit trail for every extraction and load.

Questions

How does ml-connector handle the lack of webhooks from Oracle E-Business Suite?
EBS has no modern webhook system, so ml-connector uses scheduled polling against your ISG REST endpoints. It filters the open interface views by LAST_UPDATE_DATE and uses limit/offset pagination to retrieve recently modified records on a cadence you set. This approach avoids the need for manual EBS integration configuration and works across on-premises and cloud EBS deployments.
Do I need to configure anything in Oracle E-Business Suite before ml-connector can connect?
Yes. Your EBS ISG must have REST services deployed for the key tables you want to sync (AP_INVOICES_ALL, PO_HEADERS_ALL, GL_JE_LINES, PO_VENDORS, and others). These are configured via the Integration Repository UI in your EBS instance. The ISG user account also requires Invoke permissions on each deployed REST service. ml-connector accepts your ISG hostname and port and does the rest.
What happens if an Oracle E-Business Suite session token expires during a poll?
EBS session tokens expire based on your EBS session timeout setting, typically 30 to 60 minutes. ml-connector detects the 401 response, re-authenticates using your HTTP Basic Auth credentials to obtain a new session token, and retries the request automatically. The full sequence is transparent and tracked in the audit trail.

Related integrations

Connect Oracle E-Business Suite and Databricks

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started