Skip to content

Latest commit

 

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

my-mine

1、2009年入职

2、2010年参与广发银行贵宾客户管理系统项目实施

期间担任主要的前台功能开发;

恰逢广发银行三年柜面系统升级,配合排队机系统、柜面系统升级改造(主要需求:1、网点排队机系统客户刷卡排队之后,即通过本系统进行客户识别,并实时通知归属客户经理;2、柜面系统在为客户进行业务办理时,由贵宾客户管理系统提供客户在本行理财业务信息,并提供为客户推荐的理财产品列表信息。)本人担任贵宾系统唯一配合开发人员,即时学习了广发银行内部网关系统以及SOAP报文通讯协议,完成各类实时交易开发;本系统客户经理实时提醒等功能。

本次工作,从之前整理学习资料,到配合行方业务、对手项目组订制交易,再到本系统所有设计、开发、测试、上线,均由本人独立完成。

3、2011年参与北京银行对公客户管理系统项目实施

期间担任公共性质前台功能开发,前端页面与java服务之间交互规范制定,以及版本发布等工作;

该项目采用ExtJs做为前端渲染框架,采用纯Ajax数据交互,后端java服务采用面向服务的restful风格搭建。大部分技术都是第一次接触。该项目属于公司战略项目,且要求在项目实施中总结归纳出产品工程。所以项目成本较高,先后部署了两个web架构师,两个数据架构师。但项目进展不顺,架构师相继撤出。本人在学习掌握各个架构技术点的过程中,逐步对Ajax数据交互模式进行总结,对前台Ajax请求,以及java对外服务进行封装,以此逐步简化其他同事的开发代码量以及代码规范程度;并在后期与行方项目经理合作,坚持每天一版本的滚动发布。

本次工作,学习了较多的技术知识点,并且对SOA、Restful等理念有了一定的了解;并逐步学会在工作中进行公共逻辑的总结封装。

由于项目中的表现,本人于项目上线前两个月撤离项目组,调入产品研发项目。

4、2011年,在北京银行项目撤离后,加入CRM产品研发项目组

期间,担任主要的架构设计维护者,公共基础组件的设计开发者,版本集结,新人培养,项目组技术支持等工作;

其时,产品部门刚刚组建,产品形态尚未成型。该产品以北京银行对公客户管理系统为基础,进行收集、整理和优化。经过一段时间的总结与讨论,我们决定将该项目体系与公司另一个较为成熟的数据管理平台整合,在保留所有业务功能的情况下,将系统的权限、用户体系替换为该平台架构。该平台主要采用JSF+spring+hibernate做为业务架构,前段Aax交互采用DWR框架,整体技术较为陈旧。由我与该平台的一名架构师完成迁移、适配工作。

之后即有两个实施项目进入开发阶段。由于客户界面需求的变化,我与一名美工人员配合,对前端整体菜单、任务页签框架进行了重新开发。该框架采用纯javascript渲染动态菜单,管理多页签功能任务,为功能代码提供多种公共API,兼容Ext页面与JSF页面。该架构实施了将近十多个银行项目。

此段工作中,主要工作是进行产品版本的维护,产品架构的调整与升级;项目组各类开发、部署问题的支持。这段时间的工作,使我对WEB工程的架构体系的了解更为丰富,并编写出首个javascript界面框架;在对各个实施项目组的支持中,逐步总结、封装出一系列的前后端公共组件(如:树形面板模版类,导入导出组件、附件的上传下载组件等等),在对项目组的支持中,学习了解了各主流中间件(如:Websphere,Weblogic等)的操作,调优,以及异常排查等。

5、2012年中,产品架构升级

期间,主要对产品架构进行提炼,拨冗去陈,并对一些技术架构进行了升级。

由于之前产品与另外一套产品架构进行了融合,导致产品架构混杂,虽然已经实施了多个项目,但由于外来产品架构的冗杂、陈旧,导致产品实施的成本逐渐增加,且难以维护。基于以上问题,我们对项目架构进行了调整更新。

我们将权限管理系统进行了重新设计开发,在这个过程中,逐步替换剪除外来架构,使产品架构简单化。分析整理实施项目的实际需求,移除、简化原本系统权限计算上的一些无用抽象,以更为简单的用户-机构-角色做为各类权限的基本计算维度;同时,辅以功能点配置和数据权限过滤器的管理,使权限控制更为简单,也更为精确(功能点的授权,可以用于界面中任意一个元素、逻辑的控制,数据权限过滤器则可以剥离开发中任何关于权限的计算逻辑,简化开发)。

同时,这段期间内,我们对产品中的一些主要的技术框架,如struts,spring进行了版本的升级。为产品后续的进一步发展打下基础。

期间,伴随着一批批新人的加入与撤离,各类项目在实施中遇到的各类问题的解决。

此段工作中,我大多数的工作是对大量的实际问题的总结,抽象,并在纯粹的技术理念和实际问题的解决方案中,做出中和的设计。既要避免为了满足实际需求,对我们的核心方向理念产生破坏,从而引发产品长期发展上的问题,又要避免纯粹的基于理论或者范式的设计完全不贴合实际,而让实施落地产生风险。

6、2013年下,新的前端开发框架

这段时间的工作,主要集中在新型前端开发框架的研发与推广。期间伴随着各种推翻、质疑,但也有坚持,执著。

基于之前的工作,产品java端服务的封装已近完善。基础功能、上下文、公共方法基本满足开发使用。对于简单的独立功能,代码开发量基本上在数十行之内就可完成。一来,java的框架产品体系较为完善,资料也多;二来,java人才储备也较为完善。但是,产品web工程还包括了,前端页面的开发。

本产品前端页面主要采用ExtJs框架开发。这是一套纯javascript的页面框架,所有代码采用javascript编写,并没传统java人员所熟悉的标签化语言。javascript属于脚本语言,无需编译,解释执行;语法较为开放,没有强制的类型限制,熟悉的人员不多;其运行环境是浏览器,与java虚拟机不通;没有成熟IDE辅助,调试开发困难。Ext是采用javascript语言,同时结合面向对象的理念形成的一套特有框架,上手难度较高。

由于上述特性,导致我们的实施人员,特别是新手实施人员,在进行前端代码开发的时候,困难重重。对于javascript特性的理解,对于面向对象理念的理解困难,尤其是代码冗杂,常常出现基本语法的错误。

从2013年10月以后,领导也提出希望在UI上能有所突破,结合以上总结的这些开发上的弊端,我开始进行的新型的前段框架的研发,称为WLJ。 WLJ(walk lonely javascript)框架以Ext做为基础组件库,结合实际实施落地情况形成。主要分为metra风格的首页框架和具体菜单功能的开发框架。

首页框架主要包含了菜单、任务栏、桌面、瓷贴等各类基础类库;服务、任务、瓷贴管理器等全局管理器;以及用于首页UI、操作调整的配置文件。整体实现类似于windows8的桌面操作系统。其中,具有唯一的瓷贴开发接口,用于开发人员为某个菜单制作动态瓷贴。

功能开发框架则是以常规的数据管理功能为基础模版组织,主要包含了:框架代码部署器、功能代码检查器、功能整体调度器(APP)、树形结构管理器、插件管理器、头文件、API文件、日志控制器,以及全局配置文件。其中APP对象,会组织开发人员代码,管理前后交互、构建对象,构建全局API,管理运行日志,管理事件的触发,检测运行插件等工作,是框架中的核心对象。开发框架将界面抽象为:基础UI配置,和片段化事件响应逻辑。框架下的代码实现了高度的抽象化,基本上都是对于业务需求基本描述。在此框架中,我更期望能够实现代码文档化的理想,虽然不甚完全,但已经初见成效(代码结构与需求文档结构类似)。

截止2014年底,该框架已推广数十个银行项目。同时正在向其他产品条线推广。

这段时间的工作中,就是:抽象抽象再抽象;推翻推翻再推翻;优化优化再优化;坚持坚持再坚持。

7、2014年下,新版框架逐步升级,优化,推广;各类项目支持。

这段时间的工作,主要以新框架不断升级,和各类相关、非相关项目的支持为主。

WLJ框架诞生时,就定一下了标准了头文件和API文件。头文件中,定义了所有可用代码变量和可编写事件逻辑句柄;API文件中,定义了所有可直接调用的全局API句柄。所以,后续的框架升级,逻辑变换,都不会影响任何已开发出的功能代码,并可不断完善新的功能。

主要的更新工作有:

1、大量的配置化抽取,满足更多的UI需求;
2、不断丰富的开发变量和事件句柄;不断丰富的API;
3、丰富前段上下文;
4、优化前后交互逻辑,同步、异步队列功能引入;
5、结构化、标准化前台UI接口,主要针对美工人员添加新的API;
6、扩展前台瓷贴的配置入口,以及瓷贴展示形式;
7、功能面板类型,丰富操作;
8、优化界面响应速度;
9、优化框架版本兼容性;
10、添加插件入口,增加插件(如:数据缩略图,查询方案保存等);
11、丰富查询结果列表展示,如动态锁定列,纵横的hover效果等类似EXCEL功能;
12、如此种种……

同时框架推广到各个数据产品条线使用。

这段时间中,同时对也各地项目组进行支持,如有些特别功能的设计,中间件与运行环境的支持。(如,统一认证的接入,java内存溢出原因分析,JPA查询缓慢,中间件版本更新导致应用部署出错,各类主流框架漏洞的解释与修复等等)。

所学颇多,坚持也颇多。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors