文档库 最新最全的文档下载
当前位置:文档库 › SAP PI功能详解

SAP PI功能详解

SAP PI功能详解
SAP PI功能详解

1接口技术

SAP所提供的mySAP系统作为一个现在在国内外普遍使用的企业级管理应用软件,融合了最先进的软件开发技术和SAP特有的开发平台,为了确保该系统的广泛使用,系统同时提供了多种的软件接口标准供其与不同的其他系统进行数据交换和信息集成。这些接口技术,在广大的SAP客户中得以成功地应用;同时也和国际上其他的应用软件系统形成了接口的标准,并且得到双方的认证,比如与IBM公司的Lotus Notes软件,一些CAD软件等。

以下就mySAP系统中中常见的接口技术,给予简单介绍,实际的应用将在系统实施过程中就不同的对接系统展开讨论。

1)RFC接口技术

RFC(Remote Function Call)接口技术,可以实现在一个系统中远程调用另外一个系统中的函数模块的功能。同时,在同一个系统中也可以实现RFC功能,但是通常调用者和被调用者分别在不同的系统中。

在SAP系统中,可以通过系统标准的RFC接口系统实现远程调用功能。RFC功能可以在两个SAP系统(R/3 or R/2)中实现,也可以在SAP和非SAP系统之间实现。

RFC接口技术包含以下的接口:

1、在ABAP/4程序中实现RFC功能

任何一段ABAP/4的程序都可以通过标准语句:CALL FUNCTION ... DESTINATION 实现RFC功能。在此句中,通过参数DESTINATION来告诉SAP系统所调用的函数模块所处的系统。通过CALL FUNCTION后的函数来实现和远程系统的通讯。

SAP系统中运行的RFC函数必须是实际的函数模块,同时必须在系统中有‘远程’标记。

2、非SAP程序的调用接口

当调用者或被调用者是非SAP程序时,必须在它的系统中编程来实现RFC通讯。为了在非SAP系统中实施RFC调用程序,SAP提供以下技术:

o RFC生成器,来帮助创建模板程序;

o外部接口。外部程序可以通过使用基于RFC和GUI的接口来调用SAP系统

中的函数模块,并在自己的系统中执行。

2)BAPI接口技术

BAPIs(Business Application Programming Interfaces)是标准的业务接口,它可以实现外部应用系统之间访问SAP系统的流程、功能及数据。一个BAPI实际上是SAP的数据和流程能够被外部系统访问的‘网关’。

BAPI接口技术的示意图如下图所示。

SAP业务对象是SAP新业务框架的重要组成部分,它实现了SAP系统往基于组件架构技术的转换。BAPIs是SAP最新的实现SAP系统与其他系统进行数据交换的工具。BAPIs技术在SAP本身的开发过程中得以广泛的使用,同时SAP也建议把BAPIs 技术作为其他系统与SAP系统接口的首选接口技术。

BAPIs技术提供了标准的、平台独立的(与所属平台无关的)接口,实现外部应用访问SAP系统。它可以实现SAP系统与第三方软件,老系统及客户自行开发系统的集成。

BAPIs技术和CORBA&COM/DCOM分散式对象处理技术兼容。同时,使用BAPIs技术开发应用功能,可以不需要对SAP底层技术的了解。

BAPIs技术实际上是简单的ABAP/4函数模块,它具有以下特点:

o任何一个BAPI首先必须具有RFC的功能。

o一个BAPI通常是同步执行的(特例:使用ALE功能实现非同步BAPIs技术)。

o所有BAPI的参数,必须参照一个ABAP数据字典类型来定义,不能使用常规的ABAP类型(例如,I整数型或 C字符型)。

o一个BAPI不能定义任何的例外。必须使用一个EXPORT参数来报告错误。

3)IDoc接口技术

在过去的情况下,当业务伙伴需要交换业务文档时,它经常是通过传统手段,例如信件,传真或其他方式来实现的。所有这些方式都一样,当文件丢失时,接收者必须在他的形同中重复输入信息。

使用EDI技术,文件的技术结构被保留下来了。它可以使得接收者用自己的业务软件自动处理文件。业务合作的双方都是独立的,他们可以独立决定自己的IT架构和业务软件。因此EDI标准必须建立,以确保包发送者的数据结构可以对应到EDI标准,同样接受者的数据结构也可以对应到EDI标准。这样,通过EDI标准的作用,可以保证双方都相对独立。

IDoc是SAP应用有关接口的数据结构。它给出一个与SAP模块无关的,面对任何EDI子系统的统一接口,可以创建或接收信息。

IDoc的技术示意图如下所示:

IDoc的主要特点是:通讯是异步的;

只和一个文件(或者一个业务)相关。

IDoc是通过信息连接不同应用系统的SAP标准接口。通过它,SAP系统可以和EDI子系统,R/3系统,R/2系统或第三方软件连接。当直接连接SAP系统时,IDoc 可以不对应到EDI标准而得到传输。

每个IDoc文档包含一个控制记录,一系列数据记录和一组状态记录组成。通过IDOC技术在两个系统之间交换的数据,由一次传输完成。

4)BC(Business Connector)接口技术

在电子商务时代开始之前,最常见的接口开发技术是BAPI和IDoc技术。随着Internet技术的蓬勃发展和广泛应用,电子商务时代开始进入人们的生活和企业管理的日常工作。

网络时代的商务应用,更加强调不同系统之间的信息交换和应用互连。同时XML 技术作为一种标准协议得到认可。SAP BC接口技术,就是支持XML方式的BAPI和IDoc接口技术。

通过BC接口技术的使用,可以无缝集成不同IT体系,实现:

o降低供应链的周期,提高效率

o自动执行业务流程

o与客户、伙伴及供应商形成紧密联系

BC接口技术扩展了传统的EDI架构,增加了实时集成,可以连接到非EDI伙伴,同时最大限度地利用了伙伴在网络系统上的投资。

同时,这种带XML技术的解决方案容易理解、使用及客户化。它高度的灵活性,可以实现在业务伙伴之间进行实时的数据交换。外来还可以和SAP其他新产品实现紧密地集成。

最后,BC 接口技术使得SAP可以提供基于Internet的解决方案,可以通过Internet和任何非SAP伙伴进行系统对接。简而言之,SAP通过BC技术,在Internet上为业务伙伴提供了两种接口。

2 SAP交换架构(SAP XI)应用模块逻辑关系

SAP?交换体系结构(SAP XI)组件提供了开放的集成技术,它在您企业内外的SAP及非SAP组件之间实现了以流程为中心的协作。SAP XI是SAP NetWeaver? 平台的组件之一,它支持异构系统中的业务流程,以可持续的、不断降低的成本提供了无缝集成。如此以来,SAP XI就消除了真正集成所面临的障碍。

SAP XI主要由集成服务器,集成知识库,集成目录及内置的业务流程管理(BPM)和适配器架构

1)集成知识库(Integration Repository)

集成知识库(Integration Repository)包括您所使用的所有软件组件的接口描述。在很多时候,可以直接将其导入集成知识库(Integration Repository),当然您也可以手工的创建他们。您还需要对于给个外部接口保存结构和字段值的匹配规则。SAP XI提供了图形化的工具来完成匹配的工作。另外您也可以通过JAVA或XSLT 来创建匹配程序。

集成知识库(Integration Repository)只保存在软件组件中和开发对象相关的信息。而对于这些对象,是否在哪台服务器则并不重要。

2)集成目录(Integration Directory)

为了在分布的系统构架中实施业务流程,您必须在配置包括需要连接的业务系统的业务集成方案,并将该方案将保存在集成目录(Integration Directory)中,并通过规则定义当从一个凭证从一个业务系统中传入时,使用定义哪个业务系统的那个接口来接收处理该凭证。

3) 业务流程管理(BPM)

通过系统及各类应用对自动业务流程进行设计、执行和监控

通过集中的技术平台对业务流程进行控制

包括图形化的各类模板

与XI的完全集成

?模板可与XI中的各类设计主体相链接:如interfaces, mapping等等?BPM runtime

完全执行行业标准

?支持行业标准(BPEL4WS)

?输入/输出流程定义

技术流程监控

?与XI的通用技术监控相集成

?流程监控图形化显示

4)适用于多种模式的适配器架构

目前SAP XI支持的适配器:

技术适配器

SAP 应用适配器

?RFC

?IDoc

?文件 / FTP

?JDBC (Database)

?Java 消息服务(JMS, for MQSeries, SonicMQ, …)

?纯HTTP

?SOAP

电子商务适配器

非SAP后台应用适配器

?Oracle

?Siebel

?etc.

行业适配器

?RosettaNet

?CIDX

?PIDX

?UCCnet

?etc.

3 SAP交换架构(SAP XI)产品特点

3.1业务流程管理

为了适应当今的商业环境,公司必须不断地修补它们的商业战略,并重新塑造它们的业务流程。

?促进高效管理跨职能的商业实践

?以敏捷的方式控制SAP 商业套件中的业务流程,并授权个别参与者维护透明度。

?控制它们自己的专门流程。

为了高效,这些实践必须涵盖任何企业中都不可避免要发生的各种功能和应用情况。此外,业务流程的控制需要由有责任的终端用户进行管理:从非参与的企业所有者到直接的参与者。

- 业务流程建模

业务流程建模使公司能够按照股东易于理解的方式来设计流程,但同时,流程足够详细,从而是可执行的。产生的定义可以导出到基于XML 的标准语言(如BPEL)用于在别处重新使用,或从独立源导入。

- 业务流程执行

业务流程引擎执行了已建模的业务流程,确保了可靠地传送和收集消息,主动通知参与者,及帮助他们完成任务,并且流程与企业内外部的其它流程和外部事件保持同步。执行引擎还处理最终期限和商业规则评估。

- 业务流程监控

业务流程监控跟踪流程示例的进度。使用此功能后,个别参与者或股东就可以跟踪某个流程示例,或管理人员、企业主可以同时监控某个特殊商业流程的所有示例,以确保任务如期完成。

- 跨组件业务流程管理(BPM)

跨组件的BPM 是基于消息的流程管理系统,使您能够自动化不同软件组件间及跨企业边界的业务流程。它利用了一个集成知识库来集中地存储接口信息,从而避免了不受控制的组件到组件接口。这使得总拥有成本降到最小。流程定义可以通过使用开放标准进行导入,或按流程建模工具进行设计。

- 业务工作流

业务工作流是一个嵌入的、基于面向对象与SAP 商业套件应用程序进行集成的工作流管理系统。任务通过选择收件箱提交给用户(从SAP 企业门户到组件),而流程的自动化部分直接通过工作流引擎执行。流程定义不受SAP 商业套件组件的版本更改和周围其它方式的影响。

- 智能工作流

商业流程的异常处理需要灵活的、个性化的工作流,而非通过组织结构进行的硬连接。个别用户可以创建和跟踪他们自己的跨企业层级和企业边界的流程,作为电子邮件或电话的更有效的替代。

- 业务流程优化

一旦流程自动化后,商业分析使得流程瓶颈被识别。这些流程可以通过使用图形建模工具进行改进,而无需关闭已经运行的流程示例。使用接口库,同时使用映射和路由工具,使得B2B 流程中的商业合作伙伴可以按需进行添加或交换,从而使得业务流程在无影响稳定的同时,更具有动态性。

- 模板

模板和模式是预先定义的流程描述,作为SAP 商业套件组件的一部分,它允许现有的流程自动化,无需任何客户开发工作或定制。这使公司能够立即从业务流程管理中受益,而无需承受任何额外开支。

3.2连通性

无论是现在,还是未来,IT 环境中高度专业化的IT 解决方案或传统的应用都不可能由单一的厂商提供。车间控制系统要求不同于设计商业应用程序的专门人才。支持企业中特殊商业功能的传统系统有时可以只由内部开发人员以合理的成本进行开发和维护,而不是由独立的软件厂商实现。但是所有这些系统都是一些商业流程的一部分,因而需要尽可能地进行无缝集成。

- JCA 适配器框架

连通到各商业系统通常要求私有的接口和高度专业的映射。要连接到这些系统,适配器可以利用适配器框架的传送、封装、安全功能,另外还可以提供从标准消息格式如 XML 到应用格式的转换。紧凑薄型的适配器插入到基于 J2EE 连接器架构 (JCA) 的框架中,并允许以最低总拥有成本(TCO)进行连接。

- 适配器开发工具包

商业流程可能需要某种不是通过标准适配器提供的连接。使用适配器开发包可以开发需要的连接。

- 商业合作伙伴连接

并不是每个商业合作伙伴系统都可以直接连接或通过已经存在的适配器进行连接。因此有必要在合作伙伴方按有效和节约的方式开发所需的连接。

合作伙伴连通性开发包(PCK) 使合作伙伴能够与SAP 交换XML 文档。PCK 提供了连通性选项用于访问文件、数据库、排队系统和远程函数调用(RFCs)。配置、管理和监控是通过 PCK 本地实现的,无需集成目录。

- 技术适配器

技术适配器转换通信协议,并利用传送、封装和安全功能使您能够连接到第三方和消息发送系统。此外,技术适配器可以执行有效载荷之间的静态转换,例如,从 XML 到CSV,及到其它方式的转换。

- 应用适配器

应用适配器使您能够连接到 SAP 应用程序和非 SAP 后端应用程序。应用适配器将消息转换为后端应用程序的特定接口。还有许多可用的应用适配器使您能够连接到SAP 系统(经由RFC 和Idoc)和第三方应用程序,如来自于以下厂商的适配器:PeopleSoft、Siebel、Oracle、J. D. Edwards、Baan 和 Broadvision 等。

- 行业标准适配器

行业标准适配器使您能够遵守行业标准,如RosettaNet、CIDX、EDI 和UCCNet。行业标准适配器将通信协议转换为行业标准。

- Web 服务

现有的功能,例如,示例定制、远程功能模块启用可以以 Web 服务的方式提供。Plain SOAP 服务为本地的消息协议。集成资源库支持WSDL(Web 服务定义语言)文档的导入和导出。通过提供集成服务,如基于内容的路由、映射等,可以管理 Web 服务和内容;从而增强了WebService 功能,并提供了企业服务。

- 与集成解决方案的互操作性

有几种选项可用于与其它集成解决方案的互操作。一种可能是通过交换元数据,元数据存储在集成资源库中,并且可以按WSDL(接口描述)或BPEL(商业流程描述)文档形式进行导入和导出。另外一个选项是利用以下三个适配器之一,这些适配器启用了与其它集成解决方案的优越互操作性:三个适配器为JMS 适配器、SOAP 适配器、HTTP(S) 适配器。这三个适配器支持各种功能,如双向的消息发送、变化的服务质量、安全的同步或异步消息交换。

- 中央配置

适配器框架基于JCA(J2EE 连接器架构),但提供了额外的一组接口用于配置已部署的适配器。适配器在集成目录中进行集中配置。

- 中央监控

适配器框架基于JCA(J2EE 连接器架构),但提供了额外的一组接口用于监控已部署的适配器。

3.3集成内容

SAP Exchange Infrastructure 通过提取内外部组件中的集成内容消除了直接连接的问题。所有的内容都已存储,并可以在一个地点进行集中的访问—Integration Builder。

- 共享的协作知识

所有共享的协作知识都已保存,并可以在一个地点进行集中访问—Integration Builder。商业情境、业务流程、Web 服务/接口描述、转换/映射、路由规则等都在这里。这使我们对协作流程是如何工作,及如何服务为分布式数据交换的基础有一个公共的了解。

- 开放标准

所有的集成知识遵照开放标准。此特点应用于商业情境(WSCI)、商业流程(BPEL)、映射(XSLT, Java)、路由规则(XPath) 和接口(WSDL, XSD) 中。如果

适用的话,会提供导入和导出功能。因此,商业流程 (BPEL) 和接口 (WSDL, XSD) 可以被导入和导出,映射 (XSLT, Java) 可以被导入。

- 图形工具

SAP Exchange Infrastructure 有一个中央的,基于浏览器的起始页面,从这里,您可以调用所有相关的图形工具。工具本身遵照统一的客户端—服务器框架。这意味着在客户端有统一的外观和感觉,这得归功于具有如拖放、入坞/出坞编辑器等功能的标准化用户界面。服务器端提供统一版本的开发对象、认证和锁定概念,并支持多语言文件。这些工具之一是高效率的图形映射,它可以自动开发Java 代码,并且无需 Java 编程知识。该工具也用在 SAP 内部以创建映射。

- 传输管理

Integration Builder 使用由更改管理服务器(CMS) 提供的更改和传输管理功能。因此,将设计时间和配置时间对象从开发环境传送到测试环境,最终传送到生产环境是可能的。

3.4消息处理

系统环境中使用的每个应用和/或系统都有其自己的语言。因此,需要工具来翻译和传送参与系统之间的消息,以确保安全的交付、数据的一致性,并允许详细的监控。

- 结构转换

企业应用程序将接口提供给外界用于通信。然而,每个接口有其自己的结构,并带有其自己的元素。因此,在两个应用程序的接口间进行转换是必要的,以使得他们彼此可以通信。通常的转换操作是关于数学方面的(加、减等)或基于字符的(子字符串等)操作。另外,自主开发的Java 例行程序实质上允许任何所需的转换以匹配接收接口的要求。接收方应用程序可以仅处理与接收方接口结构匹配的消息。

- 值转换

除了不同的接口结构外,来自于不同发送者接口的内容也需要进行转换以与接收方接口的要求相匹配。

- 路由

要分离系统实施中的业务逻辑,可以通过两个步骤确定消息接收方。在第一步中,逻辑接收方数据(系统名、接口)是根据发送方数据(系统名、接口)进行确定的,还可随选地根据消息内容进行确定。然后,在第二步中,确认属于接收方接口的的技术连通性参数,如 URL、登录方法、密码等。

- 消息发送

通常,数据以消息的方式流动。通过使用扩展的SOAP 协议,XML 消息可以在商业系统之间转移。消息是根据已定义的路由规则(例如,发布/订阅)分发给接收方的。配置确定来自于特定发送者的哪个消息内容要发送给一个或多个接收方,哪个接收方消息需要用于此目的。另外一个面向消息的工具不是必需的。

- 排队

入站和出站队列控制进出中央处理管道的数据流,确定了各种服务质量,如仅递送一次 (EO) 和按序仅递送一次 (EOIO)。

如果消息以受保证的发送模式发送,它就会保存在集成服务器的永久队列中。重试机制和消息发送协议确保按序仅递送一次地将消息发送给接收方,或消息分配给了错误队列,由管理员进行后续的错误处理。

因促,包括了面向消息的中间件,同时省略了对其它排队系统的需要。

- 服务质量

通常情况下,在商业通信之间存在两种截然不同的通信方式:同步通信和异步通信。在第一种情况中,发送消息的业务流程等待,直到收到来自于接收应用程序的响应为止。在异步通信中,发送系统中的过程在发送消息到接收应用程序后,会继续处理其它任务。

通过服务质量 (QoS) 属性,发送方系统可以确定消息是如何交付的。支持以下类型的服务质量:

?BE(尽力而为的服务):消息同步发送,这意味着发送系统在继续处理之前要等待响应。消息可以只有一个接收方。

?EO(仅递送一次):在这种情况下,消息是异步进行发送的;这意味着发送系统在继续处理之前不会等待响应。集成平台承担着保证交付的责

任。

?EOIO(按序仅递送一次):除了仅递送一次之外,有相同队列名(由应用程序提供)的消息按它们从发送系统发送时的相同队列名进行交付。在

这种情况下,消息处理是异步进行的。

相关文档