Estimate Billing Message Usage for a Metered Tenancy

Billing message usage calculation depends on your tenancy's consumption model. This topic applies to tenancies that use the metered (universal credit) model. Use the following information to help estimate how many billing messages your instance will use.

When you create an Oracle Integration instance, you specify the number of message packs you expect the instance to use. Message packs for metered tenancies are defined as follows:
  • If you created a new Oracle Integration license in the cloud:
    • Each message pack includes 5,000 billing messages per hour.
    • You can select up to 12 message packs in the user interface.
  • If you brought an existing Oracle Fusion Middleware license to the cloud (BYOL):
    • Each message pack includes 20,000 billing messages per hour.
    • You can select up to 3 message packs in the user interface.

The number of message packs you subscribe to can also affect the processing time of synchronous requests. See Message Pack Usage and Synchronous Requests.

Common Message Consumption Rules

The following rules apply to message consumption in all Oracle Integration components.

Rule Description
Triggers and invokes

Triggers and invokes are generally counted as 1 message with a few exceptions. For example:

  • Each Oracle Integration trigger activity counts as 1 message, unless the integration is calling another integration.
  • Invoke requests from Oracle Integration do not count as a message, and invoke responses only count if they are over 50 KB.
  • Each process invoke counts as 1 message, unless the process is invoking another process.

Internal calls

Internal calls within the same component aren't counted as messages.

For example, the following aren't counted:

  • Integration to integration within the same Oracle Integration instance
  • Process to process

However, an integration in one Oracle Integration instance calling an integration in another Oracle Integration instance does incur messages in the target Oracle Integration instance.

Message payloads over 50 KB

For message payloads over 50 KB, 1 additional message is counted for each additional 50 KB. For example, if a message payload is 102 KB, 2 additional messages would be counted.

Integration Message Consumption

Follow these rules to determine how message consumption is calculated.

Rule number Rule Description

1

Trigger

Each trigger activity counts as at least one message, up to 50 KB inbound. If the inbound message payload exceeds 50 KB, 1 additional message is counted for each additional 50 KB.

2

Invoke

Invoke requests don't count as messages, but invoke responses over 50 KB count. If the message payload exceeds 50 KB, 1 additional message is counted for each additional 50 KB.

3

File

For file based scheduled flows where there are incoming files into integrations, each file is converted into a billed message (in multiples of 50 KB) only when the size is greater than 50 KB.

4

Internal

Integration to integration calls within the same Oracle Integration instance aren't counted. However, calling another Oracle Integration instance does incur messages in the target Oracle Integration instance.

Integration Message Consumption Examples

This table shows by example how message billing is calculated and the rules that apply.

Integration Type Scenario/Flow Billing Message Calculation Rules That Apply

Sync/Async (Trigger)

  1. REST inbound with 120 KB payload.

  2. Data transformation.

  3. External invoke to push data to Logfire.

Payload size is considered at trigger.

ceil(120/50) = 3 messages

#1 (Trigger)

Sync/Async (Trigger)

  1. SOAP inbound with 70 KB payload.

  2. Download files in a loop.

  3. 3 files downloaded of sizes 20 KB, 170 KB, and 40 KB, respectively.

  4. Data transformation/enrichment.

  5. External invoke to push data to an external system via REST.

Payload size is considered at trigger. Any subsequent response greater than 50 KB is also tracked. In this scenario, only files greater than 50 KB are considered.

ceil(70/50) + ceil(170/50) = 2 +4 = 6 messages

#1 (Trigger)

#3 (File)

Sync/Async (Trigger)

  1. Database adapter pulling in 20 KB data and 2 rows.

  2. For each row, 1 outbound REST invoke is made, which results in 20 KB data for each invoke.

  3. Data enrichment/transformation.

  4. FTP to an external location.

Payload size is considered at trigger. Any subsequent response greater than 50 KB is also tracked.

ceil (20/50) = 1 message

#1 (Trigger)

Sync/Async (Trigger)

  1. SOAP inbound with 10 KB payload.

  2. Download files in a loop. Two files downloaded of sizes 20 KB and 70 KB, respectively.

  3. External invoke to get further data via REST adapter. Returns 100 KB data.

  4. FTP to an external location.

Payload size is considered at trigger. Any subsequent response greater than 50 KB is also tracked.

ceil(10/50)+ ceil (70/50) + ceil(100/50) = 1+2+2 = 5 messages

#1 (Trigger)

#2 (Invoke)

#3 (File)

Sync/Async (Trigger)

  1. Simple REST GET request with template parameters without payload.

  2. Call to Oracle Fusion Cloud B2C Service to get contact details. Returns a response of 40KB.

  3. Return the contact data.

Payload size is considered at trigger. Any subsequent response greater than 50 KB is also tracked. Since the trigger is just a GET request with no payload, it's considered 1 billed message.

1 message

#1 (Trigger)

Scheduled flow

  1. Scheduled trigger.
  2. Download files in a loop. Three files downloaded of sizes 20 KB, 170 KB, and 40 KB, respectively.
  3. Data transformation.

  4. External invoke to transfer data which results in 10 bytes of response.

Each invoke/file is considered in multiples of 50 KB when response data is more than 50 KB.

ceil(170/50) = 4 messages

#3 (File)

Scheduled flow

  1. Scheduled trigger.
  2. Database adapter pulling in 30 KB data and 10 rows.
  3. Data transformation.

  4. External invoke to transfer data which results in 5 bytes of response.

Each invoke/file is considered in multiples of 50 KB when response data is more than 50 KB.

Not counted.

None

Scheduled flow

  1. Scheduled trigger.
  2. External SOAP invoke to get data via BIP reports. Returns 130 KB data.
  3. External invoke to get further data via REST adapter. Returns 10 KB data.

  4. Data transformation.
  5. External invoke to transfer data which results in 5 bytes of response.

Each invoke/file is considered in multiples of 50 KB when response data is more than 50 KB.

ceil(130/50) = 3 messages

#3 (File)

Scheduled flow

  1. Scheduled trigger.
  2. Download files in a loop. Two files downloaded of sizes 20 KB and 40 KB, respectively.
  3. External invoke to get further data via REST adapter. Returns 100 KB data.

  4. FTP to an external location.

Each invoke/file is considered in multiples of 50 KB when response data is more than 50 KB.

ceil(100/50) = 2 messages

#2 (Invoke)

Scheduled flow

  1. Scheduled trigger.
  2. External invoke to get data via REST adapter. Returns 10 KB data.
  3. Data transformation.

  4. External REST invoke to transfer data which results in 500 bytes of response.

Each invoke/file is considered in multiples of 50 KB when response data is more than 50 KB.

Not counted.

#4 (Internal)

None counted

Child Integration flow

  1. A parent Integration flow calls a child Integration flow via REST in a loop.
  2. The child Integration flow sends a notification email with the information passed from a parent flow.
  3. Child flow execution completes.

Integration child flow invoke is waived from metering.

Not counted. Note that the parent may count.

#4 (Internal)

None counted

Child Integration flow

  1. Parent Integration flow downloads a CSV file via the FTP adapter. The CSV contains 5 rows.
  2. Each row in the CSV file calls a child Integration child flow.
    1. The child Integration flow reads a orderid passed as an input.

    2. Invokes a request to Oracle Fusion Cloud B2C Service to get data about the order. Each invoke returns 70KB data.

    3. Data transformation in child flow.

    4. Pushes the data via an FTP adapter to write it to a file.

    5. Child execution completes.

Integration child flow invokes are waived from metering. Any subsequent response is metered.

Each child = ceil(70/50) = 2 messages

Note that the parent may count.

#2 (Invoke)

Extended Data Retention Message Consumption

By default, Standard and Enterprise edition instances retain data for 32 days, and Healthcare edition instances retain data for 184 days. If you have an Enterprise edition instance, you can extend the data retention period if you want.

Note:

You can't change the retention period for Standard or Healthcare edition instances.

Adding extended data retention increases your hourly message consumption by the percentage listed in the following table. This increase applies to your hourly totals for incoming and outgoing messages for trigger and invoke requests.

Extended data retention period Additional message consumption for data retention Example calculation of total hourly message consumption
93 days (3 months) +10% 3,000 messages + 300 messages for data retention = 3,300 total messages
184 days (6 months) +20% 3,000 messages + 600 messages for data retention = 3,600 total messages

Caution:

If you later decrease your data retention period, any data older than the newly selected period would be deleted when you save your selection.

Disaster Recovery Message Consumption

Oracle provides a disaster recovery solution that allows you to fail over quickly from natural or human-made disasters and provide business continuity in your secondary region. You can also use this solution for planned migrations and switch between regions periodically. Oracle manages nearly all disaster recovery responsibilities automatically for you. Your administrative responsibilities are minimal.

You can add disaster recovery to Enterprise or Healthcare edition instances.

Adding disaster recovery increases your message pack consumption based on your existing message pack consumption. Existing message pack consumption is the number of message packs consumed by integrations, data retention, Process Automation, decisions, and robotic process automation.

Existing message pack consumption Additional message pack consumption for disaster recovery Example calculation of total message pack consumption
1-3 message packs +1 message pack 2 message packs + 1 message pack = 3 message packs
4-8 message packs +2 message packs 6 message packs + 2 message packs = 8 message packs
8+ message packs +3 message packs 12 message packs + 3 message packs = 15 message packs

Additional Message Consumption for Optional Features

Oracle Integration includes several technologies and services that you can enable for additional features.

This table shows the additional message consumption when you enable optional features.

Feature Additional message consumption

Process Automation

  • +1 message per process invocation

    A process invoking another process doesn't incur this charge

  • +1 message per hour of process duration after the first hour

Decisions

  • +1 message per decision invocation

Robotic process automation

  • +1 message per robot invocation
  • +1 message per 5 minutes of robot duration after the first 5 minutes

Message Consumption Example

The following tables show an example of message consumption calculations.

Message Consumption by Component

The first step is to determine the messages consumed by each component and then calculate the total messages consumed by all components.

Component Component consumption Conversion to messages Messages consumed

Integrations

9,000 messages

x 1

9,000

Extended data retention

6 months

x 20%

1,800

Process Automation

  • 1,700 process invocations
  • 200 processes lasting 1-2 hours

x 1

1,900

Decisions

1,400 decision invocations

x 1

1,400

Robotic process automation

  • 1,200 robot invocations
  • 100 robot invocations lasting 5-10 minutes

x 1

1,300

Message total

N/A N/A

15,400

Message Pack Consumption

The next step is to figure out the total message packs needed to cover the message total.

License type Messages per pack Number of packs consumed
New Oracle Integration license in the cloud 5,000 4
Existing Oracle Fusion Middleware license to the cloud (BYOL) 20,000 1

Message Pack Consumption for Disaster Recovery

Optionally, if you've set up disaster recovery, you need to add the appropriate number of message packs for disaster recovery.

License type Number of message packs consumed Number of message packs for disaster recovery
New Oracle Integration license in the cloud 4 2
Existing Oracle Fusion Middleware license to the cloud (BYOL) 1 1

Total Message Pack Consumption

Finally, you add everything up to get your total message pack consumption.

License type Number of message packs consumed Number of message packs for disaster recovery Grand total
New Oracle Integration license in the cloud 4 2 6
Existing Oracle Fusion Middleware license to the cloud (BYOL) 1 1 2