分享
 
 
 

J2EE,好处多

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

对于用户而言,最有前途的中间件之一就是互联网的平台——J2EE应用服务器。在J2EE应用服务器领域,IBM、BEA、东方通、Apusic都在积极推动市场的发展。那么,J2EE到底有哪些好处呢?

J2EE的全称是java 2 Platform EnterPRise Edition,它是由SUN公司领导、各厂商共同制定并得到广泛认可的工业标准。业界各大中间件厂商如BEA、IBM、Oracle都积极地促进了它的“诞生”、“长大”。

从一开始,J2EE走的就是开放路线——众多厂商共同制定规范,使得J2EE吸收了这些厂商多年来在系统设计、系统集成方面的经验、教训。同时,这些厂商对新技术发展的猜测以及各自独到的观点,也会在J2EE的规范中体现。所以,J2EE产品可以满足当前不断变化、日趋复杂的商业需求,很快就成为企业构建新系统的首选产品。由此带来的巨大商业利润又使得各厂商更加努力地完善J2EE,从而造就了J2EE强大的生命力。

保护企业的投资

对于很多企业而言,在多年的发展过程中,它会有自己的技术人员设计开发的系统,也会有从专业软件公司那里买来的系统。这些系统可能是由同一种编程语言写的,也可能是由不同的编程语言写的;可能运行在相同的操作系统上,也可能需要运行在不同的操作系统上。

为了保护已有投资,企业在构建新系统的时候,会尽量利用已有的系统以节约人力物力并加快系统开发的速度。参加J2EE规范制定的各厂商都在自己的产品中实现了和老系统的接口,如BEA的WebLogic可以直接调用Tuxedo中的服务,IBM的WebSphere也可以调用CICS的服务。Java本身的跨平台性,使得J2EE产品几乎可以在任何操作系统上运行。因此,选择J2EE,企业可以充分利用已有硬件和操作系统。

对于系统将来的扩展,J2EE规范也考虑得很周全。J2EE规范强制开发者把业务逻辑封装成可重用的组件模式。在系统扩展的时候,原来的组件可以直接使用。另外,即使企业重新购买了别的J2EE产品,由于所有的J2EE产品都遵循一个统一的规范,原来的组件只要经过极少的改动就可以在新的J2EE产品上使用。这样,也避免了企业被一家厂商绑死。

缩短企业进入市场的时间

当今的市场竞争十分激烈,需求变化日趋复杂、瞬息万变。面对这样的环境,企业的反应必须及时。哪怕是延迟一点点,也要花很多的时间才能弥补回来。J2EE设计的初衷就是加快开发的速度,减少从投入到产出之间的时间周期。基于组件的开发,可以使开发者专注于业务逻辑的实现,而其余复杂的功能(如分布式事务处理、自动容错等)则由厂商负责实现,降低了对开发者编程水平的要求,也减轻了他们的负担。

具有稳定的可用性

许多系统都必须24小时不停运转,一旦宕机将造成不可接受的损失。通常的解决方案是采用集群技术。通过把用户数据备份在不同的物理机器上,J2EE产品能够有效防止数据丢失。在不同机器上的用户数据和它的备份会实时地保持同步,假如某台机器因故障宕机了,用户的请求会被转发到备份数据所在的机器上。这样,用户的请求仍会被正常处理。从用户的角度看来,他根本感觉不到系统出了故障。

使用J2EE产品作集群没有对硬件和操作系统的要求,而一般采用硬件的集群则要求集群中的所有硬件必须是一家厂商的,因为不同厂商的硬件无法作集群。这就可能要求企业购买新的硬件,无法使用原有的资源。所以,使用J2EE产品也能节约企业的支出。

背景知识:

J2EE的多层应用通常被称为三层应用,因为整个系统分布在三个地方:客户端机器、J2EE服务器和后端的数据库。图1描述了J2EE的多层结构(EIS是Enterprise Information System的简称,意为企业信息系统)。大多数J2EE的系统都分成三层或四层,复杂的系统层次会更多一些。这样的划分,使系统结构十分清楚,每个层次都各尽其责。

]

图1 J2EE的多层结构

J2EE应用是由一个个的组件构成的。组件是一种具有独立功能的软件单元,它可以在J2EE服务器中执行,也可以调用别的组件的功能。J2EE说明书中定义了以下的J2EE组件:

◆客户端应用程序和Applet是客户层组件;

◆Java Servlet和Java Server Page(jsp)是Web层组件;

◆Enterprise JavaBean(EJB)是业务层组件。

一个J2EE的客户端可以是Web Clients、Applets或客户端应用程序。Web Client包括两部分:动态的网页和浏览器。Web Client简单方便,但不能做复杂的操作。Applet是一个小的客户端程序,它需要浏览器的JVM来执行,可以把一部分的业务逻辑用Applet来实现。客户端应用程序提供了更加友好的图形界面的功能,它可以直接调用业务逻辑层中的EJB,当然,也可以打开一个HTTP联接,与Web层的Servlet通讯。

Web层和业务逻辑层都在J2EE服务器上。Web层的组件可以是Servlets或是JSPs。Servlets和JSPs都用来生成动态网页,它们的主要作用是接受并检验用户输入的数据,把数据传给后端的业务逻辑层,并把业务逻辑层处理的结果返回给用户。业务层代码的逻辑用来满足银行、零售、金融等非凡商务领域的需要,由运行在业务层上的EJB来实现。

企业信息系统层包括ERP、CRM、大型机事务处理、数据库系统以及其它的遗留信息系统等。通常企业信息系统层仅仅是数据库,但随着商业逻辑的复杂化,越来越多的系统需要和ERP、CRM互连。J2EE1.3规范颁布了JCA(Java Connector Adapter)规范,对如何与ERP、CRM等企业信息系统层互连作了统一的规定。

看了上面的层次划分,你会知道构建一个以J2EE为平台的系统的主要时间都花在Web层和业务逻辑层的开发上。上面提到J2EE可以使开发者专注于业务逻辑的实现,而不必考虑分布式事务处理、自动容错等其它要害功能的实现,从而加快开发速度。

名词解释:

Tuxedo:这是BEA公司的交易中间件产品,1984年由贝尔实验室开发成功,1992年易主Novell公司,1996年BEA公司收购到旗下。经过十多年的不断更新和完善,Tuxedo已经成为交易中间件领域的代表产品之一。

CICS:Customer Information Control System(客户信息控制系统)的缩写。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有