今天恒拓开源信息科技有限公司发布了开源项目Koala(考拉),这是一款基于Apache 2.0开源许可协议发布的Java EE企业级应用开发平台。
Koala项目面向哪些用户
Koala是为企业应用而开发的,它面向IT企业与开发人员,为他们生成一个可直接部署运行的项目核心,集成了绝大多数企业应用中都要用到的技术基础组件和业务组件,开发人员可以以此为基础添加自己的内容,形成一个完整的企业应用。
Koala项目简介
- Koala是一个免费的、开源的JavaEE企业应用开发平台。它的主要设计目标是:
- 促进领域驱动设计(DDD)思想的普及推广。
- 简化架构师的系统设计工作。
- 提高开发人员的工作效率。
- 降低软件开发成本。
- 集成JavaEE企业应用开发中常用的技术组件和业务组件,使得开发人员不必自行开发和配置。
- 提供一个简单、一致的核心,同时不限制开发人员的自由度。
- 促进面向标准和规范编程,降低框架、类库的耦合度,避免厂商锁定。
- 促进单元测试、验收测试、自动化构建、持续集成、软件质量度量等软件质量保证措施的广泛采用。
Koala目前可实现的功能
Koala是以领域驱动思想为核心,在此基础上为开发人员提供了一整套可选的完整的辅助解决方案。
Koala现在包含以下功能及实现:
- 向导式项目定制与生成。通过Eclipse插件自动生成按标准分层的、多模块的Maven项目骨架,省去了开发人员收集、装配和配置各种技术组件的麻烦。可以在多种持久化框架、IoC容器、Web框架之中自由选择一种,灵活搭配。可以选择消息服务、缓存、规则引擎、业务流程引擎、ftp、定时任务、Excel导入导出等基础技术组件(未来还会提供更多技术组件)作为项目的组成部分。
- 通过Eclipse插件从数据库表生成实体类,以及根据实体类生成CRUD功能的Java类和Web页面,以减轻开发人员的机械性、重复性工作。开发人员可以在生成的类和页面的基础上作进一步的修改,以满足自己的特定需要。
- 对测试自动化的支持。系统提供了方便的测试基础设施和测试基类,开发人员只专注于编写测试用例,不需要自行搭建任何测试支持环境。另外,在代码生成的过程中也自动生成了测试类和某些测试方法。
- 权限子系统。生成的项目中集成了一个基于RBAC3模型的权限子系统,以用户、角色和资源为核心的关系而建立,可以针对URL、业务方法、页面中的按钮、文字和图片等资源施加细粒度的权限控制。
- 流程子系统。系统集成了一个基于JBPM5的业务流程运行和设计平台。你只需通过浏览器在线设计流程并部署,即可发起、执行和监控流程实例。其余的一切由流程平台为你解决。
- 监控子系统。系统集成了一个可开关的监控子系统。它可以为你监控http请求,找出哪个请求访问次数最多或最耗时;为你监控业务方法,找出请求最多或最耗时或抛出异常的方法;为你监控数据库资源,连接池健康状态监控以及SQL监控,等等等等。
- 透明的远程化支持。你可以通过Eclipse插件,将项目中的某些类发布成SOAP和/或RESTful风格的Web Service或Stateless EJB,在此过程中无需修改现有的类代码。Koala自动生成可部署的发布包,可以选择WAR + EJB或WAR两种部署形式之一。
- WS的安全机制。使用Koala发布的Web Service,你可以立刻获得基于IP过滤,用户名密码验证,方法级权限控制的Web Service安全机制。无需自己编写和配置。
- 通用查询组件。无论事先多么详细规划,也无法穷尽最终用户的查询需求,甚至在系统上线之后客户还可能提出更多的查询需求。Koala对此的解决方案是提供一个通用查询组件,用户可以在系统提供的界面上自由定制自己需要的查询,即时生效。
如果您对Koala产品有兴趣,可访问Koala的官网获取更多信息。