中间件技术复习要点:J2EE与.NET对比,EJB详解

需积分: 10 1 下载量 12 浏览量 更新于2024-09-11 收藏 36KB DOC 举报
"东北大学软件学院的工程硕士中间件技术考试复习题,涵盖了从单机程序转化为多层架构、.NET框架与J2EE的区别、EJB的使用、打包及异常处理等多个方面的问题,还涉及了JMS消息域、XML、HTTP方法、Servlet和过滤器的原理以及网络环境和中间件的分类等核心概念。" 以下是详细的知识点解释: 1. **单机程序转化为n层体系结构**:传统的单机版程序通过拆分业务逻辑、数据访问和用户界面,可以转化为多层架构,如客户端-服务器(C/S)、浏览器-服务器(B/S)或三层架构(表现层、业务逻辑层、数据访问层)。 2. **.NET框架与J2EE的不同**:.NET是微软的开发平台,支持多种语言,提供全面的开发工具和库;而J2EE是Java平台的服务器端开发环境,专注于企业级应用,强调可移植性和跨平台性。 3. **不使用EJB开发J2EE**:虽然EJB是J2EE中的标准组件,但可以通过使用Servlet、JSP和JavaBeans等非EJB组件来开发J2EE应用。 4. **EJB类型与封装业务逻辑**:通常使用会话Bean(Session Beans)封装业务逻辑,而实体Bean(Entity Beans)用于数据存储和相关操作。 5. **打包EJB**:EJB打包成EJB JAR文件,包括Bean类、接口、部署描述符等,并可能包含其他依赖库。 6. **EAR文件**:Enterprise Archive文件,是J2EE应用的打包格式,包含了整个应用程序的组件,包括EJB JAR、WAR和配置文件。 7. **命名服务器**:在J2EE中,命名和目录接口(JNDI)提供服务定位,使应用能够查找和绑定资源,对分布式环境中的组件管理至关重要。 8. **创建EJB所需类和接口**:通常需要实现接口(如远程接口和Home接口),编写实体Bean的JavaBean类,以及部署描述符。 9. **EJB系统异常**:EJB系统异常是预定义的,由容器抛出,与常规Java异常相比,它们与EJB容器的管理和运行时行为更紧密相关。 10. **CMP**:容器管理的持久性(Container-Managed Persistence),EJB的一种特性,让容器自动处理对象和数据库之间的映射。 11. **JMS消息域**:点对点(Point-to-Point)用于单个接收者,发布/订阅(Publish/Subscribe)用于广播消息给多个接收者。 12. **JMS HEADER和PROPERTY**:HEADER是必需的,包含消息路由信息,PROPERTY是可选的,用于扩展消息内容。 13. **点对点消息传递的可靠性**:JMS在点对点模式下通常能保证消息传递,但不保证消息顺序。 14. **持久订阅**:当接收方可能离线时,应使用持久订阅,以便在连接恢复后接收到未读消息。 15. **消息驱动Bean区别**:与会话Bean和实体Bean不同,消息驱动Bean主要用于接收和处理JMS消息。 16. **消息驱动Bean接口**:必须实现MessageDrivenBean接口和MessageListener接口,以接收和处理消息。 17. **消息驱动Bean与队列/主题关联**:通过在部署描述符中配置,将消息驱动Bean与JMS队列或主题绑定。 18. **XML**:可扩展标记语言,用于数据交换,特点是结构化、自我描述性和平台无关。结构良好的XML符合语法规则,有效XML还遵循文档类型定义(DTD)或XML Schema。 19. **HTTP方法**:GET用于获取资源,POST用于提交数据。GET在URL中显示数据,不安全,而POST隐藏数据,较安全,适合发送敏感信息。 20. **ServletContext对象**:在Servlet中,ServletContext代表整个Web应用,用于共享数据和监听应用事件。 21. **Servlet处理请求方法**:doGet和doPost分别用于处理HTTP的GET和POST请求。 22. **Servlet过滤器**:用于拦截和修改HTTP请求和响应,实现如登录验证、字符编码转换等功能。 23. **网络环境**:包括硬件、软件和协议,允许设备间通信,特征包括连接性、资源共享和数据传输。 24. **网络应用软件**:基于网络的软件,利用网络进行数据交互,通常具有分布式、异构和动态特性。 25. **中间件**:位于操作系统和应用软件之间,提供服务和连接,IDC将其分类为应用服务器、消息中间件、数据库中间件等。 26. **2PC(两阶段提交)**:事务处理中间件通过协调参与者,确保所有节点要么全部提交,要么全部回滚,以保证事务一致性。 27. **容器管理的事务与Bean管理的事务**:前者由EJB容器自动管理事务,后者由开发者在Bean中手动控制。 28. **J2EE的N-Tier结构**:J2EE使用多层架构,如客户端、Web层、业务逻辑层和数据层,实现职责分离和模块化。 29. **J2EE组件分类**:主要包括Web组件(如Servlet、JSP)、EJB组件(会话Bean、实体Bean、消息驱动Bean)和服务组件(如JMS、JTA)。 30. **WebContainer和EJBContainer**:WebContainer处理Web组件,如Servlet和JSP,EJBContainer管理EJB组件及其生命周期。 31. **J2EE基本服务和功能**:包括安全性、事务管理、命名和目录服务、JMS、JTA、JNDI等。 32. **Bean-Managed和Container-Managed数据持久化**:Bean-Managed由Bean自己管理对象与数据库的映射,Container-Managed由容器自动处理。 33. **实体Bean和DBSchema映射**:通过Entity Bean的ejb-jar.xml和orm.xml文件定义,描述Bean与数据库表的对应关系。 34. **J2EE RMI-IIOP**:远程方法调用(RMI)和Internet Inter-ORB Protocol(IIOP)结合,用于EJB的远程调用,实现不同JVM间的对象交互。