SAP ABAP-BOPF基础训练-01简介与架构

news2024/11/16 8:41:44

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社区可以贡献和请求新的库类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1545240.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用flag信号解决LeetCode题库第394题字符串解码问题

394. 字符串解码 中等 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有…

Vue 发送Ajax请求多种方式

1. 发送ajax请求的方式 方案一:jq 的ajax(在 vue 中不推荐同时使用)方案二:js 原始官方 fetch方法方案三:axios 第三方 2. 方案一 后端视图函数 from rest_framework.viewsets import ViewSet from rest_framework…

HTML(二)

一、表格标签 1.1表格的主要作用 表格主要用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理。 1.2 表格的…

yolov5交互式界面 V5.0-6.0版本通用界面-yolo-pyqt-gui(通用界面制作+代码)

往期热门博客项目回顾: 计算机视觉项目大集合 改进的yolo目标检测-测距测速 路径规划算法 图像去雨去雾目标检测测距项目 交通标志识别项目 yolo系列-重磅yolov9界面-最新的yolo 姿态识别-3d姿态识别 深度学习小白学习路线 yolo GUI OYQT界面 YOLOv5…

yarn按包的时候报错 ../../../package.json: No license field

运行 yarn config list 然后运行 yarn config set strict-ssl false 之后yarn就成功了

【文献分享】强各向异性扩散方程的高效高阶数值求解器

An efficient high-order numerical solver for diffusion equations with strong anisotropy DOI: 10.1016/j.cpc.2022.108333 强各向异性扩散方程的高效高阶数值求解器 在本文中,我们提出了一种内部惩罚不连续 Galerkin 有限元方案,用于解决聚变应…

低代码平台与自动化软件开发的关系

引言 随着信息技术的不断发展,软件开发领域也在不断演进。在追求更高效、更快速的软件开发过程中,低代码平台和自动化软件开发技术日益受到关注。低代码平台以其可视化开发界面和快速构建应用的能力,为非专业开发人员提供了参与软件开发的机会…

2016年认证杯SPSSPRO杯数学建模C题(第二阶段)如何有效的抑制校园霸凌事件的发生全过程文档及程序

2016年认证杯SPSSPRO杯数学建模 C题 如何有效的抑制校园霸凌事件的发生 原题再现: 近年来,我国发生的多起校园霸凌事件在媒体的报道下引发了许多国人的关注。霸凌事件对学生身体和精神上的影响是极为严重而长远的,因此对于这些情况我们应该…

win11安装不符合要求怎么办

安装win11不符合要求怎么办?安装Win11需要一定的配置支持,比如42位cpu、464GB内存、9寸以上的屏幕,以及需要TPM(受信任的安全模块)机制等要求。其中很多用户受限于TPM模块的条件,在检测更新时系统提示缺少TPM,以致升级失败。 可能…

阿里云对象存储OSS入门

阅读目录 一、阿里云OSS的使用 1、OSS是什么?2、OSS的使用 二、阿里云OSS的使用三、图床的搭建四:图床绑定阿里云OSS 编写不易,如果我的文章对你有帮助的话,麻烦小伙伴还帮忙点个赞再走! 如果有小伙伴觉得写的啰嗦&am…

‘npm‘ 不是内部或外部命令,也不是可运行的程序

npm认识三年了,今天才知道这是node.js的命令 也就是说,想要在cmd里面运行 npm 命令,但就的安装node.js 1. node.js安装 没有安装包的先下载安装包:下载 | Node.js 中文网 (nodejs.cn) 下载之后双击打开,一路安装确…

【冥想X理工科思维】场景11:多任务并行快让我抑郁了!

冥想音频合集:职场解压冥想音频 压力场景: 我每天都面对需要同时处理多个紧急任务的压力,感觉整个人都快抑郁了,如何通过冥想来集中精力,缓解抑郁? 点击看大图: 详细说明: 接下来是…

Qt实现简易的多线程TCP服务器(附源码)

目录 一.UI界面的设计 二.服务器的启动 三.实现自定义的TcpServer类 1.在widget中声明自定义TcpServer类的成员变量 2.在TcpServer的构造函数中对于我们声明的m_widget进行初始化,m_widget我们用于后续的显示消息等,说白了就是主界面的更新显示等 …

离线安装vscode插件

使用vsix 1.从vscode插件市场All categories Extensions - Visual Studio Marketplace下载需要的vscode插件,拿Prettier - Code formatter插件举例 查看相应版本信息并选择适合的版本进行下载,建议选择最新版本,一般比较稳定 2.将已经下载好…

【[NOIP1999 普及组] Cantor 表】

题目描述 现代数学的著名证明之一是 Georg Cantor 证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的: 我们以 Z 字形给上表的每一项编号。第一项是 1 / 1 1/1 1/1,然后是 1 / 2 1/2 1/2, 2 / 1 2/1 2/1, 3 / 1 3/1…

如何理解Java不可变集合?有什么使用场景?

目录 1. 怎样理解不可变集合? 2. 不可变集合的应用场景 3. 不可变集合的创建和使用? 1. 怎样理解不可变集合? 温馨提示:JDK8版本中不支持不可变集合,建议升级至JDK11版本以上!!! …

FPGA时钟资源详解(4)——区域时钟资源

FPGA时钟系列文章总览:FPGA原理与结构(14)——时钟资源https://ztzhang.blog.csdn.net/article/details/132307564 目录 一、概述 二、Clock-Capable I/O 三、I/O 时钟缓冲器 —— BUFIO 3.1 I/O 时钟缓冲器 3.2 BUFIO原语 四、区域时钟…

SpringBoot+Vue前后端分离项目在Linux系统中基于Docker打包发布,并上传镜像到阿里镜像私仓

文章目录 SpringBootVue前后端分离项目在Linux系统中基于Docker打包发布,并上传镜像到阿里镜像私仓一、Java项目基于Docker打包发布1.打包应用,将打好的jar包放到我们的linux系统中2.新建dockerfile3.打包镜像4.测试运行5.上传镜像到阿里云免费私仓 二、…

物联网云组态是什么?部署物联网云组态有什么作用?

在信息化与工业化的深度融合进程中,物联网云组态以其独特的优势,正在成为企业数字化转型的重要工具。那么,物联网云组态究竟是什么呢?部署物联网云组态又能给企业带来哪些实质性的好处呢?今天,我们将围绕这…

聚酰亚胺PI材料难于粘接,用什么胶水粘接?那么让我们先一步步的从认识它开始(九): 聚酰亚胺PI薄膜的缺点有哪些

聚酰亚胺PI薄膜的缺点有哪些 聚酰亚胺(Polyimide,简称PI)薄膜是一种高性能、高温、高压、化学稳定、耐磨损、耐火、耐腐蚀的薄膜材料,具有优良的电绝缘性能、低介电常数和低介电损耗,能够有效阻止电流流动&#xff0c…