故事

看15年间用友iUAP企业互联网开放平台

2019-05-14 19:34:18来源:励志吧0次阅读

摘 要:用友iUAP平台也经历了四个大版本阶段,经历十余年的发展,将长时间服务企业信息化过程中提炼出的各类技术成果,与互联技术和企业互联化全生命周期管理相结合,缔造出一个亘古未有的企业互联开放平台。

万物都有进化的过程。就拿人类来说,早起源于森林古猿,从灵长类经过漫长的进化过程一步一步发展而来,其间经历了猿人、原始人、智人、现代人四个阶段。其间,人类陆续完成了直立行走、使用工具、大脑逐渐发达、产生语言等标志性事件,终成为了掌控世界的智能生物。

无独有偶,用友iUAP平台也经历了四个大版本阶段,经历10余年的发展,将长时间服务企业信息化过程中提炼出的各类技术成果,与互联技术和企业互联化全生命周期管理相结合,缔造出一个亘古未有的企业互联开放平台。

下面,就让我们对照人类进化四阶段,来看看iUAP从前世到今生的四个时期。

阶段:2.x时代()

拿猿人阶段比较UAP的2.x时代,还真是有些类似呢。这不仅仅是因为猿人和程序员的关系毕竟进化到了现在,程序猿的帽子也还没有被摘掉。

实际上,要追溯UAP2.0的起源,就必须要提到2001年初春在北京西山凤凰岭脚下的一次封闭开发。当年的凤凰岭,并不是现在4A级自然风景区的样子,而是怪石密布的大山和裂谷,裂谷边沿是茂盛的树丛,这和1200万年前南方古猿生存的环境非常相似。

当时,用友NC从各部门抽调Java技术骨干、组成这支20人的先遣队进驻凤凰岭的时候,团队成员谁都没有想到自己正在为一个伟大的平台建立雏形。那时候甚至没有UAP这个名字,封闭团队所肩负的使命,就是把经过检验积累下来的各种公共开发框架、UI控件等进行平台化封装,解决内部开发效力和代码重用问题,更好的服务于水平运用产品的规模化开发。

封闭团队根据事前分工,对中间件、基础控件、模板、系统管理、查询报表、流程、数据交换、持久化、安全、升级等等部件进行设计、开发和封装,所选择的开发工具是当时比较流行的VisualAge for Java。2.x初期,平台还没有配备专业的UE人员,因此很多界面的布局、着色等方案是直接由技术人员确定的。从下图可以看到,2.x时期的开发工具IDE和典型功能节点的样式风格。

经过凤凰岭封闭和后续加班加点的开发,用友于2001年底推出了NC2.0产品,底层已经构成了"运用开发平台",这就是早期的UAP平台当时UAP并没有从NC中独立为一条产品线。应用开发平台的出现,大幅提升了应用系统的开发效率。

iUAP中心总经理谢志华当时对此给出了准确的评价:没有平台时,每个开发人员都必须是全能选手,按现在流行的说法可以称为全栈开发工程师,既要了解底层的操作系统、数据库技术,又要了解上层的业务逻辑和用户体验,这样的结果是开发效率低,对个人的依赖程度高。有了平台以后,按照平台的架构和体系,研发团队也被分为了技术平台层、业务逻辑层、运用展现层,每一层再进行技术细分,每部分的开发人员可以专注于自己所在领域的研发,这样就使得开发效力提升了1倍以上。

翌年,更为完善的NC2.1版本问世。由于UAP平台的支持,NC2.x的产品已经涵盖了财务、供应链、制造等跨不同领域的ERP功能,UAP平台采用的是当时刚刚兴起的J2EE技术,在技术上保持了性。

以下是2.x的运行环境的登录界面和系统桌面,红白底色的LOGO,Jtree风格的菜单树,都带有很强的时代烙印。

2.x时代的关键版本包括:

2001年12月,NC2.0发版;

2002年,NC2.1发版;

2003年,NC2.3发版,这也是2.x时代的稳定版本。

第二阶段:3.x时代()

NC3.0于2004年8月发版,其中的UAP平台当时被称作客户化。3.0是在前一版产品NC 2.3的基础上,结合实施过程中客户提出的需求,以及3.0的产品计划,开发完成的更加实用、高效和完全的产品版本,除核心应用得到加强外,在产品效率和产品可靠性上也有显著提高。

在3.0版本的客户化模块中,系统管理增加了安全控制和权限控制管理;自定义查询进行了重构,新的查询引擎功能更加强大和完全;原数据仓库重构为ETL工具;审批流支持越级跳转;EAI部分实现了U8和NC的整合;模版的易用性和功能大大增强。3.0版本推出后,NC产品交付了一大批项目,此时,用友在高端市场得到客户的认可和青睐,这也标志着用友抢滩高端市场初战告捷。

如果说2.x是程序员各显神通的年代,那么从3.0开始,各类组件控件都已严格规范化。另一方面,用友自主的中间件也日臻成熟。早期NC中间件的主要职责是支持NC开发调试过程和客户环境运行,进入3系列后的主要改进包括:完善支持NC开发调试过程的工具,包括在VA中的插件,用于生成代码和进行热部署等;为支持客户环境运行,对中间件的底层功能进行了改进,包括工具生成代码的优化;增强了NC中间件的本身特性,支持多种策略的负载均衡特性。

上述技术变革,带来了平台及产品在性能和稳定性的显著提升。我们将2.x到3.x的进化比喻为猿人到原始人的进化,也是因为平台在性能和易用性方面的提升,这就像原始人类开始直立行走一样,把双手解放出来,可以有更多的资源去做别的事情。

在3.x时期中期,开发人员沿用的开发工具Visual Age for Java由于无法替换更高版本的JDK,已经难以适应开发的要求。经过选型,全体开发改为使用ECLIPSE作为IDE。这个过程是略带痛苦的,很多程序员已习惯了VA基于可视化工具的开发模式,但经过努力终于还是完成了这个转变。以下是3.x典型开发环境的截图。

3系列的界面风格也发生了翻天覆地的变化。先前大家认为,用友代表性的底色就应该是红与白,蓝色基调是竞争对手多年采取的底色。但经过人机工程方面的分析,NC3.0从配色上决然转向浅蓝色,这也体现了平台开发团队在观念和心态上的成熟化。以下是NC3.x系统桌面和登录界面的截图。

3.x时代的关键版本包括:

2004年8月,NC3.0发版;

2005年7月,NC3.1(国际化版本)发版;

2006年7月,NC3.5上市,这也是3.x时代的稳定版本。

第三阶段:5.x时代()

从事研发的岁月,技术变革的历程,在我的脑海中留下了难以磨灭的烙印,时刻牵动着心弦。以至于多年之后,我在飞机上随便看了一部青春题材的片子《左耳》,就对里面仅有的几幕体现软件和编程的画面印象深刻。

让我们把眼光重新投回2011年的初冬。

在前1版产品3.5的基础上,用友NC结合市场、客户的需求和产品未来的发展规划,推出了高效、易用和适合集团客户管理运用的新一代产品。它的版本号是什么呢?固然是5.0(用友产品的大小版本号都不会出现4这个数字)。此时的UAP平台产品更趋成熟稳定,在诸多亮点当中,有一点足以体现UAP从原始人到智人的飞跃,那就是对当时大热的面向服务体系架构SOA的支持。

平台支撑着NC无数业务的底层调用,服务组件的清晰化,以及服务端代码的规范化,无疑使得UAP的脑容量大增。不少程序员回想说,做过5.0的开发,才算见识了什么叫真正的代码重构。

早在2x、3x年代,程序员写一段普通的远程调用代码,通常是这么写的:

try {

// 检查该查询是否被复合查询援用

bQuoted = GrowmodelBO_QryQuoted(strQryOid);

} catch (Exception e) {

intStackTrace();

}

到了5x年代,这种调用变成了这样写:

uotationMaintain service = Locator

.getInstance().lookup(ass);

try {

// 获取报价单全部结果数据

quos = eryBillByPK(pks);

} catch (Exception e) {

ror(e);

}

不难看出,接口、实现的封装/查找/调用,功能模块的解耦,代码层次的封装,都已经能从短短几行代码中看到了影子。实际上,经过架构优化后的UAP代码,已经分为public、client、private三层,层次间、模块间的调用都已做了严格的规范,一切都是面向接口而不能去访问组件内部的私有实现。下面这张5x时期开发工具截图,正体现了代码、类库和其它资源的规范分层。

除代码架构的优化之外,UAP5.0还支持了商业中间件IBM Websphere,并成立专门团队进行UE改进和portal集成,使得产品在可靠性和效力、易用性上有了很大提升。UAP专门为客开伙伴提供了集成二次开发平台,基于SPRING推出UI工厂框架,支持代码版本管理,优化了外部数据交换平台,平台产业链特性得到增强,成为用友基于J2EE的多产品开发平台。

在运行环境的界面风格上,5x逐步从3x的深海蓝转向淡淡的天蓝,给人的感觉更加简洁明快,愉悦轻松。5系列发展了4年多的时间,支撑交付了大量的项目,在UAP发展史上占有继往开来的重要地位,即便是在6系列出现很久后,很多老的客开顾问依然对5x怀有浓厚的感情。

5.x时期的关键版本包括:

2006年12月,NC5.0发版;

2009年04月,NC5.5发版,流程、模板极大完善;

2009年12月,NC5.6发版,性能获得重大突破;

2011年01月,NC5.7发版及上市,这也是可谓经典的5x时代稳定版本。

第四阶段:6.x时代(2011-今)

当智人已经远远于其它地球生物的时候,他并没有停止进化。随着语言的构成与完善,人类的智力、技能又上升了一个台阶,终于进化成为主宰世界的现代人。

一样,UAP也没有满足于5.x系列所取得的成功,经过五年磨一剑,又推出了震惊业内的6.0版本。6.0实现了技术和业务的完全分离,成为全面支持多集团、多组织、多时区应用和动态建模的版本,提供产业链级分层开发,支撑高性能云计算和异构系统的应用集成。代码层次方面,经历了从3.x的代码组件化到5.x的服务端代码规范化,6.x终于梳理完成了前、后端代码的一致规范化。

与此同时,6.0也多了一种软件建模的语言,那就是元数据。这是UAP贯彻MDD设计理念的关键步骤,由此UAP得以支持完全的编程模型,建立基于元数据的实体开发框架和操作/服务开发框架。随着大量开发插件的出现,开发工具IDE也已从Eclipse转化为UAP-STUDIO,从下面这张STUDIO的MDP透视图中,可以看到开发人员进行业务模型和业务组件设计的过程。

从6.0开始,UAP从研发机构上已经独立于NC存在。6.0主要包括5大部分:企业动态建模平台、应用管理平台、应用集成平台、应用开发平台、云技术运行平台。作为支持用友高端应用的坚实后盾,UAP6系列具备了高智能、高性能、高可用的特点,致力于为团体企业构建先进、开放的云计算运用平台,并为团体企业提供建模、开发、集成、运行、管理一体化的IT解决方案。

6.x时代,UAP的UE团队已经到达前所未有的规模,他们对人机接口进行了全方位的优化。6.x登录界面风格和系统菜单以下所示:

2014年,用友吹响了向互联企业转型的号角,UAP从此也就多了个i,变成了iUAP。这个新增的i,其实就是iEOP企业互联运营平台。iUAP能够帮助企业方便地实现企业内外部的数据整合、O2O互联,并助力企业基于互联构建出产业/企业生态圈,再以生态圈方式实现商业模式以及管理创新。新的开放平台iUAP具有以下的架构:

6.x时期,UAP子平台已开始独立发版,其关键版本包括:

2011年12月,UAP6.0/NC6.0发版;

2012年09月,UAP6.1发版;

2013年09月,UAP6.3上市;

2014年01月,AE2.0/BQ8.0发版;

2014年05月,移动运用平台2.1发版;

2015年04月,企业互联运营平台(iEOP)发布;

2015年底,又一里程碑6.5即将发版。

尾声

十五年,弹指一挥间。剑指苍天,再回首沧海桑田。早期UAP开发的峥嵘岁月还记忆犹心,每个平台、产品都离不开奠基者付出的辛苦汗水。

今天的iUAP,结合开发者和客户的意见反馈,经过一版一版呕心沥血的改进,业已成为面向大型企业与组织的企业互联开放平台。它是用友公司从多年应用软件研发进程中提炼出模型、模板、开发工具、运用框架、中间件、基础技术类库及研发模式等成果,采用可视化开发模式集成在一起,提供覆盖开发、集成、运行、管理等软件全生命周期功能于一体的企业互联开放平台。

回顾这一变迁历程,历经诸多挑战与考验,与地球生物以及人类的进化何其相似。

未来,人类会否继续进化?无从知晓。但已经进化为iUAP的UAP,一定会继续发扬光大。

超人,既能自我超出,又能超越他人。

iUAP,亦如此。

外阴瘙痒用什么好
产后感染不良后果
产后感染有什么危害
分享到: