SAP PI 通信



在 SAP PI 中,您可以定义两种类型的通信——同步异步

同步通信

同步通信由请求和响应操作调用,操作完成后立即返回处理结果。一般来说,您可以将同步场景理解为:发送方进程向接收方发送请求并等待响应。如果接收方出现错误,发送方应用程序负责重新发送消息。

在这种方法中,发送方可能会在超时后重新发送消息,从而可能存在重复消息。这种 PI 中的方法称为尽力而为 (BE)

考虑两个系统 – AB。您在这两个系统之间引入了中间系统 I。系统 A 和系统 I 之间的通信是同步的,系统 A 和系统 B 之间的通信是异步的。

Synchronous Communication

在此通信场景中可能发生以下类型的错误:

  • 应用程序错误 – 接收端在处理消息时发生错误,发送方不知道此错误并一直等待回复。

  • 网络级错误 – 此错误表示发送方和接收方之间的通信网络发生错误。发送方对此一无所知,消息卡在中间,发送方一直等到操作超时。

Errors
  • 响应消息错误 – 在此场景中,发生错误,响应消息卡在中间,发送方一直等待。

优势

以下是使用同步通信的关键优势:

  • 无需配置响应消息路由。

  • 无需将响应与请求关联。

  • 在此通信中,立即收到响应。

推荐场景

这适用于涉及读取操作的操作,例如查看采购订单。

缺点

以下是使用异步通信的关键缺点:

  • 如果发生故障,发送方需要重新发送消息。

  • 接收系统应配置为检查重复消息。

  • 在此场景中,发送方应用程序会被阻塞,直到收到响应或发生超时错误。

  • 您无法配置多个接收方。

异步通信

在异步通信中,您在两个系统之间添加中间系统或中间件。当发送方应用程序发送请求时,它不会等待接收方应用程序发送响应。如果由于某种原因发生故障,中间件负责重新发送消息。如果需要,接收系统可以作为单独的异步调用将响应发送回发送方。

SAP PI 中的这种方法称为精确一次 (EO)精确一次按顺序 (EOIO)

Asynchronous Communication

中间系统是一个队列,来自 A 的消息首先添加到队列中,在接收端,它从队列中拉取并发送到接收方。来自系统 B 的响应消息遵循

Approach in SAP PI

您还可以根据业务需求在某些情况下维护顺序,方法是使用先进先出 (FIFO)。此场景称为带有顺序维护的异步或精确一次按顺序 (EOIO)。

异步通信确保可靠投递。如果接收系统暂时不可用,则中间队列会保留消息,并将其保留在那里,直到接收系统可用并将消息从队列中拉取并发送到接收系统。

推荐场景

这推荐用于修改操作,例如创建采购订单或修改采购订单

优势

以下是异步通信的关键优势:

  • 如果发生故障,SAP PI 系统会确保可靠投递并会重新发送消息。

  • 无需配置重复检查。

  • 在此场景中,您可以配置多个接收方。

  • 发送方系统和接收方系统无需同时在线。

  • PI 记录通过异步通信发送的所有消息。

  • 没有超时,因为中间系统会保留消息和响应请求。

缺点

以下是异步通信的关键缺点:

  • 在此场景中,发送方需要自行将响应与请求关联。

  • 需要单独实现和路由响应消息。

  • 它不提供立即响应。

SAP PI — 技术

SAP 提供基于 NetWeaver 的中间件,称为 SAP NetWeaver Process Integration。SAP NetWeaver PI 以称为简单对象访问协议 (SOAP-HTTP) 的特定格式传递消息。此消息包含标头和有效负载。标头包含诸如发送方和接收方信息之类的常规信息,有效负载包含实际数据。

系统可以直接与 SAP NetWeaver PI 通信,也可以使用适配器进行通信:

  • 使用应用程序适配器进行通信
  • 使用技术适配器进行通信
  • 使用行业标准适配器进行通信
  • 使用事务适配器进行通信
  • 使用代理进行直接通信
广告