中集移动iWork项目
一、项目背景
中集集团 CIMC 是一家为全球市场提供物流装备和能源装备的企业集团,主要经营集装箱、道路运输车辆、能源和化工装备、海洋工程、机场设备等装备的制造和服务。在中国以及北美、欧洲、亚洲、澳洲等国家和地区拥有200余家全资及控股子公司,员工超过60000人,文职人员15000人以上。
根据中集集团总部信息化发展规划及下属各板块企业的建设计划,移动化是中集集团未来信息化建设的重要主题,同时中集下属各企业也向集团总部提出业务应用移动化建设需求。中集经过了两年多在移动应用方面探索,在探索的过程中总结经验,为加快中集移动信息化建设以及响应下属各版块、各企业的实际业务需求,中集集团总部决定建立“一个企业只需要一个 APP”的移动门户平台——中集移动 iWork,实现“企业级移动互联网+”的统一应用平台,提供协同办公的便利性,融合员工福利、生活等等需求,打造工作和生活相结合的企业移动APP。
二、系统需求
中集集团是一家下属企业、职员数目非常庞大的集团公司,同时为深化企业内部信息化改革,加强内部沟通交流,提升企业竞争力。为解决员工之间相互沟通、企业办公效率,为此建设企业办公管理、开发统一平台。建设该平台终极口号是“集团搭台,企业唱戏”,企业的需求是持续性的,集团先统一收集各板块、企业的紧急需求,后续需求由企业自己去规划建设。
-
(1)移动通信平台建设移动通信平台,使得员工之间可以进行即时通信,包括:
- 集成组织架构和员工信息到通信录中;
- 单聊、群聊、机构建群;
- 文字、图片、语音、视频通信;
- 微信的几乎全部功能;
-
(2)移动应用平台建设移动应用平台,作为全部移动应用的统一入口。包括:
- 支持轻应用、Android和iOS原生应用;
- 服务号:单图文消息、多图文消息、自定义表单、素材管理……;
- 同事圈;
- 新内容提醒;
- 第三方应用接入;
iWork的功能需求主要分为两块:
iWork的非功能性需求主要有:
- 安全:安全传输,通信录和应用的访问限制;
- 支持VPN访问;
- 集成LDAP等外部认证源;
- 应用单点登录;
- 自动升级;
三、解决方案:WorkPlus
我们使用自主研发的WorkPlus来实现中集iWork的要求。WorkPlus产品是一款服务于企业的产品,在满足企业移动平台的功能性需求的同时,自身也在安全性、扩展性、性能等各方面进行了全面的考虑。
(1)安全
在登录服务器的时候,用户名密码采用DES加密后在SSL通道上传输,双重加密保证用户名密码不会被泄漏,登录成功后服务器返回唯一的登录凭证;在通信服务器方面,通过加密过的自定义协议,客户端每次与通信服务器建立链接前会与WorkPlus登录服务器进行安全协议的握手,交换加密算法以及密钥,链接建立后,通信的消息使用加密算法以及密钥加密解密,达到安全通信的效果,因为每次链接的加密算法与密钥均是随机产生,几乎无法破解。
(2)性能,轻量级通信协议
WorkPlus自定义的一套通信协议对比于开源的XMPP协议以及像微信使用的ActiveSync,具有更轻更快的特点。因为WorkPlus通信协议既免去了XMPP协议繁琐的用户状态同步,也不像ActiveSync那么冗长而臃肿。WorkPlus通信协议的设计使得WorkPlus通信功能可以轻易地被扩展,并且在通信过程中大大的节省用户流量。
(3)可伸缩性
WorkPlus后台有多个相对独立的服务进程组成,在设计时充分考虑了可伸缩性,随着接入系统的用户数量增长,可根据具体资源使用情况对任意的服务通过添加服务器进行水平扩展。我们也针对过大的并发量进行流量整形,使得访问量过大时系统可以做到“平稳地劣化”。尽管如此,我们还是建议可以在通信服务器集群加入一定冗余服务器,以防止某台服务器宕机造成整个通信服务器集群“雪崩”。
(4)基于开源技术构建
WorkPlus平台实现所用技术,全部基于主流开源软件完成,全面去IOE,降低建设成本,解除厂商绑定。整个平台自主可控,为后续迭代升级奠定了高度的可拓展基础。
(5)灵活的消息中心
WorkPlus几乎实现了微信的全部IM功能,是一个“企业版的微信”,而且专门针对企业应用场景进行扩展和优化,例如集成了组织架构和员工信息,可由客户自定义配置普通员工是否可以主动向高管发送消息。
平台具有强大的IM功能,IM功能除了支持用户间的即时通讯外,还为应用提供消息通知、提醒。为了满足企业多样化的需求及应用场景,WorkPlus平台消息提供丰富的消息交互样式和模板。
(6)企业通信录和用户集成
WorkPlus支持以Excel和接口的形式从外部系统导入组织机构和员工信息。WorkPlus也支持采用外部LDAP系统进行用户认证。企业通信录可以进行读写权限控制,可以对员工实体提供自定义属性,针对机构、员工的固有属性和自定义属性进行查询。
(7)应用接入
WorkPlus轻应用支持是WorkPlus产品的重要特性,企业用户可以开发自己的轻应用并接入到WorkPlus轻应用平台中。通过这种方式,企业用户可以实现已有系统,例如OA、ERP、CRM的移动化,并整合到WorkPlus平台进行统一访问。WorkPlus也支持Android和iOS原生应用的接入。WorkPlus支持将第三方应用集成到系统中,通过应用中心开放给用户访问。
(8)单点登录支持
部署在WorkPlus应用中心中的移动App,不管是轻应用还是原生应用,均可使用当前用户名自动登录到WorkPlus中,不需要重新输入帐号口令进行登录。WorkPlus可以作为OAuth授权服务器,为第三方应用提供用户认证能力。
(9)服务号开发与接入
WorkPlus上面可以定义和部署服务号,等价于微信的公众号。通过服务号可以发送图文内容,展示给用户,也可以通过自定义菜单等接受用户的输入,从而实现和用户的交互。服务号支持各种素材库和自定义表单等,可以方便的配置问卷调查、简单流程等常见用途。像微信一样,服务号支持编辑模式和开发模式。
(10)开放API和SDK
WorkPlus通过Session向外界暴露IM功能,通过REST发布后台系统(通信录、移动应用等等)的API。用户登录到系统,获得access_token之后,可以使用access_token通过API访问后台系统。
为了方便外界使用,我们将API封装为SDK,供第三方开发者用来访问后台系统,以隐藏HTTP访问和JSON序列化/反序列化等底层操作。目前我们已经提供了Java、Android、ObjectiveC版本的SDK,JavaScript、Swift和PHP版本的SDK正在开发中,将随后推出。
(11)桌面版
WorkPlus提供了桌面版,方便企业员工上班时使用。
(12)Html5快速开发框架
AmazeUI是中国首个开源HTML5跨屏前端框架, 它为移动而生,组件丰富,模块化思想,本地化处理优秀,轻量级高性能。WorkPlus基于AmazeUI整合了一套快速开发前端的架构,为企业减少人力成本,提高交付效率。
舜宇大数据
一、背景
舜宇集团是江浙地区的一个典型的制造业企业,是在香港上市的公司。公司的IT部门负责人很有远见卓识,自主开发了关键性的制造执行系统(MES)——卓越制造管理平台。多年来开发人员聚焦于功能性需求,不断发展和完善,在业务适用性方面,高度契合了业务部门的需要。
但是随着企业规模的扩大,生产线数量快速扩张(从40条生产线扩展到未来的1000多条),同时传感器和检测数据每天产生大量的数据,原有的架构已经不堪重负(就像上文中的超大型动物一样,原本不成问题的都成了问题)。性能和吞吐量等非功能性需求开始超越功能性需求,成为决定软件架构的关键性驱动力量(就像上文中的引力)。
二、问题
我们的大数据项目不涉及功能性需求方面(不涉及用例模型的重整和领域模型的重塑),而关注非功能性需求(质量需求)方面的问题,尤其是以下三个方面:
- 性能;
- 吞吐量(并发);
- 海量数据;
以交通运输系统来比喻:吞吐量可类比道路的车道数量——可容纳多少辆车同时跑(而不用显著降低车辆的行驶速度);高性能可类比车辆的速度——每辆车可以跑得多快;海量数据可类比停车场——可以容纳多少辆车同时停放。
三、解决方案
为了实现上面三个非功能性需求,以及异构集成的需求,我们设计了新的大数据平台架构,整体架构图如下:
我们从三个方面处理大数据需求:存储、计算和接入。
(一)存储
1. 设计原则
- 不同类型的数据采用不同的存储机制;
- 根据事务一致性、实时性、区域性等原则分流数据;
- 通过数据分片降低每个数据库实例的数据量,提高吞吐量和性能;
我们首先按下面的几个维度划分数据类型:
2. 数据分类
- 按数据结构形式划分为结构化数据(生产数据)、半结构化数据(传感器数据、检测数据)和非结构化数据(Word文档、图片、视频);
- 按业务类型划分为主数据(相对静态的、被应用中的多个模块共享的数据,如供应商、产品类别、组织机构、员工等)和事务性数据(动态的,局限在业务单元内部的、每日大量产生的数据,如生产订单、销售订单、在制品、出入库记录等)。事务性数据引用主数据;
- 按时间敏感度划分为实时生产数据、历史生产数据和统计数据;
3. 数据存储设施
- 事务数据库MySQL;
- 分析数据库Greenplum;
- NoSQL数据库HBase;
- 文件存储TFS;
4. 数据分流
- 结构化数据(生产和生产支持)存储在关系数据库(MySQL和Greenplum)上,半结构化数据(传感器和检测)存储在HBase上,非结构化数据(图片、视频和文件)存储在TFS上;
- 主数据作为全局表,存储于所有的MySQL分片服务器上;事务性数据分片存储到不同的MySQL分片服务器上;
- 实时数据存储于MySQL数据库和HBase上,历史数据和统计性数据存储于Greenplum上;
- 所有的数据最终汇聚到Greenplum,用于永久存储和数据分析;
5. MySQL分片
通过将非结构化数据和历史数据分别分流到HBase和Greenplum,MySQL中只储存主数据和在制品(正在制造,未交付给客户的产品)的事务性数据,已经大大减少生产数据库MySQL要存储的数据量。但是,为了进一步提高性能和吞吐量,我们还需要使用MyCAT对MySQL进行分片。分片可以同时应对上文中提到的三个质量需求:
- 用多个分片服务器存储数据,使得每台服务器只需要存储1/n的数据量,降低了数据存储量;
- 不同的生产单元的事务性数据分流到不同的分片服务器,每台服务器只需要承担1/n的并发读写,提高了吞吐量;
- 因为数据量的减少和每台服务器需要承担的并发访问量减少,性能得到了很大的提高;
我们做了这样的分片决策:
- 分片的最高原则是:绝不允许跨分片关联(例如分片A中的一行数据的一个外键列关联到分片B中的一行数据的主键列),但允许跨分片聚合(从多个分片中获取数据,聚合为一个总数据集返回给用户);
- 以生产单元(各个生产公司)作为分片依据;
- 主数据存储于每台分片服务器上,不同生产单元的事务性数据保存在不同的分片服务器上。因为事务性数据关联主数据,这样的设计可以使得关联可以局限在分片内部;
- 主从表(例如订单表和订单条目表)中的数据行必须划分到同一个分片,以消除夸分片关联的需要;
- 每个分片用三台服务器做主-从-备配置,以保证高可用;
(二)计算
在计算方面,我们设计和建议下面的优化方案。
1. 负载均衡
我们分别采用LVS和nginx作为第四层和第七层负载均衡设施,以提高系统的吞吐量并实现高可用。Nginx只为应用服务器Tomcat提供负载均衡能力,LVS同时为应用服务器Tomcat、存储服务器MyCAT和网络服务器Netty提供负载均衡能力。
2. Redis高速缓存
我们以主备方式构建了一个Redis集群作为高速缓存,以提高系统的总体性能。
- 全局性的配置数据;
- 被频繁引用的主数据。如操作员、仓库、设备等等。当主数据发生变动时及时更新 Redis 中缓存的数据;
- 生产过程中在制品经历过的每个工位产生的数据。在卓越系统中,一个在制品在某个工位的处理逻辑依赖于前几个工位的处理结果,因此每个工位的操作都要访问数据库,查询以前工位的处理结果(涉及多个相互关联的表),这是影响系统整体性能的最主要因素。缓存这些数据可以大大提高系统的性能;
3. SQL改进
卓越系统的主要性能损耗在SQL上。除了建立索引等常规措施外,我们向客户建议以下的改进措施:
- 减少每条SQL语句中的表间关联的数量。可以将一个关联查询修改为多个单表查询,在数据量很大的情况下这样做比关联查询更快,而且持久化框架的缓存机制可以进一步改进此措施的性能。另外,由于绝大多数的关联都是事务性数据对主数据的关联,而且主数据的变化频率非常低,可以将主数据加载到Redis高速缓存,这样可以只对数据库中的事务性数据表进行查询,不须关联主数据表,可以非常有效地提高性能;
- 消除事务需要。在详尽分析的基础上,采用最终一致性等方式取代事务一致性;
- 降低事务的粒度。在详尽分析的基础上,优化系统设计,使得在一个事务中要更新的表的数量和数据行的数量尽可能的小;
- 消除数据加锁的需要。尽量保证数据行(尤其是事务性数据)只增加不修改不删除。例如不要修改零件的库存数量,而通过出入库表计算库存数量(通过每月/日一次的快照存储减少计算量)。数据只通过一个字段标记做逻辑删除而不要做物理删除。如果有误操作,通过一个反向记录冲销;
- 减小查询结果集。修改设计,使得每个查询返回的数据量保持在一定限度之内,以免消耗大量的计算资源和内存空间,占用过多的IO通道;
(4)使用新的Java语言特性进行并行、并发和异步编程。
利用新版本的 Java 语言特性,进行并行、并发和异步编程,可以充分利用硬件能力提高系统性能。以下的 Java 语言特性对提高性能很有帮助:
- Java 5 引入的 Executors 框架,用 Executor、Callable、Future 等新 API 进行多线程和异步编程;
- Java 7 引入的 Fork-Join 框架,用类似于 Map Reduce 的方式将大任务分解为小任务,并行执行;
- Java 8 引入的 Lambda 表达式、Stream API,将函数式编程范式引入 Java 编程语言,通过取消可变共享状态和函数组合等方式提高性能和可靠性,同时提高代码的可读性和可维护性。Stream 还提供了方便的使代码并行执行的方式;
(三)接入
为了与异构的第三方系统进行交互,我们建议了三种接入方式:
1. Netty
在卓越制造平台中建立Netty高性能Socket通信服务器,接收传感器和检测系统发送过来的海量数据。Netty可充分应对这方面的高并发需求。未来的产线系统也通过Netty将产线系统的数据上报到卓越制造平台。
2. ActiveMQ
ActiveMQ用于在卓越制造系统和ERP、OA等第三方系统之间的通信上。另外,卓越制造平台也通过ActiveMQ向产线系统下发生产指令。
3. WebSocket
WebSocket接受系统中产生的事件,向分布在各厂区的电子显示屏广播,例如呈现传感器的时间序列数据。
南航运行数据核心(COD)项目
一、项目背景
在电影《安德的游戏》中,安德在大屏幕上以可视的方式,从瞬息万变的战场上收集多方信息,指挥由成千上万战舰组成的舰队成功炸毁了虫族的母星。
在《三国演义》中,诸葛亮端坐中军帐,四方的探子不断将各方信息即时报送过来,诸葛亮得以“运筹帷幄之中,决胜千里之外”。
现代大型企业的运作,其复杂度丝毫不逊于一场战争。对于南航这样的大型国企来说,从多方渠道及时获取信息,据此进行工作安排、业务监控,是提高效率、降低成本、赢得竞争的关键因素。而目前南航没有一套以航班为核心结合飞机调配、机组管理、旅客服务及地面保障等全运行业务过程的集成应用系统,要进行有效调配,需要从不同业务系统中获取数据。这就是南航运行数据核心(COD)项目的意义——和困难——所在。
二、问题与挑战
COD系统面临的挑战是要从多方来源快速、准确获取异构的数据。由于现有系统的交互方式是网状的一对一通信,当集成新的子系统或修改现有的子系统时,维护上面临很大的困难。
- 数据来源多样:除了南航自己的多个系统外,还有航信、地方机场等外部机构的数据;
- 数据存储形式多样:数据库、文件……
- 数据传输形式多样:Web Service、MQ、FTP……
- 系统间的调用为网状结构,交互数量为n!;
三、系统需求
系统需要从航空公司、机场及应用三个层次集成与公司运用控制、基地保障及机场服务相关的公用数据和私有数据,时间上跨越运用控制和机场服务全过程。同时,它将集成与公司运用控制,基地保障及机场服务相关的各大业务应用系统,在数据上为各大业务应用系统提供无缝支持。
- 提供航班计划、动态、机组、离港、机场等数据服务;
- 考虑与各个外围系统的数据整合;
- 总线上提供多种形式的接口供外围系统调⽤(EJB2/3、WS等);
- 支持作业调度、基础数据、安全、日志以及SLA相关功能;
四、关键设计决策
系统的关键是建设一条企业服务总线ESB(称之为“运行数据服务总线”,简称ODSB),使各个系统通过相应的接口连接到ESB上,进行数据整合、服务整合和流程整合。
(一)子系统划分
(二)逻辑架构:
(三)ESB架构:
(四)关键技术点:
- 分布式部署;
- 负载均衡/集群;
- FuseESB:ServiceMix + ActiveMQ + CXF + Camel;
- 高可用;
- 分布式缓存集群;
- 外围系统数据整合;
- 作业调度集群;
- 跨系统业务流程定制;
(五)开源技术栈:
- Redhat Enterprise Linux;
- LVS;
- JBoss Application Server;
- Memcached;
- FuseESB;
- Quartz;
- Kettle;
五、合作方式
我方提供资深顾问和开发人员与南航的项目组共同封闭式开发,负责架构定义、设计、开发、测试管理等。
六、客户收益
COD项目的成功实施,使得南航以航班为中心的航运和客服管理达到了“运筹帷幄之中,决胜千里之外”的境界。
在企业效益方面:
- 提升了企业信息系统的集成水平;
- 加强了企业核心数据的安全管理;
- 节省了维护多系统接口及数据交互链路的成本;
- 减少了大量接口、功能重复建设的费用;
在社会效益方面:
- 利用信息订阅功能,及时推送最新消息确保乘客第一时间知情;
- 利于外围系统的建设,给用户提供更多个性化的、贴心的服务;
南航客户行为数据库(CBD)项目
一、项目背景
作为中国运输飞机最多、航线网络最发达、年客运量最大的航空公司,到2010年为止,南航经营着包括波音777、747、757、737,空客A330、321、320、319、300在内的客货运输机400架,机队规模跃居世界前六,形成了以广州、北京为中心枢纽,密集覆盖国内150多个通航点,全面辐射亚洲全面辐射亚洲40多个通航点,链接欧美澳非洲的发达航线网络。
截至2009年,南航旅客运输量6628万人次,位列亚洲第一、全球第三,已连续31年居国内各航空公司之首,是亚洲唯一进入世界航空客运前五强,国内唯一连续5年进入世界民航客运前十强的航空公司。
与此同时,同行竞争越来越激烈(甚至面临高铁的竞争),燃油等成本费用越来越高昂,航空业正在步入微利时代。在竞争白热化、利润率不断下降的时候,通过为顾客提供针对性的服务,吸引新客户,留住老客户,以庞大的客户量来降低人均营运成本,以差异化的优质服务提升VIP客户的消费水平来增加收入,对南航来说,具有生死攸关的战略意义。在这个战略中,客户行为数据库担当着中流砥柱的角色。
“客户行为数据库就是从旅客查询航空公司的产品开始,直到预定、支付、出票,再到办理登记手续,过安检,在候机室、两舱休息室,或者是在登机口休息,登机完成后在机舱的服务,到最后到达目的地后的行李的提取,再到旅客里程的累积,通知以及下一次旅行的开始,这就相当于形成了一个闭环,我们叫做旅行价值链。” ——南航CBD项目负责人黄文强。
在旅行价值链条里面,客户行为数据库会记录下所有旅客和航空公司的接触点(touch point)信息,接触点的行为的记录都存储在客户行为数据库里面,然后就能够通过数据库和识别引擎来获知旅客的一些行为习惯,在下一次旅行的时候就调出上一次旅行的情况,比如说他是通过网上订票的还是通过代点订票的,他的支付方式是用信用卡的还是传统的支付模式,对于高端旅客(公务舱和头等舱)在两舱休息室里喝的是红茶、绿茶还是咖啡,这些细节都会被记录下来了。在他下一次旅行的时候,空乘人员就不用再去询问他你要喝茶还是和咖啡,这样就会让旅客感觉到服务的贴心。也有可能当上一次在乘坐南航航班的时候,航班延误了,那么在下一次旅行的时候,南航的工作人员就会向旅客道歉,南航也会针对航班延误出台一些政策,比如对里程做一些补偿,做问候或者送一些小礼物,让旅客能够感受到南航的关怀。而这些,都是基于对客户信息的把握。
对于一些还并没有成为南航会员的旅客,南航就会通过旅客行为数据库来进行识别,当一名旅客进入客舱之后,系统就会“认出”他/她,若显示已有3次乘坐南航飞机的经历,客舱乘务员就会在飞机上直接邀请其加入会员,并把之前的里程也准备好一并加入,这样就增强了旅客忠诚度,做到精准发展,精准维系。
“在没有客户行为数据库之前,一些客户的资料我们甚至都没有记录下来。也许是分散的没有集中起来,也许是根本就没有记录。因此,也谈不上形成一个整体的关注旅客的数据库。通过记录旅客数据库的行为,我们可以更好的总结旅客个性化的需求、提供更有针对性的服务,维系客户和我们的关系,确保他们的忠诚度。” ——南航CBD项目负责人黄文强。
客户行为数据库与客户资料数据核心(简称SVC)、产品数据核心(简称SAC)共同组成了南航营销与服务的三大核心数据库。此项目的建立基于CBD的营销服务管控模式,对所有高价值客户实施针对性营销和个性化服务,可以很好的提高营销服务精准率,提升营销业绩和品牌效应,并推动了南航战略转型全面落地。
二、问题与挑战
- 用户识别困难:常客资料分散、异构;
- 资源浪费:子系统繁多、功能冗余,沟通成本高;
- 维护成本高:异构的系统、难以扩展;
- 信息孤岛:信息共享困难,通信方式混乱;
- 缺乏全流程的概念:系统各自为政;
- 营销困难:缺乏统一的数据收集系统,无法全面分析;
三、系统需求
- 建立统一的客户行为数据模型;
- 从常客数据库、高端客户数据库、B2C、呼叫中心多种旅客信息来源聚合客户行为数据;
- 建设明珠会员系统(对外)、旅客忠诚度系统(对内)和智能化常客积分体系;
四、关键设计决策
(一)逻辑架构
各种来源的数据经过ETL清洗、转换,通过ESB自动汇入客户行为数据库中,为旅客忠诚度系统、智能化常客积分体系等上层分析应用提供基础数据。使用规则引擎Drools分析客户行为。
(二)部署图:
(三)关键技术点:
- 分布式部署;
- 负载均衡/集群;
- 高可用;
- 动静分离;
- 数据整合与割接;
(四)开源技术栈:
- Redhat Enterprise Linux;
- LVS;
- GFS;
- JBoss;
- EJB3;
- Apache Web服务器;
- Drools;
- Jasper ETL;
- MySQL;
五、合作方式
红帽提供资深顾问和开发人员与南航的项目组共同封闭式开发。
六、客户收益
CBD项目是南航与开源技术的第一次完美结合,是南航IT开源化的第一块奠基石,该项目的成功促成南航坚定地、不可逆地转向开源技术的方向。
CBD项目至少给南航带来以下的收益:
- 降低实施成本。如果采用某厂商的商业软件组合,成本至少高出1000万元以上;
- 避免厂商锁定,获得技术自主权。通过使用开源软件自主研发,获得真正的技术主导权;
- 获得业务敏捷性。为了在竞争中获得关键的竞争优势,企业需要实现差异化的业务战略,使用开源软件可以大大缩短从业务意图到技术实现之间的上线时间;
- 为南航培养了开源技术人才,形成了开源文化氛围。我们不仅“授人与鱼”,还做到了“授人与渔”;
南航移动运行网项目
一、项目背景
天合联盟成员中国南方航空股份有限公司(以下简称南航),总部设在广州,以蓝色垂直尾翼镶红色木棉花为公司标志,是中国运输飞机最多、航线网络最发达、年客运量最大的航空公司。目前,南航经营客货运输机600多架,机队规模居亚洲第一,世界第五(数据来源:国际航协),是全球第一家同时运营空客A380和波音787的航空公司。
移动化是南航信息化建设的重要主题,结合公司业务流程、实际运行情况等推出南航移动运行网,实现移动化工作,提供信息公告、航班动态、保障录入、值班领导、机组管理、空勤查班、乘务申请、消息推送、运行概览、个人待办等功能,打造工作的移动APP。
二、系统需求
- 可在Android和iOS两大移动操作系统上运行;
- 包括航班动态、机组任务、空勤任务、保障信息等多个功能模块;
三、关键设计决策
使用高科研发的变色龙移动开发平台构建南航移动运行网。变色龙平台具备模块化、高性能、跨平台、快速开发等功能,可以快速实现业务需求。变色龙移动平台具备强大的扩展性,有丰富的组件、模板,满足不同需求的自由组合。
(一)跨平台
- 原生实现:各移动操作系统的编程语言不统一,需要单独开发,多屏幕尺寸适配困难,技术门槛高,研发成本高;
- HTML5实现:一次编码,随处运行。支持轻应用方式发布,支持客户端方式发布;
(二)高性能
- 高性能Webkit加速器,解决HTML5兼容性问题,大大提升运行速度;
- 用户体验优先的架构(SPA);
- 可离线使Hybird性能加速;
(三)模块化
- 贯穿平台的模块化架构;
- 自由组装;
- 可重用;
- 个性定制;
(四)快速开发
- 快速开发SDK:一键创建⼯程、模块、UI ,代码模板,组件库,交叉调试套件;
- UI模板:内置多种代码模板,SDK快速应用模板,接口业务对接即完成;
- UI组件:List,Calendar,HUD,Segment,Navigation,Button,Cache等;
(五)移动云服务
1. 消息推送
- 支持APNs、GCM、NIO三种推送渠道;
- 支持回执,确保消息到达;
- 发送失败消息自动重发;
- 支持按模块推送;
- 支持分类发送;
2. 设备管理
- 设备资产登记;
- 信息信息采集;
- 集成MDM;
3. 系统公告
4. 意见反馈
5. 权限管理
- 基于RBAC0模型构建;
- 实现应用、模块访问权限控制;
- 细粒度权限管理;
6. 即时通信
(六)云管理平台
- 应用管理;
- 模块管理;
- 效能分析;
- 用户行为分析;