J2EE核心技术——13规范解读(二)



     上篇博客根据J2EE模型对13种核心技术进行分类概括,起到对J2EE核心有个初步认识,详见分支一:MVC具体每个规范的机制和使用,笔者会尽快进行更新。下面接着从分布式、消息、文本三个方面对13规范进行理解。如有不足,请不吝指教。


分支二:分布式

    1RMI:什么是远程访问?就像我们利用五楼的计算机可访问四楼计算机的服务,远程访问允许客户机A访问BCD其他计算机的服务,是分布式应用的基础。RMI(Remote Method Invocation)java远程访问的重要规范之一,它允许本地java程序直接调用远程java方法。而且值得一提的是,由于分布式远程调用,所以不可避免的需要考虑线程安全、死锁等问题,而RMI本身提供了多线程功能,使得程序开发无需处理多线程带来的线程同步、安全等问题。大大的降低了开发难度。

     2 CORBA:CARBARMI类似,在远程调用过程中,使得客户应用程序能调用远端对象方法的一种机制。当客户程序要调用远程对象上的方法时,首先要得到这个远程对象的引用,之后就可以像调用本地方法一样调用远程对象的方法。

    3EJB:EJB出现之前的java开发是直接用JSP页面加上少量的javaBean就可以完成整个应用程序,所有的业务逻辑、数据库访问都在JSP页面中。这样带来的问题毋庸赘述。

        所以EJB出现,提供了一种良好的组建封装,集中负责业务逻辑,而对界面而言,EJB无需关心。业务逻辑相关的实现集中在EJB中完成,这样EJB组件就可对外提供完整的业务服务。

J2EE核心技术——13规范解读(二)_第1张图片

            

分支三:消息管理

     1JMS:前面提到的RMICORBA等分布式方法调用应用于规模复杂的系统时,会面临通信同步、点对点通信等问题,比如客户端调用服务器的方法后,必须等待服务器返回信息,否则客户端程序无法向下执行,而且客户端每次只能调用服务器的一个方法。

        所以在这样的前提下,面向消息的应用框架应运而生。面向消息的核心是:隔绝senderreceiver之间的耦合,消息发送者只管发送消息,接收者只负责读取处理消息。双方无需相互了解,只了解交换的消息格式即可。

J2EE核心技术——13规范解读(二)_第2张图片


       在这样的情况之下,JMS(消息服务)便起到了消息中转站的作用,勾通了发送和接收者。消息发送到JMS,JMS使用消息队列来保存消息,接收者通过队列依次读取每条消息。这就是典型的PTP模型(传说中的P to P)

    2JavaMailJavaMail归类到消息管理其实不太恰当,JavaMail技术主要是它定义了一组支持各种邮件协议的即插即用API,可使用这些API来收取、发送电子邮件。简言之,就是用来编写关于邮件处理的系统的一套很全面的API集。


分支四、文本管理

    1XML:它是一种与平台无关的通用数据交换格式。在.Net学习中已经有所了解,使用XML的各种优势也毋庸赘述(详见博主XML系列博客)。所以选择XML与跨平台运行的Java结合也是比较容易理解的。

    2JNDI(java naming directory命名目录接口)笔者的理解JNDI就是java写好的一本字典,里面装了各个文件的名称、目录,并且拥有一套自己的命名规则。开发者编写代码,通过JNDI去查询调用需要的服务。如下图:

J2EE核心技术——13规范解读(二)_第3张图片

     当JDBC配置好数据源之后,通过使用JNDI,需要###数据源,给JNDI一个路径,JNDI就可以找到该数据源;RMI需要提供远程调用方法时,就要绑定一个JNDI名字,使得调用该方法的客户机通过JNDI获取该方法即可。所以JNDI本身就包含了标准、统一的API接口,java程序通过这些接口去访问命名目录。

     

     整体上说,看J2EE教学视频的过程中,讲到这13个核心技术,接触到很多新名词,脑洞大开;整体知其貌之后,在进行视频的集中学习,会比一开始可劲看的吸收量大一些,有针对一些。




你可能感兴趣的:(J2EE核心技术——13规范解读(二))