希望简化你的业务应用开发过程? 业务对象处理框架(Business Object Processing Framework,以下简称 BOPF)也许可以帮到你。
BOPF 是 SAP Business Suite 中用于开发业务对象的基础设施。 通过 BOPF,你可以在开发周期中节约时间,因为你不必再亲自实现所有技术细节了,比如权限控制、低等级的事务处理、缓存管理、提供消费者 API 和编排业务逻辑。 通过在 BOPF 中使用对象驱动的方法,你可以专注于实际的业务需求本身。
BOPF 代表什么?
BOPF 是一个基于面向对象 ABAP 的框架,提供了通用的服务和功能集,以帮助开发者加速、标准化、模块化开发过程。 BOPF 管理你的业务对象的整个生命周期,会覆盖业务应用开发的所有方面。 这使得应用开发者不再花时间在开发应用基础设施上面,而是专注于特有的业务逻辑。 通过使用 BOPF,你可以免费获取整个应用基础设施和多个组件的集成。 这允许你基于稳定的、通过客户验证的基础设施来快速地构建应用。
谁在使用 BOPF?
BOPF 并不是一个新框架。 实际上,它已经被构建得很好,并且广泛地在 SAP ByDesign 和 SAP Business Suite 应用和产品中得到了应用。 比如说:运输管理(Transportation Management,TM)、环境(Environment)、健康和安全(Health and Safety,EH& S)、SAP 供应商生命周期管理(SAP Supplier Lifecycle Management)、SAP 变更管理(SAP Management of Change),SAP 质量问题管理(SAP Quality Issue Management)——这只是一部分。 除了 SAP 内部的开发外,BOPF 也在客户的开发项目中得到过使用。
怎样才能使用 BOPF?
因为 BOPF 受到的关注日渐增长,它在 SAP 客户开发项目中也得到了应用。 BOPF 在 SAP Business Suite EHP5 SP11、SAP Business Suite EHP6 SP05 和 SAP Business Suite EHP7 中发布。 此外,从 SAP NetWeaver 7. 50 版本开始,BOPF 在独立的 SAP NetWeaver 中可用——作为 SAP BASIS 层的一部分。
应用基础设施的主要组件有哪些?
借助 BOPF,你可以使用一个框架,通过它可以无缝地集成不同的业务应用程序组件。可以将它们变得开箱即用。因此,使用 BOPF 的优点是明显的:
当使用 BOPF 时,你不需要在消费下列组件时关心适配器或者集成层的开发。

UI 和消费
|
Dynpro |
BOPF 为传统 Dynpro UI 的消费提供了一个标准界面。 |
|
web Dynpro / Floor Plan Manager (FPM) |
通过 FPM,复杂用户界面的配置和生成变得前所未有的简单。 FPM 是一个 Web Dynpro 组件的实现,并且可以轻松地和 BOPF 集成。 BOPF 提供了与 FPM 的可配置和无编码的集成,允许你在一个免费修改的环境中简化 BOPF 业务对象的消费。 More: Floorplan Manager for Web Dynpro ABAP and Web Dynpro ABAP on SCN |
|
SAPUI5 |
SAP UI5 是为了偶发性使用而设计的轻量 UI。 More: UI Developer Center on SCN |
|
Gateway (OData) |
SAP NetWeaver Gateway 是一个可以提供便捷方式以将各种设备、环境和平台连接到 SAP 软件的技术,它基于市场标准。 BOPF 和 Gateway 的连接基于 REST 和 OData 标准。 More: SAP Gateway 简介 |
|
Business Object Layer & GenIL |
The Business Object Layer (BOL) 提供了访问业务数据的通用 API。 The Generic Interaction Layer (GenIL) 允许使用无状态的请求 / 相应格式来对业务数据进行统一的访问。 BOPF 提供了和 BOL 以及 GenIL 集成的适配器 |
处理集成
|
Post Processing Workflow |
通过 BOPF 业务对象,你可以使用 Post Processing Workflow 集成业务处理 More: Post Processing Framework (PPF) (on SCN) |
基础设施组件
|
Archive Development Kit (ADK) |
通过 ADK 你可以不仅归档数据库记录,并且可以存储业务示例。 使用 BOPF 你可以选择需要被归档的业务对象实例并且触发它们的归档处理。 More: Archive Development Kit on the SAP help portal |
|
Change Documents |
BOPF 使用 SAP NetWeaver Change Documents 解决方案来记录业务对象数据的更改。 More: Change Documents on the SAP help portal |
|
Application Logging |
应用日志用于记录应用处理期间的特别事件,因此,如有必要,借由它你可以在稍后重现它们。 在 BOPF 中,应用日志和业务对象的应用日志帮助相集成。 这个业务对象会在读写制定应用的日志消息时提供支持。 More: Application Log - Guidelines for Developers on the SAP help portal |
|
Enterprise Search |
SAP NetWeaver 的搜索服务提供了一个企业级的索引和搜索结构化(业务对象)和非结构化(文档)数据的框架。 BOPF 的设计提供给了开启 BOPF 业务对象搜索的便捷方式。 使用一个现有的业务对象模型,你会有选项来导入业务对象数据,并且,通过该方式,来创建相应的企业搜索模型。 More: Enterprise Search on SCN |
|
Business Rules Framework plus (BRF+) |
BRF + 是一个规则引擎,它提供了可理解的 API 和界面用以定义和处理业务规则和表达式。 通过指定 BOPF 的表达式类型,可以在 BRF + 中创建业务对象数据检索表达式。 这些表达式使得业务对象的数据在 BRF + 环境中可用,并支持任何的规则处理。 More: Business Rule Framework plus on SCN |
编程模型包含哪些元素?
业务对象(business objects)是基于 BOPF 的编程模型的基本单元。 业务应用或业务过程会运行在某些业务对象之上。 业务对象被表示为节点中的层次结构树。 一个单一节点包含一系列语义相关的业务对象数据和相应的业务逻辑。 在技术层面,每个节点由一个标准字典表实现。 每个节点实例对应一个单一的表条目(表行)。 节点、属性和候选键(alternative key)组成了业务对象的 data part。 从技术视角继续看的话,属性组成了数据库表的列。 节点作为连接业务对象的业务逻辑的锚点。
对于每个节点,可以定义多个类型的实体,来组成业务对象的特定的 business logic part。
| 节点实体 | 用处 |
|---|---|
|
Action |
用来实现业务对象的服务(操作或行为)。 action 由 service consume(比如用户界面)显式地触发。 |
|
Determination |
在某个特定的触发场景满足是,determination 会提供自动运行的功能。 业务对象实例的修改会在内部触发 determination。 |
|
Validation |
用于检验指定的 action 是否可以在指定的 n 节点实例上运行(action 检查),或者检验一个节点实例集是否一致(一致性检查). |
| Query |
用于搜索符合特定搜索条件的业务对象实例。 |
| Authorization Check |
用于提供业务对象节点的权限检查(对于数据和对数据的操作) |
| Association |
用于连接位于不同节点的业务对象实例 |

在哪些开发环境中 BOPF 可用?
| 工具支持 | 特性 |
|---|---|
|
SAP Internal Design Time Tools (BOBF) |
这是 SAP 内部的开发工具集,为开发者提供了可理解的特性集,来为 SAP Business Suite 构建业务对象为中心的应用。 |
|
BO Builder (BOB) |
这个工具适用于简单增强场景。 客户可以用它增强 SAP 业务对象,也可以在客户命名空间创建他们自己的简单业务对象。 业务对象、节点、action、determination、query 和 validation 的创建是可扩展的,支持向导驱动工具。 BO Buider 可以通过 SAP GUI 运行,在 SAP Business Suite EHP5 和更高版本中可用。 |
|
BO Builder for eXperts (BOBX) |
该工具适用于有经验的 BOPF 开发者。
BO Buider 可以通过 SAP GUI 运行,在 SAP Business Suite EHP6 和更高版本中可用。 |
|
(Eclipse-Based) ABAP Development Tools for BOPF |
随着 SAP Business Suite EHP7 发布的一个新的基于 Eclipse 的客户端应用。 可以与 ABAP Development Tool 一同安装 s,该工具集在基于 Eclipse 的 ABAP IDE 之上工作,目标是支持所有类型的 BO 中心用例:它同时允许新的 BOPF 应用的创建和已有的 BOPF 对象的增强。 |
|
BO Builder Test Environment (BOBT) |
通过开发环境,你总是可以测试每个业务对象(或增强)的当前的功能。 |
|
BO-Specific Debugging |
在业务对象实体层面的调试可以加速排查问题的过程。 可以为实体设置断点,比如 ctions、 determinations 或 validations。 可以通过选项来为节点的具体活动设置观察点、 |
|
Integrated BO Test Infrastructure |
BOPF 支持自动化测试和测试驱动开发。 你可以用 ABAP unit 来测试独立的业务对象单元,比如 actions、validations 或 determinations. 。 此外,通过场景测试功能,可以扩展测试,来测试多个步骤的组合场景。 |
注意
作为 SAP 客户,你可以使用 BO Builder(BOB)、 BO Builder for eXperts (BOBX)或者基于 Eclipse 的客户端来开发自己的业务对象。 你可以从这些工具的协同性中受益。 你可以,例如,在 BOB 工具创建业务对象,然后在其它工具中编辑它们。