电子数据交换平台规范.doc

上传人:jian****018 文档编号:9606472 上传时间:2020-04-06 格式:DOC 页数:8 大小:46.50KB
返回 下载 相关 举报
电子数据交换平台规范.doc_第1页
第1页 / 共8页
电子数据交换平台规范.doc_第2页
第2页 / 共8页
电子数据交换平台规范.doc_第3页
第3页 / 共8页
点击查看更多>>
资源描述
第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 java.net.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章 数据交换服务端规范数据交换平台对数据交换服务端的技术要求如下:u 服务端应用系统可以采用WebService,EJB, 或开放数据库的方式对数据交换平台提供数据服务u 服务端应用系统应避免除数据交换平台之外的外部系统访问u 服务端应用系统应提供标准的权限机制,保证数据访问的安全性u 新开发的服务端应用系统,应采用与数据交换平台接口相似的技术规范,以便于数据服务接入数据交换平台
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 方案规范


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!