
- SAP PI 教程
- SAP PI - 主页
- SAP PI - 简介
- SAP PI - 安装选项
- SAP PI - Netweaver PI 架构
- SAP PI - 用户界面工具
- SAP PI - 主页
- SAP PI - 系统架构目录
- SAP PI - 沟通
- SAP PI - 保护对象
- SAP PI - 创建对象
- SAP PI - 建模场景
- SAP PI - 设计对象
- SAP PI - 显示设计对象
- SAP PI - 集成场景
- SAP PI - 文件到文件场景
- SAP PI - 创建服务接口
- SAP PI - 创建消息映射
- 创建操作映射
- 创建沟通渠道
- 创建集成配置
- SAP PI - 连接性
- SAP PI - ccBPM 概述
- SAP PI - ccBPM 配置
- 监控集成流程
- SAP PI - 网络服务
- SAP PI 有用资源
- SAP PI - 问题解答
- SAP PI - 快速指南
- SAP PI - 有用的资源
- SAP PI - 讨论
SAP PI - 快速指南
SAP PI - 简介
SAP Process Integration 是 SAP NetWeaver 平台的一部分。在 NetWeaver 7.0 ehp2 及更早版本中,它称为 SAP NetWeaver Exchange Infrastructure XI。SAP NetWeaver Process Integration 是 NetWeaver 软件组件的一部分,用于公司内部系统或与外部各方的信息交换。
SAP PI/XI 使您能够建立跨系统通信和集成,并允许您基于不同的编程语言(如 Java 和 SAP ABAP)连接 SAP 和非 SAP 系统。它提供了复杂系统环境中系统集成和通信所必需的开源环境。
SAP Process Integration 是一个中间件,允许公司内的 SAP 和非 SAP 应用程序或与公司外部的系统无缝集成。
例子
在属于公司中不同业务部门的不同系统上运行的应用程序,或者在彼此具有业务关系的不同公司之间的分布式环境中实现的应用程序。在这种环境下,不同系统之间需要无缝集成和信息传输。SAP PI 提供了一个中间件平台,它不处理应用程序组件如何通过业务逻辑实现,而是更关注不同组件之间的数据交换。
您可以将 SAP PI 视为互连不同系统的中央实例或中间件。该中间件可以称为 SAP PI 运行时引擎,这种通信称为中介通信。将此通信与点对点场景进行比较时,您会发现管理系统和连接很容易。除此之外,与集成相关的信息可在一个中心点获得。

使用 SAP PI 的不同系统之间的消息交换包含业务数据。通信消息协议基于W3C标准SOAP消息。
为什么我们需要 SAP PI?
在一个组织中,SAP ERP 不包含单个系统,而是由许多集成系统组成,例如 SAP CRM、FICO、EWM 等。SAP PI 提供了一个平台作为所有系统的单点集成,而无需触及复杂的遗留系统所有数据和信息交换。

以下是 SAP Process Integration 提供的关键功能 -
连接性
使用 SAP PI,您可以连接具有不同技术通信方式的不同应用程序和系统。SAP PI 为您提供了各种适配器,允许您连接基于不同协议(例如 HTTPS 或远程函数调用 (RFC))的应用程序。
路由
路由定义了运行时不同系统之间消息流的规则。
测绘
SAP PI 用于连接可以在不同公司之间建立的分布式环境中的不同应用程序或系统,因此两个组件之间的数据交换结构可能会有所不同。

映射确定源系统中的数据结构到目标系统中的数据结构。它还确定应用于源系统和目标系统之间的数据的转换规则。
SAP PI - 安装选项
在 SAP PI 中运行场景时,通信和处理功能取决于随 SAP PI 安装而安装的运行时引擎。您可以在主机系统上安装一个或多个运行时引擎。SAP PI 提供以下两个安装选项 -
类型 1 — 双重用途类型
此安装基于 ABAP 和 Java,并提供用于设计和配置集成内容以及这些运行时引擎的工具 -
- 集成引擎
- 业务流程引擎
- 高级适配器引擎
类型 2 — 高级适配器引擎扩展 AEX
此安装基于 Java,提供用于设计和配置集成内容的工具,并包含 Advance 适配器引擎作为运行时引擎。
SAP PI - Netweaver PI 架构
SAP PI 架构由多个组件组成,这些组件在设计时、配置时和运行时使用。在 SAP PI 中,发送方系统称为源系统,接收方系统称为目标系统,该体系结构称为中心辐射结构。Spoke用于与外部系统连接,Hub用于交换消息。
SAP PI 系统分为以下组件-
- 集成服务器
- 集成构建器
- 系统景观目录SLD
- 配置和监控

运行时工作台
这是一个用于提供 PI 组件和消息集中监控的工具。
集成服务器
这是 SAP PI 系统的关键组件之一,用于处理消息。
它由以下三个引擎组成 -
- 业务流程引擎
- 集成引擎
- 中央高级适配器引擎 AAE
业务流程引擎
该引擎用于消息关联并处理 ccBPM 中的消息处理。
集成引擎
该引擎用于路由和映射并提供中央集成服务器服务。如果源结构与目标结构不同,集成引擎将调用映射运行时,如下图所示,其中源结构将转换为目标结构。
映射运行时基于 SAP PI 平台主题下提到的 Java Stack。

消息可以有以下两种类型 -
同步消息定义为消息同时包含请求和响应部分
异步消息定义为仅包含请求或响应部分的消息
在 SAP PI 中,消息由接口表示。接口包含 XML 格式的消息结构和方向。
中央高级适配器引擎 (AAE)
由于Integration Engine处理XML和SOAP协议的消息,如果业务系统不包含特定格式的数据,则使用适配器来转换Integration Engine所需的消息特定协议和消息格式。

在SAP PI架构中,您可以将Adapter Engine视为Spoke,将Integration Engine视为HUB来连接外部系统。
在 SAP PI 较旧版本的双堆栈系统中,大多数适配器都是 Java 堆栈的一部分,只有两个适配器是 ABAP 堆栈的一部分。
Java 堆栈适配器
以下适配器在 Java Stack 上运行 -
RFC 适配器、SAP Business Connector 适配器、文件/FTP 适配器、JDBC 适配器、JMS 适配器、SOAP 适配器、Marketplace 适配器、邮件适配器、RNIF 适配器、CIDX 适配器
ABAP 堆栈适配器
以下适配器在 ABAP 堆栈上运行 -
先生编号 | ABAP 堆栈适配器和描述 |
---|---|
1 | IDOC 和 HTTP 适配器 在 SAP PI 迁移到单堆栈系统的最新版本中,这两个适配器也迁移到 Java 堆栈,由此形成的新引擎称为高级适配器引擎 AAE。 |
2 | 服务库 服务注册中心是一个 UDDI 投诉注册中心,列出了可用的 Web 服务定义(基于 WSDL),并通过分类系统进行了扩展。 |
3 | 企业服务存储库 它用于存储设计时存储库对象,例如 PI 系统中的映射、接口和流程定义。 |
4 | 系统景观目录(SLD) 这包含有关景观和软件组件版本的信息。SAP 系统可以配置为在 SLD 下注册。 |
5 | 集成存储库 这用于配置 PI 系统中不同系统之间交换消息的场景。 |
SAP PI - 用户界面工具
您可以使用不同的 SAP PI 用户界面工具来访问 SAP PI 系统架构的不同组件。最常见的用户界面工具是 -
ES Builder - 该工具提供用于在企业服务存储库 ESR 中工作的 Java 用户界面。
SAP NW Developer Studio - 这是基于 Java Eclipse 的工具,用于查看和编辑企业服务存储库中的某些对象类型。
Integration Builder - 该工具提供基于 Java 的用户界面以在集成目录中工作。
SAP图形用户界面
这是用于访问 SAP PI 系统的 ABAP 堆栈的 SAP 客户端工具。
下图显示了 SAP PI 的不同 UI 工具以及可以使用这些工具访问的组件 -

SAP PI — 平台
单堆栈与双堆栈
在 SAP PI 旧版本中,并非所有组件都基于单一平台。集成引擎、业务流程引擎和集成构建器等少数组件是基于 ABAP 堆栈的,而企业服务存储库 ESR、集成目录(SLD、适配器引擎等)等其他组件则基于 Java 堆栈。因此,这些类型的系统被称为双栈系统,因为 PI 需要 ABAP 和 Java 堆栈才能运行。
ABAP堆栈 | Java堆栈 |
---|---|
集成引擎 | 企业服务存储库 ESR |
业务流程引擎 | 集成目录 |
集成构建器 | (运行时工作台、系统架构、适配器引擎、映射运行时) |
在最新版本的 SAP PI 中,ABAP 堆栈组件被修改为在 Java 堆栈上工作,因此 SAP PI 仅需要 Java 堆栈即可运行,称为单堆栈系统。
SAP PI - 主页
要打开 SAP PI Tools 主页,请使用以下 URL -
http://<主机>:5<实例#>00/dir/start/index.jsp
示例- http://scmehp2:50200/dir/start/index.jsp

SAP PI 主页有以下四个 Java 链接 -
- 企业服务存储库 (ESR)
- 集成目录(ID)
- 系统景观(SL)
- 配置和监控 (CM)
企业服务存储库 (ESR)
在 SAP PI 中,企业服务存储库用于设计和创建要在集成场景中使用的对象。您可以设计接口对象、映射对象和不同的集成过程。
接口对象
以下是接口对象 -
- 服务接口
- 数据类型
- 消息类型
映射对象
消息的映射是根据发送者和接收者的数据结构完成的
整合流程

如果数据结构不同,操作映射用于将源结构转换为目标结构。可以使用消息映射来简化复杂的操作映射。
消息映射可以通过以下方式实现 -
- 图形映射
- Java映射
- XSLT 映射
- ABAP映射
在 Enterprise Service Repository 下,您可以看到不同的 UI 工具 - Enterprise Service Builder 以及 Web UI 和 Service Registry。

当您启动 Enterprise Service ES Builder 应用程序时,您可以选择首次运行该应用程序,如以下屏幕截图所示。单击运行。

应用程序启动后,您将获得以下选项 -
- 顶部的主菜单栏和标准工具栏
- 左侧导航区
- 右侧工作区

对象编辑器显示在工作区域中。这些对象编辑器包括与打开的对象专门相关的功能。
当您运行 Web UI 时,系统将提示您输入用户名和密码。

在基于 Web 的界面中,您可以执行以下任务 -
搜索- 搜索服务接口、数据类型等。
订阅- 订阅通知。
管理- 管理服务接口、数据类型等的生命周期状态。

集成目录
集成目录用于配置在企业服务存储库中创建的对象,配置由集成引擎在运行时执行。要配置 ESR 对象,您需要导入对象 - 服务和通信通道。

服务允许您称呼消息的发送者或接收者。根据您想要使用该服务的方式,您可以从以下服务类型中进行选择 -
- 业务系统
- 商业服务
- 整合流程服务
通信通道通过使用适配器引擎将外部本机消息转换为 SOAP XML 格式来确定消息的入站和出站处理。两种类型的通信通道 - 发送者通道和接收者通道。
在 Integration 目录中,您可以进行四种类型的配置 -
发件人协议- 这决定了集成服务器如何转换消息。
接收者确定- 用于确定要向其发送消息的接收者的信息。
接口确定- 用于确定消息要发送到的入站接口。这也决定了处理消息的接口映射。
接收者协议- 这定义了接收者如何转换和处理消息。
在集成目录下,您可以看到集成生成器。单击集成生成器时,您可以看到用于配置 ESR 中创建的对象的不同选项。

SAP PI - 系统架构目录
系统架构目录包含有关架构和软件组件版本的信息。SAP 系统可以配置为在此目录下注册。系统环境目录 (SLD) 管理有关系统环境的所有可安装和已安装元素的信息。

您可以在网页中找到以下链接 -
景观
在景观下,您可以找到以下选项 -
技术系统- 您可以查看和定义系统和服务器。
景观- 您可以查看和配置系统组。
业务系统- 您可以查看和配置用于流程集成的业务系统。
软件目录
产品- 这是查看 SAP 软件目录中的产品。
软件组件- 这是查看 SAP 软件目录中的软件组件。
发展
名称保留- 用于名称保留以及 NW 开发。
CIM 实例- 用于查看和维护 CIM 级别的数据。
配置和监控
SAP PI 工具主页上的配置和监控选项允许您监控 SAP 系统中集成引擎、CCMS 集成和流程监控基础设施的功能。

使用配置和监控,您可以监控以下功能 -
组件监控- 监控 SAP PI 的不同 Java 和 ABAP 组件。
消息监控- 监控 SAP PI 组件中消息处理的状态。
性能监控- 使用运行时工作台,您可以监控 SAP PI 系统中的不同性能指标。您可以创建各种聚合报告。
端到端监控- 监控 SAP PI 系统中场景的端到端生命周期。
消息索引搜索- 您可以在消息监控中执行基于索引的消息搜索,也可以基于适配器特定选择等进行搜索。
警报收件箱- 警报收件箱根据分配给业务用户的角色,用于根据配置查看 SAP PI 系统中的所有警报。
警报配置- C&M 中的警报框架允许您报告 ABAP 和 Java 消息处理期间的所有错误。使用警报配置,您可以定义是否必须报告警报错误以及是否执行分析的策略。
运行时缓存监控- 用于查看运行时缓存中的对象。
让我们看看这些选项在 SAP PI 工具主页的配置和监控下的位置。在“配置和监控主页”下,您会看到三个选项,如以下屏幕截图所示 -

监控选项卡
在“监控”选项卡下,您将获得 4 个选项,如以下屏幕截图所示 -
消息概述- 用于获取特定时间段内消息处理的概述。消息按处理状态聚合。
警报收件箱- 用于处理 SAP NetWeaver Process Integration 引发的待处理的基于消息的警报。警报可以为您提供运行时信息和故障排除工具的链接,以便更快地隔离问题。
使用 Trex 进行消息搜索- 用于使用消息有效负载内容搜索消息。您需要搜索和分类引擎 TREX 来索引和搜索文档。此外,您还设置并激活了邮件索引。
组件监视器- 用于深入了解 SAP NetWeaver Process Integration 各个组件的健康状态。

配置和管理选项卡
在“配置和管理”选项卡下,您将获得 3 个选项,如以下屏幕截图所示 -
消息索引 (Trex) - 用于使用搜索和分类引擎 TREX 控制和监视基于索引的消息搜索的索引。
警报规则- 创建和管理警报规则。在警报规则中,您可以定义系统生成警报的运行时条件。
SLD 注册- 用于检查 SAP NetWeaver Process Integration 的组件在技术配置阶段是否已正确注册。您可以对注册进行更正并注册其他组件。

测试选项卡
在“测试”选项卡下,您将获得以下两个选项 -

发送测试消息
通过向集成引擎或高级适配器引擎发送测试消息来模拟消息流并验证 SAP NetWeaver Process Integration 运行时是否正常运行。

缓存连接测试
这用于检查 SAP NetWeaver Process Integration 基础架构组件的缓存连接状态并测试它们与运行时缓存的连接。

SAP PI - 沟通
在 SAP PI 中,您可以定义两种类型的通信 -同步和异步。
同步通讯
同步通信由请求和响应操作调用,操作后立即返回处理输出。一般来说,同步场景是指发送方进程向接收方发送请求并等待响应。如果接收方发生错误,则发送方应用程序负责再次发送消息。
在这种方法中,发送方可能会在超时后重新发送消息,并且可能存在重复的消息。这种方法在 PI 中被称为BE(Best Effort)。
考虑两个系统 – A和B。并且,您在两个系统之间引入了一个中间系统 I。系统A和系统I之间的通信是同步的,系统A和系统B之间的通信是异步的。

在这种通信场景中可能会发生以下类型的错误 -
应用程序错误- 处理消息时接收方出现错误,发送方不知道此错误并继续等待回复。
网络级错误- 在此错误中,发送方和接收方之间的通信网络存在错误。发送者不知道这一点,消息被卡在中间,发送者等待直到操作超时。

响应消息中的错误- 在这种情况下,会发生错误,响应消息会卡在中间,发送者会继续等待。
优点
以下是使用同步通信的主要优点 -
无需配置响应消息路由。
无需将响应与请求关联起来。
在此通信中,立即收到响应。
推荐场景
这适用于涉及读取操作的操作,例如查看采购订单。
缺点
以下是使用异步通信的主要缺点 -
如果失败,发送者需要重新发送消息。
接收系统应配置为检查重复消息。
在这种情况下,发送方应用程序将被阻止,直到收到响应或发生超时错误。
您无法配置多个接收器。
异步通信
在异步通信中,您可以在两个系统之间添加中间系统或中间件。当发送方应用程序发送请求时,它不会等待接收方应用程序发送响应。如果由于某种原因失败,中间件负责重新发送消息。如果需要,接收系统可以将响应作为单独的异步调用发送回发送方。
SAP PI 中的这种方法称为“精确一次”(EO)或“按顺序精确一次”(EOIO)。

中间系统是一个队列,来自 A 的消息首先添加到队列中,在接收者端,将其从队列中拉出并发送到接收者。系统 B 的响应消息如下

您还可以根据业务要求在某些情况下使用先进先出 (FIFO) 来维持顺序。这种情况称为异步维护顺序或精确一次按顺序 (EOIO)。
异步通信确保有保证的交付。如果接收方系统在一段时间内不可用,则中间队列会保留该消息并保留在那里,直到接收方系统可用并将消息从队列中拉出并发送到接收方系统。
推荐场景
建议用于创建采购订单或修改采购订单等修改操作
优点
以下是异步通信的主要优点 -
如果发生故障,SAP PI 系统可确保有保证的传送并将重新发送消息。
重复检查无需配置。
在这种情况下,您可以配置多个接收器。
发送方系统和接收方系统不需要同时在线。
PI 记录通过异步通信发送的所有消息。
由于中间系统保留消息和响应请求,因此不会超时。
缺点
以下是异步通信的主要缺点 -
在这种情况下,发送方需要自行将响应与请求关联起来。
响应消息需要单独实现和路由。
它不提供立即响应。
SAP PI — 技术
SAP 提供了一个基于 NetWeaver 的中间件,称为 SAP NetWeaver Process Integration。SAP NetWeaver PI 以称为简单对象访问协议 (SOAP-HTTP) 的特定格式传送消息。该消息包含标头和有效负载。标头包含一般信息,例如发送者和接收者信息,有效负载包含实际数据。
系统可以直接与 SAP NetWeaver PI 通信或使用适配器进行通信 -
- 使用应用程序适配器进行通信
- 使用技术适配器进行通信
- 使用行业标准适配器进行通信
- 使用事务适配器进行通信
- 使用代理直接通信
SAP PI - 保护对象
要将对象形式的信息从一个企业服务存储库传输到另一个企业服务存储库,您可以从三种传输方式中进行选择 -
- 基于文件系统的传输
- 变更管理服务 (CMS)
- 变更和运输系统 (CTS)

该图显示了两个软件组件 — 版本 A 和版本 B,它们已从 ESRep_1 和 ESRep_2 转移到其他 ESRep。
传输级安全
传输级安全性包括设计对象在网络上传输时的安全性。传输对象时,您在传输级别执行身份验证和加密,并在端点执行授权。对于内部通信,您可以使用安全套接字层 (SSL) 通过安全连接对数据进行加密和解密。对于 SAP 和非 SAP 系统之间的外部通信,加密类型取决于用于通信的适配器类型。
SAP PI 适配器和安全机制 -
适配器 | 协议 | 安全机制 |
---|---|---|
基于 HTTP 的适配器 | HTTP协议 | HTTPS |
基于 RFC 的适配器 | RFC | 安全网络通信 |
邮件适配器 | SMTP、IMAP4、POP3 | HTTPS |
文件适配器 | 文件传输协议 | 通过 SSL 的 FTP |
传输级授权
要实现传输级授权,您可以使用带有客户端身份验证的 HTTP。HTTP 传输级别身份验证可以使用用户名和密码、X.509 证书或 SAP 登录票证。
消息级安全性
可以使用加密技术和数字签名来实现消息级安全性。通过网络发送的消息首先通过加密算法进行加密,该算法包括会话密钥和用于加密的公钥。接收方使用相同的会话密钥和公钥来解密消息以查看内容。
HTTP 传输层
您可以使用以下 HTTP 传输级别机制 -
- 用户 ID 和密码
- X.509 证书
- SAP 登录票证
- 消息级安全性
- S/MIME
- WS安全
- XML签名
- XML加密
SAP PI - 创建对象
SAP PI 是运行时环境,它将入站消息分配给接收者并将它们映射到另一个结构或协议。SAP NW PI 需要有关如何处理消息的信息。有关设计对象的信息位于 PI Enterprise Service Repository ESR 和集成目录中。
连接到 SAP PI 的系统在系统架构目录 (SLD) 中维护。SLD中的数据可分为以下几类 -
- 软件组件信息
- 系统架构描述
软件组件信息
它包括有关所有可用 SAP 软件模块的信息。它还包括软件模块的可能组合以及依赖项。例如,软件组件、版本、支持包、操作系统版本和数据库等。
要检查这一点,请转到系统架构目录 (SLD)

要查看所有技术系统及其类型、版本和上次更新,请转到技术系统选项卡。

要查看产品和软件组件,请转到“软件目录”选项。

单击“产品”选项卡后,您可以看到所有产品及其版本和供应商名称。

您还可以检查软件组件、版本和供应商名称。

系统景观描述定义了各个系统景观信息。数据供应商定期向SLD提供最新的系统信息。
SAP PI - 建模场景
模型显示了应用程序及其设计对象之间的消息交换,例如消息类型、数据类型等。模型是集成配置场景的基础,输入和输出处理定义了消息的路由。SAP PI 建模场景用于设计 SAP PI 中的集成场景。
您可以使用以下两种集成场景模型 -
- 流程组件架构模型
- 流程集成场景模型
流程组件架构模型
流程组件架构模型用于应用程序角色 SOA 主干。该模型包括流程组件模型、集成场景模型和流程组件交互模型。流程组件模型提供了流程组件内部结构的细节。集成场景模型定义了跨不同部署单元和流程组件的完整场景。流程组件模型定义了不同组件如何相互交互。
流程集成场景模型
这用于应用程序角色流程集成场景。它是Enterprise Service Builder的设计对象,由名称和命名空间唯一标识,可以创建多个版本。

在创建流程集成模型之前,您需要定义业务场景和业务流程。流程集成步骤在应用程序中执行。应用程序以软件组件的形式运行。您还可以创建多个版本的软件组件,应用程序和软件组件之间的关系是1:1。
SAP PI - 设计对象
设计对象由名称和命名空间唯一标识,并分配给一个软件组件。您可以创建不同的设计对象来执行各种功能,其中少数是强制对象,其他对象在集成场景中是可选的。最常见的设计对象包括流程集成场景、消息类型、数据类型、映射等。
下表定义了常见的设计对象、它们的功能以及在场景中的使用 -
设计对象 | 强制的 | 功能 |
---|---|---|
集成场景 | 不 | 它用于捆绑所有必要的设计对象 |
消息类型 | 是的 | 它用于封装数据类型 |
数据类型 | 是的 | 用于描述要交换的数据的结构 |
服务接口 | 是的 | 它封装了消息类型和参数 |
测绘 | 不 | 消息映射 |
整合流程 | 不 | 它定义了 ccBPM 工作流程 |
这些设计对象通常以层次结构的形式表示。

SAP PI - 显示设计对象
考虑一家拥有许多接口的公司,每个接口都包含一个中间件。您想要查看所使用的不同类型的中间件。这可以通过登录 SAP PI 工具起始页来完成。
步骤 1 - 使用 Integration Builder URL 或 T 代码 - SXMB_IFR。

步骤 2 - 转到 SAP PI 7.3 屏幕上的系统景观目录。

步骤 3 - 单击“产品”,如以下屏幕截图所示。如果系统提示您输入用户名和密码,请输入详细信息。

步骤 4 - 要查看软件组件分配到的技术系统,请输入产品名称并单击执行。

步骤 5 - 单击产品名称并转到详细信息窗格上的“已安装系统”选项卡。您可以在那里查看分配的技术系统的名称。

步骤 6 - 如果您想查看哪个业务系统源自该技术系统,请选择该技术系统。您也可以通过进入SLD主页→业务系统来检查它。

步骤 7 - 输入技术系统名称并单击“Go”。

步骤 8 - 命名确定业务系统名称的字段。

SAP PI - 集成场景
要在 SAP PI 中创建集成场景,您需要在 System Landscape Directory 中创建技术和业务系统。
SLD 作为 SAP NetWeaver 应用程序服务器 Java 上的 Java 软件组件 (SAP _JTECHT) 实施。它基于开放的通用信息模型 (CIM) 标准,由 Distributed Management Task Force, Inc. 在www.dmtf.org上定义和发布。
SLD 是应用程序组件信息、产品和软件组件以及系统景观数据(技术和业务系统)的中央列表工具。
在 SLD 中,要从业务模型转移到技术模型,您可以使用流程步骤和软件组件之间的关系。
如何在SLD中转移软件组件?
当您安装系统架构目录时,会安装初始目录。
从 SAP Market Place,您可以导入更多最新目录。
您还可以根据项目和集成场景导入自己的软件组件和产品。
对于A2A场景,使用的是业务系统,并且它们存在于SLD中。对于 B2B 场景,您使用业务对象,它们驻留在集成目录中。
技术体系
技术系统是系统景观目录(SLD)的一部分,包含有关版本、数据库和补丁级别、操作系统等的信息。
技术系统有不同的模式 -
- 作为ABAP系统
- AS Java系统
- 独立的Java系统
- 第三者
有不同的导入工具可用于将数据从技术系统传输到 SLD。SAP NetWeaver Administrator 是常见的 SAP AS JAVA > 7.1 导入工具。
业务系统
业务系统在SLD中充当发送方和接收方。他们从技术系统继承软件组件作为产品。SLD 中的业务系统不能添加新的软件组件。
使用 SAP AS ABAP,每个客户端都被定义为一个业务系统。在SAP AS Java中,每个技术系统都充当一个业务系统。


SAP PI - 文件到文件场景
在 SAP PI 文件到文件场景中,我们将文件从源系统传输到目标系统。在 SAP PI 中构建组件后,您可以通过在 Enterprise Service Builder 中创建对象来在 SAP PI 系统中传输文件。
SAP PI — 文件到文件场景执行
步骤 1 - 转到 SAP PI 工具页面 → ESR 下的 Enterprise Service Builder。

步骤 2 - 要查找必须在其下创建对象的组件的名称,请展开该组件以查找软件组件版本。

步骤 3 - 选择组件→右键单击,单击新建在此组件下创建一个对象。

步骤 4 - 我们创建的第一个对象是命名空间。以URL的形式输入命名空间,然后点击底部的创建按钮。

步骤 5 - 在软件组件下创建对象后,保存并激活该对象。

步骤 6 - 要激活,请单击“激活”,如以下屏幕截图所示 -

步骤 7 - 保存并激活命名空间后,创建数据类型。转到软件组件→右键单击→新建。在下一个窗口中,选择接口对象→数据类型。

步骤 8 - 输入数据类型和命名空间的名称,然后单击创建,如上所示。接下来是将子元素插入数据类型。

步骤 9 - 输入元素的名称。

步骤 10 - 插入子元素以添加子员工 ID 和姓名。

步骤 11 - 定义类型和出现次数。出现次数定义该元素在文件中出现的次数。您可以选择最小出现次数和最大出现次数值。

步骤 12 - 单击“保存”按钮。

步骤 13 - 激活数据类型。转到数据类型 → 激活。

创建消息类型
步骤 1 - 右键单击命名空间 → 新建

步骤 2 - 在接口对象下,选择消息类型。输入字段。
步骤 3 - 输入消息类型的名称。
步骤 4 - 默认情况下,它采用命名空间和软件组件的名称。如果没有,您可以手动选择。然后,单击“创建”。

步骤 5 - 现在,定义您将用于消息类型的数据类型。将数据类型从左侧栏拖至消息类型 ( ) 下的数据类型选项。单击“保存”按钮。

步骤 6 - 激活消息类型 → 激活。

注意- 如果输入文件和输出文件的结构相同,则只能使用一种数据类型和一种消息类型。如果结构不同,则必须为入站和出站创建两种数据类型和消息类型。在此示例中,我们对输入和输出文件使用相同的结构。
SAP PI - 创建服务接口
现在让我们了解如何创建服务接口。我们必须创建两个服务接口——一个用于入站,一个用于出站。
步骤 1 - 右键单击命名空间 → 新建 → 接口对象 → 服务接口

步骤 2 - 输入服务接口的名称(此处为入站),默认情况下,它采用命名空间的值和软件组件版本。单击创建按钮。
步骤 3 - 在入站服务接口中,输入类别“入站”,并将通信模式输入“同步”或“异步”。

步骤 4 - 现在,通过将消息类型从左窗格拖动到服务接口入站请求消息来定义消息类型,如下所示。单击顶部的“保存”按钮。

步骤 5 - 保存此服务接口后,转到服务接口并激活。
步骤 6 - 类似地,为出站流程创建服务接口。
步骤 7 - 您可以选择服务接口→对象→新建。
步骤 8 - 输入服务接口的名称(Out 代表出站进程)。
步骤 9 - 单击“创建”按钮创建接口。

步骤 10 - 在下一个窗口中,定义出站服务接口的类别和通信模式。由于我们的两个服务接口都有一种消息类型,因此将消息类型从左侧窗格拖动到请求消息,然后单击“保存”。

步骤 11 - 保存后,单击“服务接口”按钮下的“激活”按钮。
SAP PI - 创建消息映射
现在让我们了解如何创建消息映射以将入站流程映射到出站流程。
步骤 1 - 转到对象 → 新建 → 映射对象 → 消息映射。

步骤 2 - 输入映射名称,然后单击“创建”,如上所示。现在,定义源消息和目标消息。将消息类型下的消息拖至映射下的源消息和目标消息。

步骤 3 - 现在,使用可用的映射选项映射这些消息。从下拉列表中选择功能,您可以在每个选项卡下看到不同的可用选项。

示例- 您在源文件中有名字和姓氏,并且您希望在目标文件中有全名。在这里您可以使用 Text 函数下的 Concatenate。
步骤 4 - 我们现在正在实现文件到文件的场景,因此,我们将仅选择源和目标映射,如果名称和结构相同,则将直接映射。

步骤 5 - 由于结构相同,我们将使用上述方法。在下一个窗口中,单击“应用”。

步骤 6 - 您可以看到所有图标变成绿色并显示映射。现在,保存映射。

步骤 7 - 激活消息映射。转至消息映射 → 激活。激活此消息映射后,在 ESR 中创建操作映射。
SAP PI - 创建操作映射
现在让我们了解如何创建操作映射。
步骤 1 - 转到对象 → 新建 → 消息对象 → 操作映射。
步骤 2 - 输入操作映射的名称,然后单击“创建”按钮。

步骤 3 - 在下一个窗口中,您需要输入源操作和目标操作。将服务接口从左侧窗格拖至源操作和目标操作。入站服务接口将被拖至目标操作,出站服务接口将被拖至源操作。

步骤 4 - 将消息映射拖到映射程序选项,如以下屏幕截图所示。完成这些设置后,单击顶部的“保存”按钮。

步骤 5 - 现在,转到操作映射 → 激活 → 激活 → 关闭。

步骤 6 - 转到 SAP PI 工具主页上集成目录下的集成生成器来配置场景。

步骤 7 - 转到 Integration Builder 的配置场景视图。

步骤 8 - 要配置场景,请转到对象→新建→在管理选项卡下→配置场景。

步骤 9 - 输入配置场景的名称,然后单击“创建”按钮。

步骤 10 -保存并激活配置场景,如以下屏幕截图所示。

SAP PI - 创建沟通渠道
现在让我们了解如何创建沟通渠道。
步骤 1 - 右键单击配置场景 → 新建

步骤 2 - 您必须创建两个通信通道 - 一个用于发送者,另一个用于接收者。从可用组件列表中选择发送方和接收方通道的通信组件。输入通信通道的名称,然后单击“创建”。

步骤 3 - 选择通信通道下的参数。转至适配器并单击可用的适配器类型。适配器类型取决于场景的类型。对于文件到文件的场景,您可以选择文件适配器。
步骤 4 - 以下是可以为不同场景选择的可用适配器列表。

步骤 5 - 根据通信通道的类型,可以选择适配器类型作为发送者或接收者。

步骤 6 - 输入源文件目录的路径。

步骤 7 - 输入源文件后,单击“保存”。保存发送方通信通道后,单击“激活”按钮→“激活”→“关闭”。

步骤 8 - 同样,您必须为接收者创建一个通信通道。输入接收方的通信通道组件和通信通道名称,然后单击“创建”。

步骤 9 - 选择“适配器类型”为“文件”,然后选择“接收器”。输入目标目录和文件名方案,如下图所示 -

步骤 10 -保存文件并激活接收器通信通道。创建发送者和接收者通信通道后,创建集成配置。
SAP PI - 创建集成配置
现在让我们了解如何创建集成配置。
执行以下步骤 -
步骤 1 - 转到对象 → 新建 → 协作协议下 → 集成配置

步骤 2 - 在通信组件中,输入之前使用的发送者组件。
接口将与之前步骤中在 ESR 中创建的出站流程的服务接口名称相同。
命名空间将与之前步骤中在 ESR 中创建的命名空间相同。
单击创建按钮。

步骤 3 - 在“入站处理”选项卡中,选择为发件人创建的通信通道。


步骤 4 - 在接收器选项卡中,选择通信接收器,如以下屏幕截图所示 -

步骤 5 - 转到接收器接口选项卡,选择操作映射。单击搜索并选择操作映射,如下图所示。操作映射的创建方式与前面的步骤相同。

步骤 6 - 转到出站处理选项卡并选择接收器通信通道。

步骤 7 - 完成上述设置后,单击顶部的保存并激活。

步骤 8 - 将sample.xml 文件放入出站文件夹中。您可以从 ESR 中的消息映射获取示例 xml 文件。转至 ESR → 消息映射 → 测试。

步骤 9 - 该示例文件没有任何数据。创建 abc.xml 文件并将示例 xml 粘贴到该文件。您必须向此 xml 文件添加一些数据,如以下屏幕截图所示。

步骤 10 - 将此文件放置在配置时的目录和文件方案中提到的发送文件夹中。

步骤 11 - 转到Receiver 文件夹,您可以看到其中包含数据的 xml 文件。

步骤 12 - 要监视适配器引擎 → 通信通道监视器,请转到配置和监视主页。

步骤 13 - 转到适配器引擎 → 通信通道监视器。

步骤 14 - 复制通信通道

步骤 15 - 您可以检查文件到文件场景的状态。如果运行正常,您将在状态下看到一个绿色图标。

SAP PI - 连接性
SAP PI 连接处理源或目标系统与集成服务器的连接。此连接处理与集成服务器的消息交换。要交换的消息格式应采用 SAP PI 协议格式,或者应使用适配器将外部格式转换为 SAP PI 特定格式。
SAP PI 为您提供了广泛的适配器,允许您连接来自不同协议的应用程序。对于发送方,适配器将发送方协议中加密的入站消息转换为 PI-SOAP 消息;对于接收方,PI-SOAP 消息随后被转换为接收方的协议。
SAP NetWeaver PI 中的可用适配器
SAP PI 支持不同的适配器,其中一些是高级适配器引擎或集成引擎中的进程。IDoc、HTTP 和 XI 是集成引擎中处理的少数适配器。
以下是 SAP NetWeaver PI 中可用的适配器 -
编号 | SAP NetWeaver PI 中的适配器和用途 |
---|---|
1 |
RFC适配器 这用于使用 RFC 接口与其他 SAP 系统进行通信。 |
2 |
HTTP 适配器/HTTP AAE 适配器 这允许使用 HTTP 协议交换数据。这些适配器在集成引擎和高级适配器引擎中均可用。 |
3 |
JDBC适配器 这允许访问数据库。 |
4 |
文件/FTP 适配器 用于使用文件接口或FTP服务器与外部系统进行数据交换。 |
5 |
邮件适配器 这允许您将电子邮件服务器连接到集成引擎。 |
6 |
IDoc适配器 这允许交换 IDoc。这些适配器在集成引擎和高级适配器引擎中均可用。 |
7 |
十一适配器 该适配器允许您使用代理进行通信。该适配器不在高级适配器引擎中运行,而是在集成引擎中运行。XI 适配器仅用于建立与接收器的 HTTP 连接。 |
8 |
无线适配器 该适配器用于根据标准 Web 服务可靠消息传递 (WS-RM) 协议提供与 WS 提供者和 WS 使用者的连接。SAP 开发了带有自己收件箱的 WS-RM 协议,该协议在集成引擎上的 ABAP 堆栈中实现。 |
9 |
JMS适配器 它支持使用 JMS API 与消息传递系统进行通信。 |
10 |
SOAP适配器 它允许使用 SOAP 集成远程客户端或 Web 服务提供商。 |
如何检查现有的适配器引擎?
您可以通过执行以下步骤来检查系统景观目录(SLD)中现有适配器引擎的列表 -
步骤 1 - 使用 Integration Builder URL 或 T 代码 - SXMB_IFR。

步骤 2 - 转到 SAP PI 7.3 屏幕上的系统景观目录,然后单击产品,如下所示。如果系统提示您输入用户名和密码,请输入详细信息。

步骤 3 - 导航到系统景观目录左侧窗格中的技术系统区域。

步骤 4 - 选择流程集成作为技术系统的类型。
步骤 5 - 检查列出了多少个适配器引擎。

步骤 6 - 只有一种类型的 XIAdapterFramework 适配器引擎与集成服务器上的中央适配器引擎相对应。
步骤 7 - 您还可以检查运行时工作台上现有适配器的列表。转到配置和监控。

步骤 8 - 在下一个窗口中,转到组件监视器选项。

步骤 9 - 选择状态为“全部”的组件。

SAP PI - ccBPM 概述
业务流程管理处理跨组件 BPM。这包括 SAP 后端中的 SAP 工作流程以及集成服务器上的消息处理。
跨组件业务流程管理为 SAP NetWeaver Process Integration 提供了状态消息处理功能,即集成流程的状态保留在集成服务器上。这意味着集成过程可以无限等待,直到收到更多消息或到达特定的截止日期。此外,可以在集成过程中进一步处理消息。

上图显示,来自系统1、2、3的消息已经发送到集成服务器,只有当所有消息都到达时,复合消息才被发送到目标系统业务系统4。使用跨组件BPM,消息已在集成服务器上,并已持久化。到达集成服务器的任何其他消息,都会在消息之间定义关系,以确保所有消息均正确发送。Business Process Engine 负责在 ccBPM 中执行此任务。
SAP PI - ccBPM 配置
在使用ccBPM时,ccBPM中使用的集成流程接收入站消息,同时也将消息发送到相应的接收方业务系统。
ccBPM 由图形流程编辑器和业务流程引擎组成。当您选择集成流程时,业务流程编辑器将打开。
要打开业务流程编辑器,请转至 SAP PI 工具页面上的 ESR → ES Builder → Design Objects Integration 目录。


SAP PI — 集成流程
“显示集成过程”屏幕打开,并显示集成过程的图形定义。
当您双击集成流程时,业务流程编辑器将启动。它由以下区域组成 -