EJB(Enterprise JavaBean企业级的JavaBean)
企业级应用的架构
Host/Terminal(主机/终端,终端不具备处理能力,数据由主机处理)
C/S(Client/Server客户端/服务器端)
Multi-layered(多层架构)
EJB的功能
1,远程调用 RMI
2,负载均衡,将访问均衡到各个服务器中
3,透明的故障修复
4,集群(多台相同的系统服务器,有代理服务器均衡到后台的服务器)
5,后台集成
6,事务(全局/局部)全局事务(分布式事务)局部事务(在同一数据库联接内的事务)
7,动态的重部署(在不停止原系统的情况下,部署新的系统)
8,系统管理
9,多线程处理
10,面向消息的中间件(异步的调用编程)
11,管理对象的生命周期
12,资源池
13,安全
14,缓存
EJB的应用(主要用于处理商业逻辑),EJB是一个标准,是开发和部署服务器端的组件的标准。
SOA(面向服务的架构)和EJB的关系
服务,一组组件所提供的功能。
SOAP(简单对象访问协议)
WSDL(web服务描述语言)(Web Services)
写一个EJB的步骤
1,配置EJB的运行环境
2,写商业接口
3,写Bean类,实现商业接口(Bean类不能同时实现远程接口和本地接口)
4,编译文件
5,提供部属文件,EJB3.0中使用了注释不用写标准部署描述(ejb-jar.xml),系统调优用的厂商部署描述是需要写的。
6,打jar包,部署到服务器中
EJB3.0使用了JAVA SE 5.0 中的注释新特性,只要在方法上写EJB规范的注释,就可以不用来写标准的部署表述,ejb-jar.xml这个要放到jar文件的mate-inf文件夹里。
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" metadata-complete="true" version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
<enterprise-beans>
<session>
<display-name>HelloBean</display-name>
<ejb-name>HelloBean</ejb-name>
<business-remote>test.HelloRemote</business-remote>
<ejb-class>test.HelloBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<security-identity>
<use-caller-identity/>
</security-identity>
</session>
</enterprise-beans>
</ejb-jar>
写EJB客户端的步骤
1,运行客户端前要加上在SUN的服务器文件夹中的lib下的javaee.jar和appserv-rt.jar
2,配置系统的JNDI的环境
3,写测试类,注意在测试类中也要有商业接口
在厂商的部署描述中可以配置EJB的实例池,可以一次创建多个EJB的实例。
EJB的类型
1,SessionBean(Statless/Statfull)
无状态的SessionBean是不会保存的信息的和状态,无状态的SessionBean是可以重用的,而不是被立刻销毁
有状态的SessionBean只为一个用户来服务。
2,MDB(Message Driver Bean)消息驱动Bean,可以进行异步的编程
3,Entity Bean 访问数据库,已经被JPA(JAVA持久化API)替代。
4,JPA基于ORM方式来实现对数据库的访问
无状态SessionBean
商业接口
@Remote
public interface HelloRemote {
public String hello();
}
Bean类,Bean类即可以实现商业接口,也可以不实现,但是其中的方法签名要和接口中相同,不过最好还是实现商业接口避免书写错误
@Stateless
@Remote(test.HelloRemote.class)
public class HelloBean implements HelloRemote {
public String hello() {
return "Hello World";
}
}
注意:EJB一定要先部署到服务器,EJB需要部署环境才能运行
EJB客户端
public class Cilent {
public static void main(String[] args) throws NamingException {
System.setProperty("jndi.factory","com.sun.jndi.cosnaming.CNCtxFactory");
System.setProperty("jndi.provider.url","corbaloc::localhost:3007/NameSpace");
Context ctx=new InitialContext();
HelloRemote hello=(HelloRemote)ctx.lookup("test.HelloRemote");
System.out.println(hello.hello());
System.out.println(hello.helloword("lichen"));
}
}
注意:在写客户端时,要引入javaee.jar和appser-rt.jar还要引入已经编译好的EJB的jar文件。
分享到:
相关推荐
Java认证是全球认可的Java程序员技能评估标准,2009年的Java认证辅导资料涵盖了当时最新的Java技术,旨在帮助考生顺利通过考试并提升其Java编程能力。这些资料可能包括了Oracle Certified Associate (OCA), Oracle ...
JavaEE(Java Platform, Enterprise Edition)是一个用于开发企业级应用程序的框架,它提供了多种服务和组件模型,如Servlet、JSP、EJB等,以支持分布式、多层架构的应用程序开发。在这个辅导员管理项目中,JavaEE...
### 最新系统分析师考试复习资料知识点汇总 #### 一、开发技术:语言与平台 - **JavaBean组件模型特点** - JavaBean 是一种 Java 类,它遵循特定的编写规范,通常用来封装业务逻辑或数据。 - **封装性**:...
Curso_Java Curso de Java,POO,JDBC,Servlets,JavaEE,Web服务,JSF,EJB,JPA,PrimeFaces,Hibernate,Spring,Struts-全球辅导公司。乌巴尔多·阿科斯塔(Ubaldo Acosta)
1. **Java Web基础**:该系统是用Java Server Pages(JSP)技术构建的,这是一种用于创建动态网页的技术。JSP允许开发者在HTML页面中嵌入Java代码,实现服务器端的业务逻辑处理。同时,JSP与Servlet紧密配合,...
这个压缩包显然包含了针对该考试的复习资料,包括考试说明、理论题复习题以及操作题复习题。以下将详细阐述Java编程语言的一些核心知识点,以及如何根据这些文件进行有效的备考。 1. **基础语法**:作为Java学习的...
该系统采用的技术框架主要包括EJB(Enterprise JavaBeans)3.0、Struts1.x以及SQL Server 2000数据库,同时依赖于JBOSS 4.x作为Web容器来运行。 1. **EJB3.0**: EJB(Enterprise JavaBeans)是Java EE平台的核心...
本压缩包包含的“高技能鉴定辅导材料java”很可能是针对Java Web开发人员的考试复习资料,旨在帮助他们掌握核心概念、技术和最佳实践。 1. **Servlet与JSP**: - Servlet是Java服务器端编程的基础,它扩展了Web...
MyEclips开发工具有很强大的力量,它对JavaServlet,AJAX,JSP,Struts,JSF,Spring、Hibernate等的支持使得开发变得非常容易,同时还具备了EJB3的功能,JDBC数据库连接的功能。所以说MyEclipse是所有开源工具开发...
论文资料部分可能详述了系统的设计理念、架构选择、功能模块、实现技术以及性能评估等方面,对于理解整个项目有重要的参考价值。通过阅读论文,可以学习到如何将理论知识应用到实际开发中。 项目截图展示了系统的...
2. **轻量级**:与EJB容器相比,Spring的IOC容器更轻便,适合各种规模的项目。 3. **技术整合**:Spring集成了多种技术和框架,如ORM、logging、J2EE等,简化了开发工作。 4. **模块化设计**:开发者可以根据需求...
项目文档资料包括项目报告和答辩PPT,详细记录了系统的功能需求、设计思路、实现技术和测试结果。项目辅导视频则进一步解释了系统的开发过程和解决的问题,对于学习和复用该系统非常有帮助。 总结,这个基于JSP的...
项目辅导视频和文档资料是学习和实施该项目的重要资源。它们可能包含系统需求分析、设计思路、开发过程、调试技巧等内容,帮助开发者理解和复现整个项目。数据库设计文档、系统架构图、用户手册等都是确保项目成功...
1. **Java EE技术栈**:本项目使用了Java企业版(Java EE)作为开发平台,它提供了丰富的API和服务来构建分布式、多层的企业级应用。Java EE的核心组件包括Servlet、JSP、JDBC、EJB等,它们在系统中起到了关键作用。...
- **项目辅导视频、论文等资料**:可能包含项目开发过程的教程、设计文档、相关论文等,帮助理解和学习项目。 - **数据库**:包含数据库脚本或已有的数据库文件,用于恢复和操作系统的数据环境。 - **源代码**:...
这份《2013年软考高级信息系统项目管理师考试计算机部分考点汇总表资料》是一份针对信息系统项目管理师考试的辅导材料,涵盖了计算机领域的多个知识点,其中涉及了信息系统的基础知识、软件工程、面向对象方法、各种...
1. **JavaEE技术栈**:本项目基于Java Enterprise Edition(JavaEE)进行开发,这是一个用于构建分布式、组件化的web应用程序的标准平台。它包含了Servlet、JSP、EJB等核心组件,以及Spring、Hibernate等开源框架,...
项目辅导视频、论文等资料可以进一步指导开发过程,帮助理解和解决问题。数据库文件和源代码提供了具体实现细节,通过阅读和分析这些内容,可以深入学习到实际开发中的技巧和最佳实践。项目截图则能直观展示系统功能...
"TD 支持"可能指的是实践教学或技术辅导,意味着该课程包含了一些实际操作和动手训练的环节。 【描述】中的信息进一步证实了这是一门面向硕士1年级(M1)学生的课程,主要关注 Java 企业级应用开发(Java ...
4. **EJB(Enterprise JavaBeans)**:虽然JSP可以处理简单的业务逻辑,但复杂的商业应用可能需要EJB来提供更高级的服务,如事务管理、安全性和分布式服务。不过,现代Web应用更倾向于使用轻量级框架,如Spring,以...