电子数据交换平台规范.doc_第1页
电子数据交换平台规范.doc_第2页
电子数据交换平台规范.doc_第3页
电子数据交换平台规范.doc_第4页
电子数据交换平台规范.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 电子数据交换平台规范1.1 基本技术规范u 数据交换平台服务器采用满足J2EE规范的应用服务器实现u 数据交换平台包含的数据交换服务使用纯Java接口作为统一的抽象接口描述u 数据交换平台包含的数据交换服务可以发布为多种形式,包括:EJB、Servlet、WebService等u 数据交换平台的数据,使用XML格式进行表示u 数据交换平台要求提供安全认证和授权访问机制,确保数据交换的安全1.2 数据交换接口规范数据交换平台中的数据交换接口,统一通过纯Java接口来进行表述,对这类Java接口,要求满足如下规范:u 接口方法的参数和返回值要求实现序列化接口u 接口方法的参数和返回值,如果是数据集合,统一通过Rowset结构来实现,每个数据集合参数,需要标明RowSet结构的名字下面是一个数据交换接口的例子:/* * * 接口: 客户基本信息查询 * 说明: 本接口提供对营销用点客户的基本信息查询功能 */public interface bo_cust_info /* * 查询客户基本信息 * param custId : 客户号 * return : 包含客户信息的结果集,如果没有该客户数据,返回空的结果集 * 返回结果集名: epm/ar_cust_info */public DSRowSet queryByCustId (String custId);1.3 RowSet数据集合结构说明数据交换过程中,由于数据格式的混乱,常常带来很多附加的工作,这些工作往往导致系统出现错误,或降低了系统的效率,所以,应当采用尽量简单、统一的数据格式。数据集是数据交换过程中经常会遇到的数据结构,例如,查询结果往往包含多行数据。结果集可以有很多种实现方式,数据交换平台中,统一使用称为RowSet的数据集结构。通过如下的例子来说明RowSet的结构:000066937511000082某客户名客户地址22010000991400000669375010如上是RowSet的结构XML表示,可见,这个结构很容易理解,每个rowset节点描述一个数据集,每个row节点描述一个数据行,row节点下,每个子节点,描述一个数据列的值。这里,需要注意rowset节点的名字属性,每个名字唯一定义一个数据集的元数据结构,这个结构称为RowSetDef,数据交换平台统一提供对这个名字的结构解释,下面是如上数据集的结构描述:数据交换平台提供对RowSet数据集的解析API。1.4 对MsgInfo数据结构的说明MsgInfo是基于XML的描述接口参数和返回结果的数据结构如下是一个MsgInfo的结构:0value1000066937511000082某客户名客户地址22010000991400000669375010此结构中,根节点是msginfo,包含一个parameters节点和一个rowsets节点,parameters节点包含简单的变量参数,而rowsets包含多个RowSet数据集。如下是一个请求参数的例子:00001234如下是相应的成功返回值:0000066937511000082某客户名客户地址22010000991400000669375010数据交换平台提供对MsgInfo结构的解释API1.5 WebService接口规范WebService是不同技术平台下应用系统进行数据交换的最好的方案,尤其是.NET平台和J2EE平台环境间的数据交换。在数据交换平台上通过webservice部署的接口服务,要求满足如下规范:u 接口的方法只包含一个字符串类型的输入参数,这个参数是一个MsgInfo结构,具体的参数打包在MsgInfo中进行传递u 接口的返回值也是一个字符串类型的参数,这个参数是一个MsgInfo结构,具体的返回数据打包在MsgInfo中,这个MsgInfo中,要求至少包含一个参数returnCode,当returnCode = 0时,表示调用成功,否则,表示调用失败,如果具体的错误代码代表不同的含义,由接口自己设定;另外,MsgInfo中可以包含一个可选的returnMessage参数,描述错误的信息。按照如上规范,前面bo_cust_info接口(在webservice中转换成BOCustInfo)的wsdl描述是: 数据交换平台对每个接口提供客户端API,便于客户端进行访问。第2章 数据交换客户端规范2.1 WebService客户端2.1.1 Java环境如果客户端是Java环境,可以使用数据交换平台提供的数据交换服务接口客户端API来进行访问。以BOCustInfo接口为例,客户端访问代码如下:/BOCustInfoSoapBindingStub 是服务接口客户端API中的代理类epm.ws.custinfo.BOCustInfoSoapBindingStub binding;/设定访问地址String address = http:/localhost:8080/epm/services/BOCustInfo;/构造连接try binding = (epm.ws.custinfo.BOCustInfoSoapBindingStub) new epm.ws.custinfo.BOCustInfoServiceLocator().getBOCustInfo(new .URL(address);catch (javax.xml.rpc.ServiceException jre) if(jre.getLinkedCause()!=null) jre.getLinkedCause().printStackTrace(); throw new Exception(JAX-RPC ServiceException caught: + jre);/创建参数MsgInfo msg = new MsgInfo();msg.setParameter(custId,0000669375 );/远程调用接口服务String value = binding.queryByCustId(msg.getXMLString();System.out.println(result is : + value);2.1.2 .Net客户端.Net应用中(以C#代码为例),通过在工程中增加Web引用,可以方便的访问数据交换平台的接口服务。设增加的Web引用名称为:BOCustInfo,则访问代码示例如下:BOCustInfo.BOCustInfoService service = new BOCustInfo.BOCustInfoService();String address = http:/localhost:8080/epm/services/BOCustInfo;service.Url = address;String msgParam = 00001234;String result = service.queryByCustId(msgParam);为了便于访问,.Net客户端可以编写对MsgInfo和RowSet结构的解释类。2.2 EJB客户端EJB客户端指可以访问EJB的客户端应用,一般是Java环境。数据交换平台对EJB客户端提供接口调用API,EJB客户端可以以一种纯Java接口的方式来调用数据交换服务,示例代码如下:bo_cust_info bo = (bo_cust_info) BOUtil.getObject(bo_cust_info.class);DSRowSet rs = bo.queryByCustId(0000669375);System.out.println(rs.getXMLString();所有远程调用的技术细节被BOUtil.getObject方法的实现屏蔽。客户端不必关心访问的物理链路,访问的具体信息配置在文件中。第3章 数据交换服务端规范数据交换平台对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论