Oracle EBS (E-Business Suite) 12.1.3 作为经典的企业级 ERP 系统,其开发框架和技术栈围绕 Oracle 生态体系构建,涵盖核心框架、开发语言、集成技术 三大维度,以下是系统化梳理:
一、核心开发框架
Oracle EBS 12.1.3 的开发框架以 Oracle 自身的应用架构为核心,主要包括:
1. Oracle Applications Framework (OAF)
- 定位:EBS 12.x 版本中面向 Web 界面开发的核心框架(替代传统 Forms),基于 MVC 设计模式,是开发 OA 页面、自定制业务模块的核心。
- 核心组件:
- Model 层:基于 BC4J(Business Components for Java),封装数据库交互、业务逻辑;
- View 层:基于 JSP/XML(OAF Page Layout),通过 XML 定义页面布局,JSP 渲染界面;
- Controller 层:Java 类(继承 OAF Controller 类)处理页面交互、事件响应。
- 适用场景:Web 端新功能开发、标准页面定制、业务流程扩展。
2. Oracle Forms (Forms 10g/11g)
- 定位:EBS 传统客户端 / 服务端界面的核心框架(12.1.3 仍大量保留 Forms 开发的标准模块),基于 C/S 架构,编译为 FMX 文件运行。
- 核心特性:
- 与 Oracle 数据库深度绑定,支持 PL/SQL 直接嵌入;
- 提供可视化开发工具(Forms Builder),快速构建数据录入、查询界面;
- 支持与 EBS 的并发管理器、安全模型集成。
- 适用场景:传统模块定制(如 AP/AR/GL)、后台管理界面开发。
3. Oracle Reports (Reports 10g/11g)
- 定位:EBS 报表开发的标准框架,用于构建业务报表(PDF/Excel/HTML 格式)。
- 核心能力:
- 支持 PL/SQL 数据源、参数化查询、报表布局定制;
- 集成 EBS 并发请求(Concurrent Request),可批量调度执行;
- 支持 Bursting(报表拆分)、模板化输出。
4. Concurrent Processing Framework(并发处理框架)
- 定位:EBS 后台批量任务调度的核心框架,用于开发异步执行的业务逻辑(如批处理、数据导入导出、报表生成)。
- 开发方式:通过注册 Concurrent Program,绑定 PL/SQL 存储过程、Shell 脚本、Java 程序等实现业务逻辑。
5. Workflow Builder(工作流框架)
- 定位:EBS 业务流程自动化框架,用于定义审批流、业务触发规则(如采购审批、订单流程)。
- 核心组件:
- 可视化设计器(Workflow Builder)定义流程节点、条件、通知规则;
- 支持 PL/SQL/Java 插件扩展节点逻辑;
- 集成 EBS 通知系统(Oracle Alert)。
二、核心开发语言 / 技术
EBS 12.1.3 的开发语言围绕 Oracle 生态,分为数据库层、应用层、界面层 三类:
1. 数据库层核心语言:PL/SQL
- 定位:EBS 业务逻辑的核心载体,90% 以上的核心业务逻辑(如存储过程、触发器、包)基于 PL/SQL 开发。
- 关键应用:
- 定制 EBS 实体(表、视图、序列)的业务规则;
- 开发 Concurrent Program 的核心逻辑;
- 扩展 OAF 的 BC4J 组件(通过 PL/SQL 封装数据源);
- 实现 Workflow 节点的业务判断逻辑。
2. 应用层 / 界面层语言
| 语言 / 技术 | 适用场景 |
|---|---|
| Java | OAF 开发(Controller/Model 层)、自定义 Web Service、EBS 与外部系统集成 |
| XML/XLST | OAF 页面布局定义、报表模板、数据交换(XML Publisher) |
| JSP | OAF View 层渲染、自定义 Web 页面开发 |
| SQL | 数据查询、EBS 表单 / 报表数据源、数据接口开发 |
| PL/SQL Developer | 数据库层代码开发、调试(第三方工具,EBS 开发标配) |
| Shell/Python | 并发请求脚本、数据批量处理、EBS 服务器端运维脚本 |
| C/C++ | 底层定制(如 Forms 插件、数据库扩展,极少使用) |
3. 集成与扩展技术
- Oracle XML Publisher (BI Publisher):替代传统 Reports 的新一代报表工具,基于 XML 数据源 + RTF 模板,支持多格式输出(Excel/PDF/HTML);
- Web Services:EBS 与外部系统集成(通过 OAF 发布 Web Service,或调用外部 Web Service);
- Oracle Advanced Queueing (AQ):异步消息通信,用于 EBS 模块间或与外部系统的解耦集成;
- FND API:EBS 标准基础 API(如用户验证、并发请求提交、数据权限控制),开发中需大量调用;
- AD Utilities:EBS 开发工具集(如 AD_COMPILE、AD_DDL),用于定制化对象的编译、部署。
三、开发工具链
EBS 12.1.3 开发常用工具:
- Oracle JDeveloper (10g/11g):OAF 开发的核心工具(需安装 EBS Extension 插件);
- Oracle Forms Builder (10g):Forms 界面开发、编译;
- Oracle Reports Builder (10g):传统报表开发;
- SQL Developer/PL/SQL Developer:PL/SQL 代码开发、调试;
- Workflow Builder:工作流设计、部署;
- Oracle Application DBA (AD) Utility:定制化对象的部署、补丁管理;
- Putty/SecureCRT:服务器端脚本开发、日志调试。
四、关键注意事项
- 版本兼容性:12.1.3 的 OAF 基于 JDeveloper 10.1.3.5,Forms 基于 10g,需严格匹配版本避免兼容性问题;
- 定制化规范:EBS 开发需遵循 Oracle 的 “定制化最佳实践”(如使用自定义前缀、避免修改标准对象),否则升级时易出问题;
- 技术演进:12.1.3 后 Oracle 逐步弱化 Forms,主推 OAF/BI Publisher,新开发优先采用 OAF+BI Publisher。
总结:EBS 12.1.3 的开发体系以PL/SQL(数据库层)+ OAF/Forms(界面层)+ 并发框架 / 工作流(业务层) 为核心,辅以 Oracle 生态的集成技术,整体技术栈偏向 Oracle 专属体系,需熟悉 EBS 的 FND 基础架构和标准 API 才能高效开发。

徐万新之路

