论文部分内容阅读
[摘 要]首先介绍面向服务的体系架构(Service-Oriented Architecture, SOA)的基本概念和关键特征,然后针对银电电子对账的具体业务要求,提出基于SOA的银电联网电费对账系统的设计实现,充分利用SOA及Web Service的特性,具有良好的可扩展性和可维护性。
[关键词]SOA Web Service 银电联网 电费对账 可扩展性
1 引言
如何充分保障电费资金安全是现代供电企业面临的重大难题之一,及时、准确的与银行进行对账成为保障电费资金安全的重要手段。目前普遍采用的手工对账方式,受到效率、时限性和准确性等方面的限制,已经无法满足业务和管理快速发展的需要。随着计算机技术的飞速发展、银电联网接口的日趋稳定,银电联网电费自动对账逐渐进入我们的视野,银电联网电费对账涉及与供电方的财务管理、营销管理信息系统和银行方的代收费系统等多个系统数据交互。由于各系统之间的异构性、未来业务需求的变化性和设计人员对其他系统数据的未知性,导致程序设计可能陷于大量的设计演变 、代码重复开发和重新测试,系统组件的可维护性、复用性和扩展性的大幅降低,最终导致发生不可预见的错误。面对异构、变化和未知性带来的挑战,在对业务实际需要和SOA应用充分研究的基础上,本文提出基于SOA的银电联网电费对账系统的设计实现,可作为解决这一问题的一种思路。
2 SOA概述
2.1 SOA的体系结构
SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。它本质上是服务的集合,所谓服务就是精确定义、封装完善、独立于其他服务所处环境和状态的函数。服务间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动,服务间需要某些方法进行连接。
在SOA的体系结构中包括如下角色:
(1)服务使用者,服务使用者是一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务功能。服务使用者根据接口契约来执行服务。
(2)服务提供者:服务提供者是一个可通过网络寻址的实体.它接受和执行来自使用者的请求。它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发现和访问该服务。
(3)服务注册中心:服务注册中心是服务发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务提供者接口。
2.2 SOA与Web Service
基于SOA构建的分布式应用程序可以将功能作为服务交付给终端用户,实现时可以采用多种方法,可以利用传统的CORBA或DCOM机制,也可以基于Web服务(Web Service),实现技术是SOA针对具体应用环境而定的。从本质上来说,SOA是一种架构模式,而Web Service是利用一组标准实现的服务,Web Service是实现SOA的方式之一,也是目前最好的方式。
基于Web Service的SOA架构如图l所示:首先服务提供者会在一个W S D L(Web Services Description Language,Web服务描述语言)文件中描述Web服务,通过建立在SOAP (Simple Object Access Protocol,简单对象访问协议)之上的API将这个Web服务在服务注册中心发布;服务请求者可以通过UDDI(Universal Description, Discovery and Integration,统一描述、发现和集成协议)的API在服务注册中心查找合适的服务提供者,找到并获取WSDL文件;然后服务请求者会在WSDL文件的基础上创建一个SOAP请求,这个SOAP请求被发送到服务提供者,服务提供者处理这个请求,服务请求者可以使用该项服务。
图1 基于Web Service的SOA架构模型
与传统开发方法相比,基于Web Service的SOA具有标准化、松散耦合、共享服务、粗粒度和开放性等优点,更易于集成现有系统、加快开发速度,降低开发成本。
3 基于SOA的银电电子对账系统
3.1 系统总体设计
银电电子对账系统根据录入系统的现金缴款单、转账回单、电汇回单等银行单据,并获取电力营销管理信息系统收取电费等记录的相关信息,与银行提供的供电局电费账户的达账流水,依照事先约定好的唯一标识码逐项进行匹配,确认收取电费的金额与银行实际到账金额是否一致,发现不一致或无法匹配的记录进行提示,以便于及时得到处理。
电子对账系统包括以下功能模块:银行单据信息录入、电费信息获取、营业实收确认、银行达账数据接收、电费对账、联网缴费对账、统计分析等。银行单据数据录入,要求收费员录入的银行单据信息包括收费员ID、收取日期、单据类型、到账银行、电费账户、发生日期、银行缴存户名、金额、唯一识别码,作为营业实收对账的数据源之一;电费信息获取,根据对账的规则获取每日、每周的收费信息,作为营业实收对账的数据源之一;营业实收确认,按照一定的规则,将收费员录入的银行单据数据和获取的收费数据进行逐一匹配,最终确定营业实收;电费对账,系统通过唯一识别码为关键字段,自动核对已确定的营业实收记录和银行对应电费账户的电子达账记录是否匹配,主要核对唯一识别码和金额。
3.2 基于Web Service和XML的实现
Web Service 的关键技术包括SOAP、WSDL、UDDI、BPEL4WS等。SOAP基于XMI 的在分布式环境中交换消息的协议,实现服务的调用机制;WSDL基于XML的服务描述语言,为分布式系统提供机器可识别的SDK文档,并且可用于描述自动执行应用程序通信中所涉及的细节;UDDI为Web Service提供信息注册的标准规范,同时也包含一组是使企业能够将自身提供的Web Service注册,以使别的企业能够发现的访问协议。BPEL4WS,商业流程执行语言,是专为整合Web Services而制定的一项规范标准,基本思想是将业务流程管理的能力与Web服务的灵活性和通用性相结合。
框架的实现包括:服务的实现、注册中心实现和服务的编排。服务的实现随开发平台的不同实现方式也不一样,但是服务提供WSDL模型是一致的,注册中心的实现实际上也是实现一个服务,具体规范请参考文献。下面给出资源服务的WSDL描述和用BPEL4WS进行服务编排,资源服务实现了6个数据访问接口:
Identify:获取资源服务中元数据仓库的信息;
ListIdentifiers:获取元数据的唯一标志符:
GetRecord:提供元数据标志符和元数据命名空间,获取元数据项:
GetRecords:提供选择条件集合和元数据命名空间,提取元数据项集合:
GetSourceRecord:提供URI,获取DLLs中的源数据:
GetSourceRecords:提供URI的集合。获取DLLs中的源数据集合。
元素主要提供用于描述所交换消息的数据类型定义;元素代表所传输数据的抽象定义; 素指抽象操作的集合; 素为特定的port type定义的操作和消息指派具体的传输协议和数据格式规范;元素为binding指定一个地址,从而定义了一个服务访问点;元素用于聚合一组相关的服务访问点构成一个Web服务的定义。服务使用者通过读取WSDI 获取服务的详细信息,接下来实现对服务的编排。如果将SOA的架构看成是一种更好的RPC模型,那么SOA所带来的好处是极其有限的。将服务看作一个更大粒度的组件,以流程来整合各种服务,无疑是基于SOA的开放架构解决需求变化所采取的最佳策略之一。
4 结束语
基于SOA可以快速构建松散耦合的、具有跨平台信息处理能力的电费对账系统,这种技术特性给电费对账带来了新的应用模式。只要将电费对账相关的功能通过“服务”的方式“暴露”出来,不管这些功能模块部署在哪一个系统,都可以非常容易地将这些模块集成到所需的业务流程中,从而充分利用现有资源,降低开发及维护成本,建立一个标准统一、通用性强、功能扩展与日常维护简单的电费对账平台。
参考文献:
[1]Eric Newcomer,Greg Lomow .Understanding SOA with Web Services(中文版)[M].徐涵,译.北京:电子工业出版社,2006.
[2]梁爱虎.精通SOA:基于服务总线的Struts + EJB + Web Service整合应用开发[M].北京:电子工业出版社,2007.
[3]单建洪,卢中延.SOA整合之道[M].北京:电子工业出版社,2008:168—170.
[4]朱思斯,李晓林,李晶.基于SOA的数字化校园服务注册研究及实现[J].软件导刊,2009,8(5):73—75.
[关键词]SOA Web Service 银电联网 电费对账 可扩展性
1 引言
如何充分保障电费资金安全是现代供电企业面临的重大难题之一,及时、准确的与银行进行对账成为保障电费资金安全的重要手段。目前普遍采用的手工对账方式,受到效率、时限性和准确性等方面的限制,已经无法满足业务和管理快速发展的需要。随着计算机技术的飞速发展、银电联网接口的日趋稳定,银电联网电费自动对账逐渐进入我们的视野,银电联网电费对账涉及与供电方的财务管理、营销管理信息系统和银行方的代收费系统等多个系统数据交互。由于各系统之间的异构性、未来业务需求的变化性和设计人员对其他系统数据的未知性,导致程序设计可能陷于大量的设计演变 、代码重复开发和重新测试,系统组件的可维护性、复用性和扩展性的大幅降低,最终导致发生不可预见的错误。面对异构、变化和未知性带来的挑战,在对业务实际需要和SOA应用充分研究的基础上,本文提出基于SOA的银电联网电费对账系统的设计实现,可作为解决这一问题的一种思路。
2 SOA概述
2.1 SOA的体系结构
SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。它本质上是服务的集合,所谓服务就是精确定义、封装完善、独立于其他服务所处环境和状态的函数。服务间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动,服务间需要某些方法进行连接。
在SOA的体系结构中包括如下角色:
(1)服务使用者,服务使用者是一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务功能。服务使用者根据接口契约来执行服务。
(2)服务提供者:服务提供者是一个可通过网络寻址的实体.它接受和执行来自使用者的请求。它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发现和访问该服务。
(3)服务注册中心:服务注册中心是服务发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务提供者接口。
2.2 SOA与Web Service
基于SOA构建的分布式应用程序可以将功能作为服务交付给终端用户,实现时可以采用多种方法,可以利用传统的CORBA或DCOM机制,也可以基于Web服务(Web Service),实现技术是SOA针对具体应用环境而定的。从本质上来说,SOA是一种架构模式,而Web Service是利用一组标准实现的服务,Web Service是实现SOA的方式之一,也是目前最好的方式。
基于Web Service的SOA架构如图l所示:首先服务提供者会在一个W S D L(Web Services Description Language,Web服务描述语言)文件中描述Web服务,通过建立在SOAP (Simple Object Access Protocol,简单对象访问协议)之上的API将这个Web服务在服务注册中心发布;服务请求者可以通过UDDI(Universal Description, Discovery and Integration,统一描述、发现和集成协议)的API在服务注册中心查找合适的服务提供者,找到并获取WSDL文件;然后服务请求者会在WSDL文件的基础上创建一个SOAP请求,这个SOAP请求被发送到服务提供者,服务提供者处理这个请求,服务请求者可以使用该项服务。
图1 基于Web Service的SOA架构模型
与传统开发方法相比,基于Web Service的SOA具有标准化、松散耦合、共享服务、粗粒度和开放性等优点,更易于集成现有系统、加快开发速度,降低开发成本。
3 基于SOA的银电电子对账系统
3.1 系统总体设计
银电电子对账系统根据录入系统的现金缴款单、转账回单、电汇回单等银行单据,并获取电力营销管理信息系统收取电费等记录的相关信息,与银行提供的供电局电费账户的达账流水,依照事先约定好的唯一标识码逐项进行匹配,确认收取电费的金额与银行实际到账金额是否一致,发现不一致或无法匹配的记录进行提示,以便于及时得到处理。
电子对账系统包括以下功能模块:银行单据信息录入、电费信息获取、营业实收确认、银行达账数据接收、电费对账、联网缴费对账、统计分析等。银行单据数据录入,要求收费员录入的银行单据信息包括收费员ID、收取日期、单据类型、到账银行、电费账户、发生日期、银行缴存户名、金额、唯一识别码,作为营业实收对账的数据源之一;电费信息获取,根据对账的规则获取每日、每周的收费信息,作为营业实收对账的数据源之一;营业实收确认,按照一定的规则,将收费员录入的银行单据数据和获取的收费数据进行逐一匹配,最终确定营业实收;电费对账,系统通过唯一识别码为关键字段,自动核对已确定的营业实收记录和银行对应电费账户的电子达账记录是否匹配,主要核对唯一识别码和金额。
3.2 基于Web Service和XML的实现
Web Service 的关键技术包括SOAP、WSDL、UDDI、BPEL4WS等。SOAP基于XMI 的在分布式环境中交换消息的协议,实现服务的调用机制;WSDL基于XML的服务描述语言,为分布式系统提供机器可识别的SDK文档,并且可用于描述自动执行应用程序通信中所涉及的细节;UDDI为Web Service提供信息注册的标准规范,同时也包含一组是使企业能够将自身提供的Web Service注册,以使别的企业能够发现的访问协议。BPEL4WS,商业流程执行语言,是专为整合Web Services而制定的一项规范标准,基本思想是将业务流程管理的能力与Web服务的灵活性和通用性相结合。
框架的实现包括:服务的实现、注册中心实现和服务的编排。服务的实现随开发平台的不同实现方式也不一样,但是服务提供WSDL模型是一致的,注册中心的实现实际上也是实现一个服务,具体规范请参考文献。下面给出资源服务的WSDL描述和用BPEL4WS进行服务编排,资源服务实现了6个数据访问接口:
Identify:获取资源服务中元数据仓库的信息;
ListIdentifiers:获取元数据的唯一标志符:
GetRecord:提供元数据标志符和元数据命名空间,获取元数据项:
GetRecords:提供选择条件集合和元数据命名空间,提取元数据项集合:
GetSourceRecord:提供URI,获取DLLs中的源数据:
GetSourceRecords:提供URI的集合。获取DLLs中的源数据集合。
4 结束语
基于SOA可以快速构建松散耦合的、具有跨平台信息处理能力的电费对账系统,这种技术特性给电费对账带来了新的应用模式。只要将电费对账相关的功能通过“服务”的方式“暴露”出来,不管这些功能模块部署在哪一个系统,都可以非常容易地将这些模块集成到所需的业务流程中,从而充分利用现有资源,降低开发及维护成本,建立一个标准统一、通用性强、功能扩展与日常维护简单的电费对账平台。
参考文献:
[1]Eric Newcomer,Greg Lomow .Understanding SOA with Web Services(中文版)[M].徐涵,译.北京:电子工业出版社,2006.
[2]梁爱虎.精通SOA:基于服务总线的Struts + EJB + Web Service整合应用开发[M].北京:电子工业出版社,2007.
[3]单建洪,卢中延.SOA整合之道[M].北京:电子工业出版社,2008:168—170.
[4]朱思斯,李晓林,李晶.基于SOA的数字化校园服务注册研究及实现[J].软件导刊,2009,8(5):73—75.