3
作。通过OA系统所实施的交换式网络应用,使信息的传递更加方便快捷,从而实现了办公的高效率。OA系统作为办公承载体,运行着很多公文,而有些公文要求办理的效率性较高。为了进一步的提高公文办理的效率,在任何时间和任何地点进行办公的需求越来越多。
图1-1-1移动办公
全球调查机构Gartner数据显示,2016年全球将会售出超过16亿部智能移动设备,40%的工作人员将会使用移动办公,反映出商务办公移动化进程即将进入高速发展阶段,市场前景广阔。
(注:Smartphone——智能手机;Tablet——平板电脑;Laptop——笔记本电脑)
4
您会把个人移动设备用户工作用途吗?90?p`P@0 %0%LaptopTabletSmartphone 图1-1-2您会把个人移动设备用户工作用途吗?
在企业部署移动办公解决方案考虑的移动平台调查中,选择Android平台的企业占76%;其次是Windows Phone平台占51;iOS平台占45%;Blakberry平台占11%;其他平台占6%。
各操作系统平台iOSAndroidWindows PhoneBlakberry其他0 0@P`p?% 图1-1-3 各操作系统平台
第二节 当前移动办公应用的弊端和问题
移动办公平台为企业减少了工作上环节的堵塞问题,提高工作效率。通过随时随地的办公方式,提高审批效率,同时,增强沟通协作,拓展工作范围,让领
5
导快速获取有效信息,使决策高效,提高工作质量。移动办公在很大程度上优化了工作环境,快速应对变化。灵活应对工作上的各种突发情况,尤其是方便经常外出的员工,随时随地获取公司资源,寻求公司支持,提高企业整体工作效率,提升企业的核心竞争力。
但从应用场景上看,企业用户在使用移动OA的过程中最担心的安全问题包括移动OA与个人应用不分离、文件传输、终终端丢失等。这种移动办公与个人应用不分离的状况很可能导致黑客、不法分子等通过个人应用获取到企业信息;文件传输过程中可能导致文件窃取、破坏等;还有可能会导致病毒、木马等快速入侵移动OA系统,从而感染整个信息化系统;终端丢失不仅会丢失个人的信息,也可能导致储存于终端上的企业信息遭致泄露。
针对移动开发的主要安全问题,有如下解决方案:
1.
应用TLS/SSL。这是最简单也是最好的方法,在此之外,还应启
用机密性和一致性保护。
2. 3.
对输入进行验证。同时在畸形数据发来的时候允许远程控制。 应用OS提供的控制模型。利用移动操作系统提供的控制模型将
会确保应用程序循规而行。
4.
应用系统访问的最小权限模型。最小权限模型包括只请求应用程
序所需要的资源,这确保了应用程序不会影响到其他应用并在尽可能安全的模式下运行。
5. 6.
存敏感信息。
7.
遵循安全编程实践。这是最根本的,很多开发者因为某些原因不对应用代码进行签名。
恰当的储存敏感信息。在移动设备上以非明文方式在本地系统储
进行必要的安全检查和考量,我们应应用安全编程实践来编写安全的代码,防止开发错误,保持代码尽可能的安全性。
第三节 基于Android的移动应用的特点
1.3.1 Android系统的特点
1.
开放性。Google与开放手机联盟合作开发了Android,开放的平
台允许任何移动终端厂商加入到Android联盟中,而且还支持各种可扩展的用户
6
体验。
2.
所有的应用程序是在平等条件下创建的。移动设备上的核心应用
程序可以被替换或扩展,即使是拨号程序或主屏幕这样的核心组件也一样。
3.
应用程序可以轻松的嵌入网络功能支持。Android是为访问互联
网而生它内置了强大的Web浏览器引擎,可以轻松嵌入HTML、JavaScript和样式表,还可以通过WebView显示网络内容。
4.
丰富的硬件。由于Android的开放性,众多的厂商推出各具特色
的产品,功能上的差异和特色却不会影响到数据同步,甚至软件的兼容。
1.3.2 Android的系统构架
该平台由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分成三部分:底层以Liunx内核工作为基础,由C语言开发,只提供基本功能;中间层包含函数库Library和虚拟机Virtual-Machine,由C++开发;最上层是各种应用软件,包括通话程序、短信程序等,应用软件则由各公司自行开发,以Java作为编程程序的一部分。
图1-3-1 Android结构图
7
Android的系统架构和其操作系统一样,采用了分层的架构。
从图一Android架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库存和Linux内核层。
1应用程序
Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。
2应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统, 其中包括:
丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons), 甚至可嵌入的web浏览器。
内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据
资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。
通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。
活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。
3系统运行库
Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:
* 系统 C 库 - 一个从BSD继承来的标准C系统函数库 Libc ), 它是专门为基于Embedded linux的设备定制的。