Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104673558
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-27 15:36:32

作者: 曹江华 出处:51CTO.com  
 
阅读提示:利用EnterprisejJavaBean(EJB),你就能像搭积木一样开发EJB组件,然后你或者是其他人可以把这些EJB组件组装或重新组装到不同的应用中去。

利用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对象的服务处理进行了优化。 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 项目开发的,具体可参考。通过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

#wget

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进程是否已经启动。

ps -ef|grep java

Root   878 1 0 18:05:55 ?    0:13 /usr/bin/java -jar /usr/lib/patch/swupna.jar -wait

root   950     1   0 18:09:45 ?           0:18 /usr/jdk/instances/jdk1.5.0/jre/bin/java-Xbootclasspath/a:/usr/jdk/instances/j

root   966   956   0 18:16:48 pts/5       0:00 grep java

3 配置ant

Ant简介:

Ant是纯Java的程序构建工具,它类似于C语言的Make工具。不同的是Ant可以运行在多种操作平台上,满足开发者跨平台构建项目代码的需要。目前Ant工具已经被用于众多的开发项目中,帮助完成不同的项目构建任务。Ant 是一个独立的开发工具,但也可以被其他开发工具集成,目前Ant已经被一些著名的可视化的开发工具所集成,如NetBeansEclipse等。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配置成功界面

阅读(1443) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~