注明:本篇的技术性细节参考了SAP SCN上的一篇SAP PI 和BW集成的文章,本篇文章并不打算过多探讨实现的技术细节,因为在SCN上的这篇英文文章已经完全涵盖了技术细节和配置步骤

大家可以通过搜索PI BW找到相关的文档,本文只是希望通过简单通俗的说明来阐述PI在SAP BW项目中集成第三方业务系统数据的优势和必要性,以及这样做的价值,是一片纯理念和价值探索性短文

在以前经历的SAP BI项目中我们经常会遇到这样一些棘手的情景,就是我们的商务智能数据来源于不同的业务系统,如果企业将SAP BW作为其唯一的官方数据仓库进行规划,那么一般来说,

由于企业的数据仓库数据需要从多种数据源中取得数据,我们必须规划出可行(应对大量数据以及增量加载)的方案集成企业数据,这里就不得不提到BW两种重要的数据加载方式,BW数据上载

有FULL UPDATE和DELTA UPDATE两种,但是我们很容易分析出这两种加载方式的优势和劣势,前者实现非常简便,而且可以从平面文件,数据库中轻松实现数据加载,但是劣势就是无法实现

数据增量加载,因为DELTA加载需要借助数据源的QUEUE机制,因此对于日积月累的大量事务系统,通过简单的设计就能够实现第三方系统的轻松加载显然不太可能,对于平面文件等数据源,每次

更改都需要FULL UPDATE的机制显然不合理,也许经验丰富的BW顾问会在我们日常BI项目中设计出非常复杂的机制实现这种ECC和外部系统同时加载数据的可能,但是的确第三方系统如果能实现

在低成本的状态下支持DELTA加载和避免数据重复加载的可能,那么对于第三方系统数据集成将是一个非常完美的解决方案,因此我们通过一系列分析来论证这种可能性。

1 首先通过这张架构图我们可以明显看到PI处于BI的下层,也就是说SAP NETWEAVER架构设计的初衷有可能就是将来会应用PI的一些功能以及特性为BI产品线在数据集成和数据交换方面提供强有力的保障

2 PI在消息和数据交换方面具备的几大功能无疑都是实现BW集成第三方系统数据的重要支柱:

  • PI可以实现数据异步推送的功能
  • PI可以实现EO和EOIO的功能,(EO 是 EXACTLY ONCE的缩写,代表每条数据只成功发送到目标系统一次,EOIO在此基础上实现了队列的功能),这样就能保证数据不会重复发送到目标系统里面
  • PI可以非常好的支持基于ABAP STACK的SAP 各类系统的集成,
  • SAP 系统可以提供对应的FUNCTION MODULE让PI对DELTA QUEUE进行数据写入。

因此我们一般设计第三方系统集成BW数据源,只需要应用PI的INBOUND RFC ADAPTER或者ABAP PROXY向数据源的DELTA QUEUE写入数据,而推送功能,非重复数据发送

EO/EOIO等功能可以完全在PI端实现,对于第三方数据传输的监控和管理,PI提供的机制也完全能满足后期运维管理的要求,因此,PI在实现BW集成第三方业务系统数据的增量加载场景中,

真的可以说具备得天独厚的优势。

应用SAP PI实现SAP BW数据仓库对于第三方系统数据完美集成以及DELTA加载的分析的更多相关文章

  1. SAP PI入门

    本教程的目的是让读者理解:SAP Process Intergration(以下简称SAP PI)是什么.我们不需要探究课题的本质,但是会讨论SAP PI的架构和不同特点.本文只会覆盖到PI的基本特点 ...

  2. BW数据加载

    BW数据加载的优先级   1.主数据属性的加载 步骤图  从下到上 1)运行InfoPackage加载到PSA 找到主数据属性的InfoPackage,双击  点击Start按钮  点击监视器,查看运 ...

  3. BW:如何加载和生成自定义的层次结构,在不使用平面文件的SAP业务信息仓库

    介绍 通常情况下,报告需要在一个类似树的结构来显示数据.通过启用此特性在SAP BW层次结构.高级数据显示的层次结构的顶层节点.更详细的数据可以向下钻取到的层次结构中的下级节点的可视化. 考虑一个例子 ...

  4. REST Adapter实现SAP PI中的增强XML/JSON格式转换

    SAP标准的REST adapter有着XML/JSON转换的功能,它很有用,因为一方面SAP PI/PO内部以XML格式处理数据,而另一方面,在处理REST架构风格的时候,JSON才是事实上的格式. ...

  5. SAP PI

    PI功能很是强大,且系统很稳定. 1.什么是PI PI = Process IntegrationSAP PI是一项集成的技术和平台    1.为sap和non-sap之间提供集成    2.为A2A ...

  6. SAP CRM和C4C数据同步的两种方式概述:SAP PI和HCI

    SAP Cloud for Customer(C4C)和SAP其他传统产品进行数据同步的方式,如下图所示,可以使用SAP Netweaver Process Integration或者SAP HANA ...

  7. REST Adapter实现SAP PI中的增强XML/JSON格式转换(转载)

    SAP标准的REST adapter有着XML/JSON转换的功能,它很有用,因为一方面SAP PI/PO内部以XML格式处理数据,而另一方面,在处理REST架构风格的时候,JSON才是事实上的格式. ...

  8. How to : SAP PI Cache Refresh

    Requirement : Identify various tools/resources available to perform SAP PI Cache refresh . Please no ...

  9. 【HANA系列】SAP 一位SAP培训顾问的建议:SAP HANA应该如何学习?

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP 一位SAP培训顾问的建议 ...

随机推荐

  1. java 获取计算机名称, ip, mac地址

    写在前面 通常所说查询本机mac地址是以以太网为准的, 也就是网线那个口..这种描述略捞. 但是通过java的getHostAddress获取ip以及getHardwareAddress()方法获取m ...

  2. Linux删除文件出现rm: cannot remove `.user.ini': Operation not permitted

    转自:https://blog.csdn.net/sinat_35861727/article/details/79040755 在Linux中rm -rf的威力是十分巨大的,特别是附带了 -f 参数 ...

  3. 【RS】BPR:Bayesian Personalized Ranking from Implicit Feedback - BPR:利用隐反馈的贝叶斯个性化排序

    [论文标题]BPR:Bayesian Personalized Ranking from Implicit Feedback (2012,Published by ACM Press) [论文作者]S ...

  4. C语言学习笔记 (007) - 数组指针和通过指针引用数组元素的方法总结

    1.数组指针:即指向数组的指针 那么, 如何声明一个数组指针呢? ]; /*括号是必须写的,不然就是指针数组:10是数组的大小*/ 拓展:有指针类型元素的数组称为指针数组. 2.通过指针引用数组元素的 ...

  5. jquery 父、子页面之间页面元素的获取,方法的调用

    一.jquery 父.子页面之间页面元素的获取,方法的调用: 1. 父页面获取子页面元素: 格式:$("#iframe的ID").contents().find("#if ...

  6. Kubernetes(k8s) docker集群搭建

    原文地址:https://blog.csdn.net/real_myth/article/details/78719244 一.Kubernetes系列之介绍篇   •Kubernetes介绍 1.背 ...

  7. Swift 类型转换

    1.类型转换 1.1 隐式类型转换 如 C 语言的类型转换 1.2 显式类型转换 Swift 语言是一种强类型语言,其整型的强制类型转换就是调用了参数类型对应的整形扩展构造方法,然后通过对应扩展构造方 ...

  8. 【C语言】指针数组

    题目:编写UNIX程序sort的简化版本,该程序按字母顺序对由文本行组成的集合进行排序. 思路:我们引入指针数组处理这种问题.如果待排序的文本行首尾相连地存储在一个长字符数组中,那么每个文本行可通过指 ...

  9. TCP连接的TIME_WAIT过多导致 Tomcat 假死

    最近发现使用的Tomcat 7会经常假死.前端点击页面无任何反应,打开firebug,很多链接一直在等待服务器的反应.查看服务器的状态,CPU占用很少,最多不超过10%,一般只有2%,3%左右,内存占 ...

  10. php mysql procedure获取多个结果集

    protected function getRs($id) { $db = new mysqli(C("DB_HOST"), C("DB_USER"), C(& ...