WDA-BOPF业务对象处理框架
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
 
 
WDA-BOPF业务对象处理框架的更多相关文章
- SAP中的BOPF(Business Object Processing Framework)
		
希望简化你的业务应用开发过程?业务对象处理框架(Business Object Processing Framework,以下简称BOPF)也许可以帮到你. BOPF是SAP Business Sui ...
 - Java  名词
		
Plain Ordinary Java Object pojo 简单java对象 Constant 常量 Business Object BO 业务对象 Framework 框架
 - 从零开始理解JAVA事件处理机制(2)
		
第一节中的示例过于简单<从零开始理解JAVA事件处理机制(1)>,简单到让大家觉得这样的代码简直毫无用处.但是没办法,我们要继续写这毫无用处的代码,然后引出下一阶段真正有益的代码. 一:事 ...
 - 十、EnterpriseFrameWork框架的分层架构及意义(控制器、业务对象、实体、Dao之间关系)
		
本章内容主要包括两个方面,一.是框架分层(控制器.业务对象.实体.Dao)的详细说明,二.是对比常用三层结构的区别和优势: 本文要点: 1.框架中的各个分层详细说明 2.对比常用三层结构的区别和优势 ...
 - ABP框架 - 多层结构
		
文档目录 本节内容: 简介 ABP结构 多层 其它层(通用) 领域(Core)层 应用层 基础层 Web & 表示层 其它 总结 简介 一个应用的代码库的分层是一个广为接受的技术,用来减少复杂 ...
 - JHipster框架的简要搭建与说明
		
JHipster的亮点 风头超劲,席卷欧美,最新全能Java Web开发程式产生器 (java web generator). 由Java专家累积的开发经验,配上各类实用的框架技术,去繁取精的运用,全 ...
 - python框架之django
		
python框架之django 本节内容 web框架 mvc和mtv模式 django流程和命令 django URL django views django temple django models ...
 - ORM之殇,我们需要什么样的ORM框架?
		
最近在研究ORM,究竟什么样的框架才是我们想要的 开发框架的意义在于 开发更标准,更统一,不会因为不同人写的代码不一样 开发效率更高,无需重新造轮子,重复无用的代码,同时简化开发流程 运行效率得到控制 ...
 - Java三大框架 介绍
		
三大框架:Struts+hibernate+spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作 ...
 
随机推荐
- 转  Katana 项目入门
			
Katana 项目入门 Howard Dierking 当 ASP.NET 首次在 2002 年发布时,时代有所不同. 那时,Internet 仍处于起步阶段,大约有 5.69 亿用户,每个用户平均每 ...
 - 使用systemd严格保证启动顺序
			
需求: 服务B要在服务A之后启动,且由于存在强内在依赖关系,B必须在A完成初始化之后才能被启动. 解决方法: 首先使用systemd,service脚本需要配置服务B要after服务A. 其次,A服务 ...
 - Jsp Cookie
			
cookie它是用户访问Web服务器时,服务器在用户硬盘上存放的信息. 1.使用Servlet实现cookie @WebServlet("/CookieServlet") publ ...
 - SSH pts 虚拟终端
			
昨天晚上小试了一下SSH,学到了一些乱七八糟的命令,知道了一种古老装逼的聊天方式:write.期间下定决心终于弄明白了pts/0之类的东西到底是什么东西. 先说pts/0吧,man里面是这样说的:pt ...
 - FQ:从入门到放弃(二)
			
上次的FQ:从入门到放弃(一)介绍了XXNet的部署和基本使用.本文整理一些部署过程中出现的问题,都是这几天朋友们安装过程中出现的问题.如果覆盖不全,欢迎在博客下方评论,互相交流,互相学习. 不过首先 ...
 - aapium 设置安卓机参数
			
例子: class iBer(Unittest.TestCase): @classmethod def setUpClass(cls): logger=public.log() desired_cap ...
 - 1111 Online Map (30 分)
			
1111 Online Map (30 分) Input our current position and a destination, an online map can recommend sev ...
 - windows 网管常用命令
			
Windows网络命令行程序 这部分包括: 使用 ipconfig /all 查看配置 使用 ipconfig /renew 刷新配置 使用 ipconfig 管理 DNS 和 DHCP 类别 ID ...
 - 阳虚体质外感/胃脘痛/经期抽搐x案
			
* 咽干咽痛 某女 42岁 在40岁产下一子,后体质明显不如以前,几年以来,易感冒,咳嗽 每次在社区医院输液,少则一个月,多则几个月方能愈,几天前外感微咳,咽痛声嘶 观其咽并不红,舌淡苔薄白 双手 ...
 - windows环境下简单Jenkins持续集成搭建
			
Jenkins是基于Java开发的持续集成工具,所以在安装Jenkins之前我们要确定电脑上已经安装了Java JDK并且环境变量配置正确,否则在启动使用java -jar Jenkins.war启动 ...