SAP中的BOPF(Business Object Processing Framework)
正文
希望简化你的业务应用开发过程?业务对象处理框架(Business Object Processing Framework,以下简称BOPF)也许可以帮到你。
BOPF是SAP Business Suite中用于开发业务对象的基础设施。通过BOPF,你可以在开发周期中节约时间,因为不必再亲自实现所有技术细节了,比如权限控制、低等级的事务处理、缓存管理、提供消费者API和编排业务逻辑。通过在BOPF中使用对象驱动的方法,你可以专注于实际的业务需求本身。
本文链接:http://www.cnblogs.com/hhelibeb/p/8227382.html
英文标题:Introduction to Business Object Processing Framework (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工具创建业务对象,然后在其它工具中编辑它们。
教程
- Getting Started with BOPF——引导你从零开始创建第一个业务对象、并使用BOPF API实现基本操作所需的所有步骤。
- 阅读以下相关文章:
- Navigating the BOPF: Part 2 - Business Object Overview
- Navigating the BOPF: Part 3 - Working with the BOPF API
- Navigating the BOPF: Part 4 - Advanced BOPF API Features
- Navigating the BOPF: Part 5 - Enhancement Techniques
- Navigating the BOPF: Part 6 - Testing & UI Integration
- TechEd 2013: Agile custom development with BOPF