阅读更多

20顶
13踩

编程语言

原创新闻 J-Hi Java快速开发平台发布

2011-02-21 11:40 by 见习记者 liutianshu77 评论(37) 有27752人浏览

J-HI是什么
    J-HI是一款JAVA WEB应用软件快速开发开源平台,主要服务于软件企业和传统行业企事业单位信息中心的开发人员,为他们提供一套完整的一站式的JAVA WEB应用软件快速开发解决方案。
平台包括如下几个部分:
1、J-HI平台集成环境:J-HI团队开发了一个集成开发环境J-HI Studio,在此集成开发环境之上,开发人员能够快速搭建自己的开发环境,创建自己的模型,快速生成代码。


2、核心框架:平台为Java代码与JS代码之间提供了一套完整的面向对象的核心框架支撑系统,可以认为这是一个抽象层,无论是在页面表现上,还是 在 CURD的任意一层,平台均提供了最大限度的抽象。用以保证平台本身的可扩展性、稳定性及灵活性。J-HI平台中提供了大量的API(Java与JS), 为用户在开发过程中随需调用,从而进一步加快开发速度,保证代码质量。

3、业务平台功能:包括权限管理、组织结构、枚举管理、国际化管理、任务管理、日志管理、Excel报表管理、消息管理等。
4、工作流:包括工作流引擎及流程编辑器等。

 
J-HI有什么特点
1、基于业务模型,可以快速生成,提高大大提高开发速度。
2、与传统开发模式相同,是传统开发模式的有益补充。
3、更大的灵活性,无论是生成的源代码还是生成器模板,用户均可自由修改。
4、多框架支持,为您的开发提供了更大的可选择空间。
5、基础框架完全开源,用户可以按需自我调整(实际上平台底层已经非常强壮,无需调整)。
6、组件化管理,组件重用、扩展、移植更加方便。用户可以有选择的使用部分组件。
7、容易上手,无论是学习还是作用项目开发,平台容易掌握,学习曲线低。
8、优秀的学习资料,平台是多年经验积累的结果,您可以通过平台分析了解更多的技术解决方案,与设计思想。
为什么会选择J-HI
通过技术路线我们会发现无论是软件还是硬件,如今的系统越来越高精密,越来越复杂,需要掌握的知识也越来越多。J-HI平台本身就定位在“大规模集成”这一环节上,目的是将主流的框架集成于该平台当中,为用户呈显一个高效、稳定、可复用、低耦合、通用化并且功能齐全、用户体验友好的套件产品。J-HI平台的目的就是通过平台的集成能力,化繁为简。从而提高开发效率,让软件工程师将主要的精力放在最核心的业务逻辑上,而非写一堆的POJO类或页面导航的配置文件这些琐然无味又没有技术含量的工作中。
平台也是一个了解主流开源框架很好的学习工具,因为它本身是一个设计良好开放的框架,除了支持目前主流的表现层webwork、struts,业务层spring以及持久层HIbernate和ibatis开发框架,用户还可以通过扩展平台实现其它非主流的开发框架,例如页面可是vm/ftl/pdf等,在持久层上用户可以采用JDO等。并且所有文档及代码注释均采用中文,为快速了解平台及相关Java框架提拱一条便捷有效的学习途径。
J-HI平台的宗旨无非八个字“提高速度,降低成本”,在提高开发速度方面:
1) J-HI平台采用模式驱动代码生成的方式会生成从数据库脚本、Java代码、JSP页面到相关配置文件所有文件,从而使您从枯燥繁琐的编辑配置文件、写模式的Java代码(如POJO、Action、DAO)中解放出来。
2) 平台本身提供了很多通用的、可配置的功能模块(如权限管理、附件、枚举管理……)我们称之为通用组件。因为这些通用组件都是十分常用的,可以说在一个系统中它们无处不在,所以利用通用组件可以大大加快项目的开发速度。
3) J-HI平台底层是一个设计良好的框架,可以说容入了当今大多数主流的开源框架。通过向导的形式平台可以提供对不同框架间的一站式快速搭建。
4) 除之以外如何快速响应客户的需求的不断变化一直是做软件项目的一场噩梦,而J-HI平台在这方面有一些自己的经验与尝试,即使是增、改数据库表字平台本身也有自己的解决方案。
在降低成本方面:
1) 风险成本,为了提供开发速度降低项目的经济成本采用平台或工具(即使是采用一些开源框架)这已是业界不可逆转的趋势。随着平台化产品的不断涌现,如何选择好的产品以降低风险已是作为决策层首当其冲考虑的问题。在这方面可以说J-HI平台在同类的产品中风险是最低的,一、它是开源的没有任何瓶颈;二、它生成的所有代码全部可见,J-HI平台不制造规范而只是Java世界中主流规范的执行者,本身没有任何技术陷阱;三、可以说J-HI平台是程序员为程序员开发的一个工具,它的开发模式与传统开发模式完全相同。
2) 人力成本,快速开发本身就意味着人力成本的降低,对于企业来说通过平台可以将人员分出梯次从而进一步的控制人力成本。对于个人来说通过对J-HI开源平台的学习(因为可以说平台本身就是目前很多主流框架的一个容器),可以快速的提升自己的技能,特别是在企业级开发上,从而实现自身价值的提升。
3) 管理成本,人员的流动尤其是核心人员的流动一直是企业面临的棘手问题,而对该问题的最好解决方式是在项目管理与开发上的标准化。J-HI平台为开发的标准化提供了一个基础,原因在于代码生成无论是代码样式、风格及配置文件的规则完全相同。这样就保证无论人员如何流动但这套标准是不会变化的。


J-HI平台系统结构


上图是在功能上对J-HI平台的高度概括。通过该图可以看出平台采用JavaEE接合Spring实现从数据库端直到业务端的全线贯通。从总的技术路线来看平台充分发挥Spring IOC与AOP的强大功能,实现业务层两端(即表现层与持久层)的完全解藕与无缝集成。在此要强调这种集成并非传统意义上的提供一套简单的配置文件,而是结合业务对每个框架的集成均提供一套更符合业务、调用更友好的抽象层,抽象层除封装、集成外还提供一套客户可配置,扩展性良好的通用API。而对于颗粒度较大的功能项,我们以通用组件的形式发布于平台之中,如树的展示、对象化的树型结构等等。在页面表现上平台除提供可客户化扩展的标签库外,还为您提供一整套以ajax技术为核心的客户端,从而使用户感受更好,更像是web2.0技术实现。除此之外,平台更加贴近实际业务,提供了一些通用的应用服务,包括权限管理、组织结构、任务管理等等,对于通用的应用服务我们以后的版本中不断加入,可以看出平台是一个开放的不断扩充的集成开发工具。最后,生成器贯穿于所有层面,可以生成任何层面的文件与代码。

平台下载

J-HI开发环境下载:

下载地址1 下载地址2 
插件下载:
下载地址1 下载地址2
视频下载:

安装部署视频 应用开发视频
文档下载:

j-hi开发手册

 

 

 

20
13
评论 共 37 条 请登录后发表评论
17 楼 sujianchinaouya 2011-02-21 22:01
  
16 楼 LucasLee 2011-02-21 21:03
果然是大量生成器。
另外视频居然是exe格式,太吓人了吧?
15 楼 fight_bird 2011-02-21 20:59
好东西,适合国情,努力做成精品,但切记别太急功近利,那是开源项目的大忌,精品开源项目是靠服务和高端赚钱的。
14 楼 haiyupeter 2011-02-21 19:45
看了一下:“安装部署”在线演示
与Apusic公司的[url:www.operamasks.org]OperaMasks[/url]框架的理念一样
13 楼 longer042 2011-02-21 16:55
SpringSide
ferreousbox 写道
看了下作者的开发手册,感觉就是一个“设计器+生成器”,辛劳成果值得赞赏。不过每个人的开发习惯和方式不一样,似乎不太适合所有人,至少就不太适合我。比如ORM,我都是用注解来做,struts的action我都是零配置来开发的。说的不对,还请指导,呵呵

。。这些只是习惯而已。。。其实用配置文件 也没啥。。
12 楼 ganshuman 2011-02-21 16:07
对新手,基于jee快速入门帮助会比较大
11 楼 simplechinese 2011-02-21 15:53
诚然辛苦,整体感不错,但就每个部分来讲都还不够精,希望能持续下去。
10 楼 susam 2011-02-21 15:05
一直SpringSide
9 楼 ferreousbox 2011-02-21 14:45
不过对作者的通用模块的设计和重用表示赞赏,这样可以减少不少的重复开发量,只是度难把握。过度约束就限制了开发自有,过少约束又成了jar包了,仁者见仁智者见智的事
8 楼 ferreousbox 2011-02-21 14:42
看了下作者的开发手册,感觉就是一个“设计器+生成器”,辛劳成果值得赞赏。不过每个人的开发习惯和方式不一样,似乎不太适合所有人,至少就不太适合我。比如ORM,我都是用注解来做,struts的action我都是零配置来开发的。说的不对,还请指导,呵呵
7 楼 gch_h 2011-02-21 13:56
主页好像是http://www.j-hi.net
支持一下
6 楼 gch_h 2011-02-21 13:55
http://code.google.com/p/j-hi/上看到成员的邮件好像都是中国人的名字
xinfengy...@gmail.com, hao.zhan...@gmail.com, jin.hua...@gmail.com, xin.feng...@gmail.com, services...@gmail.com
5 楼 gch_h 2011-02-21 13:52
是不是国产的
都没见过国产的通用开发平台
4 楼 redstarofsleep 2011-02-21 13:42
只有下载地址?连主页都没有的吗。。。。
3 楼 joehe 2011-02-21 12:53
80%的工作量是在web开发上
2 楼 fcoffee 2011-02-21 12:27
开发手册居然是word格式的?
1 楼 linginfanta 2011-02-21 12:20
有多大必要。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 前端树形Tree数据结构使用-‍♂️各种姿势总结

    前端开发中会经常用到树形结构数据,如多级菜单、商品的多级分类等。数据库的设计和存储都是扁平结构,就会用到各种Tree树结构的转换操作,本文就尝试全面总结一下。如下示例数据,关键字段id为唯一标识,pid为父级id,用来标识父级节点,实现任意多级树形结构。"pid": 0“0”标识为根节点,orderNum属性用于控制排序。在前端使用的时候,如树形菜单、树形列表、树形表格、下拉树形选择器等,需要把数据转换为树形结构数据,转换后的数据结效果图:预期的树形数据结构:多了children数组存放子节点数据。

  • 使用递归SQL实现树形参数的转换(后传前)

    递归 SQL(Recursive SQL)是一种 SQL 查询语言的扩展,它允许在查询中使用递归算法。递归 SQL 通常用于处理树形结构或层次结构数据,例如组织结构、产品分类、地理位置等。递归部分定义了如何从一个节点到达下一个节点,而终止部分定义了递归何时结束。递归 SQL 语句通常使用关键字来定义在于它可以处理复杂的层次结构数据,而不需要编写复杂的程序或使用循环语句存在性能、内存、可读性和数据一致性(多线程或分布式情况下)等问题。

  • 数据结构之——树形结构

    数据结构之树形结构:强大而灵活的数据组织方式

  • 数据结构-树形结构

    树形结构介绍,未完待续~

  • 树形数据的处理。

    1.以下为后端返回数据,需要处理为树形结构数据。 var list = [ { id: 2, name: 'declare', parent: 0 }, { id: 3, name: 'gps', parent: 0 }, { id: 4, name: 'gui', parent: 1 }, { id: 5, name: 'http', parent: 1 }, { id: 0, name: ...

  • 超大量数据,前端树形结构展示

    由于在点击节点时才进行该层数据的获取,默认情况下 Tree 无法预知某个节点是否为叶子节点,所以会为每个节点添加一个下拉按钮,如果节点没有下层数据,则点击后下拉按钮会消失。同时,你也可以提前告知 Tree 某个节点是否为叶子节点,从而避免在叶子节点前渲染下拉按钮。}, 500);

  • 【数据结构】树形结构

    【数据结构】树形结构

  • 数据结构 树(Tree)的基本知识

    树形结构的基本概念 节点: 树上的每一个元素都是节点 根节点: 一棵树最顶端的节点称为根节点 每棵树最多有一个根节点 空树没有根节点

  • 树形结构解析:优雅构建层次化数据模型

    广度优先遍历通过使用队列来实现,从根节点开始,首先访问当前节点,然后将其所有子节点加入队列,依次访问队列中的节点。广度优先遍历通过使用队列来实现,从根节点开始,首先访问当前节点,然后将其所有子节点加入队列,依次访问队列中的节点。在上述示例中,我们首先创建了一个根节点(值为 “A”),然后创建了三个子节点,并将它们添加到根节点的子节点列表中。在上述示例中,我们首先创建了一个根节点(值为"A"),然后创建了三个子节点,并将它们添加到根节点的子节点列表中。树形结构的构建通常从根节点开始,逐步添加子节点。

  • SQL生成树型结构数据

    【代码】SQL生成树型结构数据。

  • 数据结构-----树形结构、二叉树的介绍

    树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。根节点(Root):树中的一个特殊节点,它没有前驱节点,是整个树的起点。子树(Subtree):除根节点外,树中的每个节点都可以看作是一棵子树的根节点。子树是一棵与原树类似的树,它包含了一部分原树中的节点和边。前驱节点(Parent)和后继节点(Children):一个节点的前驱节点是其所在子树的根节点,而该节点称为前驱节点的后继节点。

  • Sql中对于树形结构的处理

    前言: 在开发中会遇到数据库为树形机构的表设计,级表中的数据的子id对应上一级的父id(parentId),这时候需要用到sql的自连接查询来得到树形结构的结果,并设计实体类来接收此类数据 表的自连接查询,即自己连接自己来查询数据: sql样例如下: SELECT t1.id one_id,t1.pname one_name, t2.id two_id,t2.pname two_name,...

  • SQL 递归找查所有子节点及所有父节

    在SQL的树型结构中,很多时候,知道某一节点的值,需要查找该节点的所有子节点(包括多级)的功能,这时就需要用到如下的用户自定义函数.     表结构如下:      ID int Dep_Type int Dep_Code varchar(50) Dep_Name varchar(50) Dep_Dian int De

  • table-tree 表格树、树形数据处理、数据转树形数据

    前言 公司想搞个表格树的展示页面,看着element有个表格树,还以为可以用。 用出来只用表格没有树,研究半天没研究个所以然,只能从新找个 npm里找到一个:vue-table-with-tree-grid 正文 element的坑 element:http://element-cn.eleme.io/#/zh-CN/component/table ...

  • java自关联id与pid - 循环递归查询子菜单或者下拉框的实现

    1.service实现类代码 courseTypes = baseMapper.selectForTreeData(); 2.mapper层 //第1条:根据pid=0或pid=xxx查询出第1级课程分类列表 List<CourseType> selectForTreeData(); 3.mapper.xml代码 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.or

  • 快速获取树形结构数据

    快速获取树形结构数据 网上看了下获取树形结构数据的方法有很多种, 我这种我个人感觉相对简单和方便点, 下面我就先贴出需求 : // 后端需要返回的结果 let menuObj={ '属性1':{ 'a1':{ '子类1':{ '孙类1':{ '牛魔王':{ '哪吒':{....} ...

  • 树状结构数据如何用sql进行处理

    数据结构存储方式如下: 最底层节点存数据,如:4,8,9,6,12,13,11 父节点不存数。 根据以上结构建如下两张表: HTEST表 ID:所有节点 ID_FJ:该节点的父级节点 HTEST1表(树状结构最底层的节点存数) ID:数据节点 DATA:节点存数 做父级汇总后的结果展示:(每个节点的存数汇总) Sql如下: 处理父级不存数的情况: WITH ABC AS ( SELECT ...

  • sql查询【树形结构数据】

    WITH T AS (SELECT TO_CHAR(I.ITEMNO) ID, '-1' AS PID, TO_CHAR(I.CNNAME) AS NAME, 0 AS ISLEAF FROM BO_ACT_DICT_KV_ITEM I WHERE DICTKEY = 'INFOPUBLICADD.CODE.INFOTYPE' ...

Global site tag (gtag.js) - Google Analytics