手机版
排名推广
排名推广
发布信息
发布信息
会员中心
会员中心
会员登录
会员登录
会员注册
会员注册
当前位置: 首页 » 行业资讯 » 技术交流 » 从程序员强迫症引发的MHE实现

从程序员强迫症引发的MHE实现

更新时间:2024-11-23 18:47:53

作为合格的程序员,我们会有所谓的“代码洁癖”,翻译过来也许就是“强迫症”吧。身处现代生活,每个人的手机里都会有几十种不同的app,为了新闻资讯,生活服务,知识增长等等目的,我们不想错过任何一个得到新鲜推送的机会。但是,这样一来,我们就会收到各种各样的推送,来自不同的app,纷杂地显示在自己的屏保上。并且如果你不点开的话就会有红色点点在app图标上。让我们这些“强迫症”程序员很“uncomfortable”。

可能由于我们是MyTE的开发人员,我们深知Accenture也有很多不同功能的app和不同目的的审批流程。 故而这些“内部软件”推送让我们更加不能错过。从几年前的各个国家用各自的时间费用系统到One Global Time and Expense, 从只能提交费用或时间的app-MyExpense, MyTime,到集成Time&ExpenseMyTE mobileMyTE的小伙伴们就在想,对于推送,我们可不可以把公司内部所有发推送的组织集成出来一个统一发送推送的管道,然后再统一发送给用户。对于各种流程审批,可不可以集成在一个app上做。 这样不但给客户方提供了统一接口,还让用户端不用安装各种各样的app,在一个app上处理多种推送,进行各种流程审批。这样一来,从强迫症引发的app—MHE(Message Hub for Enterprise)idea就应运而生。

光有好的idea只是成功的一半。拥有一个集创新、勇于探索新技术、快速学习开发能力的团队,才是实现idea的坚实基础。而我们,就是这样的一群人。

MHE开发的前期,我们的技术骨干们就提出了运用现在比较潮流的云技术去搭建这个框架。我们以Microsoft Azure Cloud为平台,集成Azure Service Bus, Service Fabric&Asp.net core实现消息处理机制,运用Redis/CosmosDB等作为数据存储平台,再应用Azure Notification Hub进行消息推送。对于需求分析和手机app的设计,我们有专业的Functional团队。对于app的实现,我们MyTE团队有做手机端混合是开发的丰富经验,并用上了最新版本的AngularJs 5 & Ionic 3作为框架开发。

对于云相关的技术,我们的小伙伴们几乎都是陌生的。为了实现这个idea创新,技术新潮的platform,我们集齐了组里senior的程序员,各自分工,自学Azure相关的各个模块,并在Azure上做小demo去实现和学习。在1个月左右的业余时间里,我们seniormember们就基本掌握了相关技术并可以做出有功能的模块。

因为MHE是一个“大工程”,不但对于senior developer是个挑战,对于我们组里juniormember 也是一种提高技术实战的机会,所以由Junior member组成的小团队运用Asp.net技术完成了模拟客户发送推送的小应用。

前端app小分队也是运用新技术去完成app的实现。还和CDS团队协作,运用最新版本的CDS去辅助app端的一些UI设计及开发工作,把反馈提供给CDS团队。之后运用Azure notification的部分给iosandroid进行推送服务。

就这样,大家分工合作,经过几个月不断的学习、探讨、提高、精进,我们完成了前端app,后台云处理以及测试客户端应用的一整套比较成熟的应用。因为我们的idea的创新性和实现的完成度都很高,我们也由此获得了CIO Best Idea一等奖。并且MyOps成为了我们第一个客户,现在小伙伴们正在积极的跟MyOps team 讨论/实现具体的集成。想集成到MHE给活动俱乐部进行推送消息等业务。

按照MHE最初的设想,当前无论从架构还是功能角度都还处于相对初期的阶段,在后面的二期,三期 中我们会不断的完善,加强,实现更多更有价值的功能。从而MHE不但能支持App to Individual,而且能支持App to App,让用户能创建业务的Flow,使MHE成为真正的企业信息生态圈中重要的一环。请期待我们的MHE 2.0, MHE 3.0…吧!