前言
小编刚刚接触java不久,对J2EE的十三个规范的认识也很肤浅,下面就随着我的脚步简单认识一下,混个脸熟吧。
是什么
先来说J2EE是什么?J2EE(Java 2 Platform, Enterprise Edition),java 2平台企业版,是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。简单来说,J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
为什么有规范
下面来讲解一下J2EE的十三规范。有一句话这么说:“一流企业做标准、二流企业做品牌、三流企业做产品!“。由此可见形成标准的重要性。像我们使用的操作系统大多数是微软的,手机系统,大多数是安卓的,我们安装软件或者制造软件的时候都必须遵守他们系统的标准,不然软件不兼容,不会有人去卖你的软件。一个产品由品牌做到成为一种规范,一种他能让你离不开,脱不掉,随处可见,满眼都是,这是多么强大的力量,制定游戏规则的公司才是最强大的公司,其实这过程也是一层层不断抽象的过程,这时最具体的产品就显得一般了。
哪些规范
J2EE的十三个规范怎么理解,是上面所说的一流的标准吗?我们可以拿它和.net进行比较,.net是微软公司战略产品,而j2ee描述的是产品的标准,许多产品都符合j2ee标准产品,他们两个各有千秋,但是就在当前做产品和做标准上,.net和j2ee不是在一个层次上,j2ee更加抽象些。
话不多说,咱们进入正题。
1、JDBC(Java Database Connectivity)
Java数据库连接,JDBCAPI是一个标准SQL数据库访问接口,看到它很容易想起之前学过的Microsoft平台中的ODBC(Open Database Connectivity)。类似,JDBC使数据库开发人员能够用标准Java API编写数据库应用程序。JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。
简单来说,JDBC API为访问不同的数据库提供了一种统一的途径。就像我们的库房,仓库管理员就是一个JDBC API,对于仓库的事,找他就行,他拿着钥匙,保存各个库房的具体数据信息。
2、JNDI(Java Name and Directory Interface)
Java名字和目录接口。由于J2EE应用程序组件一般分布在不同的机器上,所以需要一种机制以便于组件客户使用者查找和引用组件及资源。在J2EE体系中,使用JNDI定位各种对象,这些对象包括EJB、数据库驱动、 JDBC数据源及消息连接等。JNDI API为应用程序提供了一个统一的接口来完成标准的目录操作,如通过对象属性来查找和定位该对象。由于JNDI是独立于目录协议的,应用还可以使用JNDI访问各种特定的目录服务,如LDAP、NDS和DNS等。
简单来说,JNDI API被用于执行名字和目录服务。像我们的族谱一样,每个人出生都在族谱中登记一个名字,这样我们根据名字就可以知道这个人的来龙去脉。
3、EJB(Enterprise JavaBean)
JavaBean的任务是:一次编写,到处运行。EJB定义了一组可重用的组件:Enter‘prise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。在装配组件时,所有的Enterprise Beans都需要配置到EJB服务器一般的Weblogic、WebSphere等J2EE应用服务器都是EJB服务器)中。EJB服务器作为容器和低层平台的桥梁管理着EJB容器,并向该容器提供访问系统服务的能力。所有的EJB实例都运行在EJB容器中。EJB容器提供了系统级的服务,控制了EJB的生命周期。EJB容器为它的开发人员代管了诸如安全性、远程连接、生命周期管理及事务管理等技术环节,简化了商业逻辑的开发。EJB中定义了三种Enterprise
Beans:Session Beans,Entity Beans和Message-driven Beans。
简单的理解为EJB就是一个特殊的类,特殊在它可以实现分布式的服务,就是多个人可以同时分布干一件事。
4、RMI(RemoteMethod Invoke)
远程方法请求,正如其名,RMI协议调用远程对象上的犯法。它使用了序列化方式在客户端和服务端传递数据。RMI是一种被EJB使用的更底层的协议。
5、Java IDL(接口定义语言)/CORBA:(Common Object Request Breaker Architecture:公共对象请求代理机构)
在java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可以在CORBA ORB中展开,或者他们还可以创建Java类并做为和其他ORB一起展开的CORBA对象客户.后一种方法提供了另外一种途径,通过它可以被用于你的新的应用和旧系统相集成。
6、JSP(Java Server Pages):
Jsp页面由html代码和嵌入其中的java新代码所组成。服务器在页面被客户端所请求以后对这些java代码进行处理,然后将生成的html页面返回给客户端的浏览器。
其实理解起来很简单,对比我们之前学过的.net中的ASP,只差一个字母,在ASP中我们所建的Web窗体也是由html代码和嵌入其中的代码组成的,达到的目的都一样,页面展示。抓沙理论,捡重点记住再说。
7、Java Servlet
servlet是一种小型的java程序,它扩展了web服务器的功能。作为一种服务器端的应用,当被请求时开始执行。Servet提供的功能大多和jsp类似,不过实现方式不同。JSP通过大多数的html代码中嵌入少量的java代码,而servlet全部由java写成并生成相应的html。
米夫子说得果然不错,学会一门语言,再学另一门语言会很容易。因为大多数都能和之前所学知识产生共鸣,剩下的新知识就没多少了。servlet不就是我们.net中的一般处理程序嘛!
8、XML(Extensible Markup Language):
扩展标记语言,XML是一种可以用来定义其他标记语言的语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是互相独立的,但是,它和java具有相同目标正是平台独立。通过java和xml组合,我们可以得到一个完美的具有平台独立性的解决方案。
XML我们学过,举一个简单的例子再来理解一下。看过军事电影或电视剧的人都知道,特务之间都有一套暗号。这个暗号就是来传输信息的。
9、JMS(Java Message Service)
java消息服务。JMS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,又支持发布/订阅类型的域,并且提供对下列类型的支持:经认可的消息传递,事务性消息传递,一致性消息和具有持久性的订阅者的支持。JMS还提供了另一种方式对您的应用和旧的后台系统相集成。
举一个简单的小例子。如果有人给我发钉钉消息,我钉钉没在线,那么他所发送的消息就会存储在服务器上,待我上线后我就会收到消息。
10、JTS(Java Transaction Service):
java事务应用程序接口。 JTS是CORBA OTS事务监控的基本实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API(JTA)规范,并且在较底层实现OMG OTS specification的java映象。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。
我们在.net中学过ADO事务。事务可以由容器控制,也可以由bean控制。事务最简单的目的就是保证数据的有效性,数据的一致性。
11、JTA (Java Transaction Architecture)
Java事务结构。JTA定义了一种标准API,应用系统可以访问各种事务监控。
12、JavaMail
JavaMail是用于存取邮件服务的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。这个好理解,就不再多说了。
13、JAF(JavaBeans Activation Framework)
JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成java对象,或者转换自java对象。大多数应用都可以不需要直接使用JAF。
小结
在我们的现实生活中,到处都是标准。英语有四六级,会计有会计证,计算机有等级考试。标准不是谁创造的,而是随着社会的进步,经验的积累。知识被近一步明确了而已。而在java中,java的标准是经验的集合,是模仿现实生活运用到计算机而已。