首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>java>Java基础>正文

关于Java编程语言中EJB最新技术的详细说明

http://www.oklinux.cn  2008-03-27  来源: 赛迪网-技术社区 d字头  会员收藏  游客收藏  【 】 

EJB技术概论

Enterprise JavaBean (EJB) 1.1 规范定义了开发和部署基于事务性、分布式对象应用程序的服务器端软件组件的体系结构。企业组织可以构建它们自己的组件,或从第三方供应商购买组件。这些服务器端组件称作 Enterprise Bean,它们是 Enterprise JavaBean 容器中驻留的分布式对象,为分布在网络中的客户机提供远程服务。

两层和三层环境

在两层客户机/服务器环境中,程序员编写与供应商特定软件紧密结合的应用程序。通常,两层应用程序直接从客户机访问数据库服务或事务服务。有时这种应用程序称作胖客户机,因为应用程序逻辑驻留在客户机上,这使客户机变得庞大和复杂。下图描绘了这一特性:

三层客户机/服务器应用程序使用一个中间或中间层,应用程序服务器,它在客户机应用程序和后端数据库之间操作。中间层存储了系统的商业逻辑,并协调客户机上与后端数据库交互的显示。

在两层模型上使用三层体系结构是出于以下两个动机:

改进的可伸缩性、可用性和性能

改良的商业系统灵活性和可扩展性

由于两层系统利用了客户机的处理能力,因而它具有良好的性能,但许多客户机对单一后端资源(如数据库)的特性会产生瓶颈,随着客户机数量逐渐增大,这会抑制可伸缩性、可用性和性能。三层系统试图通过更有效地管理后端资源来消除这个瓶颈。利用资源管理技术,如合用和集群中间层服务器,可以实现这个目标。合用允许许多客户机共享不充足的资源(如数据库连接),这样可以减少后端服务器的工作负荷,从而使三层系统更有效。由于多个服务器和资源可以支持故障恢复并均衡不断增加的客户机数量的负载,因此集群可以使三层系统变得更具可用性和可伸缩性。

三层系统比相应的两层系统更灵活且更可扩展,这是因为商业逻辑和服务(如安全性和事务)都驻留在中间层,并且基本上独立于客户机应用程序。如果正确实现了三层系统,那么在使用 Enterprise JavaBean 的情况下,服务会自动应用于客户机请求,因此服务是看不见的。由于服务对于客户机不可见,因此对服务的更改也不可见。如果正确实现了三层系统,那么中间层上对商业逻辑的更改和增强也可对客户机应用程序隐藏。

另外,如果客户机与中间件组件是以 Java 编程语言实现的,那么它们极有可能具有可移植性。可以非常容易地将实现客户机和应用程序服务器的类文件重新安置到当前最合适的主机上。

在最近二、三年中,一些供应商发布了基于 Java 的三层应用程序服务器,这些服务器全都可以与后端服务器操作交互,并管理这些操作。尽管这些中间件产品支持分布式体系结构,这些体系结构在两层设计上(以及 Java 之前的应用程序服务器)做了非常重大的改进。它们的主要限制是编程模块越来越趋向于特定于某个供应商。这意味着公司必须大量购买一家供应商的型号,而且系统是不可移植的,从而导致了供应商锁定。

随着面向对象编程范例日益普及,分布式对象系统已经逐渐壮大。现在已经存在一些分布式对象技术。最流行的是由 Object Management Group 创建的 CORBA、Sun Microsystems 的 Java RMI (JRMP) 和 Microsoft 的 DCOM 和 MTS(又名 COM )。每种都有其自身的优缺点。Sun Microsystems 的 Enterprise JavaBean 是最新加入这个圈子的技术。在某些方面,它既是这些技术的竟争者,同时也是合作者。

由于在三层计算中使用了其它开放标准(如 LDAP),CORBA(公共对象请求中介体系结构)在解决供应商垄断问题方面取得了成功。不幸的是,虽然 CORBA 根本改变了分布式计算,但经验证编程模块太复杂,而且供应商不能一致地遵守规范。CORBA 有高级的分布式计算,但已证明太难而无法实现,并且其可移植性也比预期差。

Enterprise JavaBean (EJB) 是 Sun Microsystems 对 CORBA 的可移植性和复杂性的解决方案。EJB 引入了比 CORBA 更简单的编程模块,它可以让开发人员创建可移植分布式组件,称作 Enterprise Bean。EJB 编程模块可以让开发人员创建安全的、事务性的和持久的商业对象 (Enterprise Bean),该对象使用非常简单的编程模块和声明属性。与 CORBA 不同,例如访问控制(授权安全性)和事务管理等设施非常易于编程。CORBA 需要使用复杂的 API 来利用这些服务,而 EJB 则根据一种称作“部署描述信息”的特性文件中的声明将这些服务自动应用到 Enterprise Bean。这个模型确保了 bean 开发人员可以集中精力编写商业逻辑,而容器会自动管理更复杂但又必要的操作。

由于 EJB 规范颁布了一组明确的 EJB 容器(供应商服务器)和 EJB 组件(商业对象)之间的契约,因此 EJB 中实现了可移植性。这些契约或规则确切规定容器必须为 Enterprise Bean 提供什么服务,bean 开发人员需要使用什么 API 和声明属性来创建 Enterprise Bean。由于详细指定了 Enterprise Bean 的生命周期,因此供应商知道如何在运行时管理 bean,bean 开发人员确切知道 Enterprise Bean 在其存在期间可以做什么。

Enterprise JavaBean 简化了分布式对象的开发、部署和访问。EJB 分布式对象(一种 Enterprise Bean)的开发人员只需依照为 Enterprise JavaBean 建立的契约和协议实现对象。支持 EJB 的应用程序服务器可以,也确实,使用任何分布式网络协议,包括本地 Java RMI 协议 (JRMP)、专有协议或 CORBA 的网络协议 (IIOP)。不管在某个特定产品中使用的基本网络协议是什么,EJB 使用相同的编程 API 和语义以 Java RMI-IIOP 访问分布式对象。协议的细节对应用程序和 bean 开发人员隐藏;对于所有供应商来说,定位和使用分布式 bean 的方法是相同的。

共2页: 上一页 1 [2] 下一页

上一篇:刀片服务器硬盘启动Linux独立安装(一)   下一篇:Ubuntu Linux下如何用源码文件安装软件


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Java基础知识:初学者必须理解的六大问题
·JAVA基础知识:JAVA变量类型之间的相互转换
·Java基础知识:谈谈简单Hibernate入门
·漫谈Java程序的性能优化
·Java 安全--java程序开发的程序的保护
·浅析Java学习从入门到精通
·Java入门:状态对象--数据库的替代者
·Java语言怎样调用外部应用程序
·Java语言深入--关于Java语言的内存泄漏
·JSP/Servlet/JSF:Servlet/JSP配置详解
·进阶-怎样使用AJAX进行WEB应用程序开发
·基础:J2ME程序开发之新手入门九大要点
·Java入门--Java语言接口与继承的本质
·JAVA进阶--如何提升JSP应用程序的效率
·对Java中四种XML解析技术之不完全测试
·编写高级 JScript应用代码
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Java基础知识:初学者必须理解的六大问
·JAVA基础知识:JAVA变量类型之间的相互
·Java基础知识:谈谈简单Hibernate入门
·漫谈Java程序的性能优化
·Java 安全--java程序开发的程序的保护
·浅析Java学习从入门到精通
·Java入门:状态对象--数据库的替代者
·Java语言怎样调用外部应用程序
·Java语言深入--关于Java语言的内存泄漏
·JSP/Servlet/JSF:Servlet/JSP配置详解
·进阶-怎样使用AJAX进行WEB应用程序开发
·基础:J2ME程序开发之新手入门九大要点
  阅读排行
·使用AJAX技术实现网页无闪自动局部刷新
·Java语言深入--java调用C/C 的过程
·高级:lucene全文检索应用示例及代码简
·快速教您Apache Tomcat SSL的配置
·使用WEBWORK实现文件上传方法实例详解
·用JSP JavaScript打造二级级联下拉菜单
·一个非常有趣的使用spring框架AOP例子
·在Weblogic上配置JMS服务的方法
·J2SE综合--JAVA实现把汉字转化成拼音
·关于java中相对路径,绝对路径问题总结
·JAVA进阶--线程运行栈信息的获取讲解
·JAVA基础:一个struts hibernate入门实
·详细讲解Struts构架中action的跳转大全
·Hibernate配置文件中的映射元素详解
·一个基于Java Socket实现文件传输示例
网摘收藏: