背景:



1、企业级应用框架的需求,在很多企业级应用中。比如数据库连接、邮件服务、事务处理等都是一些通用企业需求模块,这些模块假设每次在开发中都由开发者来完毕的话,将会造成开发周期长和代码可靠性差等问题。于是很多大公司开发了自己的通用模块服务。

这些服务性的软件系列统称为中间件。

2、为了通用必需要提出规范,不然无法达到通用,在上面的需求基础之上,很多公司都开发了自己的中间件,但其与用户的沟通都各有不同,从而导致用户无法将各个公司不同的中间件组装在一块为自己服务。从而产生瓶颈。

于是提出标准的概念。

事实上J2EE就是基JAVA技术的一系列标准。

简单介绍:

J2EE(Java 2 Platform, EnterpriseEdition)是一个为大企业主机级的计算类型而设计的Java平台。Sun微系统(与其工业伙伴一起,比如IBM)设计了J2EE。以此来简化在瘦客户级环境下的应用开发。因为创造了标准的可重用模块组件以及因为构建出能自己主动处理编程中多方面问题的等级结构。J2EE简化了应用程序的开发。也减少了对编程和对受训的程序猿的要求。提高可移植性、安全与再用价值。









        J2EE就像是螺丝和螺母的关系,假设我们要买螺纹规格为ST2.9 -ST6.3 的六角凸缘自钻自攻螺钉,我们无论是从哪买螺丝或者螺母都能够买到符合我们需求的螺钉,J2EE就是定义了标准。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">



组件标准规范





1、JDBC(Java DatabaseConnectivity)

        JDBC API为訪问不同数据库提供了统一的路径,像ODBC一样,JDBC开发人员屏蔽了一些细节问题,另外,JDBC对数据库的訪问也具有平台无关性。

JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。

       有了JDBC,向各种关系数据发送SQL语句就是一件非常easy的事。换言之,有了JDBC API。就不必为訪问Sybase数据库专门写一个程序,为訪问Oracle数据库又专门写一个程序。或为訪问Informix数据库又编写还有一个程序等等,程序猿仅仅需用JDBC API写一个程序就够了,它可向对应数据库发送SQL调用。

同一时候。将Java语言和JDBC结合起来使程序猿不必为不同的平台编写不同的应用程序,仅仅须写一遍程序就能够让它在不论什么平台上执行,这也是Java语言“编写一次,处处执行”的优势。其次它增进了訪问数据的效率和快捷程度。



2、JNDI(Java Name and DirectoryInterface)

     JNDI API
被用于运行名字和文件夹服务.它提供了一致的模型来存取和操作企业级的资源DNS和LDAP,本地文件系统,或应用server中的对象。

一个应用程序设计的API,为开发者提供了查找和訪问各种命名和文件夹服务的通用、统一的接口。类似JDBC都是构建在抽象层上。



3、EJB(Enterprise JavaBean)

    EJB是sun的JavaEEserver端组件模型。设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在server上运行。凭借java跨平台的优势,用EJB技术部署的分布式系统能够不限于特定的平台。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分。定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包含网络服务支持和核心开发工具(SDK)。
在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean。是Java的核心代码。各自是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean),描写叙述了构建应用组件要解决的标准。



4、RMI(Remote Method Invoke)

远程方法请求,RMI协议调用远程对象上的方法.它使用了序列化的方式在client和server之间传递数据.RMI是一种被EJB使用的更底层的协议。

5、Java IDL/CORBA(通用对象请求代理架构是软件构建的一个标准 )

           
在Java IDL的支持下,开发者能够将Java和CORBA集成在一起.他们能够创建Java对象并使之可在CORBAORB中展开,或者他们还能够创建Java类并和其他ORB一起展开的CORBA对象客户.后一种方法提供了第二种途径,通过它Java能够被用于将你的新的应用程序和旧的系统集合在一起。



6、JSP

        JSP技术有点类似ASP技术。它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下执行。也能在其它操作系统上执行。

JSP页面由HTML(标准通用标记语言下的一个应用)代码和嵌入当中的Java代码组成.server在页面被client所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给client浏览器。

7、Java Servlet

Servlet
是一种小型的Java程序,它扩展了webserver的功能.作为一种server的应用,当被请求时開始运行,这和CGI
Perl脚本非常相似.Servlet提供的功能大多和JSP类似,只是实现的方式不同.JSP一般是大多数的HTML代码中嵌入少量的Java代码,而servlet所有由java写成而且生成HTML。

8、XML

XML(标准通用标记语言的子集)是一种能够用来定其他标记语言的语言.它被用来在不同的商务过程中共享数据.XML的发展和java是相互独立的,可是,它和java具有的同样目标是平台独立性

9、JMS

MS是用于和面向对象消息的中间件相互通信的应用程序接口.它既支持点对点的域,又支持公布/订阅类型的域,而且提供了下列类型的支持:消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持.JMS还提供了还有一种方式来对新系统和旧后台系统相互集成

10、JTA

JTA定义了一种标准API,应用程序由此能够訪问各种事务监控。



11、JTS

JTS是CORBA OTS事务监控的基本实现.JTS规定了事务管理的实现方法.该事务管理器是在高层支持java
Transaction API规范,而且在较低层次实现OMGOTS specification
和Java印象.JTS事务管理器为应用程序server,资源管理器,独立的应用以及同学资源管理器提供了事务服务



12、JavaMail

JavaMail是用于存取邮件server的API,它提供了一套邮件server的抽象类.不仅支持SMTPserver,也支持IMAPserver。

13、JAF(JavaBeans ActivationFramework)

JavaMail利用JAF来处理MIME编码的邮件附件.MIME的字节流能够被转换成java对象,大多数应用都能够不须要直接使用JAF。

总结:

          J2EE的这十三个规范是比較抽象的东西。从总体上讲,J2EE是使用Java技术开发企业级应用的一种其实的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。

正如我们螺丝螺丝帽的规范一样。这些规范方便了我们的开发。

J2EE基础篇——十三个规范的更多相关文章

  1. 【转】WF4.0 (基础篇)

    转自:http://www.cnblogs.com/foundation/category/215023.html 作者:WXWinter  ——  兰竹菊梅★春夏秋冬☆ —— wxwinter@16 ...

  2. J2EE十三个规范小结

    J2ee是我们步入java学习的一个開始.它将开启这趟奇幻之旅,Java是一种简单的,跨平台的,面向对象的,分布式的.解释的.健壮的安全的.结构的中立的,可移植的.性能非常优异的多线程的,动态的语言. ...

  3. j2ee的十三个规范

    转载 今天在做连接oracle数据库的时候,感受到了什么是规范.平时听到别人说学习j2ee一定要学习他的十三个规范,大概的知道每个规范是做什么的,每个“接口”是做什么的.          很早就听过 ...

  4. 浅识J2EE十三个规范

    前言 没有规矩不成方圆,学习J2EE,先来明白都有什么规范. 内容 1.JDBC(Java Database Connectivity)java数据库连接 a)为java开发人员提供了一个行业标准AP ...

  5. 《手把手教你》系列基础篇(八十三)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-下篇(详解教程)

    1.简介 其实前边好像简单的提到过测试报告,宏哥觉得这部分比较重要,就着重讲解和介绍一下.报告是任何测试执行中最重要的部分,因为它可以帮助用户了解测试执行的结果.失败点和失败原因.另一方面,日志记录对 ...

  6. 第十三章 Python基础篇结束章

    从2019年3月底开始学习Python,4月份开始在CSDN发博客,至今不到半年,老猿认为博客内容中关于Python基础知识的内容已经基本告一段落,本章进入Python基础知识结束章节,对Python ...

  7. J2EE基础之Web服务简介

    J2EE基础之Web服务简介 1.什么是Web服务? 在人们的日常生活中,经常会查询网页上某城市的天气信息,这些信息都是动态的.实时的,它是专业的气象站提供的一种服务.例如,在网上购物时,通常采用网上 ...

  8. 【J2EE入门】13个规范

    看过了j2ee教学视频,真的让我痛彻心扉,那叫痛并快乐着,痛是因为看了这么长时间,自己只知道了13个规范的概念:同样,快乐也正是因为我知道了13个规范的概念,接下来就是逐项实践的学习. 看了教学视频, ...

  9. Sass-学习笔记【基础篇】

    最下边附结构图 在线编辑器网址如下:http://sassmeister.com/  注意编写的时候,符号千万别用了中文的:.:.....之类的,会报错,Sass也转换不成css. less和sass ...

随机推荐

  1. dedecms的入门使用

    前段时间(其实也很远了)一直在学习dedecms,这里对前段时间的学习做一个总结. dedecms学习网址:http://help.dedecms.com/v53

  2. 解决gnuplot中'Terminal type set to 'unknown'不能显示绘图的问题

    安装gnuplot: sudo apt-get install gnuplot 安装成功后,在终端输入gnuplot,进入gnuplot. 直接进行一个小测试: plot sin(x) 发现不能显示绘 ...

  3. mysql root密码重置

    1.修改my.cnf #位置一般是 /etc/my.cnf 2.重启mysql服务 service mysqld restart 3.进入mysql mysql -uroot -p 然后直接回车 4. ...

  4. 基于visual Studio2013解决C语言竞赛题之0301函数求值

     题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <math.h> void main() ...

  5. IT第二十六天 - Swing、上周总结

    IT第二十六天 上午 Swing 1.对于方法的参数如果是int数值类型,应该直接调用该类中的常量属性,而不应该直接填入数字 2.Toolkit类中定义的方法是可以直接访问本地计算机(操作系统)信息的 ...

  6. Android 自定义view实现水波纹效果

    http://blog.csdn.net/tianjian4592/article/details/44222565 在实际的开发中,很多时候还会遇到相对比较复杂的需求,比如产品妹纸或UI妹纸在哪看了 ...

  7. 【前端】CSS雪碧

    百度百科:http://baike.baidu.com/link?url=jblMCCF77bq7egbJ-9SudRmvXdwlQVVOq5D9MEEniQgJR-Lqanfrnjzwmgu7ato ...

  8. 驱动: 中断【1】linux中断流程

    通常情况下,当一个给定的中断处理程序正在执行时,所有其他的中断都是打开的,所以这些不同中断线上的其他中断都能被处理,但当前中断总是被禁止的. 将中断处理切为两个部分或两半.中断处理程序上半部(top ...

  9. 网络编程(UDP协议-聊天程序)

    网络编程中的UDP协议中聊天程序,发送端口,和接受端口. 发送端口(Send): <span style="font-size:18px;">package cn.it ...

  10. Linux 开放服务端口

    CentOS 6.5上安装Tomcat 服务器,需要开放服务端口,供其他计算机访问部署在Tomcat中的Web应用.下面是开放端口的方法. 我知道的方法有两种.下面以开放8080端口为例. 方法一:命 ...