Oracle Integration Cloud Integration Patterns

Oracle Integration Cloud Integration Patterns

Oracle Integration Cloud (OIC) 集成模式

Twelve reusable patterns, real-world examples, and implementation guidance for Oracle Integration 3. About this field guide: I wrote this guide to connect Oracle Integration features with the architecture decisions we make on real projects. It presents twelve practical patterns, each supported by an enterprise or healthcare example, an architecture view and a sequence diagram. The aim is to make the patterns easy to recognize, compare and apply - not simply describe product features.

针对 Oracle Integration 3 的十二种可重用模式、真实案例及实施指南。关于本指南:我编写本指南旨在将 Oracle Integration 的功能与我们在实际项目中做出的架构决策联系起来。它提出了十二种实用模式,每种模式都辅以企业或医疗保健领域的示例、架构视图和时序图。其目的在于让这些模式易于识别、比较和应用,而不仅仅是描述产品功能。

How to read this guide: These patterns are building blocks rather than isolated templates. A production solution may combine an API facade, orchestration, asynchronous hand-off, and a parking lot. Start with the business interaction, then use the diagrams to understand how OIC and the participating systems work together.

如何阅读本指南:这些模式是构建模块,而非孤立的模板。生产环境的解决方案可能会结合 API 外观(Facade)、编排、异步移交和暂存区(Parking Lot)。请从业务交互入手,然后利用图表来理解 OIC 与参与系统是如何协同工作的。

Synchronous request–reply Pattern: Use when the caller needs an immediate business response. A REST/SOAP trigger validates and maps the request, invokes one or more applications, and returns a consolidated response. Keep the flow short because the client connection remains open. Example: A provider portal submits an eligibility inquiry. OIC calls a payer eligibility API and returns coverage, copay and deductible in the same interaction.

同步请求-响应模式: 当调用方需要即时业务响应时使用。REST/SOAP 触发器验证并映射请求,调用一个或多个应用程序,并返回汇总后的响应。由于客户端连接保持打开状态,请确保流程简短。示例:医疗服务提供者门户提交资格查询。OIC 调用支付方资格 API,并在同一次交互中返回承保范围、共付额和免赔额信息。

API facade and protocol mediation Pattern: Place OIC between consumers and a legacy or SaaS interface to hide protocol, schema, and authentication differences. The facade exposes a stable contract while mappings and adapters absorb downstream change. Example: A mobile claims app sends JSON/REST. OIC transforms it to the SOAP/XML contract required by a legacy claims platform, then converts the response back to JSON.

API 外观与协议中介模式: 将 OIC 置于消费者与遗留系统或 SaaS 接口之间,以隐藏协议、模式和身份验证方面的差异。外观层暴露稳定的契约,而映射和适配器则吸收下游的变化。示例:移动理赔应用程序发送 JSON/REST 请求。OIC 将其转换为遗留理赔平台所需的 SOAP/XML 契约,然后将响应转换回 JSON。

Content-based routing Pattern: Inspect payload or header values and use switch branches to send each message to the correct target. Centralize routing rules and define a default path so unexpected values are observable rather than silently discarded. Example: A claim is routed to the commercial, Medicare, or Medicaid pricing service according to line of business and state.

基于内容的路由模式: 检查有效载荷或标头值,并使用分支(Switch)将每条消息发送到正确的目标。集中化路由规则并定义默认路径,以便能够观察到意外值,而不是将其静默丢弃。示例:根据业务线和州,将理赔请求路由至商业保险、Medicare 或 Medicaid 定价服务。

Orchestration and aggregation Pattern: Coordinate a multi-step business transaction, including sequential invokes, enrichment, decisions, and response assembly. Use scopes for local fault handling; avoid holding a synchronous caller through long-running work. Example: Member onboarding creates the member in CRM, validates identity, enrolls benefits, and combines the generated identifiers into one completion record.

编排与聚合模式: 协调多步骤业务交易,包括顺序调用、数据丰富、决策和响应组装。使用作用域(Scopes)进行局部故障处理;避免让同步调用方在长时间运行的任务中等待。示例:会员入职流程在 CRM 中创建会员、验证身份、注册福利,并将生成的标识符合并为一条完成记录。

Parallel fan-out and gather Pattern: Invoke independent services concurrently and aggregate their results. This reduces elapsed time when branches do not depend on one another. Define how partial failures are reported and whether every branch is mandatory. Example: Before claim adjudication, OIC obtains eligibility, provider status, and authorization in parallel, then builds a single validation result.

并行扇出与聚合模式: 并发调用独立服务并聚合其结果。当各分支互不依赖时,这可以减少耗时。需定义如何报告部分故障以及每个分支是否为强制性。示例:在理赔裁决前,OIC 并行获取资格、提供者状态和授权信息,然后构建单一的验证结果。

Asynchronous hand-off Pattern: Acknowledge quickly, then perform slow or high-volume processing outside the original request. Use a queue, event service, or one-way invocation, and carry a correlation ID for status and callbacks. Example: A hospital submits a large encounter batch and receives HTTP 202 with a tracking ID. OIC processes records asynchronously and later posts completion status.

异步移交模式: 快速确认,然后在原始请求之外执行缓慢或大容量的处理。使用队列、事件服务或单向调用,并携带关联 ID 以用于状态查询和回调。示例:医院提交大批量就诊记录,并收到带有跟踪 ID 的 HTTP 202 响应。OIC 异步处理记录,并在稍后发布完成状态。

Publish–subscribe Pattern: Publish one canonical business event and let multiple subscriber integrations react independently. This reduces point-to-point coupling and allows new consumers without changing the publisher. Design subscribers to be idempotent. Example: A Patient Update event independently updates CRM, analytics and care-management systems through Oracle Integration Messaging or an external event backbone.

发布-订阅模式: 发布一个规范的业务事件,让多个订阅者集成独立做出反应。这减少了点对点耦合,并允许在不更改发布者的情况下添加新消费者。设计订阅者时需确保幂等性。示例:患者更新事件通过 Oracle Integration Messaging 或外部事件总线,独立更新 CRM、分析和护理管理系统。

Event-driven integration Pattern: Trigger processing when a business or cloud event occurs instead of polling. Events may originate in SaaS applications, OCI Events, streaming, or messaging services. Include filtering, deduplication, and replay strategy. Example: An object-created event for a remittance file starts validation and posting immediately after the file lands in OCI Object Storage.

事件驱动集成模式: 当业务或云事件发生时触发处理,而非轮询。事件可源自 SaaS 应用程序、OCI Events、流处理或消息服务。包含过滤、去重和重放策略。示例:汇款文件的对象创建事件在文件存入 OCI 对象存储后,立即启动验证和过账流程。

Scheduled polling and incremental synchronization Pattern: Run on a defined schedule when the source cannot emit events. Query records changed since a stored high-water mark, process bounded pages, and advanced the watermark only after successful completion. Example: Every 15 minutes OIC reads newly changed provider records from an on-premises database through the connectivity agent and upserts them into Oracle Fusion Cloud.

定时轮询与增量同步模式: 当源系统无法发出事件时,按预定计划运行。查询自上次存储的高水位标记(High-water mark)以来发生更改的记录,处理有限的分页数据,并仅在成功完成后推进水位标记。示例:OIC 每 15 分钟通过连接代理从本地数据库读取新更改的提供者记录,并将其更新/插入到 Oracle Fusion Cloud 中。

Bulk data and file transfer Pattern: Move large datasets through files rather than chatty record-level calls. OIC can use FTP/SFTP, File Adapter, Object Storage and Stage File actions to list, read, write, zip, unzip, encrypt or decrypt content. Stream or segment large files. Example: A nightly enrollment CSV is collected from SFTP, decrypted, split into manageable batches, transformed and loaded into the benefits platform. Rejected records go to a separate file.

批量数据与文件传输模式: 通过文件而非频繁的记录级调用来移动大数据集。OIC 可以使用 FTP/SFTP、文件适配器、对象存储和暂存文件(Stage File)操作来列出、读取、写入、压缩、解压、加密或解密内容。支持流式传输或分段处理大文件。示例:从 SFTP 获取每晚的注册 CSV 文件,解密后拆分为可管理的批次,转换并加载到福利平台。被拒绝的记录存入单独的文件。

B2B / EDI gateway Pattern: Use trading partner agreements, document definitions, and transport settings to exchange X12 or EDIFACT. Translate between EDI and canonical application messages, validate envelopes, track acknowledgements, and retain business-level visibility. Example: A health plan receives X12 837 claims over AS2, validates and translates them, submits canonical claims internally, and returns the appropriate acknowledgement.

B2B / EDI 网关模式: 使用贸易伙伴协议、文档定义和传输设置来交换 X12 或 EDIFACT 数据。在 EDI 与规范应用程序消息之间进行转换,验证信封,跟踪确认信息,并保持业务层面的可见性。示例:健康计划通过 AS2 接收 X12 837 理赔单,进行验证和转换,在内部提交规范的理赔请求,并返回相应的确认信息。

Reliable delivery, retry and parking lot Pattern: Wrap volatile invokes in scopes, classify faults and retry only transient failures with controlled backoff. Persist exhausted or data-related failures in a parking-lot store with payload, error and correlation data for correction and replay. Example: If a provider API times out, OIC retries. After the limit, it stores the request in ATP, alerts operations and allows for safe resubmission after correction.

可靠交付、重试与暂存区模式: 将不稳定的调用封装在作用域中,对故障进行分类,并仅对瞬时故障进行受控退避重试。将耗尽重试次数或与数据相关的故障持久化到暂存区(Parking-lot store),包含有效载荷、错误和关联数据,以便进行修正和重放。示例:如果提供者 API 超时,OIC 会进行重试。超过限制后,将请求存储在 ATP 中,通知运维人员,并在修正后允许安全重新提交。

Choosing and combining patterns: Start with the interaction contract. Use synchr…

选择与组合模式: 从交互契约开始。使用同步…