2008年总结


12月19日,2009年也快过去了。年初时豪言壮语,但实际的情况是知易难行,一年努力下来,还是做了不少事情。

今年的职务已经是总体架构师了,曾经何时我还说,我更喜欢做coder,最崇拜的人是Bill Joy。但是,能力越大,责任就越大,就要参与和决定一些事情了。

在以前,我一直作为技术尖子的角色,做过很多关键技术模块的攻关,例如多数据库支持引擎、工作流、单据转换引擎、短信网关等等,有被人称颂的成功,也有被人痛骂的教训。每次的经验和教训都让我成长,掌握的知识也变得更广。编写代码、开发管理、程序运维等方面都积累了一些知识。我经常思考以前经历过的一些项目一些基础引擎开发的经验和教训,想如何避免以前遇到的一些失败教训。友商网SAAS 2.0的开发,给了我一次机会,作为架构师的角色,去设计一个系统的技术架构和开发管理方法。

我很推崇“产生式编程”的思想,在ORMapping方面有自己的想法,在这次的机会中,可以一展抱负。有机会实现自己的想法,是很幸运的事情。我很投入,很努力。

作为架构师,我的特点就是对底层细节更了解,我一直都是认为“细节决定成败”,“魔鬼总是在细节中”。关注的面也就很多,从技术选型、系统分层、运行引擎、代码风格、配置文件结构、关键基础模块的算法、工程依赖、开发环境、知识共享方式、BUG管理方式、源代码管理、测试覆盖率、日构建、部署、运行监控等等。这些方面都或者参与,或者实现,或者决策。

我还充当技术尖子和软件配置管理员的角色,下面是我在这两个角色方面的一些成果:

多租户数据隔离技术的实现,在JDBC Driver层拦截SQL,安全高性能实现多租户数据隔离,业界领先,独此一家,已申请专利。此技术解决了多租户系统开发过程中开发人员容易漏写过隔离条件导致的“串数据不安全”和“全表扫描低效率”的问题。从而使得SAAS 2.0开发过程中完全解决了多租户数据隔离问题。

搭建了一整套SAAS 2.0开环境,定义了开发流程。将产生式编程、Maven开发管理等业界先进的研发技术引入到研发过程中。将元数据管理、代码生成、工具重构、日构建、软件制品(artifact)仓库、测试等多个部分紧密集成,极大提高了开发效率。

开发工具“利维坦”,是一个实现“产生式编程”思想的Eclipse插件。能够生成数据库、ibatis配置文件、DAO Java代码、Service层Java代码、多语言资源文件等,和Eclipse紧密集成,在代码生成后自动检查和修改spring和ibatis的配置文件,并且能够元数据级重构,添加字段和删除字段,工具能够修改,极大提高了开发效率。

独立开发了同时支持产生模式和解释模式的ORMapping引擎,支持功能完备的OQL,包括子查询、分页查询等等。能够在多租户系统中支持扩展字段。是SAAS 2.0系统中用户自定义高级功能的引擎部分。

在多个技术关键点取得突破,包括每秒钟能够产生100万唯一数的64位唯一ID生成算法、多租户环境下的用户自定义字段解决方案、扩展性更好的JSON库等。

posted on 2008-12-19 17:04  温少  阅读(1543)  评论(2编辑  收藏  举报

导航