Java EE部分核心技术简介(一)

2014-11-24 09:01:42 · 作者: · 浏览: 0

— JavaEE的基石:

1、 EJB (Enterprise JavaBeans) :

一个Java服务器端组件开发的规范,定义了一个用来开发面向对象分布式应用组件的标准方法,软件厂商根据它来实现EJB服务器。

Java程序员可以将一些EJB组件组合起来,从而方便、快捷地建构起分布式应用程序。EJB规范在简化分布式应用程序开发复杂性方面也做了大量的工作,EJB程序员不必太担心事务处理、多线程、资源管理等方面的问题,可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。使用EJB可以使整个程序分块明确,并且EJB可以使用其它EJB或JDBC等服务,从而增强了分布式应用程序的可扩展性和性能;另外,EJB的使用增强了整个系统程序的可靠性、可管理性和可移植性。

EJB组件

EJB分为三种:会话EJB、实体EJB和消息驱动EJB


EJB容器

是EJB组件的运行环境,为部署的EJB组件提供各种服务(事务、安全、远程客户端的网络发布、资源管理等)。容器厂商也可以在容器或服务器中提供额外服务的接口。


EJB服务器

管理EJB容器的高端进程或应用程序,并提供对系统服务的访问。EJB服务器也可以提供厂商自己的特性,如优化的数据库访问接口,对其他服务(如CORBA服务)的访问等。


2、CORBA体系结构:核心-ORB
CORBA技术:

CORBA(Common Object Request Broker Architecture)是一个开发分布式对象系统标准(规范),它独立于平台,也独立于语言。由OMG制定。

在这个体系结构中,一个对象可以被本机上的客户或远程客户通过方法激活来访问。客户(一个对象或应用)无须知道被调用对象(称为服务对象)的运行环境,也无须知道实现这个对象的编程语言,客户只要知道服务对象的逻辑地址和提供的接口。

这种互操作性的关键是IDL(Interface Definition Language、接口定义语言),IDL说明对象接口中的方法,这些方法可以被其它对象(或应用)激活。


3、RMI技术:

RMI(Remote Method Invoke)是一种被EJB使用的更底层的协议,正如其名字所表示的那样,RMI协议调用远程对象上方法,使用序列化方式在客户端和服务器端的对象之间传递数据。

RMI和CORBA相比:

两者的关键差别在于语言环境,Java RMI是一个分布式对象计算的纯Java解决方案(如,在Java RMI中,对象的接口用Java定义,而不是用IDL);

其次,CORBA没有定义安全服务,而Java RMI继承了Java的安全性;

再者,CORBA有不同的实现,不同的独立软件开发商的不同实现均有独特性,这使得在不同平台上的匹配比较困难,而且不是所有CORBA产品开发商都支持所有平台,而几乎所有平台都支持Java虚拟机,因此Java RMI具有更高的可移植性。如果客户对象和服务对象都基于Java虚拟机,那么Java RMI是分布对象计算的最好选择。当然,IIOP(Internet Inter-ORB Protocol)已经提供了Java RMI和CORBA的互操作能力,而且两者的发展有互相借鉴的趋势。

4、JSP技术:

JSP是服务器端的脚本语言,是以Java和Servlet为基础开发而成的动态网页生成技术,它的底层实现是Java Servlet。

JSP(Java Server Pages)页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器

特点:面向对象,跨平台,和Servlet一样稳定,可以使用Servlet提供的API,克服了Servlet的缺点。

应用:一般和JavaBeans结合使用,从而将界面表现和业务逻辑分离。


JSP和ASP的比较(一):

相似:

都是运行于服务器端的脚本语言,两者都是动态网页生成技术。

这两项技术都使用HTML来决定网页的版面,都是在HTML 代码中混合某种程序代码,由语言引擎解释执行程序代码。HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。

JSP和ASP的比较(二):

不同:

JSP是由Sun推出的一项技术,是基于JavaServlet以及整个java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。ASP是MS公司推出的技术,只能在MS的平台上运行,无法实现跨平台,也无安全性保障。

ASP下的编程语言是 VB script 之类的脚本语言,而JSP 使用的是Java。

ASP 与 JSP 还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在 ASP 下, VB script 代码被 ASP 引擎解释执行;在 JSP 下,代码被编译成 Servlet 并由 Java 虚拟机执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。

5、Java Servlet 技术:

Servlets(=Server +Applet):是一些运行于Web服务器端的Java小程序,用来扩展Web服务器的功能。

Servlets用特定的Java解决方案替代了其它的Web服务器方编程模式(如:CGI,ISAPI等),因而继承了Java的所有特性(跨平台、多线程、OO)。

Servlets可以嵌入在不同的Java Web服务器之中,因为用来编写Servlets的Servlet API对于服务器环境和协议没有任何特殊的要求,所以Servlets具有很强的可移植性,也不像利用CGI程序等其它方式那样具有性能局限。

Servlets也同样使用HTTP协议与客户端进行通讯,所以有时也称Sevlets为“HTTP Servlets”。

Servlet是一种扩展Web服务器功能的简单而相似的技巧,而且由于它是用Java编写的,所以能够访问整个Java API库,包括用于访问企业数据库的JDBC API。

Java Servlet 和 JSP 的比较:

两者都是基于Java的技术,所以都继承了Java的所有特性(跨平台、多线程、OO ),都可以使用Java强大的API。

两者工作方式相似:JSP代码先被JSP容器转换为Servlet代码再编译为类。

两者在JavaEE体系结构中的工作层次相同,都负责与客户端的连接。


Servlets是一些运行于Web服务器端的Java小程序;而JSP是脚本,编写起来更简单容易。

Servlet主要用于从客户端接收请求信息,而JSP主要负责将服务器端信息传送到客户端。

使用Servlet的真正意义在于:可以将界面设计和业务逻辑设计分离。

7、JavaBean 技术:

JavaBean是基于Java的组件模型,有点类似于Micro