利用EnterprisejJavaBean(EJB),你就能像搭积木一样开发EJB组件,然后你或者是其他人可以把这些EJB组件组装或重新组装到不同的应用中去。例如,你可能创建了一个Customer(顾客)bean(bean就是组件,只是叫法不同),它表示数据库中的一个顾客。这个Customerbbean就能用在多个应用中,比如可以用在审计程序、电子商务购物车系统或技术支持应用中,只要应用中需要表示一个顾客,几乎都可以使用这个组件。实际上,对于某些bean来说,bean的开发人员和使用bean的应用组装人员可能不在同一家公司工作,甚至有可能彼此互不认识。
一、EJB 3架构简介
1.EJB到底是什么?
如果你是一位bean开发人员,可以构建一个Order(订单)bean、Payroll(工资)bean,或者一个ShoppingCart(购物车)bean,这样其他公司的开发人员(可能与你毫无关系)就能向你购买这些组件,并用来建立他们自己的应用。基于组件的开发有一大妙处,这就是:基于组件,可以让代码重用上升到一个新的高度。这里不是重用Java类,而是重用一个更大的功能块。bean要怎么工作通常完全可以从外部进行修改,根本不用动bean内部的Java代码!在这一章中你将了解到,要在服务器上部署一个bean,可以用声明方式配置和定制这个bean(也就是说,通过一个基于XML的部署描述文件),这样只需修改部署描述文件就能改变bean在运行时的表现。
2.EJB容器
EJB容器为开发者提供了维护EJB对象的环境。在面向客户端方面,EJB容器为EJB对象提供了客户端视图和接口,通过特定的传输协议可以实现EJB容器和客户端之间调用EJB对象的过程。在面向设备和资源方面,EJB容器对数据库、邮件服务器、事务服务、消息服务器等各种资源进行管理,使开发者不必或很少需要与这些资源直接发生关系。EJB在提供这些服务时,保证了EJB对象的稳定性,而且通过EJB容器内的一些机制对EJB对象的服务处理进行了优化。 EJB容器结构如图1所示。
图1 EJB容器的结构
EJB容器中包含3种EJB组件:实体Bean、会话Bean和消息Bean。实体Bean的主要作用是维护数据的持久性;会话Bean可以提供实现业务逻辑的方法;消息驱动Bean是基于Java消息技术的EJB对象,可以与JMS程序相配合,实现对消息队列的操作。
3.GlassFish开源服务器简介
2005年6月在JavaOne 2005上,Sun公司宣布启动GlassFish 项目,不到一年的时间,2006年5月即下一个JavaOne大会上,GlassFish的第一个版本面世并且JavaEE 5的规范也正式推出。这个应用服务器产品可以在Sun网站通过下载Sun Java System AS9.0 PE获取,也可以在GlassFish社区通过下载GlassFish v1 获取,除了安装程序,两者是相同的。GlassFish v1侧重于Java EE 5规范的实现,一些企业级的特性并没有包含在这一版本中。此应用服务器在Sun发布中被标为PE,就反映了这一点。GlassFish v2加上了所有企业级的特性,并且去除了PE标签, 同一个可执行文件可根据所期望的用途安装成为developer,enterprise或者cluster的profile。GlassFish v2可以在Sun网站通过下载Sun Java System AS 9.1 PE获取,它发布于2007年的9月。
4.GlassFish的双开源许可
GlassFish发布在双开源许可下,即在CDDL(通用开发和发布许可)和GPL v2 许可(包含Classpath 例外)下提供。其中CDDL 是早先提供的,GPL v2是于2007年新近提供的。
下面对这两类许可分别加以介绍。
1.GPL v2+CPE
GPL许可证是自由软件的应用最广泛的软件许可证,GPL v2 是其第2个版本。GPL具有“传染”的特点,若某软件中使用了(“使用”指类库引用、修改代码或者衍生代码)GPL协议的产品,则该软件必须也采用GPL协议,必须也是开源和免费的。GPL的出发点是遵循GPL流通的程序不能被非自由的软件使用或合并,体现的是强烈的“追求自由”的理念。
Sun公司所宣布的Java开源包括了Java所有三个平台,即Java SE、Java EE和Java ME。它们都将在一个公共许可下提供源代码,这个公开许可就是GPL v2。Glassfish项目作为JavaEE的官方参考实现,也因此被加上第二个许可GPL v2,以简化GlassFish代码与其他GPL许可社区的合作过程。Classpath例外(ClassPath Exception,简称CPE)是由OSI的GNU/Classpath项目开发的,具体可参http://www.gnu.org/software/classpath/license.html。通过CPE可以将采用任何许可证提供的应用程序链接到一个库中,成为采用GPL v2许可证的软件的一部分,而该应用程序本身无需遵循GPL的要求即采用GPL许可证的方式提供给公众。如果不使用CPE,采用GPL v2许可的Java应用就无法实现以非GPL许可的方式进行分发。
2.CDDL
CDDL(Common Development and Distribution License,通用开发与销售许可)是GlassFish宣布开源时所支持的开源许可,属于MPL扩展许可。CDDL较之GPL更简单,使捐赠者受到的局限更少,并可重复使用。与GPL许可证没有明确承认软件专利权不同,CDDL许可明确承诺把所有相关的专利免费提供给用户。CDDL许可不要求基于开源程序所开发的新应用开放其代码。CDDL社区的程序员可以保留其全部的知识产权,而不必开放属于自己的技术或者将技术提供给开源社区。CDDL许可证允许自行变更许可类型,而不会影响使用原授权。CDDL目前管理着OpenSolaris和GlassFish等软件项目。
二 、GlassFish安装
1.安装GlassFish应用程序服务器的先决条件
依次下载如下软件:
Ant 、GlassFish
#wget http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.0-bin.tar.bz2
#wget http://java.net/download/javaee5/fcs_branch/promoted/WINNT/glassfish-installer-v2-b58g-ml.jar
2.设置JDK
Solairs10在安装完成后会预装JDK的。一般会有两个版本的JDK,一个是1.4.2,另一个是1.5.0。在solaris10中JDK被安装的总目录是/usr/jdk,在这个目录下具体版本的JDK有其各自的目录。例如:j2sdk1.4.2_08或者jdk1.5.0_04等。可以用命令ps -ef|grep java来查看java进程是否已经启动。
3.配置ant
Ant简介:
Ant是纯Java的程序构建工具,它类似于C语言的Make工具。不同的是Ant可以运行在多种操作平台上,满足开发者跨平台构建项目代码的需要。目前Ant工具已经被用于众多的开发项目中,帮助完成不同的项目构建任务。Ant是一个独立的开发工具,但也可以被其他开发工具集成,目前Ant已经被一些著名的可视化的开发工具所集成,如NetBeans和Eclipse等。Ant是一个项目开发工具,它为项目的开发设计了一套build模式。Ant的工作模型是将项目的构建任务分解,它分为工程、目标和任务3个层次。工程用来描述处于项目层次的内容,目标由用户来编写,不同的目标对应于用户在使用上的一个操作任务单元,基本的和面向特定行为的操作会由Ant在任务的层次上完成,所有任务都可以被目标调用,在目标内被组合装配起来完成用户自定义的一个过程,实现自动化工作的需要。在 Ant中的所有设定要素都是遵守XML规范的,并存储在默认的build.xml文件中。
# gunzip < apache-ant-1.7.0-bin.tar.gz | tar xvf –
# mv apache-ant-1.7.0 /usr
# cd /usr
# ln -s apache-ant-1.7.0 ant
修改环境变量
ANT_HOME=/usr/ant
export ANT_HOME
PATH=$PATH:$ANT_HOME/bin
export PATH
现在我们测试一下,确信Ant已经正确安装好了。在命令行下,输入ant。你应该会看到一条信息,见图2,说Ant无法定位Build.xml文件。这正是我们所期望的,因为我们还要配置和创建项目文件。
图2 测试一下ant
3.安装GlassFish
将glassfish-installer-v2-b58g-ml.jar放到usr文件夹,进入该文件夹,在命令行输入:
java -Xmx256m -jar glassfish-installer-v2-b58g-ml.jar
在许可协议后选择接受开始解压安装,如图3。
图3 GlassFish许可协议
图4是 GlassFish安装完成界面
生成glassfish文件夹后,进入该文件夹,使用命令:
ant -f setup.xml
图5 glassfish配置成功界面
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
商业Unix平台集锦之Solaris
Solaris 10最初发布于2005年。版本更新发布则依据年与月份命名。最新更新,也被称做Update(U8),是Solaris 10 10/09版,发布于2009年10月。
-
IBM x64服务器将终止Solaris 10支持
虽然现在还没有明确的消息,但是IBM曾在一份公告中告诉用户将在8月27日停止在x64服务器上支持Solaris 10系统。甲骨文和IBM对此都还没有明确的做出评论。
-
IBM x64服务器或将终止Solaris 10支持
甲骨文似乎已经决定不在许可其他服务器厂商在x64服务器上兜售Solaris系统。甲骨文曾和惠普签署Solaris OEM合同,允许惠普在Proliant服务器上销售Solaris 10……
-
甲骨文计划对Sun开源操作系统进行收费
甲骨文收购Sun公司后,计划削减在开源项目方面的投入,企业级操作系统Solaris 10将不再免费,而是要求在90天试用期后购买授权。