您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > JAVA 企业级开发:运行环境
第一章EJB原理与运行环境课程内容EJB概述传统EJB同新一代EJB的对比EJB3.0开发运行环境和配置运行一个简单的EJB3.0的例子JBoss服务器详细介绍JBoss服务的部署EJB概述EJB(EnterpriseJavaBean,企业JavaBean)是基于Java的服务器端组件框架技术。借助于它,开发者能够轻松构建企业级、分布式组件应用EJB组件分为以下几种不同的类型,依据应用设计的不同,开发者可以选用适合应用的组件类型。会话Bean消息驱动Bean实体Bean企业JavaBean概述EJB基础知识在EJB中主要定义了4种类型的EJB1.无状态会话BeanStatelessSessionBean2.有状态会话BeanStateSessionBean3.实体BeanEntityBean4.消息驱动BeanMessage-DriverBean这4种EJB是Sun根据大量实践提出的框架模型StatelessSessionBean主要用于提供直接调用的逻辑功能实现和功能接口StateSessionBean主要提供调用过程中保存客户会话状态的逻辑功能实现和功能接口EntityBean为对象的状态持久化提供了面向对象的映射Message-DriverBean提供了基于客户程序发出消息,服务程序异步处理消息的方式工作。EJB基础知识EJB角色EJB规范定义了六种EJB开发和部署中涉及的角色企业Bean提供者(EnterpriseBeanProvider)•负责EJB开发,Home接口,Remote接口,LogicBean应用程序汇编人员(ApplicationAssembler)•负责编写EJB调用客户端,如:JSP/Servlet,DesktopClient部署人员(Deployers)•部署安装整个应用程序系统管理员(SystemAdministrator)•系统管理和维护EJB服务器供应商(EJBServerProvider)•负责开发EJB应用程序的开发,如:WebLogic,WebSphereEJB容器供应商(EJBContainerProvider)•提供部署EJB的运行环境,以及相关工具,通常EJB容器都绑在Server一起发布开发过程企业Bean技术到目前为止,EJB框架仅支持Java语言,这不同于支持多种语言的.NET框架。从表面上看,这好像不利于EJB技术的应用,但是开发者应该知道Java是最适合构建分布式组件的语言之一,理由如下:(1)接口同实现分离(2)线程安全、应用安全(3)跨平台性传统的EJB与新一代的EJB下面我们来看一下传统的EJB与新一代的EJB之间的区别1.传统的EJB●Bean类,它是EJB组件的主要实现。●EJB对象,客户根本不能够直接调用EJB实例。●远程接口,这些接口中的方法会暴露给远程客户。●本地接口,这些接口中的方法会暴露给本地客户。●Home接口,Home接口定义了用于创建、销毁、查找本地(或远程)EJB对象的若干方法EJB功能2.新一代的EJBEJB3.0则简化了EJB组件的开发过程,改变了EJB的编程模型,但是要清楚的是EJB技术本身并没有因此而变味,它仍然是服务器端软件组件框架。EJB3.0变化的只是开发和部署模型,而它的核心框架和架构原理并没有改变。EJB3.0实现了以下几个方面:(1)不再需要Home接口和对象接口(2)不再需要组件接口(3)使用Java元数据注释EJB3.0开发运行环境配置为了辅助和加快EJB应用的开发和部署,开发者需要选用适合自身的EJB开发工具。其中有商用的开发环境,也有OpenSource的开发环境。如BolandJBuilder、BEAWebLogicWorkShop、IBMWebSphereStdioApplicationDeveloper、NetBeans、Eclipse等等。另外还存在其他类型的EJB工具,它们使得开发者能够快速、成功的开发出EJB应用。比如,使用JUnit完成测试工作,使用Ant/XDoclet构建EJB项目、使用BorlandOptimizeIt或是QuestSoftWare提供的JProbe完成性能分析等等。下载与安装工具1.下载软件下载安装JDK5.0。下载安装eclipse3.2.x。下载安装JBoss-4.0.4.GA服务器下载插件JBossIDE2.0。下载安装MyEclipse5.5.0GA。2.安装软件说明以JBoss-4.0.4GA服务器为例,讲解JBoss工具的安装(1)打开下载的JBoss安装程序,进入安装界面,如图1-2所示:图1-2JBoss的安装界面(2)然后一直选择“Next”按钮,并同意许可协议,直到出现“选择安装目录”的界面,如图1-3所示:图1-3选择安装目录(3)在图1-3中选择要安装的目录,此处我们以默认的目录作为安装路径,之后选择“Next”按钮,出现如图1-4所示的界面,这里要选择一个安装类型,此处我们选择“Ejb3-clustered”安装选项。图1-4选择安装类型(4)此前,已经安装好JDK5.0。所以,继续选择“Next”,一直都可以是默认的设置,直到出现以下安装界面,如图1-5所示:图1-5安装配置(5)在图1-5所示的界面中,将四个选项都选上,然后点击“Next”按钮,即开始安装JBoss,如图1-6所示:图1-6安装进行中(6)安装完毕后,在系统变量里添加JBOSS_HOME变量,变量值为JBoss的安装路径。如图1-7所示:图1-7新建系统变量对话框启动JBoss“开始”“运行”,在运行窗口中输入“C:\ProgramFiles\JavaServer\jboss-4.0.4.GA\bin\runc-default”,这个命令是用来启动JBoss的。当然也可以进入到JBoss安装目录下的bin目录中选择ran.bat直接启动服务器。观察控制台上是否有Java的异常抛出,如果没有异常并看到最后输出:StartedinXXs:XXms,“XX”是启动耗费的时间,则说明安装成功了。运行一个EJB3.0的例子在源代码中的HelloWorld文件夹下找到HelloWorld.jar复制到“JBoss安装目录/server/default/deploy”目录下,之后再将EjbTest文件夹下的“EjbTest.war”复制到同一目录下启动服务JBoss服务器,之后在浏览器窗口的地址栏中输入:“”JBoss详细介绍JBoss是一个运行EJB的J2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范。从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于J2EE的Web操作系统,它体现了J2EE规范中最新的技术,无论是学习还是应用,JBoss都为我们提供了一个非常优秀的平台。熟悉JBoss的目录结构(1)bin目录(2)client目录(3)docs目录(4)docs/dtd目录(5)lib目录(6)server目录(7)server/default目录(8)server/all/conf目录(9)server/all/data目录(10)server/all/deploy目录(11)server/all/lib目录(12)server/all/log目录(13)server/all/tmp目录JBoss中的部署任何“.jar”库EJBJARWAREAR包含JBossMBean定义的XML文件一个包含EJBJAR、WAR或者是EAR的解压缩内容,并以“.jar”、“.war”或者以“.ear”结尾的目录。可以把下列文件部署到JBoss中:本章总结EJB概述传统EJB同新一代EJB的对比EJB3.0开发运行环境和配置运行一个简单的EJB3.0的例子JBoss服务器详细介绍JBoss服务的部署动手实践:第一个EJB程序尝试EJB编程HelloWorld!目标本体验项目用EJB组件简单的实现了在浏览器上显示“HelloWorld!”字符串的功能。启动JBoss服务器,将本项目的EJB组件包“HelloWorld.jar”和Web应用包“EjbTest.war”(该包中有HelloWorldTest.jsp文件)复制到“JBoss安装目录/server/default/deploy”目录下。观察JBoss的运行状态,部署成功后在浏览器的地址栏中输入:“”如果能够看到图1-1所示页面的“HelloWorld!”字符串的话,那么你已经简单学会了部署EJB组件以及在Web应用程序中调用EJB组件的技术。图1-1测试页面运行结果基本思路(1)做一个简单的EJB组件,打包并部署到JBoss服务器中。(2)在Web应用中调用此EJB组件中的Bean类,在页面上输出字符串“HelloWorld!”。(3)将Web应用程序打包成war文件并部署到JBoss服务器中,在浏览器中测试效果。(1)编写一个EJB的接口类:HelloWorld类,定义一个返回字符串的方法:hello()方法,参考代码如下:packagecom.ejb3;publicinterfaceHelloWorld{publicStringhello();}(2)编写一个EJB的实现类,SessionBean:HelloWorldBean,Remote类型,在hello()方法的实现中返回一个“HelloWorld”的字符串,代码如下:packagecom.ejb3;importjavax.ejb.Remote;importjavax.ejb.Stateless;@Stateless@Remote({HelloWorld.class})publicclassHelloWorldBeanimplementsHelloWorld{publicStringhello(){returnHelloWorld!;}}1.(3)在Web应用中调用EJB组件,新建一个JSP页面:HelloWorldTest.jsp,代码如下:2.%@pagelanguage=javaimport=java.util.*,com.ejb3.*,3.javax.naming.*,java.util.PropertiespageEncoding=ISO-8859-1%4.html5.head6.titleMyJSP'HelloWorld.jsp'startingpage/title7./head8.body%Propertiesprop=newProperties();prop.setProperty(java.naming.factory.initial,org.jnp.interfaces.NamingContextFactory);prop.setProperty(java.naming.provider.url,localhost:1099);prop.setProperty(java.naming.factory.url.pkgs,org.jboss.naming);InitialContextctx;try{ctx=newInitialContext(prop);HelloWorldhelloworld=(HelloWorld)ctx.lookup(HelloWorldBean/remote);out.println(helloworld.hello());}catch(NamingExceptione){out.println(e.getMessage());}%br/body/html
本文标题:JAVA 企业级开发:运行环境
链接地址:https://www.777doc.com/doc-904628 .html