探索中国CIO人才现状 | 第四季调研报告
移动互联网下基于SOA移动OA系统研究与实现
2014-02-07  作者:e-works 

  随着移动终端的火速发展,移动客户的大规模增多,企业最终会选择在移动应用方面发展是必定的,这是一种新的业务模式和商业模式,而且,将企业原有的pc端的应用移植到手机等移动终端上,会使得用户活跃度显着提高,这将会为移动企业应用开发带来更大的商业创新和市场价值。


  移动OA(0fficeAutomation,办公自动化)系统,是使用移动终端来操作0A系统的实现方式。随着移动互联网的快速发展,办公人员可在任何办公地点使用移动终端办公,极大方便了办公人员在出差,无法使用pc上网的情况下办公难的问题,使企事业单位领导以及办公人员在办公室外可以轻松解决办公问题。


  从这种趋势上看,移动互联网与0A系统的融合是趋势必然,考虑s0A框架松耦合、可重用等特点,将面向服务的SOA框架与OA系统结合,并在移动互联网下开发,可解决现阶段办公系统下存在的诸多问题,从而提出一种新型OA系统。


  1.移动互联网


  1.1移动互联网介绍


  移动互联网,就是将互联网技术、平台、商业模式和应用与移动通信技术结合并实践的活动总称。


  根据易观国际公布的数据,2008年底,移动互联网用户突破1亿;而2009年则长了一番,达到2亿。包括门户、搜索、社交网络、电子商务在内的各种类型的互联网企业纷纷进驻这一领域;2010年,移动互联网的发展迈上了新台阶,相关应用(如Widget)快速发展,平板电脑、电子书等移动互联终端产品的影响力和用户数日益扩大。2011年的中国移动互联网,在无论是市场规模还是用户相关数据的增长都呈现良性。预计移动互联网用户数有机会在2012年突破6亿,并且超过互联网用户数量,智能终端、移动互联网应用继续延续2011年的增长速度。下图为从2008年到2012年期间移动互联网使用人数的趋势图:


  从上述数据中可以看出,移动互联网发展迅速,市场潜力极大,正在深刻改变信息时代的社会生活,因而非常值得开发人员去深入探究移动互联网优缺点,从而开发移动互联网更大的潜力所在。


  1.2移动互联网的优缺点


  移动互联网的优势体现在:


  A.高便携性


  这是移动互联网较pc互联网最大的优势,高便携性是人们选择使用移动终端的根本原因,这充分显示了移动终端对人们生活所造成的翻天覆地的改变。


  B.隐私性


  在pc端,互联网是公开透明开放的网络,这对人们的隐私没有保护,使隐私的安全性得不到保障。但在移动互联网中,数据共享时考虑了客户的隐私性,客户不必将个人设备上的信息给他人知道,从而保障了客户的信息安全。


  C.应用轻便


  移动设备上的应用都是轻便小巧型的,不同于pc端的应用,在移动上使用应用不会很复杂,只是简单地点击浏览,易于操作。


  移动互联网的缺点:


  A.由于移动终端条件的限制,所以企业应用的功能有局限性。


  B.由于移动终端设备输入和屏幕的原因,使得移动互联网上的应用在操作和浏览上,不如pc端全面。


  C.移动端带宽的接入和手机网络费用,需考虑较高的成本因素。


  2.SOA


  面向服务的体系结构(Service-OrientedArchitecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以使用一种统一和通用的方式进行交互。


  SOA是一种粗粒度、松祸合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML/WebService技术之后的自然延伸。


  实现SOA的相关技术:


  1.XML


  XML(可扩展标记语言,ExtensibleMarkupLanguage)标准是一个基于文本的WorldWideWeb组织(W3C)规范的标记语言。


  2.SOAP


  简单对象访问协议(SimpleObjectAccessProtocol)是一个基于XML的,用于在分布式环境下交换信息的轻量级协议。


  3.WSDL


  Web服务描述语言WSDL(WebServicesDescriptionLanguage)是一个提供描述服务IDL标准方法的XML词汇。


  4.UDDI


  统一描述、发现和集成(UniversalDescription,DiscoveryandIntegration)规范提供了一组公用的SOAPAPI,使得服务代理得以实现。UDDI为发布服务的可用性和发现所儒服务定义了一个标准接口(基于SOAP消息)。UDDI实现将发布和发现服务的SOAP请求解释为用于基本数据存储的数据管理功能调用。


  3.移动互联网下SOA框架的移动OA系统设计


  3.1移动OA系统优势分析


  一般情况下,基于SOA框架,都是将原有系统进行改造,使之成为面向服务的设计方式系统。在原有OA系统的前提下,实现基于移动互联网下SOA框架的移动OA系统,有着许多优势,现就开发维护性、开发难度性、开发成本方面作如下分析。


  1.将原有OA系统改进成移动办公系统,使之成为了在移动互联网下可使用的办公系统。但移动互联网瞬息变幻着,人们对于移动应用的需求更是每秒钟都在改变。基于这种情况下,选择使用基于SOA框架的开发方式,将原系统封装成业务服务的设计方式,即使需求改变,只需要调整相关业务服务流程或者修改相关操作即可,使用者不必知道提供者实现业务的具体细节,使整个应用更容易被维护和使用。


  2.在原有OA系统下,只需改动成适合移动终端即可,使用SOA框架,有着易于集成的优势,SOA可以在现有系统和应用的基础上,转换成更易于用户使用的服务接口,不改变原来系统的结构的前提下,通过提供服务接口的业务服务来访问原始系统,降低开发难度。


  3.SOA框架具有松散藕合的特征,所以在基于原有系统开发的基础上,即进行二次开发,有着易于集成的优势,所以大大降低了开发成本。


  3.2移动OA系统设计方案


  3.2.1移动OA系统技术选择


  移动OA系统在基于SOA框架的基础上,结合b/s结构和web2.0开发的方式。技术实现选择的是①XML,用于描述核心数据类型;②WebService框架的核心技术SOAP,用于在网络应用程序之间进行结构化数据交换。30WSDL,用于说明一组SOAP消息以及如何交换这些消息;④UDDI,提供一种发布和查找服务描述的方法。


  数据层中,系统存储了OA系统中用户的相关信息和办公系统信息。


  业务层中,首先根据模块功能对系统分块,包括待办事项、公文处理、移动通知公告、大事记、领导日程、邮件系统和即时消息等功能,这些是根据原系统对OA系统功能需求划分的,属于细粒度划分。现在使用SOA框架对这些功能进行整合,把功能相近并且业务流程相似的模块整合起来,使用webservice接口进行封装,方便用户使用。用户在要做某类操作的时候,可以调用统一的接口,不用考虑具体要执行的功能,方便用户处理,以服务用户为原则,这是SOA的粗粒度划分,松祸合的处理方式。


  业务流程层中,将业务层中的各项业务进行编排重组,形成复合式服务业务,满足用户多种多样的需求,使系统能更好的为用户提供多元化、全面的服务体系。


  表现层中,在原OA系统的基础上,实现基于服务的业务界面,给用户更直观、更简便的操作方式。表现层对用户提供服务接口的界面,并将服务完成实现后的数据结果反馈给用户。


  移动终端方面,用户可使用手机,pad等等移动终端访问移动OA系统,因为系统是基于B/S模式实现的,所以只要移动终端可以正常上网,并用浏览器访问OA系统即可,移动OA系统会根据终端的不同自动选择适应终端的界面,达到了自适应屏幕的需求。


  移动互联网,采用web2.0技术,web2.0实现了人机互动,允许用户通过查询数据库后将反馈的结果生成动态的页面展示出来,web2.0通过XML,SOA,AJAX等技术进行支撑,用户不仅可以像web1.0一样接受静态页面信息,还可以发布信息,实现双向互动,即除了“读”,还可以“写”。这充分适合基于SOA框架的移动OA系统的开发,所以选用web2.0技术作为支撑,满足当前移动互联网的需求。


  图中的服务中心UDDI的作用是,服务提供者首先定义、实现服务功能然后将所能提供的服务功能注册到服务中心UDDI;服务中心UDDI接受服务,注册服务并发布服务功能;服务需求者通过自己对服务的需求,在服务中心UDDI已经注册的相关服务中,挑选适合的服务进行整合处理,以适应自身的服务需求,从而构建面向服务的OA应用系统。


  3.2.3系统运行数据分析


  根据上述系统设计思想,成功实现了移动互联网下基于SOA框架的移动OA系统,系统在基于原pc端web开发的OA系统基础上,修改成了在移动互联网上的移动OA系统,在保持各项功能保持的基础上,根据面向服务为原则,改为更适合用户操作的业务,并适应移动终端的需求,可实现自适应各种终端,并加入了中间件服务保证系统运行效率。使用J2EE架构开发,采用基于B/S的模式,构建WebServices,使用XML实现了SOA底层数据的描述和交换。


  4.结语


  本文在探讨了移动互谅网蓬勃发展的趋势下,分析了移动互联网下开发应用的利与弊,并讨论了在移动互联网下基于SOA框架的移动OA系统开发的优势,从而提出了基于SOA框架的移动OA系统的设计方案,并详细介绍了在开发过程中使用的相关技术和系统设计架构,最后给出了实验结果的数据,显示出移动OA系统的实现具有可行性并且效率是现实可观的。