SAP PI/PO 教程
什么是 SAP PI?
SAP PI (Process Integration,流程集成) 是一个企业集成平台,它在组织内部的 SAP 和非 SAP 应用程序之间(A2A,即应用程序到应用程序)甚至组织外部(B2B,即企业到企业)提供无缝集成。它允许组织在公司内部软件和公司外部系统之间交换信息。
SAP PI 的全称是 Process Integration(流程集成)。
什么是 SAP PO?
SAP PO (Process Orchestration,流程编排) 是一个用于业务流程自动化和优化的工具。它结合了 SAP Business Process Management (BPM)、SAP Process Integration (PI) 和 SAP Business Rules Management (BRM) 的功能。换句话说,SAP Process Orchestration 是 SAP PI 的更高级版本,并包含了集成应用程序所需的所有工具。
SAP PO 的全称是 Process Orchestration(流程编排)。
通过一个例子理解 SAP PI/PO
但这是 SAP PI 的技术方面,为了更好地理解,我们将看一个 SAP Process Integration 的实施示例。
示例
为了更清楚地理解 SAP PI 的概念,我们以一个大型乳制品行业为例,该行业在一个州的大部分地区运营并占据主导地位。但该地区还有一些小型乳制品行业与大型行业并行运营,由于与大型行业相比存在价格差异,这些小行业并未盈利。因此,为了避免价格冲突并维持整个地区的价格一致,大型和小型行业决定借助 SAP PI 进行联合。它们通过 SAP PI 相互连接,并开始作为一个单一的单位运作。现在,通过 SAP PI,它们能够交换所有与乳制品行业相关的信息,包括定价,并分享同等利润。
SAP PI 连接不同的平台,例如
- SAP 和非 SAP 系统
- B2B 和 A2A 场景
- 异步和同步通信
- 跨组件业务流程管理
为什么选择 SAP PI/PO?
在 SAP PI 之前,企业之间通过点对点通信进行连接。但这种方式不适用于多个复杂的流程。为了在多个企业之间实现顺畅的通信,采用了中介通信或集成代理,而 SAP PI 很好地适应了这种系统。它通过一个称为集成代理的中心位置实现了不同流程的互连,这与更像蜘蛛网的点对点连接不同。集成代理或服务器是中介通信的组成部分,由基于 Java 的高级适配器引擎 (AAE) 和一个用于路由的集成引擎组成。中介通信基于集成代理,通过交换 XML 消息来执行。
让我们看看 SAP PI 如何借助集成代理处理 XML 消息。SAP PI 中的数据或消息交换发生在以下四个阶段。
- 消息转换:在消息交换期间,它转换业务数据的结构。
- 消息路由:将发送方系统发送的消息转发给一个或多个接收方系统。
- 连接适配器:连接集成代理和接收方系统,适配器会将传入的消息转换为入站消息,然后再将其转换为另一端接收方系统的格式。
- 集成流程:跨组件业务流程管理 (ccBPM) 包含用于增强服务编排的功能。
接下来,在这个 SAP PI 教程中,我们将学习 SAP PI/PO 的工作原理。
SAP PI/PO 的工作原理
SAP PI 执行三个基本功能
- 连接:SAP PI 能够与所有应用程序集成,无论是来自第三方还是来自 SAP 的应用程序。它使用适配器框架来集成第三方解决方案。
- 协调:它可以为每个集成的业务交易定义路径/工作流。它确保每条消息都从源正确地传递到目标目的地。
- 通信:它可以将文件翻译成任何格式,无论是内部文件格式还是任何企业对企业的集成标准。
接下来,在这个 SAP PO 教程中,我们将学习 SAP PI PO 架构。
SAP PI/PO 架构
SAP PI 并非单个组件负责 SAP 和非 SAP 应用程序的集成,而是一个组件集群,共同使 SAP PI 发挥作用。SAP PI 的这种架构或组件在设计时、配置时和运行时都会被使用。SAP PI 的各种组件包括
系统景观目录
它是系统景观中的中央信息提供者。SLD 包含两种类型的信息:“组件信息(可安装和已安装)和景观描述”。
集成构建器
它是一个工具集,包含一组用于访问和编辑集成对象的工具。
集成存储库
集成存储库用于独立于系统景观来开发、设计和维护数据类型、消息结构、映射、接口、集成流程和集成场景。
集成服务器
它是 PI 的中央处理引擎。所有消息都通过此服务器进行处理。
中央监控
借助此功能可以对 PI 域进行监控,“工作台”是用于监控的工具。
适配器引擎
它充当连接器,将集成引擎连接到 SAP 系统和其他系统。
PI 的消息处理技术
此技术用于从 SAP 和非 SAP 应用程序访问数据。SAP PI 使用中间文档,如 IDoc 到平面文件来传输数据。
设计
流程集成 (PI) 使用集成存储库来设计消息结构。
配置
集成目录 (ID) 用于为在 IR (集成存储库) 中创建的对象配置技术参数。
消息处理
一旦 IDOC 在 SAP 系统中被激活,PI 就会接管并将消息转换为 XML 格式以供其内部处理。
消息监控
可以使用“运行时工作台”来监控和跟踪消息。此工具可用于监控发送方和接收方适配器、传出和传入消息、完整场景的端到端监控以及错误跟踪。
连接性:代理框架和适配器框架
适配器框架
SAP PI 使用适配器框架与任何外部系统(SAP 或非 SAP)连接。适配器框架基于 AS Java 运行时环境和连接器架构 (JCA) 版本。如果消息处理要完全在适配器内执行,适配器框架包含两个默认模块链,可以使用适配器的默认模块链。
- 一个用于发送方方向
- 一个用于接收方方向
SAP PI 中使用了四种类型的适配器
- 文件适配器:它与外部系统交换文件。
- JMS 适配器:它与消息系统通信。
- SOAP 适配器:它与 Web 服务的提供者和客户端通信。
- JDBC 适配器:它是 SAP PI 的扩展包。
适配器框架支持的其他接口有
- 配置服务(API 和适配器元数据 xsd)
- 管理服务
- 适配器框架提供的各种服务 API - 线程管理器、事务管理器
- 适配器框架包括一个消息审计日志 API。该 API 可用于技术跟踪和日志记录,以编写描述代码执行的跟踪语句。
适配器框架如何工作?
- 数据通过一个接收位置从网络接收,该位置在特定地址上监听特定协议的消息。
- 接收位置收到消息后,会向适配器发送一条消息。它创建一个新的 BizTalk 消息,并将数据流附加到该消息上。
- 它会添加与接收数据的端点相关的任何元数据,然后将消息提交给消息引擎。
- 消息引擎将消息发送到接收管道,在这里数据被转换为 XML,消息发送方被认证,消息被解密,并且 XML 被验证。
- 接下来,消息引擎将消息发布到消息框。消息框是一个 Microsoft SQL 表,包含待处理的消息。
- 消息引擎将消息发送到编排或发送端口。
SAP PI/PO 安全
对于消息,SAP PI 为 XI 消息协议、SOAP 适配器、RosettaNet 协议、邮件适配器、CIDX 协议以及与启用 WSRM(Web 服务可靠消息)的系统连接提供了消息级安全。在 SAP PI 中,消息级安全通过使用加密、数字签名、SAML 断言、用户名令牌、证书令牌等来实现。WS 基础架构支持的传输级别身份验证方法包括基本身份验证(密码和用户名)、SAP 断言票据和 HTTP over SSL。
将集成服务器与启用 WSRM(Web 服务可靠消息)的系统连接
要与启用 WSRM 的系统连接,您需要使用一个适配器类型为 WS 的通信通道。
- 您使用一个分配了 WS 发送方适配器的发送方协议,将集成服务器连接到一个 WS 消费者。
- 您使用一个分配了 WS 接收方适配器的接收方协议,将集成服务器连接到一个 WS 提供商。
SAP PI/PO 安全性的好处
- 接收方应用程序的权限会根据原始用户进行检查。
- 在接收系统中,可以对用户进行审计。
- PI 接收通道的动态配置。
SAP PI/PO 的新功能
SAP PI 的新功能包括
- 基于 SAP Solution Manager 的集中监控。
- 非常大的(二进制)文件到文件传输。
- AAE(高级适配器引擎)中的 IDOC(中间文档)和 HTTP 适配器。
- ESR 中以用户为中心的视角。
- 基于接口和映射的 AAE 消息拆分。
- 每个通信通道的超时配置。
- 用于模式验证的自动传输。
- 替换 Trex,用户定义的消息搜索。
- ESR 中以用户为中心的视角。
- SAP PI 附加组件:安全连接附加组件(SGTP 适配器、PGP 模块)和 B2B 附加组件(OFTP 适配器、AS2 适配器、EDI 分隔符、EDI XML 转换器等)。
SAP PI/PO 的优势
- 与任何其他中间件产品相比,SAP PI 中的监控功能更好。它提供了消息、性能、组件监控等监控功能,所有这些都可用于跟踪和纠正错误。
- SAP PI 支持与 SAP PI 集成时所需的各种 SAP 组件
- 与任何其他中间件产品相比,适配器和映射功能更好。
- 可以进行异步和同步通信。
SAP PI vs. BizTalk
SAP PI | BizTalk |
---|---|
主要由 SAP 客户用于实现基于 SOAP 的集成。 | BizTalk 完全基于 .Net 构建,经 Microsoft 和 SAP 认证,可直接与 SAP 集成,无需任何中间件。 |
ESB 产品,设计和实施用于将 SAP 系统与非 SAP 系统集成。 | 更通用的产品,能够集成各种系统,包括 SAP 和其他产品。 |
SAP PI 具有预交付的消息监控系统。 | 不可用 |
SAP PI 可以进行多重数据传输。 | 不可用 |
在 SAP PI 中,自动化可以是手动的,也可以是计划的。 | 不可用 |
SAP 使用 NetWeaver 门户解决方案。 | BizTalk 使用 MS SharePoint 作为门户解决方案。 |
SAP 的 SOA 架构范式是 eSOA(企业面向服务架构)。 | SOA 基于 .NET 和 BizTalk。 |
SAP PI 基础引擎的定价基于每月处理的总消息量(以千兆字节/月表示)。SAP-to-SAP 之间的 SAP PI 是免费使用的。 | MS BizTalk 服务器的定价基于服务器容量。它有四个不同版本:企业版、标准版、分支版和开发者版。 |
在企业 SOA(面向服务的架构)中不推荐使用 SAP PI/PO 的情况
- 不建议将 SAP PI 用于同步通信,因为它会给基础设施服务带来巨大负载以处理异步请求。
- 如果后端作为企业服务暴露,不建议在 UI 驱动的场景中使用 SAP PI。
- 如果非 SAP 后端(如 J2EE 或 .NET 平台)在 UI 场景中暴露业务服务,则不需要 SAP PI 进行中介。