J2EE——总结

 

前言                          
  第二代Java平台一共有三个版本(标准版J2SE、企业版J2EE、微型版J2ME),此次博客主要想对企业版J2EE进行总结有个大概的了解,提到J2EE大多数人的反应就是13中规范,所以正文中这块部分的介绍也可能会多些篇幅。详情请见下文!


正文                          
一、简介
1、“J2”——What?
“J2”其实就是“第二代Java平台”的简称。第二代java平台有三个版本:J2SE、J2EE、J2ME,后来为了表明版本重要性,这个三个版本已更名为JavaSE、JavaEE、JavaME。

2、J2EE——What?
J2EE(Java 2 Platform, Enterprise Edition)是第二代Java平台的企业版,在J2SE基础上构建,包含了J2SE中的所有类,帮助开发和部署可移植、健壮、可伸缩且安全的服务器端java应用程序。

3、J2EE——特点
功能全面、兼容性良好、用于数据处理和服务器端应用

4、J2EE——组件
①客户端组件:客户端应用程序、applet
②服务器端的web组件:Java Servlets、JSP
③服务器端的业务组件:EJB

5、J2EE——体系结构
J2EE——总结_第1张图片


二、13种规范                              
1、JDBC(Java Database Connectivity)
以统一的方式访问各种数据库的API
[简析]

JDBC作用和ODBC的作用差不多,就是提供一个访问不同数据库的统一标准路径,JDBC API写一个程序,可以通过这个程序去访问Oracle、Sybase。
[作用]
与数据库建立连接、发送操作数据库的语句、处理结果

2、JNDI(Java Naming Directary Interface)
Java命名和目录接口
[简析]

JNDI提供一套(访问命名和目录服务的API)标准接口,以定位用户、机器、网络、对象、服务。如:可以使用JNDI来定位内部网中的一台打印机,也可以使用JNDI来定位Java对象或连接到一个数据库。
JNDI类似JDBC,都是构建在抽象层上,是网络查找定位的标准方法,可以用于EJB、JDBC中。
也可以说用JNDI访问高级应用网络开发中使用的目录基础结构,这个目录实质上是一个特殊的数据库,提供了对存储数据的快速访问,而且提供一种标准的API来访问不同类型的目录服务。
[优点]
①包含了大量的命名和目录服务,使用通用接口来访问不同种类的服务
②可以同时连接到多个命名或目录服务上
③建立起逻辑关联,允许把名称同Java对象或资源关联起来,而不必知道对象或资源的物理ID
④利用JNDI的命名与服务功能来满足企业级API对命名与服务的访问,诸如EJB、JMS、JDBC 2.0以及IIOP上的RMI通过JNDI来使用CORBA的命名服务。
[用途]
①命名或目录服务使用户可以集中存储共有信息
②命名系统中的对象可以是DNS记录中的名称、应用服务器中的EJB组件、LDAP中的用户Profile
③在目录服务中,可以根据属性搜索对象
[组成]
①应用程序编程接口:提供java应用程序访问各种命名和目录服务的功能
②服务供应商接口:提供任意一种服务的供应商使用的功能


3、EJB(Enterprise Java Beans)
  在了解EJB的时候我常常听别人说JavaBean,这两Bean刚开始觉得是同一个东西,后来发现我错了,EJB和JavaBean就好比Java和JavaScript是两种不同的概念。
  下面小菜就根据自己查的资料简单说一下,现在理解的还很浅,欢迎大家留言关于这两者的区别或者更好的理解。

(1)、EJB
   提供一个架构来开发和配置到客户端的分布式商业逻辑。EJB规范定义了EJB组件应该如何及何时与他们的容器交互。由容器负责提供普通的服务,例如:目录服务、事务管理、安全、资源池和容错

(2)、JavaBean
①是什么?
  JavaBean是一种软件组件,其实就是一个java 类,它就像一个零件一样,可以重复的用它来组装形成产品,但这里也需要注意的是“不是所以java类都是组件”,可以理解为定义了需要get和set方法等规则的组件,可以实现发现组件属性和事件的机制。
  在一般情况下指的是实体类,在大部分情况下和POJO是同义词,基本构成就是一些字段和与之对应的 setter、getter方法。

 

作用

只需编写一次,各处都可执行。

特点

实现 java.io.Serializable 接口;提供无参数的构造器;提供get和set方法访问它的属性。

 

(3)、EJB和Javabean的区别
①EJB的运行一般需要EJB容器(即应用服务器,如JBoss/Weblogic/Websphere...等等) ,JavaBean的使用可以不需要容器
②EJB可以使用JavaBean,尤其是Entity EJB的时候,但几乎没有看到JavaBean可以使用EJB的

 

 

 

 

4、RMI(Remote Method Invoke)
远程方法调用
[简析]

RMI协议调用远程对象上的方法,使用序列化的方式在客户端和服务器端传递数据,是一种被EJB使用的更底层的协议。

5、Java IDL(Interactive Data Language)/CORBA(Common Object Request Broker Architecture
Java接口定义语言/公用对象请求代理程序体系结构
[简析]
在JavaIDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开,或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将新的应用和旧的系统相集成。

6、JSP(Java Server Pages)
[简析]
JSP是HTML代码和Java代码的混合。在客户请求页面的时候,服务器就会处理java代码,然后返回HTML页面给浏览器。
[作用]
帮助web内容开发者使用相对较少的代码就可以创建动态的网页。

7、Java Servlet
[简析]

Servlets是一个在服务器上运行的java小程序,可以扩展web服务器的功能
[JSP和Servlets区别联系]
Servlets提供的功能大部分和JSP相同,JSP中大部分是HTML代码,只有少量的Java代码,Servlets中完全使用java编写,并且产生HTML代码。

8、XML
[简析]

XML是一个用来定义其它标记语言的语言,可用作数据共享。XML的发展和Java是相互独立的。不过,它和Java具有的相同目标就是跨平台。通过将Java与XML结合,我们可以得到一个完全与平台无关的解决方案。

9、JMS(Java Message Server)
JMS是一个用来和面向信息的中层通信的API
JMS不但支持点到点的域,也支持发布/订阅域,并且提供担保信息发送、事务信息发送、持久信息和durable subscribers的支持。对于将你的应用和以前的backend系统集成,JMS提供了另外一个方法。

10、JTA(Java Transaction API)和JTS(Java Transaction Service)
(1)、事务
①、What
事务是一种机制,把成组的操作视为一个操作进行处理
在事务处理中,要么所有的操作都执行,要么都不执行
在事务中涉及的操作可能依赖于很多不同的数据库和服务器
②、属性
原子性Atomic、一致性Consistent、独立性Isolated、持久性Durable

 

(2)、JTA

Java事务标准

 

JTA定义了一个标准的API,应用可以通过它来访问事务监控器

 

(3)、JTS

Java事务服务

JTS是CORBA OTS事务监控器的一个基本实现。JTS指定了一个事务管理器的实现,这个管理器在一个高级别上支持JTA规范,并且在一个低级别上实现了OMG OTS规范的Java映射。一个JTS事务管理器为应用服务器、资源管理器、standalone应用和通信资源管理器提供事务服务

11、JavaMail
访问邮件服务器的API

提供了一套抽象类来模型化一个邮件系统。支持SMTP和IMAP服务器

12、JAF(JavaBeans Activation Framework)
JavaMail通过使用JAF来处理MIME加密的邮件附件。MIME字节流和java对象间可以相互转化,大多数的应用无需直接使用JAF

你可能感兴趣的:(——————日常(Java),*【Java】)