Avoid Common Integration Pattern Pitfalls
Designing integrations correctly from the start can save you a tremendous amount of rework. This section describes common integration pattern pitfalls (known as antipatterns) and best practices for avoiding these pitfalls.
- Chatty Integrations
- Scheduled Job that Never Stops Trying to Process
- Import an Externally Updated IAR File
- Synchronous Integration Doing Too Much
- Too Many Connections in an Integration
- Read Files with Many Records
- Integrations Running Unchanged Despite Changing Business Needs
Chatty Integrations
Use Case: Synchronize records in a file or large data set with an external system (for example, synchronize journal transactions or upload employee records into Oracle HCM Cloud).
Antipattern | Why an Antipattern? | Best Practice |
---|---|---|
Use an invoke activity within a looping construct to call external APIs for every record. |
|
|
Scheduled Job that Never Stops Trying to Process
Use Case: Process records within a set of files with a tight service level agreement (SLA) (for example, synchronize employee records into Active Directory from Oracle HCM Cloud or send benefits information).
Antipattern | Why an Antipattern? | Best Practice |
---|---|---|
The schedule integration looks for all files to process and loops over all to sequentially process until no files remain. |
|
|
Import an Externally Updated IAR File
Use Case: Need to leverage advanced XSL constructs that may not be available in the mapper.
Antipattern | Why an Antipattern? | Best Practice |
---|---|---|
Update the IAR file externally and then import it into Oracle Integration. |
|
|
Synchronous Integration Doing Too Much
Use Case: A request triggers complex processing involving enrichment and updates across multiple systems.
Antipattern | Why an Antipattern? | Best Practice |
---|---|---|
|
|
|
Too Many Connections in an Integration
Use Case: When developers create integrations, they define their own connections pointing to the same application. This leads to many duplicate connections.
Antipattern | Why an Antipattern? | Best Practice |
---|---|---|
Every developer creates their own connection using a different set of configurations/credentials. |
|
|
Read Files with Many Records
Use Case: Read a file with a large number of records and process individual records.
Antipattern | Why an Antipattern? | Best Practice |
---|---|---|
Read the entire file in memory using the read file option and process it record by record. |
|
|
Integrations Running Unchanged Despite Changing Business Needs
Use Case: Integrations/schedules created during the initial implementation continue to run even though your business requirements have changed over time.
Antipattern | Why an Antipattern? | Best Practice |
---|---|---|
|
|
|