解释JNDI、JMS、JTA、JAF、RMI
请简单解释下面的J2EE技术名词:JNDI、JMS、JTA、JAF、RMI。
考点:考察求职者对Java EE规范中技术的了解程度。
出现频率:★★★★
【面试题解析】
Java EE平台由一整套服务、应用程序接口和协议构成,它对开发基于Web的多层应用提供了功能支持。Java EE中的13种技术规范的简单描述如下。
• JDBC(Java Database Connectivity):JDBC API为访问不同的数据库提供了一种统一的途径,像ODBC一样,JDBC对开发者屏蔽了一些细节问题。另外,JDCB对数据库的访问也具有平台无关性。
• JNDI(Java Name and Directory Interface):JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源,如应用服务器配置的数据源等。
• RMI(Remote Method Invoke):RMI协议调用远程对象上的方法,使用序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。
• Java IDL/CORBA:在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起,它们可以创建Java对象,并使之可在CORBA ORB中展开,或者它们还可以创建Java类,并作为和其他ORB一起展开的CORBA对象的客户。后一种方法提供了一种途径,通过该途径,Java可以被用于将新的应用和旧的系统相集成。
• JSP(Java Server Pages):JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
• Java Servlet:Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而Servlets全部由Java写成,并且生成HTML。
• XML(Extensible Markup Language):XML是一种可以用来定义其他标记语言的语言。它被用来共享数据。XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,可以得到一个完美的平台独立的解决方案。
• JMS(Java Message Service):是一组Java应用程序接口(Java API),它提供创建、发送、接收、读取消息的服务。消息是JMS中的一种类型对象,由两部分组成:报头和消息主体。
• JTA(Java Transaction Architecture):JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。
• JTS(Java Transaction Service):JTS是CORBA OTS事务监控的基本实现。JTS规定了事务管理器的实现方式,该事务管理器在高层支持Java Transaction API(JTA)规范。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。
• JavaMail:JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。
• JTA(JavaBeans Activation Framework):JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象。上面列出了Java EE的核心API和组件,一般面试中都会出现相关的名词解释,读者必须熟练掌握每个名词的含义。
参考答案:
JNDI:Java命名目录服务(Java Naming and Directory Interface),提供一个目录系统,让其他各地的应用程序留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。
JMS:Java消息服务(Java Message Service),主要实现各个应用程序之间的通信,包括点对点和广播。
JTA:Java事务服务(Java Transaction API),提供各种分布式事务服务,应用程序只需调用其提供的接口即可。
JAF:Java安全认证框架(Java Action FrameWork),提供一些安全控制方面的框架,让开发者通过各种部署和自定义实现自己的个性安全控制策略。
RMI:远程方法调用(Remote Method Interface)。