基于SaaS移动中间件平台研究与开发

2014 年 6 月 23 日4880

  随着各种高端智能手机快速走向普及,与应用终端有关的计算速度、用户界面、输入等问题正快速得到解决,而能否普及移动数据应用取决于时候有足够多的吸引人的应用,即“内容”的丰富程度能否匹配高带宽的网络和高性能的终端。移动中间件平台可以为企业移动开发提供丰富的软件复用,同时,SaaS的按需使用、能够被快速部署、服务可以被标准化和度量等特点,使得它非常适合移动中间件平台的设计。

  1、相关介绍

  目前,中间件被普遍认为是介于操作系统和应用软件之间的软件层,提供身份认证、鉴权、定向和安全等功能,管理计算资源和网络通信。中间件必须具有以下特点:

  (1)支持标准的协议和接口;

  (2)支持分布式计算,提供跨网络、硬件和操作系统的应用或服务的透明性交互;

  (3)满足大量应用的需要;

  (4)运行于多种硬件和操作系统平台。

  作为操作系统和应用系统界面之间的支撑软件,中间件可以屏蔽硬件、软件、协议和算法的复杂性和差异,便于业务能力的升级和扩充,从而缩短应用的开发周期、节约应用的开发成本、减少系统初期的建设成本、降低应用开发的失败率、保护已有的投资、简化应用集成、减少维护费用、提高应用的开发质量、保证技术进步的连续性,并增强应用的生命力。另外,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发的应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。在传统的分布式系统中,为屏蔽系统的异构性和分布性,提高系统的开发效率,中间件技术被成功地使用到分布式系统中。但是,由于移动计算的执行环境随着移动主机位置的改变而动态变动,传统的中间件技术显然不能直接应用到移动应用系统,因此,结合移动应用系统特点,设计满足移动系统要求的移动中间件对于提高移动系统的性能和开发效率有重要意义。

  软件即服务模式(Software as a Service,SaaS)在业内得到广泛认可,发展势头迅猛,已经有替代传统软件应用模式和ASP模式的趋势,正在成为软件未来的主体发展方向。SaaS的中文含义是软件即服务,是通过Internet分发软件和提供软件服务的商业模式,SaaS运营商或软件厂商将应用软件统一部署在自己的服务器上,用户可以根据自己实际需求,通过互联网向厂商或SaaS平台运营商定购所需的应用软件服务,按定购的服务数量和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件产品,也不用再购买硬件系统,而变为向供应商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件。

  它的优势体现在:相对于企业用户而言,SaaS让用户以低成本,低门槛和低风险的方式使用软件服务;相对于软件供应商而言,SaaS可以借助于互联网的传播能力高效,快速地推广软件服务,并且可以避免重复工作,使软件供应商专注于提高服务质量,提高核心竞争力。

  2、基于SaaS技术的移动数据应用WEB快速开发平台

  基于SaaS技术的移动数据业务构件化快速开发应用,就是通过SaaS(软件即服务)的思想及其核心技术,建立一个只需要在线选取构件化组合功能应用,即可生成用户所需要的移动数据应用功能的开发平台,并通过对各类常见手机终端模拟器构件的调用进行模拟测试。各个功能单元部署在服务端的构件服务器提供开放的标准化的API接口。基于SaaS技术的移动数据应用WEB快速开发平台以移动数据领域构件库作为支撑,提供了涵盖移动数据应用各项基本业务功能的构件,如:窗体展示、登陆、数据交互、表格控制、多媒体展示和传输等。每个构件API调用都是一个基本的功能单元,用户在WEB快速开发平中台根据自身的开发需要,在系统中选择需要部署的构件组合应用,再经由服务端系统自动部署封装,从而用户可实现构件化的模块组合快速开发模式,脱离重复的代码编写工作。

  Client-Tier组件是运行在客户端的机器中,处理客户端事件。Web-Tier组件运行在J2EE服务器中,用于接受用户请求和向用户展示数据结果。Business-Tier组件运行在J2EE服务中,专门处理各种应用事务逻辑。Enterprise Information System(EIS)-Tier软件运行在EIS服务器中,提供对各种应用数据的存储和管理,由应用服务器对其进行访问和控制,使得客户层和数据层完全隔离。

  在具体实现中,我们采用先进的“基于软件构件复用技术”的设计思想,即通过抽象数据访问层和业务处理层,将各个重要功能组件分别进行封装,生成各种通用的可复用中间件,如构件管理、WEB开发API管理、日志监控、企业会员管理、消息服务、用户自定义模块等,从而使系统平台可以根据实际应用需求,灵活的选择各种构件模块,实现快速的搭建应用平台功能,系统在设计上还必须具有良好的兼容性和扩展性,为此以我们原系统平台底层的基础数据模块、用户管理模块、构件管理模块、权限管理模块等为基础,各种上层应用模块采用插件注册的形式集成进来,从而既可以实现将各个应用模块纳入平台统一的数据、安全管理体系,又可以降低各个上层应用模块的耦合度,在增加新的应用功能时不会影响平台系统的整体结构,做到应用模块即插即用,扩展灵活。

  3、关键技术

  为实现基于SaaS的移动数据应用WEB构件资源服务模式,本平台基于SOA架构,SOA(Service-Oriented Architecture),即面向服务的架构,是一种面向企业级服务的系统架构。

  利用基于SOA的系统构建方法,一个基于SOA架构的系统中的所有的程序功能都被封装在一些功能模块中,我们就是利用这些已经封装好的、提供统一接口定义方式的功能模块组装构建我们所需要的程序或者系统,而这些功能模块就是SOA架构中的不同的服务(services),通过service和服务总线实现信息资产管理系统与现有各种应用系统的集成以及数据的统一展现,并为未来的扩展提供支持。SOA架构具有以下特点:

  (1)可靠消息传输:基于Websphere MQ高性能、高可靠性的消息存储/转发传输机制,可集成多操作系统平台;支持点对点、一对多、多对多等传输模式,支持事务处理、灾难恢复、集群、负载均衡等丰富的企业级功能。

  (2)数据格式转换动态路由:采用服务总线的拓扑结构,集中处理数据交换清求,根据业务规则在系统问收集/分发数据,并将这些系统问共享、交换的数据转换为接受方可识别的表现方式;集成交易处理、数据库访问等扩展功能,丰富数据处理手段。

  (3)多种接入方式:支持多种接入设备、多种传输协议,可在不同协议问进行数据转换,实时为身处各种环境的人员、应用、移动和无线和遥测设备提供业务事件信息。

  (4)工作流引擎:体现SOA理念,遵循J2EE,BPEL4WS等标准的业务流程管理系统,可以实现业务流程的动态调整,业务流程的可视化设计、分析、部署及测试,无缝的集成企业环境中现有的应用系统。

  (5)适配器技术:丰富的适配器种类适配不同的厂商、不同的技术,使企业在最低限度的影响现有系统的前提下,快速方便地将企业中的应用系统如ERP,HR,CRM及SCM等连接到企业的集成平台,实现系统之问信息共享与交换。

  WEB构件在线调整技术。平台所提供的典型移动应用服务开发框架,考虑到每个移动数据服务厂商对每个移动数据应用服务会有不同的开发需求,所以开发平台中的WEB基础构件可以实现在线的属性调整功能。而针对每个不同类型的基础构件,本文会考虑每个构件的可调整属性的类别以及构件整体保留调用接口的具体解决方案,以确保每个开发平台中的基础构件都能贴合企业用户的开发需要。除了上述构件个性化的调整技术之外,平台将通过以下技术,实现平台实现构件的在线调整功能:

  (1)Asynchronous t and XML技术。异步t和XML技术使客户端与服务器只交互必需的数据,通过SOAP或其它一些基于XML的web service接口,在客户端采用t处理来自服务器的响应。这就可以实现用户在客户端上随意改变构件的属性而不刷新使用中的WEB页面。从而提高用户在调用构件中调整构件的效率。

  (2)GUI属性调整界面的开发。为了使开发用户真正地从代码编写上升到构件模块搭建的开发过程,还需实现构件属性调整的WEB GUI界面,使用户可以用可视化的方法进行构件的搭建。

  (3)构件属性的数据存储与调用。在开发平台内,同一个基础构件会被多个用户使用;即使是同一个用户,也可能因为在不同的移动数据应用项目中调用该构件,而需要建立多个不同的构件属性。为此开发平台会通过高效、低冗余的数据结构记录用户的构件属性修改记录。

  4、结束语

  本文提出了建立基于SaaS技术的移动中间件平台的方法,叙述了平台的研究与开发。

 

(编辑:严肃)

0 0