介绍
从1998年以来,IBM为java引入了访问SAP商业应用程序编程接口(BAPI)和远程函数调用(RFC)的工具。 IBM在服务器端的java角色的早期实现意味着运行时间组件的服务质量(QoS)和可靠性将成为和工具本身一样重要。 这导致用于java的VisualAge这个绝好的工具和其高度可靠的运行期被构建在IBM通用连接框架(CCF)上。
利用WebSphere Studio开发工具家族,IBM接受了J2C/JCA标准并把它们作为它的新工具的基础结构和一个源码开放平台连合起来。 随着这个新工具的到来,一个使用网络服务描述语言( WSDL)作为描述服务的方法的概念的新结构,和企业服务的概念一起被引入。 虽然上一代SAP工具是基于CCF,但是新一代的工具提供了用于与服务器通讯的后台机制,这个服务器使用利用资源适配器档案( RAR)文件的java模块。 这就为一个RAR文件提供了一个标准的、不依赖工具的方法与访问所有后台的工具程序相互作用,让前端网络应用程序和后端应用程序的开发者便于理解、支持、相互通讯,而不必在乎使用的什么工具或者访问方案。
IBM提供了一个能在WebSphere产品和SAP系统之间交互作用的RAR文件,名为WebSphere Adapter for mySAP.com。 本文中,我将介绍IBM下一代SAP工具的概述,以及如何与WebSphere Studio Application Developer配合使用,以及一个企业服务的介绍。
WebSphere Studio JCA工具
在WebSphere Studio Application Developer整合版(以后简称Application Developer)中的可利用的特性,是对企业应用程序整合任务很重要的三个关键组件:
· 企业服务
· JCA工具插件
· 业务处理流程
在新工具中,企业服务被用作连接后端数据的一种机制,比如连接一个SAP服务器上的数据。 这个到后端的连接可以在下列情况发生:
· 在设计期间
使用JCA工具插件,Application Developer与一个SAP服务器连接,查找适当的BAPI,构建WSDL文件来描述它们,构建代理bean组件等等。
· 在运行期间
使用WebSphere Adapter for mySAP.com(下文称为WebSphere SAP适配器),一旦你有描述它们的WSDL文件,将有两种方法访问后端:
1. 构建不使用企业服务的代理bean组件。
2. 构建代理的 bean组件使用企业服务,使其能使用自动管理连接、数据流等等。
在详细地讨论这些方法之前,让我们仔细看看这些组件方法,即企业服务,JCA工具插件和业务处理流程。
企业服务
想一下,一个企业服务作为存在于你的企业应用程序中的一类操作程序,被完全的使用WSDL描述。 与一般使用HTTP上的SOAP访问数据源的网络服务不同,一个企业服务可以被绑定到任何协议上的任何数据源。 就SAP而言,一个企业服务将使用WebSphere SAP适配器在SAP服务器上到达要求的BAPI/RFC。 图1显示出企业服务WSDL文档结构:
图1WSDL文档

在WSDL文档的上部,你能看到Abstract Service Interface DefinITion(抽象服务接口定义),在 WSDL中被称为PortType。 PortType由一个或多个输入和输出操作组成,被消息描述。 消息使用XML Schema报告,用来描述流入和流出服务的业务数据。
WSDL文档的下部让你描述服务接口如何实现而在哪里可以查找到它。在WSDL中是通过扩展元素完成的。举例来说:
· 被一个服务提供者特定端口扩展元素描述的服务位置。
· 由绑定部分的服务提供者特定扩展元素描述的服务实现。
能够扩展WSDL是一个非常有效的特点,因为它意味着你可以描述任何类型的服务;它不局限于网络服务。图2显示在WebSphere Studio Application Developer中有效的另一个服务。
图2WebSphere Studio服务

JCA工具插件
JCA 1.0能使企业信息系统(EIS)通过供应商提供的资源适配器插入到应用程序服务器环境。IBM提供JCA工具插件作为JCA 1.0的一个扩展,让EIS提供者为WebSphere Studio编写自己的插入式组件,提供给开发者团体对他们的组件的工具支持。
JCA工具插件定义了如何提供到WSDL的EIS特定绑定扩展,以及定义了一个工具环境如何与一个EIS系统相互作用,取得它提供的函数的元信息。JCA工具插件还定义了一个EIS系统如何提供代码生成作用,并且覆盖了使用解释EIS系统服务调用方法的元数据支持的JCA通用客户端接口CCI扩展。
业务处理流程
业务处理流程(下文简称流程)技术是一个中间件的一个重要的组成部分。 IBM很久前就提供流程技术作为许多产品的一部分(最著名的有,用于基于人的工作流程的MQSeries Workflow,用于消息流的MQSeries Integrator,用于基于MQ适配器的MQSeries Adapter Offering和用于基于Java适配器的Enterprise Access Builder)。这个新的纯java流程引擎,被编写成一个WebSphere企业服务,使流程技术和其它J2EE提供的服务能够紧密整合。
一个流程由一系列的服务节点组成,每个节点表示一个服务操作的调用。服务节点由指明执行顺序的控制连接捆绑在一起,在相应的情况下将发生相应的执行操作。服务节点之间的数据流使用数据连接构造。这些数据连接可以包含数据映射节点,用于当服务节点之间的消息不相配的情况。流程组成使用流程定义标注语言(FDML)描述。
Application Developer提供了基于可视化流程的工具,定义了应用程序衍生物如后端适配器、java bean组件、EJB、服务或者其它流程之间的信息顺序和流程。(在WebSphere Studio Application Developer 4.1.x版中,只有无中断、短期运转和同步流程被支持。这类流程被认为是一个微流程或服务流程。可中断的、长期运行和异步流程将在以后的版本中发布。)
WebSphere Adapter for mySAP.com
WebSphere SAP适配器提供了一个用于SAP的通道,在SAP R/3系统和基于java应用程序之间通信。WebSphere SAP Adapter由三部分组成(图3):
· 基本连接器
· JCA资源适配器
· JCA工具插件
图3: WebSphere SAP适配器

基本连接器
基本连接器包含用于访问SAP R/3系统的运行时间类。它实现SAP RFC协议的客户端接口,SAP RFC协议是依据用于Java的通用RFC接口,这是一个用于RFC访问的不依赖中间件的层。这样,使用基本连接器构建的应用程序可以在运行期使用不同的SAP R/3存取方法,而不用重新编码。用于Java的通用RFC接口的一个java本地实现(JNI)包含了基本连接器。
JCA资源适配器
JCA提供提供了一个用于资源适配器的通用基础结构程序设计模型。这个通用基础结构程序设计模型定义了一个兼容JCA的应用程序服务器和一个JCA资源适配器之间的结合。它能使应用程序服务器控制资源适配器的状态,虽然资源适配器可以以一种容易的方法利用应用程序服务器提供的服务质量(比如安全、事务、连接池等等)。WebSphere SAP适配器中的JCA资源适配器组件实现JCA 1.0规范。 [1] [2] 下一页 |