Java快速开发平台JHi

2、件快速开发开源平台,主要服务于软件企业和传统行业企事业单位信息中心的开发人员,为他们提供一套完整的一站式的JAVAWEB应用软件快速开发解决方案。平台包括如下几个部分:1、J-HI平台集成环境:J-HI团队开发了一个集成开发环境J-HIStudio,在此集成开发环境之上,开发人员能够快速搭建自己的开发环境,创建自己的模型,快速生成代码。STUDIOJ'HI快速开发平台嘶HTtCROW2001QJHIMlBiGHl眈耗刖EDimp:wwwjcrvO82、核心框架:平台为Java代码与JS代码之间提供了一套完整的面向对象的核心框架支撑系

3、统,可以认为这是一个抽象层,无论是在页面表现上,还是在CURD的任意一层,平台均提供了最大限度的抽象。用以保证平台本身的可扩展性、稳定性及灵活性。J-HI平台中提供了大量的API(Java与JS),为用户在开发过程中随需调用,从而进一步加快开发速度,保证代码质量。3、业务平台功能:包括权限管理、组织结构、枚举管理、国际化管理、任务管理、日志管理、Excel报表管理、消息管理等。4、工作流:包括工作流引擎及流程编辑器等。J-HI有什么特点1、基于业务模型,可以快速生成,提高大大提高开发速度。2、与传统开发模式相同,是传统开发模式的有益补充。

4、3、更大的灵活性,无论是生成的源代码还是生成器模板,用户均可自由修改。4、多框架支持,为您的开发提供了更大的可选择空间。5、基础框架完全开源,用户可以按需自我调整(实际上平台底层已经非常强壮,无需调整)。6、组件化管理,组件重用、扩展、移植更加方便。用户可以有选择的使用部分组件。7、容易上手,无论是学习还是作用项目开发,平台容易掌握,学习曲线低。8、优秀的学习资料,平台是多年经验积累的结果,您可以通过平台分析了解更多的技术解决方案,与设计思想。为什么会选择J-HI通过技术路线我们会发现无论是软件还是硬件,如今的系统越来越高精密,越来越复杂,需要掌

5、握的知识也越来越多。J-HI平台本身就定位在“大规模集成”这一环节上,目的是将主流的框架集成于该平台当中,为用户呈显一个高效、稳定、可复用、低耦合、通用化并且功能齐全、用户体验友好的套件产品。J-HI平台的目的就是通过平台的集成能力,化繁为简。从而提高开发效率,让软件工程师将主要的精力放在最核心的业务逻辑上,而非写一堆的POJO类或页面导航的配置文件这些琐然无味又没有技术含量的工作中。平台也是一个了解主流开源框架很好的学习工具,因为它本身是一个设计良好开放的框架,除了支持目前主流的表现层webwork、struts,业务层spring以及持久层HI

7、平台本身提供了很多通用的、可配置的功能模块(如权限管理、附件、枚举管理,,)我们称之为通用组件。因为这些通用组件都是十分常用的,可以说在一个系统中它们无处不在,所以利用通用组件可以大大加快项目的开发速度。3)J-HI平台底层是一个设计良好的框架,可以说容入了当今大多数主流的开源框架。通过向导的形式平台可以提供对不同框架间的一站式快速搭建。4)除之以外如何快速响应客户的需求的不断变化一直是做软件项目的一场噩梦,而J-HI平台在这方面有一些自己的经验与尝试,即使是增、改数据库表字平台本身也有自己的解决方案。在降低成本方面:1)风险成本,为了提

8、供开发速度降低项目的经济成本采用平台或工具(即使是采用一些开源框架)这已是业界不可逆转的趋势。随着平台化产品的不断涌现,如何选择好的产品以降低风险已是作为决策层首当其冲考虑的问题。在这方面可以说J-HI平台在同类的产品中风险是最低的,一、它是开源的没有任何瓶颈;二、它生成的所有代码全部可见,J-HI平台不制造规范而只是Java世界中主流规范的执行者,本身没有任何技术陷阱;三、可以说J-HI平台是程序员为程序员开发的一个工具,它的开发模式与传统开发模式完全相同。2)人力成本,快速开发本身就意味着人力成本的降低,对于企业来说通过平台可以将人员分岀梯

9、次从而进一步的控制人力成本。对于个人来说通过对J-HI开源平台的学习(因为可以说平台本身就是目前很多主流框架的一个容器),可以快速的提升自己的技能,特别是在企业级开发上,从而实现自身价值的提升。3)管理成本,人员的流动尤其是核心人员的流动一直是企业面临的棘手问题,而对该问题的最好解决方式是在项目管理与开发上的标准化。J-HI平台为开发的标准化提供了一个基础,原因在于代码生成无论是代码样式、风格及配置文件的规则完全相同。这样就保证无论人员如何流动但这套标准是不会变化的。Jffi平合上图是在功能上对J-HI平台的高度概括。通过该图可以看岀平台

10、采用JavaEE接合Spring实现从数据库端直到业务端的全线贯通。从总的技术路线来看平台充分发挥SpringIOC与AOP的强大功能,实现业务层两端(即表现层与持久层)的完全解藕与无缝集成。在此要强调这种集成并非传统意义上的提供一套简单的配置文件,而是结合业务对每个框架的集成均提供一套更符合业务、调用更友好的抽象层,抽象层除封装、集成外还提供一套客户可配置,扩展性良好的通用API。而对于颗粒度较大的功能项,我们以通用组件的形式发布于平台之中,如树的展示、对象化的树型结构等等。在页面表现上平台除提供可客户化扩展的标签库外,还为您提供一整套以ajax技术为核心的客户端,从

13、些通用的业务以及一些开发工具。因为这些的差异,就形成了各类平台产品的差异性。在此让我们来分析一下J-HiJava快速开发平台自身的特点(即与其它平台的不同之处):快速的按需动态搭建目前平台支持的框架有:webwork、struts2、spring、hibernate、ibatis2、ibatis3,对于这些框架您可以通过可视化(J-HIStudio,eclipse插件)的方式随意组合,通过工程创建向导,自动化的按照你所选择的框架快速的动态搭建起开发工程。我们之所以将J-Hi做成多框架动态搭建,主要是考虑到不同企业的开发团队对技术的倾向性会有很

14、大差别,比如对于ORMf的人就喜欢hibernate,而有的人就觉得hibernate太强硬,喜欢用半自动化的ibatis。J-Hi基于这个目的为开发者提供了更多的可选择性。在此要注意对于平台多框架的集成并不象一般意思上的集成(即几个框架拼接在一起就可以象appfuse一样),因为平台的集成还要包括很多通用业务并且与数据库表是有关系的(一般搭建多框架是没有业务的所有的东西都要由你亲自去开发,而平台会有很多的业务已经预留在平台中)。举个例子:比如安全管理,这是平台的一个通用业务包括角色、权限等。在切换到不同的框架比如struts或webwork;

15、hibernate或ibatis时,平台的底层要自动的适应这种变化,这是有一定的创新点的J。当然我们以后还会集成更多、更优秀的框架在平台之中,比如SpringMVC,SpringJDBC等等,在数据库端我们也会再多支持一些数据库,当然集成数据库也不是传统意义上的只是一个数据库连接,而是针对不同的数据库差异会做不同的方言,不同的数据库脚本还要有相应的生成模板等等。因此你会发现快速按需动态搭建,并不是传统意义上的多框架集成那么简单,而是对应每一种框架(数据库)平台都会提供一套完整的解决方案。总之多框架集成对于J-Hi来说,是牵一发而动全身的事情,变动一

17、。从系统性来看,生成的文件是随着你选择的框架不同而不同的,生成的基础是随着框架与数据库的差异而随需变化,系统的解决了生成器的僵硬性,从而灵活的适应开发环境。因此J-Hi的生成方案是系统的,是适应不同框架与数据库的生成方案的。平台到底生成了些什么组件化在软件世界里组件这个概念真是千差万别,每个系统与工具软件对组件都有各自不同的定义。尤其在Java世界里更是如此,小的从一个页面元素一直到大的一个业务功能系统,在各自的领域都会给它们定义为组件。按照《计算机百科全书》给组件的定义:是软件系统中具有相对独立功能、接口由契约指定、和语境有明显依赖关系、可独立

18、部署、可组装的软件实体。由此定义我们来谈一下J-HiJava快速开发平台对组件的理解与解决方案。实际上说到底无非是对组件颗粒的划分问题,在不同的条件与环境下组件的作用与功能会有很大差异,其次在定义组件时要保证功能的相对独立并且可组装可部署,由此J-Hi将组件根据用途与范围的不同划分为如下四类组件类型:技术组件、实体组件、业务组件、系统组件,它们之间的关系是逐级递进,互为基础的。技术组件更大的应斥系统实休组件1实体组件1实体组件实体组件n—实体组件业务组怦丿翌系统组件一在我们在深入探讨之前,先来简单的解释一下上图中各种组件类

19、型之间的关系。比如一个0A系统我们就可以把这理解为一个系统组件,而多个系统组件(仓储系统、人力系统等)可以动态搭建更大的应用系统(ERP)。每个系统组件下会有多个业务组件,例如在OA系统下会有报销单、会议管理等多个业务组件。因为大部分业务组件之间一般都是松藕合的,所业务组件可以无缝的迁移到其它的系统组件中,即实现业务组件可复用性。而在一个业务组件下会有一个或多个实体组件够成,我们还以报销单业务组件为例,在报销单最少会有报销单及报销单明细两个实体组件,一个实体您可以理解成与数据库对应的一张表,实体之间可以继承、一个实体可以有多个子实体。但实体不仅仅是数据库表

20、,它包括从页面到数据库表之间的全部代码实现同时包括CURD所有操作的功能单元。对于实体组件我们会在后面详细讨论。最后是技术组件,在J-Hi中技术组件可以说是一个抽象的概念,一个技术组件就是一个技术功能单元,它可能是一套生成模版,一个框架的支持,一套API(比如对短信、全文检索的支持等)实体组件:J-Hi将一个实体组件定义为一个集合单元,它不仅仅包括数据库表还包括对该数据库表的基础操作(增、删、查、改);包括前端的展示面页;包括该实体的权限、菜单、配置信息;还包括它与其它实体的交互操作。当然一个实体组件颗粒度还是太小,还不能完整的描述一个业务功能。

22、在各系统之间的可移植性。因为组件的定义还要可以独立的组装与部署,因此我们开发平台的附属性产品一一Hi平台产品集成工具,它主要是由发布器与部署器组成,以更方便的实现业务组件的迁移。iHtMtS福邑目录躺」i虹耀目录(E谄就命raVroritflcnr吕謫J&库韌J軸II0rarkflw曲.HUirnp[+eLkebe0-data0-docs[+jKrt.-rL-200632ll■tL讣!*廉9TC哥m&b匡”¥[>rk.cl躬sp自两”呼就胡就日jTfijtelnllyj&dgf^tnUd.iidE

23、^ranliLe.LDg;mverkfi忌打包£ditilklfe匪BfPETiBeME£■jirojectTth^fctil开发发布器与部署器的目的就是通过可视化的方式,实现跨数据库数据与跨应用系统的业务组件迁移。可以将业务组件看作一个独立的业务单元,可以无缝的集成于任何以J-Hi平台开发的项目中去。从而真正达到随需组合,动态搭建实际的业务系统,真正的实现业务组件的复用,降低不必要的重复开发。系统组件:从业务功能上来看系统组件不过是多个业务组件的拼接,更大一级的业务封装。理论上系统组件与系统组件之间应满足绝对的隔离性,即使

24、是有通信,应该也是通过第三方来进行数据交互(常用的解决方式有两种一种是中间数据库;第二种是webservice)。但如果是基于平台开发,这种无谓的工作量可以降低很少,甚至可以不需要第三方的交互技术。只要保证两个系统间的通信接口就要以轻松实现。系统组件的迁移也可以通过发布器与部署器来实现。技术组件:从技术角度来看,J-Hi与其它的技术组件差别不大。无非是基于平台再开发一些技术组件,比如对SpringMVC、SpringJDBC、DB2数据库等的支持,页面端也会再集成象DWZ或simpleframework,我们也会再提供更多的页面端的生成模版,以此类推,平台

25、的技术组件会在技术的不同层面进行扩展。但与其它的技术组件不同之处在于,实现类似于插件一样的可插拔,随需织入。J-Hi快速开发平台到底快速在哪里1、快速上手,降低学习曲线对于刚刚接触J-Hi的人来说,它上手很容易,我们为每一个功能点都提供了悬浮帮助功能,即使没有任何资料(当然我们已提供了视频与开发文档),您也可以通过向导与帮助在十分钟之内就可以创建出您自己的项目原型。田曙hi-iHEQrh-ejt孚巴呂5tri眄[勰mintIut理贞祖曲:Pint■01.B皿惟Dilin制:船:啡甌t*it:W碱I主責规舟股諭茁EnwM

26、i::林尬血:上liSt^EtET|:鮎:EnmhMnuimtHesti-血ll2応可仇肆-罰亠唱棄凰任訂别殳秫貳---■0rm理亜一世.tB撤4si库可草子一^乍同幫.TE可盘h吕疋劭宀殳罷-矍月写血面L2吃劝1丽心恤:5niErHselJJktLjtrilig5tri站m涮html血Flut去丽血E主日耻1冃idaieimeOitEtirEtloohjiilookupL::k联nserJIsieL:;k;;El疼:annE闻

27、WhU療讯:“匸卅EM忖咄曲:er■.erJIisterk.tj_Liktestflaslff其次J-Hi平台采用的大都是大家耳熟能详的主流框架与技术,如果您对主流的框架有所了解,那么对J-Hi的学习就没有任何阻力了。2、快速搭建开发环境也许您因为项目或自身开发团队的不同会采用不同的框架技术,例如您团队中对struts2熟悉的人远远要比掌握webwork的工程师要多,或者在您的项目中统计分析的功能很多,您要考虑ORM的效率问题,而不得不放弃hibernate而采用ibatis或springJDBC,也许您还要考虑数据库问

28、题等等。在搭建开发环境您一定会考虑很多因素,尽管搭建开发环境并不复杂,但还是不够自动化,还要手动的配置,费时费力。J-Hi为快速搭建开发环境提供合理的解决方案,您可以按需求动态的搭建开发环境。「hi工柱信息作看:zhwg包名:|org.hiOEM设置:|hibernate表现层设置:|vrebwork页面框架:预览|设置数据库连接|-|ibatis3在此您可以选择不同的ORM框架惟者:|haoazhang包名;|org.hi设置:T叢设量'二|页面

29、框架:|经典版预览设首数据库连接在此您可以选择不同的表现层框架在此您可以选择不同的页面框架,并且我们提供了“预览”让您在搭建开发环境之前就可以看到搭建后的页面显示效果在此您可以选择不同的数据库3、快速生成所有代码通过建立或导入模式,您可以快速的生成所有代码与文件,并且在生成时会根据您选择的框架技术与数据库的不同而自动适配。_血离厲逼ZZKJZ誘□□□□□□□□□f生成DDL:生成初始化数据生成Twa代码生成页面主成Spring己蒼生成ihtif映射文件生成Mtrutz配達生成权限控制生成测试用

31、Aclion,javaTestltemPa^elnfd.javaTesterFagelnfo.javai+);JjTfistlti^DADIbitis3.java宙[7]TestMasterDA0Ibatis3.javaELXTestitem.umlCEE__,XTestMast&r.ismS.xml±J[JJlestltemDAD.javai+]J|TestMasterDAO-java白田model□;£rcriginal[+J|J_|Testlt^mAbstract.java

32、田|JJTestfflaster^bstract.java[*1|i]Testlt^m.jAva田|£|TestNIistsr.j匚I::;service[EI-fB-impl宙;JjTestltefhMaik&gerTinpl.jevat:!J_]TestMa^terMan&gerImpl.jav*i+][JJTestlt^mNlajxager.javaS[j:Te^tMasterNanager.javaK4ppC*>ntext-riexzervice.smlnewservice-s

33、ecurity,properties4、快速解决在业务需求中的技术难点一般我们在做项目开发时,总是要等到项目开发的中、后期才能去解决业务核心问题,因此很造成无法合理估计项目的技术风险。原因是复杂的业务总是要等到基础模块建好后才能进入到开发阶段,从而使解决核心的技术问题置后。我们以一个报销为例来做个简单说明,比如报销在审核后的业务逻辑很复杂并且有可能还要涉及到与其它的系统对接。一般来说我们总是要等到这个报销单建好,起码要有最基本的增删查改功能(即使没有页面也要有后台的代码)后才能进入到核心业务的开发,这就加大的技术风险,因为我们会很早的发现问题,但

34、解决这些问题却远远的落后于发现这个问题,甚至到了开发的中、后期因为技术问题在底层上还要一改再改。而使用J-Hi可以很快的进入到业务核心的技术上,因为只要生成,基础功能就已经提供,甚至平台还为您提供了单元测试用例类,从而使您可以直指业务核心,将项目风险控制在最低。5、通过提供通用的组件平台提供了很多通用业务组件,例如组织机构、角色权限、报表、定时任务、菜单管理、日志管理、系统配置、附件上传等等,除此之外平台还提供了一些纯技术组件,例如树型结构、java脚本工具、编码生成器、可选择性的返回JSON对象等等。这些通用的业务组件与技术组件可以为您在开发过程节省很多时

35、间,随需使用,从而大大降低开发速度。6、通过服务的复用性提高开发速度在介绍平台的服务复用性之前,让我们来举个例子。比如您做了一个OA项目其中有一个模块是报销管理这个模块很成熟,您已经在0A系统中应用了很久。现在又有一个ERP系统,您想把这个成熟的报销管理复制到ERP系统中,这样这个功能就不用在ERP系统中再做开发了。对于平台来说这就是服务的复用性,我们提供了一整套对服务复用性的解决方案,并且有自己的可视化工具。我们叫它J-Hi整合工具,是用C#做的。它的作用:1)可视化导入/导出数据库,并同时实现跨数据库,例如您可以在mysql上开发(

36、导出),开发完将所有的数据迁移到oracle上(导入)。2)发布器,可视化将您开发的模块或系统自动发布成一个发布包(包括数据库、jar、文件[jsp、js、图片、配置文件等]还包括文件的片段[例如修改web.xml文件中的一部分内容])3)部署器,将发布包部署到开发的工程中,部署的内容见发布器的描述4)实施器,对应的生产系统,我们通过FTP,将相应的文件与数据库自动部署到生产系统中7、快速的部署与迁移也许您正在为客户要求从SQLServer数据库改为Oracle而感到苦恼,因为这要做大量的数据迁移工作,或许您反

37、复的将修改后的bug部署到生产环境中而郁闷,我想J-Hi通过它的整合工具为您提供了便捷的方式。具体的实现方式请参见上一节的介绍8、开发人员可以快速的接手别人的工作因为使用J-Hi开发,生成的代码与文件的风格都是相同的,在哪里写业务逻辑应该怎么写?在哪里要改页面应该怎么做?想要到哪张数据库表或表与类的对应关系?包括生成的类、JSP文件、配置文件的命名规则都是统一的。因此一个新人加入团队会很容易的上手并进入工作状态,即使是修改别人写过的代码,也会很快速的定位到相应要修改的位置。9、快速解决需求变更对于项目开发来说,项目的需求变更是很正常的事情,对

38、于有经验的项目经理来说,如果一个项目从未发生过需求变更过反而是不正常了:)一但需求变更大多都要改数据库表,如果是已运行很稳定的系统,这种变更真是要命。J-Hi为此也提供了自己的解决方案,对于简单表变更,平台只要对单个实体生成就可以了。如果是复杂的变更,我们还提供继承实体的解决方案,也就是说原来的所有代码与表结构都不变,通过实体继承J-Hi会从数据库表到java类再到JSP页面形成一整套继承关系,从而保证以前功能的稳定性。这个说来好象很玄妙,让我们举例说明。比如你有一个部门表,N多信息都与它有联系,而且做了很多的业务处理,现在客户要求在部门表中加另一

44、平台更多的体现在它的环境上,而当我们说观景平台时更多的体现在它是一个物理的实体上。不过无论是环境也好实体也罢,虽然在应用领域上会千差万别,但它们都有一个共同的特性,即平台是一个载体。让人或信息工作的更高效,从本质来看,好像平台更像是一种传统模式的有有益的补充,而非必须要有的。比如以电子商务平台为例,没有电子商务平台人们就不能交易了嘛好像不是这样。我这样说并不是说平台是可有可无的东西,而是说有了平台会使人家更效、舒适的生活。反过来说,平台是对我们生活模式的有益补充。既然平台是一个承载体,所以理论来说它并不应该限制人们的习惯或方式,比如谁说观景平台

45、就只能看风景,我在它上面吃饭不可以嘛这当然是没有问题的(虽然这样做有些不合适,但没人会说这是不可以的)。由上述对广义对平台的共同性特点来反观技术平台,好像在技术领域平台这个词很模糊java、net说自己是平台,还有一些以模型驱动的软件企业也说自己的产品是平台,在国内一些几个开源框架搭建起来带一些业务模型功能的也称自己是平台。对此我们应该简单的梳理一下:在技术领域好像平台是一个相对的概念,以java为例,java平台作为底层支撑着上述其它的平台。在此我不想评价各个平台类产品的优劣,只是觉得国内的平台做得还不够好,这种不好不只是指技术还包括市场

46、的运作模式、开放程序等方面。下面我说一下我梦想中的平台应该是个什么样子:1、平台应该是开源的,既然是平台就应该有一个开放的心态,这样才能使更多的人在平台上去开发相应的产品,才会有更多的用户群。像java语言为什么会远远多于其它语言的使用者,其主要原因就是它开源,开放标准,从而在框架类产品中形成百家争鸣的盛况,并且这种趋势并没减退还在继续一一即使Oracle收购了Sun。由此我们可以看岀一个开放性的平台,用户群足够多、技术足够公开,那么它的发展方向并不是由一家或几家大公司可以掌控的,平台的开放性将是一种趋势。2、平台应该是高效的,平台的最终目的就是提高生产力降

47、低成本。首先从技术角度分析,它要足够的快速,从而降低开发成本;它要足够的简单易用,从而降低学习成本;它要适应已有的开发习惯与管理方式,从而降低风险成本;它要有足够的抽象性与复用性(即使是以平台开发岀的产品也是一样),从而降低重复劳动。其次,提高生产力降低成本是一个综合性的问题。平台应该不只是一个开发工具,应该是对应项目全生命期过程建立起自己的思想体系与解决方案,从而在整个项目周期内的每个环节都体现岀它作用。例如从项目立项开始应该大体分为签定合同0需求调研a概要设计a详细设计a开发a测试a部署上线(发布)a需求变更等,好的平台应该是对项目的全过程进行管理,例如现在项目开发

48、存在一个很大的问题就是文档与代码不同步;再如测试用例与测试的覆盖率很低甚至没有测试代码或测试文档;再再如目前大多平台都没有整合打包的部署工具(跨操作系统、跨数据库、跨应用服务器),一键式远程部署;最后需求的变更也是头痛的问题,平台是如何适应不断的需求变化的,大多平台均没有合理的解决方案。因此可以看岀,平台是一个综合性的工程,仅解决一、两个点上的问题是不足以从根本上提高生产力降低成本的。3、平台的技术是可选择的,我们前面说过平台它只是个载体,至于在这个载体上放些什么,怎么去搭配使用,平台应该为使用者提供各种可选择的权力,甚至是可扩展、可插拔的条件。每个使

50、的平台上共同工作,从而实现双赢,使每个付岀的人都有收益。浅谈J-Hi的理论基础趋势在当今的企业级开发过程中随着开源框架的不断成熟(稳定性与可维护性已不是问题),如何快速提高开发效率,降低开发成本已成为急待解决的问题。为了解决上述问题各各大型的软件公司或是有五年以上经验积累的中、小型软件公司都会有各自的解决方案。或是制定完整的开发方案;或是有一个带一些业务的框架;或是有自己的开发工具。在这个大环境的驱动下也不乏一些专做开发平台的公司应运而生。究其原因,这是一种趋势,我们认为软件行业正在走着一条硬件的老路,在此我们先回顾一下硬件的发展道路—极管

51、集成电路大规模集成电路internet通过图不言自明,硬件正是通过是立的单元不断向更大的集成的趋势,每个上一环节都是下一环节的单位,而下一环节是上一环节更大规模的集成。从本质上来看软件也与硬件的道路差不太多,如图:Java主流框架业务开发平台SOAJava就好比是硬件的二极管,是所实现所有事情的根源与基础,而目前各各主流框架(如Struts、hibernate、ibatis、webwork、Spring等)都是站足在某个技术点上对Java功能的二次集成与功能扩展,这就象硬件中的集成电路,即本身是自封闭的各电路之间的通讯与融合还需另外

54、不断的融入进的元素,加入新的框架。不断的求新、求变、保证性能的稳定与功能的完善是它追求的目标。嗨!~~,象打个招呼这般简单实用是它的源动力(J-Hi名字的由来)。Jffi平台尊重传统的开发模式程序开发是一种习惯,看惯了代码、写惯了coding,程序员很难接受无编码的开发形式,没了设计感觉扼杀了自己的创造力。而J-Hi完全尊重传统的开发模式,可以说是对传统开发模式的有益补充,补充在代码生成与组件的可移植性上。首先,是生成可以使您从枯燥的复重劳动中解放岀来使您将精力更多的用于把握客户的业务需求;其次,所有代码无论是生成的还是底层代码都是对您可

56、、枚举管理”)我们称之为通用组件。因为这些通用组件都是十分常用的,可以说在一个系统中它们无处不在,所以利用通用组件可以大大加快项目的开发速度。3)Hi平台底层是一个设计良好的框架,可以说融入了当今大多数主流的开源框架。通过向导的形式平台可以提供对不同框架间的一站式快速搭建。4)除之以外如何快速响应客户的需求的不断变化一直是做软件项目的一场噩梦,而Hi平台在这方面有一些自己的经验与尝试,即使是增、改数据库表字平台本身也有自己的解决方案。在降低成本方面:1)风险成本,为了提供开发速度降低项目的经济成本采用平台或工具(即使是采用一些开源框架)这已是业

57、界不可逆转的趋势。随着平台化产品的不断涌现,如何选择好的产品以降低风险已是作为决策层首当其冲考虑的问题。在这方面可以说Hi平台在同类的产品中风险是最低的,一、它是开源的没有任何瓶劲;二、它是代码生成的所有的一切均可见,J-Hi平台不发现制造规范只是java世界中主流规范的执行者,本身没有任何技术陷阱;三、可以说J-Hi平台是程序员为程序员开发的一个工具,它的开发模式与传统开发模式完全相同2)人力成本,快速开发本身就意味着人力成本的降低,对于企业来说通过平台可以将人员分出梯次从而进一步的控制人力成本。对于个人来说通过对J-Hi开源平台的学习(因

58、为可以说平台本身就是目前很多主流框架的一个容器),可以快速的提升自己的技能,特别是在企业级开发上,从而自身价值的提升。3)管理成本,人员的流动尤其是核心人员的流动一直是企业面临的棘手问题,而对应该问题的最好方式是在项目管理与开发上的标准化。J-Hi平台为开发的标准化提供了一个基础,原因在于代码生成无论是代码样式、风格及配置文件的规则完全相同。这样就保证无论人员如何流动这套标准是不会变化的。剖析J-Hi对组件化的理解按照《计算机百科全书》给组件的定义:是软件系统中具有相对独立功能、接口由契约指定、和语境有明显依赖关系、可独立部署、可组装的软件实体。由此

59、定义我们来谈一下J-HiJava快速开发平台对组件的理解与解决方案。实际上说到底无非是对组件颗粒的划分问题,在不同的条件与环境下组件的作用与功能会有很大差异,其次在定义组件时要保证功能的相对独立并且可组装可部署,由此J-Hi将组件根据用途与范围的不同划分为如下四类组件类型:技术组件、实体组件、业务组件、系统组件,它们之间的关系是逐级递进,互为基础的。在我们在深入探讨之前,先来简单的解释一下上图中各种组件类型之间的关系。比如一个0A系统我们就可以把这理解为一个系统组件,而多个系统组件(仓储系统、人力系统等)可以动态搭建更大的应用系统(E

60、RP)。每个系统组件下会有多个业务组件,例如在OA系统下会有报销单、会议管理等多个业务组件。因为大部分业务组件之间一般都是松藕合的,所业务组件可以无缝的迁移到其它的系统组件中,即实现业务组件可复用性。而在一个业务组件下会有一个或多个实体组件够成,我们还以报销单业务组件为例,在报销单最少会有报销单及报销单明细两个实体组件,一个实体您可以理解成与数据库对应的一张表,实体之间可以继承、一个实体可以有多个子实体。但实体不仅仅是数据库表,它包括从页面到数据库表之间的全部代码实现同时包括CURD所有操作的功能单元。对于实体组件我们会在后面详细讨论。最后是技术组件,在J-H

61、i中技术组件可以说是一个抽象的概念,一个技术组件就是一个技术功能单元,它可能是一套生成模版,一个框架的支持,一套API(比如对短信、全文检索的支持等)实体组件:J-Hi将一个实体组件定义为一个集合单元,它不仅仅包括数据库表还包括对该数据库表的基础操作(增、删、查、改);包括前端的展示面页;包括该实体的权限、菜单、配置信息;还包括它与其它实体的交互操作。当然一个实体组件颗粒度还是太小,还不能完整的描述一个业务功能。但实体组件相对来说有一定的独立性,可以集成一个集合单元,J-Hi就是以实体组件为基础实现更大粒度的集成,从而实现对一个完整业务的描述。

63、要是由发布器与部署器组成,以更方便的实现业务组件的迁移。S8ScsOCUBencrudsxu^5r0xhanfiyDoomlsrsdcfl.,hiiX1ito「SQLServer害3306$TkEd-亙saggjg自£ndicr20KK8二巨=adi^:lilvorhp“ceum济■3leakslstuiFIk<-*D1^wEowe鬻『…蚩…」开发发布器与部署器的目的就是通过可视化的方式,实现跨数据库

64、数据与跨应用系统的业务组件迁移。可以将业务组件看作一个独立的业务单元,可以无缝的集成于任何以J-Hi平台开发的项目中去。从而真正达到随需组合,动态搭建实际的业务系统,真正的实现业务组件的复用,降低不必要的重复开发。系统组件:从业务功能上来看系统组件不过是多个业务组件的拼接,更大一级的业务封装。理论上系统组件与系统组件之间应满足绝对的隔离性,即使是有通信,应该也是通过第三方来进行数据交互(常用的解决方式有两种一种是中间数据库;第二种是webservice)。但如果是基于平台开发,这种无谓的工作量可以降低很少,甚至可以不需要第三方的交互技术。只要保证两个

65、系统间的通信接口就要以轻松实现。系统组件的迁移也可以通过发布器与部署器来实现。技术组件:从技术角度来看,J-Hi与其它的技术组件差别不大。无非是基于平台再开发一些技术组件,比如对SpringMVC、SpringJDBC、DB2数据库等的支持,页面端也会再集成象DWZ或simpleframework,我们也会再提供更多的页面端的生成模版,以此类推,平台的技术组件会在技术的不同层面进行扩展。但与其它的技术组件不同之处在于,实现类似于插件一样的可插拔,随需织入。对“J-Hi”Java快速开发平台问题的答疑解惑J-Hi平台的市场定位与目标用户是什么?竞争对手

THE END
1.IntelliJIDEA最好的Java开发工具一直以来,笔者从事Java开发使用的都是Myeclipse、Eclipse工具,因为Eclipse的开源免费加上之前其基金会每年都会安排同步发布新版本,其在05年之后逐步成为Java IDE界的扛把子,但令人失望的是自15年发布代号为Mars版本之后至今都没有新的核心版本了。然而这几年随着软件应用的飞速发展,程序员对开发效率及编程体验的追求也越https://www.jianshu.com/p/0aae71afd15c
2.8款最好用的Java集成开发工具(IDE)集成开发平台NetBeans开源IDE易于安装和使用,可以跨不同平台运行。因其适用性延伸到了移动应用,所以其在以移动开发为中心的世界中成为了流行IDE。NetBeans的模块化设计意味着其支持第三方Java开发团队的插件扩展。 BlueJ BlueJ是专为教学而设计的、Java环境下的一个内置编辑器、编译器、虚拟机、调试器的多应用软件,其在小规模的https://blog.csdn.net/java_2017_csdn/article/details/77532191
3.java开发平台有哪些?在java开发方面类似于前两个,用起来一般。Jbuilder:Jbuilder是一个可视化JAVA开发工具。它是在Java2平台https://m.imooc.com/wenda/detail/446950
4.java三大开发平台51CTO博客已为您找到关于java三大开发平台的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及java三大开发平台问答内容。更多java三大开发平台相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。https://blog.51cto.com/topic/javasandakaifapingtai.html
5.上海华丹信息JAVA快速开发平台,基于引擎模式在线开发平台,内嵌在线WEB报表、在线工作流引擎,不懂JAVA也可在线快速开发。智能WEB报表平台,在线综合查询、自定义WEB报表、统计分析的JAVA报表开发利器,可快速开发各类WEB报表,向导式生成WEB报表,无须任何编码,在线开发报表,广泛应https://www.huadaninfo.com/index.html
6.Java快速开发平台chenjie100Java快速开发平台 WebBuilder是一款跨平台、数据库和浏览器的可视化Web应用开发平台。WebBuilder使用了多项最新的技术,使Web应用的开发更快捷和简单。 作为一款高效的Web开发工具,WebBuilder的特色是: .基于浏览器的集成开发环境 .丰富的组件库 .开发应用简单快速https://www.cnblogs.com/webbuilder/archive/2012/11/21/java_dev_tool.html
7.力软力软java快速开发框架是一款低代码开发平台,适用于各行业企业及软件开发公司,可快速开发MIS、OA、CRM、ERP、BI、HRM等,有效降低开发成本,提高开发效率。https://www.learun.cn/home/productinfojava
8.Java有哪些开发平台Java有多种开发平台,它们分别针对不同的应用场景和需求进行了优化,以下是一些常见的Java开发平台: (图片来源网络,侵删) 1、Java SE (Java Platform Standard Edition): 这是Java的标准版,以前称为J2SE,它提供了开发和部署桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序所需的核心功能。 https://www.kdun.com/ask/657493.html
9.Java开发平台大比拼:优缺点对比全面解析w3cschool笔记Java是一种广泛使用的编程语言,众多的开发平台也给程序员带来了很大的选择困难。在本文中,我们将比较常见的Java开发平台,并分析它们的优缺点。https://www.w3cschool.cn/article/30887993.html
10.人类高质量Java学习路线一条龙版华山版《Java 开发手册》独家讲解:https://developer.aliyun.com/live/1201 文档 Google Java Style Guide:https://google.github.io/styleguide/javaguide.html(谷歌 Java 代码规范) Git(3 天) 此前大家可能听说过 GitHub,一流的代码开源托管平台。 https://xie.infoq.cn/article/a9fd4615c281e8ca41840ce37
11.安卓平台使用Java软件开发的优势安卓操作系统是全球手机市场份额最大的移动操作系统之一,因此,为安卓平台开发应用程序是许多开发者和企业的首选。在安卓应用程序开发中,Java编程语言一直占据着主导地位。下面我们将探讨使用Java进行安卓应用程序开发的一些优势。 1. 广泛的支持和生态系统: Java作为一种流行的编程语言,拥有庞大而成熟的开发生态系统。在安http://www.apppark.cn/t-47855.html
12.API快速开发平台任意复杂API开发支持 1.作为专业的API低代码开发平台不仅仅局限于数据类的API开发; 2.提供Eclipse、IDEA集成开发工程可以快速开发各种复杂API逻辑接口; 3.提供Web IDE开发界面可以直接在Web界面中开发Java API,在线编译一键发布; 4.提供视图模板技术可以开发与前端混合的页面服务接口; 5.提供开发环境与生产环境一键打包https://www.lkyun.net/website/api/restboot.html
13.[开源]致力于中小企业JavaEE企业级快速开发平台后台框架平台一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态! 一、开源项目简介 J2eeFAST 是一个 Java EE 企业级快速开发平台,致力于打造中小企业最好用的开源免费的后台框架平台。系统基于(Spring Boothttps://code.exmay.com/detail/1538
14.致远开发平台OAjava接口发送表单实现“致远开发平台OA” Java接口发送表单的流程步骤概述步骤描述步骤1创建Java项目步骤2导入相关依赖步骤3编写发送表单的代码步骤4测试发送表单步骤1:创建Java项目 首先,你需要创建一个Java项目,可以使用任何IDE,如Eclipse或IntelliJij IDEA。以下是创建Java项目的简单步骤: https://www.tulingxueyuan.cn/tlzx/jsp/5594.html
15.JavaVSGo还在纠结怎么选吗,(资深后端带你深度对比)众所周知,Java是JVM平台的语言,一处编译处处运行,这个是Java引以为傲的优点,但它的运行时环境必须在JVM上,这就导致了Java运行时的臃肿,浪费了一部分资源。 而Go通过编译成可执行文件巧妙的解决了这个问题,虽然它不是跨平台性语言,但它在编码器层面依然可以实现一套代码编译出不同平台的执行文件,可以直接在https://cloud.tencent.com/developer/article/2118891
16.捷兔快速开发平台java代码生成代码生成工具代码生成器javajava快速开发只需捷兔快速开发平台:自带建模功能,一键按下,代码即刻生成,大幅节省开发成本http://www.doframe.com/