我纠正一下,不是茅台的案例,是铁通外勤助手的案例,有点类似服务调度的案例。
首先感谢各位iUAP伙伴关注,我今天的分享主题借助一个世纪案例介绍一下iUAP移动平台解决企业应用化的哪些问题。
介绍一下这个案例,这个案例是三方融合,铁通作为项目客户方,本身也是用友合作伙伴,我们iUAP做技术支持和平台提供者。需要做移动化延伸,业务系统是综合业务系统,覆盖了综合营收、宽带支撑、宽带计费,角色有后台计费、前台客服以及维修人员,场景比较多、角色也比较多。
主要实现目标有三个。客户化的规模持续扩展以后网点建设是需要跟得上的,以后你的服务才能持续,网点建设成本非常高。所以第一个目标是通过分区域上门办理业务降低网点成本。
第二个目标,自助服务客户越来越接受了,现在没有人会到营业厅做手机话费充值,铁通用户希望不要到网点去,通过手机可以做宽带缴费、业务查询。
第三,非常重点,希望通过外勤助手提高派工单效率、客服问题反馈速度,借此提高客户黏性。
因为华泰贝通本身做比较传统的信息化建设,传统信息化建设技术领域是C++、GR,搞移动化一开始会遇到这种问题,移动端适配兼容性,分IOS,安卓,安卓有上万种,开发技术多种多样,在座的合作伙伴和华泰贝通比较类似,后端技术人员储备一定是懂传统业务的,C++、Jawa的。同时还有集成方面的问题。现在业务系统如何适配移动化场景。原来的话在PC端进行办公屏幕分辨率尺寸最小13寸,现在拿手机去办公,屏幕尺寸只有5、6寸。原有PC端如何做业务延伸。
最后是网络安全、设备安全方面的内容了。
综合来看分为三个层面,首先是开发层面,服务器、后端集成、安全、管理方面的。后面的介绍围绕这三个,看项目和平台是如何解决这三个问题的。
首先开发,了解移动开发,目前主流移动开发技术有三种,混合的、原生的。WEB方式不说了,可以理解为用手机浏览器打开,不存在平台局限性,问题是用户体验非常差。因为依赖于浏览器,不同屏幕尺寸里多少有变形。而且所有的设备要用设备交付,调一个摄象头,调一个GPS定位都要依赖于浏览器提供,用户体验最差。
原生用户体验最好,但是所有的操作系统要开发多套,安卓开发安卓的、IOS开发IOS的。团队成本上升。
混合,前几年跨平台方式还是主流的,还是使用JAV来开发,在跨平台性和用户体验上取这种。都没有太大的问题,但是同样表现不是太好。
现在问题来了,实际上要做一个外勤助手,选择哪种开发方式呢?最佳一定具备跨平台能力,同时保持原生的用户体验。这是最佳方案。这点介绍一下移动平台里内置三个引擎。第一原生浏览器引擎,针对H5应用,我们提供了标准原生的浏览器内核,对于标准的H5进行支持,拿标准的H5语言做开发,外面讨已浏览其壳子。私有浏览器,在H5基础上,来做原生控件影射关系,这块还是WEB,但是原生支持上比私有浏览器好,但是都是属于运行平台。
我们都知道JAV是C++语言的20多倍,属于运行态跨平台。
第三种是交叉编译技术,是用友和友商最大的区别,前端开发同样使用ATML,但是开发平台里内置插边引擎,在这里你可以看到原代码的,基本上来说还是使用这种JAV技术开发,但是得到两个原生应用。通过这种保证跨平台性和用户体验。
最后讲一下实际应用场景。目前来说在主流应用场景里有几种,第一种是类似于互联网应用、办公应用纯原生的应用,要求你有高效用户体验,同时有原生、里面内置H5的,比如一些导航、打车软件,比如滴滴打车,还是原生应用,但是地图是第三方的。还有一种是类似这种,原生壳子,里面嵌了稍微大量的H5应用,比如天猫、淘宝,淘宝商品展示页的东西基本上是H5,套了H5浏览器内核。好处是APP不需要经常升级,双十一的时候天猫并没有升级,外面会员、购物车这部分用户经常用的,注重用户体验的部分都是原生的。
这种类似轻应用,经常微信打开公共号链接是这种应约,比较适应用新产品推广,没有任何安装成本,拿微信扫描一下,每次可以从公众号用应用了。
看一下华泰贝通铁通外勤的需求。需要扫描身份证,都是属于设备标准功能,拿H5或者混合开发方式来说是有一定延迟的,本质上是WEB再调浏览器再调原生设备,这块我们使用原生应用。但是里面对接百度地图、第三方支付,这些东西我们知道目前第三方提供主流很多都是H5插件,这里H5私有浏览器引擎,调用第三方应用。
针对不同应用场景来说,都有不同开发方式来支持。除了开发模式上,我们还提供了应用、分行业完整应用的开发模板,学习阶段是非常有用的。另外提供了拼装页面,市场开发可以拼接出自己需要的完整APP模板也是支持后期自己开发、自己发布的,方便人员自己的固化,模板应用。
日常开发界面提供了57个控件,每个有38种以上样式属性。这种提供给你画布,你看到什么样最终编译出来是什么样的UI,而且给你替换成原生UI,没有任何用户延迟效果。能看到前端自动生成代码,还有日常的107API智能代码提示,都会提升开发效率。
后端集成,外勤助手,对外披露出一个APP,但是后面对接四块,后面四块业务来说,对外曝露一个APP,集成肯定要做,但是集成怎么做?后面再说。
还有另外一个场景,PC端一个保修单,通过键盘录入客户地址,地址可以50多个字,现在用手机屏幕录50多个元素的包规单,用触摸键盘录入地址,不符合移动操作场景,我们看后面怎么做的。这个是移动中间件,主要解决这两个问题。
第一个是提供三种协议负责与后端进行集成,本身跑的是标准的,前端业务逻辑我们提供了压缩、加密、数据传输的API,前端服务请求传到要求,到后端业务系统。这个是我们在项目中实际的代码,拿登陆做了一个举例,第一步通过开发平台拖拉拽,拖一个登陆按纽在画布上,绑定一个主性自己设置一个GS代码,命名一个方法,会在后台自动生成。在后台写一些简单的业务逻辑,调一个API,第一后端的路径,参数就传过去了。这里到了移动中间件,非常简单的先写自己简单业务逻辑,写完一行代码直接调用一个后端服务的代码。整个调用就四步,非常方便。
这个是合作伙伴目前总结出来的。我们移动的开发项目主要分为几个层面。开发过程,开发过程里开发的管理、测试、APP自动发布这些东西,平台提供了相应工具。服务器端开发,提供大量API服务,安全方面的API,这块工作平台也帮你做了。前端APP开发上,提供了相关服务,可以保证一天一个页面,如果熟练的程序员一天做三个页面没有问题。
总结一下我们开发人员仅仅通过拖拉拽方式实现前端UI,添加一些业务逻辑,这个APP可以开发出来了,平台完成了80%的工作。
开发集成讲完,后面是安全管理方面的,现在来说企业环境里基本上网上、笔记本电脑、服务器,装了一些安全防火墙,都做了很好管理。移动操作系统和window操作安全要求不一样,移动端APP都是跑在容器里,不会存在关联性隔离,但是要防什么呢?防间谍APP恰一段时间IOS上百种APP包括主流的微信都被感染病毒。第二个防仿冒的wifi,现在在分会场里,仿冒wifi,设置了一个一样的wifi,如果连的是仿冒wifi,基于wifi网络传输的所有数据都会被窃取。
和传统的IT防护的完全两个概念。这块我们提供EM平台,做应用管理、设备管理,网络安全管控。最后一块自带设备管控,有些员工并不是所有员工都会使用企业配发的APP,自带设备办公现在越来越多作为一个主流。但是问题来了,设备如果自带设备,上面跑了企业办公APP,缓存企业数据,这个手机是个人得还是公司的?我们提供了一个移动桌面、移动砂箱方式把个人部分和业务部分进行分离。所有企业的是放在砂箱里的,砂箱外面的是不碰的。这种方式来区别,减少员工被管理的抵触心理。
再往后,铁通案例的总结,目前来说基于铁通案例,两个开发人员用一个月时间开发出来APP,重点来说是使用了WEB开发,保证了用户体验。我们不仅仅开发一个APP提供一整套解决方案,包括设备应用内容管控。
更重要的是让我们的伙伴非常简单快速的用一个月时间具备移动开发能力。
这张图是我从IDC移动化研究的权威组织发布的数据来看的,2013年左右我们发现移动市场上面对很多移动需求都是客户需要一个移动CRM、需要一个移动OA、移动签到。2015年客户说需要一个移动门户,这个APP不仅仅是开发层面,包括了开发、集成、安全管理,再发展移动化紧接平台化发展是一个趋势。同时来说近一两年投标,我们总结了一下企业对于移动平台有什么需求,第一点要求简单可用。像华泰贝通这种公司所有IT信息公司最大的特性不具备移动开发人员。后端IT人员储备是大量做JAV、C++的,如何快速不需要成本投入进行开发,这是第一步。
第二步基于模板、组件、控件开发,你开发出来的组件可以固化在平台里。
跨平台能力不说了。全类型支持前面也有介绍,不仅仅是友商仅仅支持一些混合跨平台方式、私有浏览器、原生浏览器。对于企业以后的发展是不合适的仅仅支持一种。谁知道企业以后会接到什么应用场景项目。全类型支持是必要。
要有开发平台、集成、安全的管理。
最后介绍一下APP移动平台产品架构图,这张图是企业移动化应用的全景产品,提供可视化平台,APP会提供应用商店,是私有的,不处在客户内部的,自己管理自己的APP。APP开发出来后端提供服务,上面跑标准的,负责第三方业务系统进行链接,对APP运行有逻辑支撑。
还有两块东西,移动桌面和EMM,配合使用,类似CS架构,移动管理主要是表现形式是WEB页面,IT人员可以通过这个控制所有被管控的设备以及上面跑的移动应用,同时对于应用还有上面的用户设备有一个统计分析功能还有操作日值截取。
移动桌面是安装在中断用户上、手机上,最主要的是砂箱功能,把办公和私人的做一个区分。跑在砂箱里面的与外部数据交互必须经过砂箱过滤。
总结一下平台价值,第一点简单应用,像传统的做开发人员不需要有任何新的技术瓶颈,前端ATML,需要变的是适应一个新的开发流程。
第二点可视化,部分来说也是我们和友商最大的区别,很多友商本身做基于浏览器混合跨平台方式,不提供画布,提供预览工具,我们提供所见即所得的拖拉拽方式,有38个样式属性。后端包括APP,包括手机上跑的,包括数据交互、安全认证加密提供107个API。
最后说一点极致体验,公共服务、生成UI、设备调用,后期添加业务逻辑,前面说了登陆按纽的,这个东西是后期自定义的,要做一些非公校验,我们会内制一个100K的解析器。
最后是我们提供的高安全性,从开发到集成到安全管理一整套解决方案。
最后看一下2015年都做了什么事,第一点是我们上半年发了社会化推广门户,开发平台免费试用、所有demo原代码、学习技术文档都已经上传到网站上,通过这个网站可以获得平台所有的学习资料。完全是对个人、感兴趣的伙伴免费的。可以回去自学,可以自己开发一些APP试用。
同时声明一点,2015年发布了2.7版本,可以看到明显的是画布、控件有大的变化,BUG修复可以达到百分之百。在省会城市举办了免费两天的开发培训,聚集了大量服务开发者。伙伴不用担心技术支持、后期不到位的能力。
展望一下移动未来,上午主会场听到了用友和华为、阿里宣布的一些合作,今后未来方向一定是CC架构,后端一方面提供共有云服务,一方面提供私有云,但是端落在IT移动上。
最后请北京啪啪易行来演示一个移动物联网方面的项目。
刘总:很高兴今天在这里介绍我们这款产品,感谢用友给我们这个机会。我们做的智能出行管理平台。针对城市停车两个重点问题来做的,第一个问题如何有效保护个人私有车位。
大家有见过各种保护车位方式,比如地下车位如果是你的,另外一些物业下的长租车位,挂一个牌子,私人车位,同时要配装锁。最有效的方法是装地锁,基本上不会有人占用你的车位。基于这个问题我们做了一个啪贝手机APP,有一个蓝牙和手机连接的地锁。在车上操作地锁起降。蓝牙范围50米,你装了智能车位锁,可以授权给家人、朋友使用。
第二个痛点,我认为更关键的一点,我们经常开车出行的时候,到目的地很难找到车位。针对这个问题我们开发了智能出行管理后台。有后台系统加上手机APP组成了管理平台。针对物业有物业版管理员程序,后台系统能够通过安装智能车位锁保护车位的同时批量管理多把地锁。最直接的好处是地上车位有效减少逃单率、降低人员成本。
无论个人还是企业,都能够把自己车位的闲时时段放到平台上进行分享。是一个临停车主可以通过APP搜索到被分享出来的车位进行车位预定,去这个目的地之前已经提前订好位置,并且不需要到地库中绕,已经被你预定下来了。
这个模式首先可以给个人、物业提供额外收益,通过一些智能硬件、平台级应用能够把闲置车位资源进行再激活,缓解城市停车难的问题。
下面给大家实际看一下用友帮我们开发的这款APP产品演示。
这是智能硬件,里面有防水保护、防尘保护的设备。现在通过APP来连接蓝牙。首先让地锁上升。这样地锁完全升起来了,到会场外面也可以升起来。同时我们设计也是防踹,市面上的锁可以踹倒,我们这个锁三角支撑,能够有效保护车位。接下来让它下去。
在这款APP上用友帮我们开发的,通过APP分享、授权,包括以后的跟物业之间打通,闲时租赁,大数据可以做很多很多有价值、有意思的事情。
接下来请用友开发人员介绍后台怎么做的。
用友人员:大家好,我是iUAP平台研发人员,我们这个平台首先简单介绍一下,这个是基于Laas,演示的APP工程。这些工程可以通过这种方式来建,输一些工程、输一些包,就可以创建这样一个工程。看一下目录结构,分这么几块,关键看UI,所有页面通过文件来存储的,随便打开一个UI。这是其中一个页面。这个页面别看是通过HTML5的一些语言,到了我们引擎以后翻译成后台的,安卓翻译成原生控件、IOS翻译成IOS原生控件。建了以后进行打包、生成代码,选中一个起始页,选择安卓的点完成,会在安卓的下面有一个原生工程。这个工程完全可以用ATT来打开,也可以编辑成相应安装包,同理在IOS上有文件夹,生成IOS的工程,所以不用担心,做的东西全部是以原生方式呈现给大家的。通过这种生成代码、此时在IOS下面由原生代码。在安卓下面是JAV的类,原生的东西。还有一点是这个APP要后台做交互,后台是怎么做的呢?这么一个按纽点提交的时候,会涉及到服务方法。双击,大家看到这一段是JAV代码,通过这个支持跨平台交互。首先有一个参数,VOID对应JAV类,这是一个freeback,只要接到规定好的接口,在里面建一些方法,就可以调上你MA的方法上去,想接什么样的系统都可以。
同时有一些方法,在这里有相应的对应的方法个,这样的话会调到后台的JAV方法里去了。另外平台还支持一些页面和扩展。比如这里有很多控件,这些都是原生控件,通过这个控件构建一个页面,这些控件不是万能的,如果自己有一个非常好的原生的东西可以通过我们这个平台集成到这里。比如我有一个自定义的,如果有一个比较好的原生的东西,通过首选项,有一个资源、扩展控件导入进来,此时在自定义栏里显示出来,能够很好的集成第三方控件。
还有我们提供了页面模板,这里有组合性模板,前面是一个容器,后面是一个相应的内容,包括列表、设备、地图等等。内置了系统模板。
这个页面,我这个页面做出来以后各个页面和它差不多,想把页面保存其他,其余页面都一样的方式来建。另存为一个模板,存成自己自定义的,保存成功以后通过这个,下一步,点我的模板里找到这个,以这个模板形式生成创建页面。
就讲这些!