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业务对象的消费。

MoreFloorplan Manager for Web Dynpro ABAP and Web Dynpro ABAP on SCN

SAPUI5

SAP UI5是为了偶发性使用而设计的轻量UI。

MoreUI Developer Center on SCN

Gateway (OData)

SAP NetWeaver Gateway是一个可以提供便捷方式以将各种设备、环境和平台连接到SAP软件的技术,它基于市场标准。BOPF和Gateway的连接基于REST和OData标准。

MoreSAP Gateway简介

Business Object Layer & GenIL

The Business Object Layer (BOL)提供了访问业务数据的通用API。

The Generic Interaction Layer (GenIL)允许使用无状态的请求/相应格式来对业务数据进行统一的访问。BOPF提供了和BOL以及GenIL集成的适配器

MoreSAP CRM 7.0中的BOL(Business Object Layer)

处理集成

Post Processing Workflow

通过BOPF业务对象,你可以使用Post Processing Workflow集成业务处理

MorePost Processing Framework (PPF) (on SCN )

基础设施组件

Archive Development Kit                 (ADK)

通过ADK你可以不仅归档数据库记录,并且可以存储业务示例。使用BOPF你可以选择需要被归档的业务对象实例并且触发它们的归档处理。

MoreArchive Development Kit on the SAP help portal

Change Documents

BOPF使用SAP NetWeaver Change Documents解决方案来记录业务对象数据的更改。

MoreChange Documents on the SAP help portal

Application Logging

应用日志用于记录应用处理期间的特别事件,因此,如有必要,借由它你可以在稍后重现它们。

在BOPF中,应用日志和业务对象的应用日志帮助相集成。这个业务对象会在读写制定应用的日志消息时提供支持。

MoreApplication Log - Guidelines for Developers on the SAP help portal

Enterprise Search

SAP NetWeaver的搜索服务提供了一个企业级的索引和搜索结构化(业务对象)和非结构化(文档)数据的框架。

BOPF的设计提供给了开启BOPF业务对象搜索的便捷方式。使用一个现有的业务对象模型,你会有选项来导入业务对象数据,并且,通过该方式,来创建相应的企业搜索模型。

MoreEnterprise Search on SCN

Business Rules Framework plus (BRF+)

BRF+是一个规则引擎,它提供了可理解的API和界面用以定义和处理业务规则和表达式。

通过指定BOPF的表达式类型,可以在BRF+中创建业务对象数据检索表达式。这些表达式使得业务对象的数据在BRF+环境中可用,并支持任何的规则处理。

MoreBusiness 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开发者
它也为SAP Business Suite客户提供了可理解的特性集来构建BO中心的应用,因此客户可以用它来开发自己的项目。

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工具创建业务对象,然后在其它工具中编辑它们。

教程

WDA-BOPF业务对象处理框架的更多相关文章

  1. SAP中的BOPF(Business Object Processing Framework)

    希望简化你的业务应用开发过程?业务对象处理框架(Business Object Processing Framework,以下简称BOPF)也许可以帮到你. BOPF是SAP Business Sui ...

  2. Java 名词

    Plain Ordinary Java Object    pojo  简单java对象 Constant   常量 Business Object   BO  业务对象 Framework  框架

  3. 从零开始理解JAVA事件处理机制(2)

    第一节中的示例过于简单<从零开始理解JAVA事件处理机制(1)>,简单到让大家觉得这样的代码简直毫无用处.但是没办法,我们要继续写这毫无用处的代码,然后引出下一阶段真正有益的代码. 一:事 ...

  4. 十、EnterpriseFrameWork框架的分层架构及意义(控制器、业务对象、实体、Dao之间关系)

    本章内容主要包括两个方面,一.是框架分层(控制器.业务对象.实体.Dao)的详细说明,二.是对比常用三层结构的区别和优势: 本文要点: 1.框架中的各个分层详细说明 2.对比常用三层结构的区别和优势 ...

  5. ABP框架 - 多层结构

    文档目录 本节内容: 简介 ABP结构 多层 其它层(通用) 领域(Core)层 应用层 基础层 Web & 表示层 其它 总结 简介 一个应用的代码库的分层是一个广为接受的技术,用来减少复杂 ...

  6. JHipster框架的简要搭建与说明

    JHipster的亮点 风头超劲,席卷欧美,最新全能Java Web开发程式产生器 (java web generator). 由Java专家累积的开发经验,配上各类实用的框架技术,去繁取精的运用,全 ...

  7. python框架之django

    python框架之django 本节内容 web框架 mvc和mtv模式 django流程和命令 django URL django views django temple django models ...

  8. ORM之殇,我们需要什么样的ORM框架?

    最近在研究ORM,究竟什么样的框架才是我们想要的 开发框架的意义在于 开发更标准,更统一,不会因为不同人写的代码不一样 开发效率更高,无需重新造轮子,重复无用的代码,同时简化开发流程 运行效率得到控制 ...

  9. Java三大框架 介绍

    三大框架:Struts+hibernate+spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作 ...

随机推荐

  1. NOSQL之MEMCACHE

    Memcached是一个自由开源的,高性能,分布式内存对象缓存系统.Memcached是一个自由开源的,高性能,分布式内存对象缓存系统.Memcached是一种基于内存的key-value存储,用来存 ...

  2. CAM 查看里先选哪些层才能方便查看

    CAM 检查 Gerber 时选 Layer 时有先后次序,才以看清楚是否有冲突. 比如检查 TOP 层时顺序应该是 MT ST L1 BOT 层检查顺序 MB SB L2/L4

  3. Python学习系列(一)(基础入门)

    Python入门 本系列为Python学习相关笔记整理所得,IT人,多学无害,多多探索,激发学习兴趣,开拓思维,不求高大上,只求懂点皮毛,作为知识储备,不至于落后太远.如果兴趣学习者,推荐一个基础视频 ...

  4. hadoop之 map个数控制

    hadooop提供了一个设置map个数的参数mapred.map.tasks,我们可以通过这个参数来控制map的个数.但是通过这种方式设置map的个数,并不是每次都有效的.原因是mapred.map. ...

  5. HIVE之 Sqoop 1.4.6 安装、hive与oracle表互导

    1. sqoop数据迁移 1.1 概述 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具. 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS.HI ...

  6. JUC集合之 CopyOnWriteArraySet

    CopyOnWriteArraySet介绍 它是线程安全的无序的集合,可以将它理解成线程安全的HashSet.有意思的是,CopyOnWriteArraySet和HashSet虽然都继承于共同的父类A ...

  7. 分布式数据存储 shard(切片) 和 repali(副本) 的 节点数的关系。

    1 , node 的 数量 应该大于等于 副本(指的是单个 shard 的 主副本+备份副本数)的 数量 ,如果 副本的数量大于 node 数量,那么 一个node 必定有2 个相同的 副本,这个多出 ...

  8. golang channel 的使用

    本文对channel使用中的几个疑惑,以例子的形式加以说明. 普通channel 缺省情况下,发送和接收会一直阻塞着,直到另一方准备好. 例如: package main import ( " ...

  9. SpringCloud初体验:五、Sidecar 将 PHP 这类非 Java 生态语言的服务接入 Spring Cloud

    先起一个 Sidecar 服务,一个PHP服务一个应用,和PHP服务部署在同一台机子,通过 localhost 访问,这样就解决了网络开销,相当于本地进程间调用 Sidecar 服务比较简单, 1.这 ...

  10. nginx在centos & ubuntu上的安装

    安装Centos 添加当前账号加入sudoers,具备sudo功能 安装编辑器vim Yum install vim Su root Cd cp /etc/sudoers /etc/sudoers[d ...