1. 介绍-Introduction
① BOPF是什么?
BOPF(the Business Object Processing Framework):业务对象处理框架
提供了一种增量和模块化的方法,以符合企业面向服务体系结构(eSOA)的方式实现业务对象;
部分平台基础层,软件组件SAP_AP_FND;
- 适用于应用平台和SAP Business ByDesign
- 可用于mySAP商务套件
② 使用BOPF的优点:
快速原型:您可以快速设置业务对象的初始运行原型,其中已经启用了最基本的服务,例如创建、检索、更新、删除、保存和查询。
实现的重用:使用标准化接口和清晰的关注点分离,在小的可重用部分中清晰地构建业务逻辑。
模型驱动的业务对象实现:通过设计实现通用编程模型。
高度可定制:支持每个级别的高级增强和配置选项,例如定义业务对象特有的特定业务逻辑和性能优化属性。
减少实施工作:BOPF 控制应用程序业务逻辑以及缓冲区和持久层的数据检索 - 您不必自己编写它。
③:哪里会使用到BOPF?
BOPF 用于在应用程序平台和 SAP Business ByDesign 中实现超过 55% 的业务对象;
BOPF 也用于 Business Suite。
2. 模型驱动的开发-Model-Driven Development
2.1 模型驱动方法-Model-driven Approach
2.2 面向企业服务的体系结构-Enterprise Services Oriented Architecture
2.3 从ESF到BOPF的模型驱动开发-Model-driven Development from ESF to BOPF
BOPF内部业务对象模型-BOPF internal Business Object Model
ESR(Enterprise Services Repository)模型中已知的所有方面也可以在 BOPF 模型中维护,也可以从 ESR 导入:
· Nodes-节点
· Node Attributes-节点属性
· Associations-关联
· Actions-操作
· Business Object Attributes-业务对象属性
· Data Types-数据类型
· etc 等等。
BOPF 模型提供了业务对象的更细粒度建模:
Attribute Mapping-属性映射
Persistency-持久性
Definition of Business Logic-业务逻辑的定义
etc.
2.4 BOPF元模型-BOPF Meta Model
BOPF-Metamodel:包含决定、验证、行动和其他必要的模型元素对业务对象进行详细建模。
BOPF-BO-Model:使用bopf元模型的组件来描述业务对象的结构和行为;在设计时创建,例如“客户发票”。
BOPF-BO-Instances:bopf - bo模型的实例;在运行时创建,例如:“客户发票”编号231;“客户发票”编号9439。
BOPF元模型由以下元素组成:
Node-节点
- Attribute Mapping-属性映射
- 代理结构与内部数据模型的映射关系
- 内部数据模型与持久化模型的映射关系
- Action-行动或操作
- 更改业务对象实例
- 由服务消费者显式触发
- Determination-确定
- 更改业务对象实例(副作用)
- 是否由于对象实例的变
- Validation-验证
- 不执行业务对象实例的任何更改
- 一致性验证:检查业务对象实例是否一致
- 行动验证:检查某个动作是否可以执行
- Association-关联
- 链接不同或相同节点的两个节点实例
- Value Sets-值集
- 标识符值集
- 代码值集
- Query-查询
- 获取数据
- Alternative Keys-替代健(含义与主键类似)
- 节点实例的唯一标识
- Status Management Entities-状态管理实体
- 状态模式
- 状态衍生器
- 状态变量
3. BOPF架构-BOPF Architecture
4. 开发规范-BOPF Development Paradigms
- 仅通过定义的API访问业务对象(CORE服务);
- 明确区分更改和检查业务逻辑;
- 不能将更改业务对象的方法与检查业务对象一致性的方法混合使用
- 明确业务逻辑和数据缓冲区之间的分离
- 业务逻辑应该构建在业务对象和缓冲区之上,以独立于数据缓冲的方式和数据缓冲的位置
- 不应该在缓冲区中实现任何业务逻辑
- 明确数据缓冲区和持久性之间的分离
- 可以方便地交换缓冲区算法(例如,为了获得性能)
- 可以方便地交换持久性或数据持久化的方式
5. 信息来源-Sources of Information
- BOPF Wiki Space (central starting point for information about BOPF)
https://wiki.wdf.sap.corp/display/BOPF/Home
- BOPF Development Guideline
https://wiki.wdf.sap.corp/download/attachments/223184988/BOPF_Development_Guideline.pdf
- BOPF Performance Guideline
https://wiki.wdf.sap.corp/display/BOPF/BOPF+Performance+Guideline
- BOPF ABAP Unit Development
https://wiki.wdf.sap.corp/display/BOPF/BOPF+ABAP+Unit+Framework
- BOPF Online Documentation
https://wiki.wdf.sap.corp/download/attachments/223184988/BOPF+Help+Documentation.pdf
- BOPF Training for Development Support
https://wiki.wdf.sap.corp/display/BOPF/BOPF+Training
- BOPF Newsgroup
news://news/sap.technology.bopf
6. 技术信息-Technical Information on the BOPF
- BOPF是平台基础层的一部分,软件组件SAP_AP_FND
- 适用于Application Platform和SAP Business ByDesign
- 可用于mySAP商务套件
- BOPF开发系统为AFH,用户端100
- 传输到连接的System Landscape
- BOPF元模型连接到全局TADIR(资源库对象目录)
- 分配到开发包,可锁定和可移动
- 分配给一个负责人
- 业务对象模型的逻辑传输对象BOPF
- 用于业务对象模型扩展的逻辑传输对象BOPX
- BOPF应用程序组件层次结构(用于css -消息)
- AP-RC-BOF Business Object Processing Framework 业务对象处理框架
- AP-RC-BOF-CNF Business Object Processing Framework – Configuration
业务对象处理框架-配置
- AP-RC-BOF-RNT Business Object Processing Framework – Runtime
业务对象处理框架-运行时
- AP-RC-BOF-TST Business Object Processing Framework – Test
业务对象处理框架-测试
7. 建模环境
7.1 BOPF建模工具-BOPF Modeling Tool
BOPF建模工具(事务码: /BOPF/CONF_UI)
- SAPGUI-based
- 业务对象模型的版本控制
- 集成到业务对象测试工具/业务对象测试外壳
- 具有分类业务对象的业务对象浏览器
7.2 业务对象详细信息浏览器-Business Object Detail Browser
7.3 特性
① 特性:扩展检查-Extended Check
扩展检查:至少在传输之前,应执行扩展检查以确保配置的一致性。
② 特性:检查和纠正-Check & Correct
- “扩展检查”可以报告运行“检查和纠正”功能的必要性。
- 修正不一致的配置设置
- 自动导入新的兼容配置默认值(关于不兼容的配置更改,请由您当地的BOPF专家通知)
- 执行之后会报告一个变更列表
③ 特性:BOPF库-BOPF Library
包含易于重用的已实现实体
BOPF社区可以贡献和请求新的库类