来看接纳Java 耐久化框架:挑选、机会和优弱点?
什么时候上述的三种开发工具能和三为一,什么时候java的竞争力才更强,才有机会拉拢更多的程序员投入到对java的开发上,因为到时的开发工具将会比.net的更简单。还有一点也很关键,什么时候java推出的jsf能成为真正意义上的标准。关于开辟新软件体系来讲,面向对象编程无疑是现今利用最为普遍的编程形式。因为贸易数据的耐久性需求,干系数据库办理体系(RDBMS)获得了最为普遍的使用。RDBMS利用的是干系模子,它与软件体系中的域对象模子有所分歧。利用面向对象编程言语开辟软件体系并利用RDBMS来耐久存储数据时,数据耐久化框架将成为使用程序架构中十分关头和主要的组件,它们的感化是埋没使用程序数据耐久化的底层庞大性。
在已往的几年中,一些耐久化框架失掉了很好的开展,它们可匡助您办理对象干系映照和数据耐久性需求。可是,依据必要选择一个符合的框架并非一件复杂的义务,由于多种要素会影响到这个决意。在本文中,我将依据三个基础尺度来会商怎样一些使用对照普遍的Java耐久化框架中做出选择:选择、机会和优弱点。在“选择”这部分中,我将先容怎样选择框架;在“机会”这部分中,我将会商一些您应当思索使用框架的使用场景和一些您应当寻觅备选计划的使用场景;最初,在“优弱点”这一部分中,我将会商当您决意接纳某个框架时,该框架一切的上风和弱点。起首要会商的是上面这个在Java耐久化范畴中最出名的框架。
EntityEnterpriseJavaBean
JavaPersistenceAPI
Hibernate
TopLink
让我们加倍具体地会商这些框架。
EntityEnterpriseJavaBean
EnterpriseJavaBean(EJB)手艺是针对Java平台EnterpriseEdition(JavaEE)的一种托管的服务器端组件架构。在此界说中,“托管”和“服务器端”是关头术语。在EJB架构中,使用服务器将办理一个或多个已部署的EJB的性命周期,并经由过程EJB容器供应大众运转时服务。容器供应的服务包含平安性、并发把持、事件和耐久化办理等。
EJB标准界说了三种EnterpriseBean范例:Session、Entity和MessageDriven。每品种型都具有一些共同特征,分离用于分歧目标。因为本文是关于Java耐久化框架的,我们将复杂会商一下EJB架构的耐久化方面,会商中会触及利用EntityEJB办理您的EnterpriseJava使用程序的耐久化请求。
利用EJB计划使用程序时,EJB暗示营业域模子中的一个实体。比方,试想一个贸易银行使用程序的Account实体。该AccountEntityBean将被部署到J2EE使用程序服务器中,该服务器将经由过程EJB容器给此EntityBean供应一些运转工夫服务。这类服务是主动耐久化的,我将加倍具体地会商。
依据耐久化完成的体例,EntityEJB能够进一步分别为两种:Bean-ManagedPersistence(BMP)和Container-ManagedPersistence(CMP)。利用BMP,Bean实例经由过程JDBC代码卖力其形态的耐久化。而利用Container-ManagedPersistence,EJB容器供应主动办理EntityBean的耐久化的才能:当必要时,将形态保留究竟层数据库或从底层数据库加载形态。
如今让我们会商一些使用场景,在这些使用场景中您一样平常大概想要使用EJB框架,出格情形下大概利用CMP举行数据耐久化。
什么时候思索将EJB作为耐久化框架
起首您要思索的是必要容器供应的服务。假如您的使用程序必要除耐久化办理之外的其他容器供应的服务,好比转换办理、平安性和并发把持,则最好利用EJB框架。
别的还要思索资本请求。EJB框架可为需求使用程序供应完善的可伸缩性。可是,这也是有价值的:麋集的资本请求,特别利用远程接口形式时。只在没有资本限定的时分思索使用EntityEJB,以便取得所需的功能程度。
另有一个相干的要素是defacto框架。假如您正在举行某个基于Java平台的EE部署,则时机在于EJB容器已成为您的使用程序服务器的一部分。“为何不必已可用的?”多是在你的架构决议制订过程当中起首要问的成绩。我把这看做是绝对其他框架的一个“政治”上风,由于它已可用了。
什么时候思索将EJB的备选计划作为耐久化框架
耐久层的功效请求多是提醒您需求备选计划的第一个要素。假如您的使用程序不必要EJB框架供应的每一个功效,则这暗示您应当追求一个备选计划。
资本可用性凌驾了功能请求多是另外一个您想要追求其他备选计划的情形。只管EJB框架供应了完善的功能和可伸缩性,可是EJB框架的对资本的损耗也长短常惊人的。底线成绩是:我们真的必要这个吗?在良多情形下,写得很好的数据会见对象或Hibernate框架便可供应完善的备选计划。
只管很少,但数据源(而不是干系数据库)大概制止您利用容器办理的耐久化框架。
假如您已利用或企图利用EJB作为您的耐久化框架,这里是一些您能够预期的上风和弱点。
<p>
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
页:
[1]