面向服务的移动应用数据管理的设计和实现

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:hbl20062
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文对数据管理过程中出现的问题:数据不一致,有冗余性,独立性差提出了面向服务的移动应用数据管理的解决方案。该方案采用4层架构:客户端,VPN,Web Service和服务器,可以保障系统的安全性、可重用性和可移植性。然后,本文提出了移动应用数据管理的基本功能以及相应流程,并结合例子给出了具体实现。
  关键词:面向服务;移动应用;数据管理;Web Service
  中图分类号:TP311.13
  当今世界,移动设备正成为人们不可或缺的通信设备,人们使用移动设备浏览网页,与人交流以及发布信息。可以说,移动设备是人们生活中非常重要的组成部分。移动设备广泛使用使得移动应用也受到人们的欢迎。迄今为止,已有41万苹果移动应用可以供用户下载,70万Android应用由用户选择,6万Win8应用要为用户提供独特的体验。在移动应用的开发和维护当中,数据的管理是一个重要问题。怎样提供一个良好的方案进行数据的管理,展现一个可维护,可重用,易使用,安全的平台是本文主要解决的问题。
  1 移动应用的数据管理的发展
  移动应用发展的早期,一般使用文件系统来管理数据,移动应用只需要从本地文件中进行加载和存储数据,不需要和服务器进行交互,适合在网络无覆盖的情况下使用。这种方式比较简单,但是不能解决数据冗余和数据独立性的问题;而且,文件系统不能管理庞大的数据量。
  数据库是按照数据结构来组织、存储和管理数据的仓库。数据库存放的数据是结构化的,没有有害的数据和不必要的冗余,可以被多个应用程序共享。而移动数据库扩展了传统的数据库系统,它是由客户与服务器的节点动态连接的。移动数据库的数据在地理上是分散的,逻辑上是集中的,用户要实现数据处理和查询功能可以使用终端和节点服务器的连接。
  基于SOA的移动应用数据管理就是服务器提供一套访问数据的Web Service,移动应用可以使用这些Web Service从服务器下载数据,并保存在本地文件存储中,支持在离线状态使用。根据移动应用的具体业务,移动应用还可以使用Web Service将某些数据保存到服务器上,实现客户端和服务器数据的同步。
  2 面向服务的移动应用数据管理的设计
  在将软件应用移植到移动应用时,需要根据移动应用的业务的常用性,易用性和可维护性来选择移动应用的功能。面向服务的移动应用的主要功能包括: 根据用户的查询请求,访问服务器的数据并进行本地缓存;根据用户的保存请求,保存数据到服务器中;在离线状态下可以使用移动应用的功能。除了满足移动应用的功能需求,非功能需求也很重要。面向服务的移动应用的非功能需求包括:(1)安全性。(2)可重用性。(3)可维护性。(4)可移植性等。
  为了实现移动应用的功能需求和相应的非功能需求,以移动销售助手为例,该系统的业务实体有:账户,销售订单,联系人,销售机会,合同和活动。除了业务实体,其他的主要实体有:国家,地区,活动类别,机会团体,销售地区等。对于业务实体数据的加载,需要根据系统的业务流程来实现;由于主数据是在系统中被其他业务实体所使用的数据,是在整个系统中共享的数据,所以,主数据的加载需要在应用启动的时候进行。
  系统的E-R图如下:
  3 面向服务的移动应用数据管理的实现
  在面向服务的移动应用的数据管理的实现中,系统体系结构包括如下4层:客户端,VPN(虚拟专用网络),Web Service和服务器组成。客户端需要登录VPN才能访问服务器的数据,保证了数据传输的安全性。以移动销售助手为例,在访问销售订单时,详细过程如下:
  (1)用户选择查询账户下的所有的销售订单。
  (2)系统生成查询字符串。
  (3)系统以查询字符串通过Web Service请求服务器。
  (4)服务器响应请求,将销售订单列表以xml格式返回给应用。
  (5)应用解析xml并显示销售订单列表。
  具体代码如下:
  DataServiceQueryquery= (DataServiceQuery)ctx.SalesOrderCollection.Where(soLoop => so.ID == soLoop.ObjectID && so.ProcessType == soLoop.ProcessType);
  LoggingEventSource.Log.Debug("Backendcall: + query.RequestUri.ToString() + ");
  odataSalesOrderList = await query.ExecuteAsync();
  SalesOrder odataSO = odataSalesOrderList.First();
  OdataUtil.MapSingleSalesOrderOdataEntityToVOWithSingleSalesOrderPassedIn(odataSO, ref so, parentAcc);
  加载活动类别主数据的详细过程如下:
  (1)用户选择启动应用。
  (2)系统在启动应用时,生成查询活动类别的字符串。
  (3)系统通过Web Service向服务器发出请求。
  (4)服务器将联系人的列表以xml格式返回给应用。
  (5)应用解析xml并将结果加载到内存。
  具体代码如下:
  rootAccount.Categorys.Items.Clear();
  string partUriString = "GetActivityCategoryList";
  Uri uri = new Uri(partUriString, UriKind.Relative);
  LoggingEventSource.Log.Debug("Backendcall: + uri.ToString() + ");
  MSAExceptionHandler.ResetError(rootAccount);
  IEnumerable< Category> categories = await ctx.ExecuteAsync< Category>(uri);
  foreach (Category category in categories)
  {
  Category domainCategory = rootAccount.Categorys.Create();
  domainCategory.CategoryCode = category.CategoryCode;
  domainCategory.CategoryName = category.CategoryName;
  }
  4 结论
  可见,采用面向服务的移动应用的数据管理解决方案可以克服文件系统管理带来的问题,保证数据的一致性和独立性。采用客户端,VPN,Web Service和服务器的系统体系结构能很好的解决系统安全性的问题。另外,该方案还可以应用于其他的移动应用,具有高度的重用性和可移植性。
  参考文献:
  [1]饶元.面向服务体系结构的企业资源计划系统应用模型与集成策略[J].计算机集成制造系统,2006,12(10):1570-1576.
  [2]张斌.移动数据库的数据管理技术研究[D].北方工业大学,2010,5:12-13.
  作者单位:北京航空航天大学 软件学院,北京 100083
其他文献
随着计算机网络的迅速发展,给我们的学习、生活及工作均带来了很多的便利,可伴随而来的计算机网络安全问题也给人们带来了很大麻烦,轻则会影响人们的工作效率,重则还会造成经
装备工业被称为工业的母机,是一个国家现代化的基础和经济实力的集中表现。装备制造业是为国民经济各部门提供装备的战略性产业,在很大程度上决定着社会生产消耗水平和国民经济
摘 要:随着张家港学院网络改造方案的完成,各项性能均能满足教学教育管理的要求。利用该校园网,以信息化、网络化的教育手段,真正实现网络教学、远程教学和教育资源共享。只是该网络的改造是在原有的网络架构的基础上升级,核心的网络协议还是以IPv4为基础,而根据网络技术的发展趋势,未来的Internet基础设施将由IPv6实现“大一统”,学院的网络也必将进一步升级,为此,现在就要着手进行一些理论上的准备和实
传统LMS算法的特点是计算简单,易于实现,但是性能方面存在收敛速度和稳态均方误差的矛盾。为了解决这个矛盾,提出一种引用范数的双曲正切函数变步长最小均方误差(HT—VSS)LMS算法,
摘 要:随着互联网、物联网技术的发展,实验室的智能化管理迫在眉睫。校园一卡通的普及和唯一性为实验室智能管理提供了必备工具,是实验室智能登录系统设计与实现的基础。智能登录系统选用握奇W238X系列的卡式非接触读写器读取学生一卡通信息,进行智能匹配完成计算机登录,解决了实验室管理中的节能、安全问题,同时也极大的减轻了实验室的管理工作。智能登录系统的设计与实现是实验室智能化管理迈出的第一步,也为以后建设
本文通过实际案例介绍了大型企业BI系统的设计,包括系统架构设计、数据仓库设计、ETL设计和应用展示设计。系统建设采用了全套IBM产品:AIX、DB2、DataStage、Cognos。