基于云计算的服务性行业系统开发平台的设计与实现
2017-02-14田立军丁
◆田立军丁 楠
(1.中国人民解放军91413部队 河北 066000; 2.河北建材职业技术学院机电工程系 河北 066000)
基于云计算的服务性行业系统开发平台的设计与实现
◆田立军1丁 楠2
(1.中国人民解放军91413部队 河北 066000; 2.河北建材职业技术学院机电工程系 河北 066000)
现代服务业的发展必须由以信息与通信技术为核心的高技术来支持,云计算是新兴的基于互联网的资源共享与利用方式,核心是将大量计算机(服务器集群)构成的资源,为不同用户的计算需求提供服务,本文主要通过分析现代服务业的现状,提出了一种服务型行业开发平台的设计与实现方案。
现代服务业; 云计算; 互联网; 平台
0 前言
现代服务业是从工业、农业、服务业三个产业角度抽出的,它是一种利用高新技术,特别是信息通信技术和现代管理理念的一种新的服务业态,云计算正是上述所提的新的业态。云计算是新兴的基于互联网的资源共享与利用方式,随着网络尤其是宽带网络的发展,以及“虚拟化软件”技术的实现,人们意识到“网络即是计算机”,云计算使我们可以把计算能力、存储能力集中起来,放在“网络”中去,以SOA框架和Web服务模型为基础的企业业务集成,与传统的集成机制相结合,实现了业务应用软件系统间的通信和连接。本论文研究开发面向应用的业务适配器组件,实现各集成应用之间可管理的接口透明,为企业应用提供了便捷、一致、安全并符合标准的丰富接口,保证服务之间信息的可靠传送,进而实现不同厂家的数据库、中间件运行平台及其基于这些平台之上开发的应用软件的服务集成。
1 云计算服务国内外发展现状
目前,SOA(Service Oriented Architecture)在国内外已经迅速成为技术主流。在微软、IBM 等业界领军企业的推动下,第二代WEB 服务扩展形成了WS-Referral、WS-Routing、WS-C oordination、WS-Transaction、WS-Attachments、WS-Inspection、DIME等标准,用以解决诸如服务事务处理、文件附件、二进制信息处理等问题。自世界上最大的在线零售商Amazon公司200 6年3月发布简单存储服务(Simple Storage Service,S3)尤其是2008年10月推出弹性计算云(Elastic Computer Cloud——E C2)服务正式版以来,Google、IBM与微软等互联网与IT巨头纷纷把“云计算”作为自己未来的核心战略。
国内,随着SOA技术的不断成熟,中国的SOA架构模型和应用推广已经有了良好的需求环境。为了进一步推进SOA在中国的发展,形成中国特色的SOA架构模型和规则规范。2005年4月成立了“长风联盟”,在“长风联盟技术发展蓝图”中将SOA确立为了联盟技术战略方向。该联盟是在国家各部委和北京市科委、北京市信息办、中关村科技园区管委会等部门的支持和指导下,由一批立志振兴中国自主软件产业的软件企业和第三方机构自愿发起筹建。2006年12月20日,“长风联盟”加入国际标准组织OASIS并正式成为SOA标准制订的重要参与者。此外,普元、东方通科技等一批国内IT企业也都针对SOA进行了研究,开发了自己的产品。
2 系统开发平台关键技术
2.1 流程服务的生命周期
流程服务的生命周期继承自业务流程的生命周期,其状态也继承自业务流程的状态,添加了Web服务需要的部分特性。流程服务的状态包括:
准备状态:服务请求者在发起服务请求之前,流程服务处于准备状态;
启动状态:经过准备状态之后,服务请求者根据服务描述文件和服务执行的参数信息提供必须的信息后,开始请求启动流程服务;
运行状态:流程服务启动后,进入运行中状态;
终止状态:流程服务执行到结束节点时,自动进入终止状态,该状态下,流程服务需要处理流程执行完毕的会话信息以及向服务调用者发送流程结束确认消息和返回值消息。
2.2 状态的转换
流程服务的状态性本身带有Web服务的特性,所以不同于流程的状态性。流程服务的状态转换过程如下:
图1 流程服务状态转换图
2.3 服务状态的管理
服务管理系统定义了访问服务所需要的SOAP消息结构,所有对于流程服务的访问都通过一个统一的通用的SOAP结构进行访问。另外一个重要功能是对于流程服务状态的通用性管理,系统提供了一个服务代理,该代理控制,管理流程服务的状态转换。由于流程服务的状态是有限性和固定性,服务代理提供了对于流程服务所有状态的控制,包括启动流程服务,中止流程服务,重启流程服务,发送通知服务,异步消息更新服务,同步参数更新服务,终止服务等。服务代理将这些状态分为两种,同步消息状态请求,异步消息请求。同步消息状态请求包括:启动,终止,中止,重启。异步消息请求包括:通知服务,异步消息更新,同步消息更新等。
3 系统的设计与实现
3.1 系统结构描述
图2 管理系统结构图
系统主要是利用修改后的BTP协议来控制和协调分布式环境中的Web服务的事务性操作。Web服务本身的业务逻辑不需要进行任何的更改。同时本系统对于撤销的事务都是利用补偿操作来完成的,为了增加系统的灵活性,补偿的具体操作由开发人员按照具体的服务来进行编写。本系统能够解决分布式环境下长事务控制和管理,提高系统的资源利用率。系统结构图如图2。
3.2 SOAP消息的传递机制实现
3.2.1 SOAP消息编码
SOAP消息的封装其实是根据服务描述文件,把客户请求的服务功能,该服务功能所需要的参数封装进SOAP消息里。设计了一个可嵌套迭代的SOAP消息中数据结构。部分代码如下:
这个XML Schema是SOAP消息中编码部分需要的Schema,其中messageParameter代表的是简单类型参数,messageParamet ers代表的是复杂类型参数。
3.2.2 SOAP消息的封装和解封
这部分工作的实质是SOAP消息编码和MsgTree数据结构之间的转换工作,SOAP消息封装是指从MsgTree对象到SOAP消息实例的过程; SOAP消息解封是指从SOAP消息实例到MsgTree对象的过程。SOAP消息的封装和解封概念是从序列化(MarShal)和反序列化(UnMarShal)来的,利用通用性的数据结构和消息结构传递所有流程服务的消息,简单,高效,提高了系统的效率,降低了开发周期和开发的复杂性。
3.3 服务状态的管理实现
在实现有状态的服务时,把整个流程以服务的形式发布,把服务状态以服务功能接口的形式提供给客户,客户可以在服务描述文件中明确的看到有状态服务的各个状态和并可利用我们提供的功能查询服务当前的状态。
3.3.1 准备状态
该状态是为第一次访问流程服务的客户或者流程准备的,在客户端第一次访问流程服务时,由于我们的WSDL描述文件的特殊性,无法得到流程服务所需要的全部参数信息。该状态是由客户端后台程序自动启动,自动执行,流程服务为服务调用者准备参数信息并以表单的形式把参数信息呈现给客户,以供服务调用者输入。
3.3.2 启动状态
服务调用者输入参数信息并确定进行服务调用后,客户端将服务调用者的请求和参数信息发送到ESB(企业服务总线),ESB转发到目的服务端,服务提供者检查请求服务的有效性,参数信息的有效性,在二者都有效的情况下,启动流程引擎,产生流程服务实例,使其进入启动状态,返回一个流程服务实例给用户。
3.3.3 交互状态
该状态提供了服务请求者和服务提供者交流的渠道,该状态不是一个特定存在的状态,而是存在于流程服务的其他状态中,交互状态可以和除准备状态之外的任何状态共存。交互状态的这种特性使得服务请求者可以随时监控流程服务运行过程,以便于及时做出调整,并把这种调整直接反馈到流程服务实例上。
3.3.4 终止状态
当流程服务执行到结束节点时,流程服务自动由运行状态进入到终止状态,该状态下,流程服务把终止消息反馈给服务请求者,这也是交互状态的利用。
4 结束语
“十二五”的规划中,我国政府已经把加快发展高技术服务业作为国民经济的重要增长点,要求到2020年,形成较为完善的高技术服务产业体系,成为服务业发展的主导力量。同时,“十二五”规划也将大力发展包括新一代信息技术在内的战略性新型产业。这两者有着密切的内在联系,云计算等新一代信息技术将为发展高端信息服务创造难得的机遇。