Koala优势
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
企业级应用快速开发工具
————考拉的几大优势
完整的技术开发解决方案
使用Koala,可以完整的覆盖从项目创建开始,到编码,测试,部署发布,监控等各方面,解决项目开发的技术问题
Koala包含以下组件:
向导式项目定制与生成,不用再去整合各种技术,写大量配置,只需轻松定制,生成全新项目
丰富的组件,包含缓存,国际化,异常机制,FTP,EXCEL读取等,这些都是在大量的项目实践的基础上提取出来的组件,具有较高的重用性
向导式的增删改查的功能实现,实体的增删改查经常是非常重复的工作,现在K oala为你提供了向导式的生成且生成原生的java,jsp等,没有侵入性。
权限子系统,你可以立刻使用Koala的权限子系统,基于RBAC3模型的以用户,角色,资源为核心的关系而建立,可以控制任意URL,方法,按钮,图片等。
流程子系统,基于JBPM5的流程平台,包含流程设计平台与流程引擎平台,你只须关注如何设计一个流程,其它的平台为你解决。
监控子系统,为你监控http请求,看到请求最多或最耗时的业务;为你监控方法,请求最多或最耗时或异常的方法;为你监控数据库资源,连接池健康状态监控以及
SQL监控,还有更多的监控
方便的测试支持,无须关心任何细节与测试的配置,开发人员只专注于业务测试,不需要搭建任何测试支持环境;
统一的代码风格约束,基于checkstyle及pmd的代码检查集成,包含针对开发人员的eclipse插件以及针对检查人员或上级领导的代码质量报告,轻松约束整个项目
组的代码风格规范
透明的部署机制:只需开发一次,你可以轻松的把你项目中的服务发布成soap webservice,restful webservice以及EJB,还可以把项目发布成WAR+EJB或WAR两
种部署形式。
这些都是向导式的过程,无须开发人员进行任何代码的修改,Koala
为你生成新的源码及发布包。
WS的安全机制,使用koala发布的Webservice,你立刻就可以获得基于IP过滤及用户名密码验证,方法级权限控制的webservice安全机制,发布便集成,无须任
何开发。
从数据库到实体的自动化生成过程,同样是向导式的,节省大量时间
通用查询组件,项目中的一些查询需求,你只需要通过通用查询组件轻松定制就可,方便快捷
持续集成支持,从Koala创建项目开始,你可以立刻获得包含bug管理,每日构建以及svn,git版本管理支持功能。
UI人员以及开发人员的大量工作集中于前端。
Koala还将为它们开发一套UI,使得UI人员专注html+css,开发人员专注于组件的动态数据或效果等JS,并且保证原
型从UI到开发人员到最后成型的一致性
基于领域驱动设计而非传统的四层模型
过往的大多数项目的开发,都是以四层架构为主,POJO->Dao->Service->UI,这种模型使用广泛但也有许多不足,主要体现在:
核心业务过于分散,维护起来不易。
经常是业务逻辑和非业务逻辑混合在代码中,分散在4层之,业务发生变更时,修改及维护起来会非常不易
以数据库设计为向导,以实体的增删改查为主,完全不符合面向对象的原则,回到了面向过程的编码风格中
不利于开发人员与业务人员的交流,开发人员说数据库,表;业务人员说业务
而Koala则是基于领域驱动设计而实现,抛弃了过往的四层模型
领域驱动设计(Domain-Driven Design)简称DDD
DDD特点
统一语言:项目中所有人统一交流语言,避免过多的技术化词语,比如dao等。
统一领域模型:业务专家与IT人员统一使用一种模型,没有数据库、数据表等专业软件技术的干扰。
专有的领域层:领域层除了业务以外,没有软件架构,框架等底层技术。
领域层代码即业务文档,是企业最核心的业务价值。
DDD与数据库设计不同
领域驱动设计是一种面向对象的设计。
领域驱动设计主要基于现实业务中的模型,更加贴近真实业务。
领域驱动设计的产出品——领域对象(Domain Object)是一个“充血模型”,不但包含业务对象的属性,也包含对象的业务方法和行为。
领域驱动设计并不关心数据库,而是与领域专家一起,采用统一的语言分析领域对象的属性,业务方法,以及领域对象之间的关系,并为之建模。
领域驱动设计能够有效的减少沟通成本。
快速,方便又不失灵活
使用Koala,你可以快速搭建项目,快速开发项目,快速集成各种子系统,Koala为你节省大量重复工作,使得开发人员专注于开发。
同时,koala保证它的灵活性,没有任何藕合
你可以轻松的定制或整合你所需要的技术,esb, lucene,mq什么的都没有问题,按照你所希望的整合进去,只要具有足够的创意性
统一的开发规范
Koala项目有一套完整的开发规范及约束。
遵循DDD理念的开发规范,把领域层同其它层隔离开来
无论是Mybatis还是JPA做为底层数据库实现,调用的API是一样的,领域层,应用层的编码风格,API等也是一致的,不同的是JPA与Mybatis的映射SQL文件内
容不同
包含完备的异常处理机制,国际化机制等使用规范
WEB层倡导约定高于配置的风格,减化配置工作
较低的学习成本,较高的开发效率
由于Koala提供了大量向导式的辅助及非常多的子系统,还统一了开发规范,对于企业而言,这可以大大降低入职员工的学习成本。
同时也保证了较高的开发效率上,开发人员可以更少的专注于技术学习上,使用Koala可以将大部分经历放在业务的实现上,而不用关注国际化怎么实现,分页怎么做,新增改查怎么完成,使用Koala同时可以大大减少开发中的重复工作,如实体的增删改查功能等
开源免费的开发平台
没有什么比这个更为重要,做为信奉开源,献身开源的我们,致力于Koala的开源与免费。
使用Koala大大为企业减少技术成本
你可以获得源码,可以任意修改或优化
不必担心在技术上被捆绑或约束
获得DDD领域驱动设计的编码风格
恒拓开源信息科技有限公司
二0一三年九月十日。