“Make It Simple, Stupid!” – MISS Principle

“Don’t Repeat Yourself” – DRY Principle

对软件的简单之美,Steven Jobs做出非常成功的演绎。同时,无数的开发者们今天还在反反复复“重复着自己”:同一段代码,反反复复出现在不同的地方;同一样的逻辑,不同的开发者还在编写着类似的代码。反反复复重复的代码,肯定无法编写出最美的软件;最美的软件必须是“简单”的。然而,“简单”的东西确实是很复杂的,从复杂到简单的提升既是技术、也是艺术! 企业级应用,确实是很复杂的事情。历史的原因,认识的原因,使我们开发出了很多“烟囱”式的应用。这可以是说明企业应用很复杂的一个证据。为解决这个“复杂”问题,我们付出了很多努力。SOA可以说是这种努力过程中的一个里程碑。 今天,SOA架构思想已经普及人心,大家都认识到了烟窗式应用体系带来的问题。但是,不同的业务需要不同的业务应用来支撑也是不可回避的现实,建立无所不能的单一“大应用”是不可能的选择。

因此,即便是大家有了SOA的共识,各个企业还在进行着一个个单一应用系统的建设。大家还是在“理想化”的架构思想上,重复着“烟囱式”的错误。更加严重的是,这些“烟囱式”的应用可能,而且也不得不,由不同的厂商来完成,从而导致了基础技术和架构的不一致性。 在这种模式下,无论是开发或维护,无论是时间、金钱或机会成本都大大增加。

SOA的核心思想是组件化和服务化,通过服务封装组件,提高组件的可复用度。有了高可复用的组件,我们就可以避免组件的重复开发,从而降低开发成本;有了高可复用的组件,我们就可以基于组件来管理系统的维护过程,从而降低维护成本;有了高可复用的组件,我们就可以通过组件的快速复用来构造新的应用,提高开发和产品上市的速度,从而降低机会成本。 可复用性是DRY原则的内在目标。有了可复用性,复杂问题才有可能被简化。简化了才能降低软件开发和使用的成本,也才能体现出软件的美。

很多企业级应用,因为种种原因,可能是管理上的原因,可能是时间上的原因,可能是资金上的原因,更可能是开发者技能上的原因。从根本没有认真分析设计怎样把复杂问题简单化、怎样做抽象处理,而是只把精力放在了业务功能上的实现。这样生产出来的软件,初期可以满足企业的需求、企业应用不多的时候可以满足企业的需求。但随着企业的发展,这样的应用最终成为了企业的负担。

应用开发与配置平台正是基于上述问题的考虑,利用开放的技术标准和B/S架构,为应用系统提供统一的开发、配置和管理平台,以满足应用系统开发最常用的功能和需求,提供最大程度的应用开发的可复用性,极大降低开发的复杂度,有效缩短系统开发周期,提升系统的运维水平。

要达到这样的目标,其关键是要进行分析总结,抽象出相应的模型。我们不难发现,所有的应用开发都具有下述共同点:

一、 应用的最基本元素就是“应用菜单”,使用者通过应用菜单来对数据进行操作从而完成相应的业务功能。

二、 每一个应用都需要实现认证、授权和其它安全管理。

三、 每一个应用都需要有相应的系统管理功能,如日志和运行监控等

四、 多数应用都需要维护一定的业务相关数据,例如业务字典和参数等。

五、 多数应用都不是完全独立的,或多或少都会依赖一些共用的模块,如客户信息查询;甚至一些共用的系统,如用户/账户管理、文档管理等等。

应用开发与配置平台从企业级的角度看待每一个单独的应用。从开发的角度,应用开发与配置平台总结提炼上述应用共同点,提供应用的开发与配置功能;应用开发与配置平台提供大量的共用组件,加速应用的开发;应用开发与配置平台提供开放的接口,使得开发者可以开发更多的组件。从部署的角度,应用开发与配置平台让企业能够将多个应用部署在一个或多个服务器。从运行管理的角度,应用开发与配置平台让企业能够统一管理企业的所有应该。从使用的角度,应用开发与配置平台为企业实现单点登录,方便用户的使用。

应用开发的敏捷性: 快速灵活的支持应用系统构建,全图形化配置功能实现了高效的、业务驱动式的应用解决方案快速开发。通过直观的用户界面,企业可以在设计阶段就根据业务思路边配置边演近,实现“所想即可见”,解决传统开发过称中的业务人员、设计人员和开发人员之间的鸿沟,实现业务、设计和开发的有效沟通与协作。

企业级特性: 应用开发平台支持企业级应用,可以满足企业对高性能、高可用性以及信息安全等方面的要求。支持集群部署,可以承受大用户量的并发访问和多流程量的并发运行,保证系统响应的稳定性和可靠性。 应用开发平台成为企业“天然”的应用门户,自动解决应用门户和单点登录问题。应用开发平台还可以将企业现有的应用集成到平台,实现对现有应用的门户集成和单点登录。

组件可复用性: 应用开发平台采用组件化开发,平台本身提供大量可复用组件以加快应用开发的速度和降低开发的成本;同时,平台也提供和倡导应用开发所需要的环境和工具。Web应用开发中通常使用Java,JavaScript,html,xml等多种语言,从而使得组件重用停留在代码级,特别是JavaScript的使用使得代码调试极其困难。应用开发平台使用Java和XML,所有开发代码被编译后形成标准的Jar文件(一个或多个,Jar文件的数量按照应用架构和组件复用原则进行切分)。

提高应用的产品化程度: 目前国内应用产品化程度极其低下,这一方面使得应用开发商无法积累自己的知识资产;另一方面也让企业客户为此付出相应的代价。应用开发平台组件复用,组件封装技术使得应用开发人员可以对应用进行模块化设计并形成封装完备的产品模块,大大提高应用软件的产品化程度。

降低维护成本: 通过组件化的模式,应用开发平台为企业减少运行维护和应用持续开发的成本。统一的平台和共用的组件使得维护人员经过一次培训后就可以对多个应用进行维护。组件化的开发使得应用开发“流程化”,即“流水线”开发模式,这显著降低对开发人员的个体技能要求、提高代码的可维护性。

轻量级部署: 应用开发平台提供方便的部署、快速的实施,能够保证理想的速度与高效的控制能力,并可以随时随地根据实际情况做出迅速调整。

全生命周期开发: 提供从数据库映射到展示逻辑的多层次应用配置能力,有效降低应用开发难度。

北京市
朝阳区建外SOHO东区3号楼2103
邮编:100022
电话 (010) 8515-2101
武汉市
武昌区武珞路568号南方帝园B-21-5
邮编:430060
电话 (010) 5873-2636
长沙市
开福区富兴世界金融中心T6栋2508
邮编:410028
电话: (0731) 8292-1400
邮件:
info@ehuitian.com
support@ehuitian.com