企业移动应用开发框架Bhuvan Unhelkar, MethodScience广受尊敬的咨询家、培训老师、作家和演讲者San Murugesan, BRITE Professional Services企业面临一些挑战派遣移动应用, 出自功能,如位置独立, contextualization 、个性化。
这six-layer 企业 移动应用开发提供了一个系统框架 和综合的解决方案,以移动应用程序开发和软件 维护。
最近几年移动技术和应用变得特别普遍,在各行各业都是。
企业都在通过采取移动技术上的应用来提高自己的运营效率(给员工提供更强的实时信息接口访问),提高产品的竞争力,利用移动革命,满足新的顾客需求。
这种移动应用为用户访问信息、应用提供了存储独立个性化,提高了用户满意度。
移动应用还能够为用户提供环境感知响应,如用户位置、使用时间或者其他属性。
例如,可以提供银行、旅游、紧急服务等和用户位置、使用时间相关的业务。
尽管移动技术和移动应用给企业带来很多新的机会,但是同样带来开发和实施的挑战。
这些挑战还不包括定位、有线网络桌面应用的挑战。
例如,企业移动应用的开发和部署必须和计算通信模式整合。
一些移动应用必须要确定用户的位置来提供服务,然后不断地追踪用户位置,来提供相应的服务和信息。
然后还包括一些安全性、可靠性、服务质量的等级等等都是新的挑战。
图1 一种新的企业移动用用分类标准。
高层应用比底层的更丰富也跟更复杂(改编自早期的M 提出的一个模型) MethodScience,一个澳大利亚咨询公司,提供卓越国际美誉在各个过程、建模和管理造成实质性的和可测量的质量在公司和软件的开发。
科学的方法成功应用,作为一个实用的学科,为广泛的客户环境。
在此,我们提出一种新的企业移动应用分类模型,建立在科学方法所提出的基础之上,同时还研究了移动应用的挑战。
为了成功的用系统的综合的方式来应对这些挑战,我们提出了六层移动应用开发框架(MADF)。
A New Taxonomy for Enterprise Mobile Applications新的分类标准既然企业已经广泛的应用移动技术来做移动应用,我们需要更好地了解应用程序以及应用程序带来的需求。
我们提出了如图1中的企业移动应用的新的划分标准。
我们概括的将移动应用分为5类:移动推广、信息、交易、经营、合作。
后三个类别的应用内容丰富复杂,比前两个需要更多地需求和挑战。
我们的分类方法能够帮助应用程序开发者关注开发实现应用程序的主要部分。
Mobile Broadcast-移动推广推广一些内容给移动用户,例如紧急情况下的方向指引,在商场的打折促销信息,用户未注册、普通Mobile Information-移动信息用户需要的信息,信息流通常是单向的,例如大事件、产品、服务、促销、时刻表、价格等。
对安全要求不高,但是仍要保证可用性和隐私保护。
Mobile Transaction-移动交易除了推广和提供信息,这种应用程序还需要促进和构成交易。
让用户买卖商品和服务,定位、跟踪订单,电子支付。
这种应用程序需要提供比前两类更好地安全性、更快的响应能力、更高的交易可靠性、更高的性能以及更可信的服务。
包括三个部分:用户(客户)、业务相关者(服务提供商、网上商店、航空线等)、财务中间人(在线付款网关、贝宝-类似支付宝)Mobile Operation-移动经营这些应用主要支持商务运营方面的,但不是直接和顾客或者客户直接交互的。
通常都是提供一些便利的实时信息,当前股票信息,生产时间表,工资信息,leave balances 整合企业的不同后端系统和不同的数据库也是一个关键的挑战。
Mobile Collaboration-移动合作促进不同员工、部门之间的合作,促进商业伙伴和同僚见得合作。
帮助建立和管理人群(员工、客户、企业)的社交网络应用也是这类的。
利益相关者之间的动态互动和支持这些互动的软件模块提高了应用的复杂性,这同时也给编程和数据管理带来挑战。
Mobile Application Development Challenges移动应用开发的挑战移动应用开发强化和延伸了传统企业应用程序的开发的挑战。
比如在定位程序的开发中要把用户的定位信息加到程序里分析、架构、设计、编码、测试。
另外,在移动应用程序开发中还有客户定制化的开发需求,要根据用户的需求、访问、可用性,来达到最好的用户体验在移动设备上有贷款的限制、无线通信的差的可靠性条件下。
处理好这些挑战是企业成功开发和部署移动程序的关键。
分为三类挑战:Devices and Platforms-设备和平台一般用来播放和接收数据的设备屏幕和键盘都很小,所以开发者要格外的注重可用性,比如单键导航,去除一些特性来尽量用易感知的方式来表现数据内容。
界面设计还要考虑到一些选项:语音激活,灵敏触摸的屏,新颖的菜单写字笔,手写、手势识别。
你开发出来的应用程序还需要适用于不同的手持设备,在不同的平台、不同的接口。
同样的程序还需要再不同格式的移动设备上运行,所以还得考虑设备的配置和操作平台。
巧妙的使用小型电池让其充一次电保证能够延长设备运行时间也是很大的挑战。
User Location, Usage, and Content-用户位置、用途、内容移动设备比台式电脑更加的私人化,越来越多人依赖他们的移动设备。
那就更需要个性化的应用程序,不同的用户可能喜欢通过不同的方式来获取信息通知,根据个人的喜好、不同类型的设备的不同用法。
有一些应用程序要需要适应用户的位置不断变化,包括对应信息的环境-变化。
例如经常要考虑到在提供相关信息和服务时的位置、使用时间、当前任务、使用历史等这些参数。
一种多功能的应用程序还需要能够处理多元化的、甚至是不断变化的对象目标。
例如,一个提供某一个常经过的车站的电车时刻表的程序还应该提供交通信息。
当然,根据不同的用途、意义移动应用程序也会大相径庭。
可以提供警务人员就剩服务、医务护理、促进社交网络、休闲运动、音乐下载、个性化彩铃、营销等次不同的应用程序根据不同的可用性、有效性有不同的需求。
网页内容—文本、连接、图像、视频—提供的功能、范围都要适用于移动设备。
移动应用程序应该能够提供混合格式的多媒体内容(视频、音频、数据)。
移动应用程序还需要其他模式的报告格式。
除了文本、图像,还应有其他的发送模式,例如语音提示。
例如,声音相应更适合于司机的及时注意。
Dynamic Communication and Networks 动态通信网络移动应用开发必须考虑到移动通信网络的带宽、以及潜在的通信障碍。
同样,无线通信的安全性和通信交易中出现故障都必须圆满解决。
图2 六层企业移动应用程序开发框架。
安全层包含了其他几层。
企业移动应用程序开发框架Enterprise MADF我们的移动应用程序开发框架(MADF)六层分别是:通信、信息、中间软件和绑定、应用程序、描述、安全层(见图2)。
安全层是覆盖了其他层、并与其它层正交。
这种分层的框架把软件建设元素、设计、所需的支持通信的基本设施(网络、协议)、来自不同信息源的不同类型的信息存储集中到一起。
同样它还把用户接口设计、编码设计模式复用和应用程序设计联系到一起,可以设计出更好的移动应用程序架构。
建立起例如扎克曼框架的企业级架构框架(()),技术层((/ togaf ))的开放集团脚骨框架为理解MADF提供了相关背景。
Communication-通信移动网络为移动应用程序提供了基础通信设施。
开发者要懂基本的TCP、互联网协议(IP),无线应用协议(WAP),人局域网(PAN),城域网(MANs)。
下一个要考虑的就是标准,例如IEEE 802.1x群网络协议,移动蜂窝通信标准(2G, 2.5G, 3G, 或 4G),局部通信(红外或者蓝牙),无线射频识别(RFID),WiMax,无线VoIP技术。
例如,对于远程通信,移动应用程序要半酣一堆网络(典型的蜂窝网络)来用红外、蓝牙或者其他短程网络链接到可程序化的借口。
网络和通信的能力直接影响着移动程序的服务质量(QoS)。
例如,记账程序需要部署在蜂窝网站上,而小额付款或手机零售就需要结合移动网络和基于wifi的无线局域网。
开发者可以利用这个MADFInformation-信息移动应用使用多媒体内容,三个挑战:内容来源和表现,安全的内容存储,内容挖掘。
呈现高质量的多媒体内容—包括结构化的和半结构化的数据,自然语言文本、图像、音频、视频—都是来自多源的(不同格式)在如此一个小小的屏幕上,要有低的需求的计算、存储、通信资源是个挑战。
此外,这样的呈现还要求为了适应特殊的设备不同形式的因素进行格式重定。
存储机制影响着访问速度和内容质量。
例如,开发者可能在一个移动设备上播放一个视频必须要降低其质量,但是他们还可以以一个高密度格式存储在数据库中。
数据镜像策略提高了荣誉也提高了可靠性,但是双重存储和相关的维护功能会导致额外的开销,降低了数据访问速度。
为排除这种挑战,移动应用程序应该集中数据到数据池中。
这种简化了设计和新架构的流程,造就了更一致的信息处理方法。
开发者能用景象模式等这些设计模式来解决建模。
由于客户端存储需求渐渐扩大,也变得复杂,他们应该考虑到在用户设备上创建缓存内容—开放移动网格的机会。
移动应用架构应该能够处理每个客户端设备的事件响应、同步活动的创意和在每一个移动设备上做修改。
为了定位用户的特殊资讯需求,必须要数据挖掘。
这是一个很有挑战的任务,因为数据海量、类型不一、由于来自不同信源的相同或相似的信息是不均匀的(不同格式)、不断更新的。
此外,为了满足不同对象的不同需求进行挖掘。
最后,移动内容管理应探索提供商务智能、集成、可靠性见得关系的机会。
Middleware and Binding-中间软件和绑定这一层绑定、约束了所提供的应用程序、服务或者内容。
移动中间软件技术就是为了整合或者固化一个移动软件程序的不同服务或者模块。
移动中间软件处理移动环境中的分布式的服务,提供改变设备类型的“胶”(与设备的操作环境一致)。
WAP和IMode是两个较为熟知的移动中间软件协议,建立在TCPIP之上,在开发中使用。
移动应用的连接不是均匀的。
应用程序是断断续续的执行、在不同的需要移动应用的位置、不同的阶段还需要连接、断开、再连接。
中间软件技术在执行的时候必须迎合这种模式的连接性。
Applications-应用程序应用程序包括企业在这一层留存的业务规则。
模拟移动过程是开发移动企业应用的一个至关重要的元素。
开发者可以用业务流程建模符号(())创建模型,确定业务在程序中如何用。
他们还可以对这些模式眼神进行移动过程合作。
过程模型帮助重建业务过程(定期讨论,非移动业务过程),从而提高业绩。