刚开始学习EJB,整理一下这段时间对于EJB的认识。
1. 分布式技术
分布式对象:不同功能,不同服务放到不同的机器上,这些功能或者服务就可以称为分布式对象;
分布式技术:能够处理分布式对象的技术;
EJB技术:分布式技术的一种(实现分布式的技术有很多种,EJB只是其中一种)
2. 使用EJB要达到的何种效果?
在客户端代码中无需指定分布式对象的位置就可以调用。即将一个分布式对象作为一个普通对象来使用。
3. 分布式对象
现在具体来理解一下分布式对象,前面已经知道分布式对象可以简单的理解为放在不同机器上的系统功能或者服务。那么分布式对象到底是什么样子的呢,在我们的程序中到底充当怎么的角色呢?
以我们熟悉的SSH为例,EJB中处理的分布式对象实际上就是SSH框架中所编写的业务逻辑对象以及那些实体 类。所以分布式对象不是什么很难理解的新事物,只是将我们以前写的一些业务逻辑代码从客户端软件中抽取出来。
4. 客户端软件
分布式对象中提到一个概念”客户端软件”,这个概念在C/S软件中很熟悉,在WEB开发中没怎么听说过,那么为什么说分布式对象是从客户端软件中抽取出来呢?
在这里说的客户端软件只是一种形式上的说法,抽取出来的部分就相当于我们的服务器,剩下的部分就相当于我们的客户端,而EJB 就是将那些抽取出来的部分放到一个服务器上,用C/S 形式的软件客户端对服务器上的"类"进行调用。
以上部分都是讲对于EJB这个技术比较概念型的理解,在整理这部分知识的时候搜到一篇很不错的资料。
题目为:EJB到底是什么,真的那么神秘吗?
http://blog.youkuaiyun.com/jojo52013145/article/details/5783677
下面来稍微整理一下EJB在J2EE中占的位置。
熟悉J2EE开发的都很清楚,Java EE应用程序都是以组件构成的。组件也是分层思想的一种产物;就像三层一样,每一层都有自己职责。组件也是一样的,每一个组件都有自己的任务,他们组合起来就能够完成各种各样的任务,这样子的程序就是J2EE应用程序。
下面是一种很经典的J2EE应用程序组件的分布图。
ClientTier(客户端组件):一些发出请求和展示最终结果的地方,比如我们的浏览器。
WebTier(Web组件):运行在服务器端,就是一些Servlet或由Jsp技术创建的页面
BusinessTier(业务逻辑组件):运行在服务器端。
这一层就是应用EJB技术的地方,将这一层单独抽取出来放到服务器上运行,而Web组件就相当于我们的客户端软件,会以一种C/S形式对这些EJB对象进行调用。
总结
EJB技术的学习还处于刚开始的阶段,通过看视频和查找资料以及自己的总结分析,对他的理解变得慢慢清晰。对于学习一个新东西,尤其是在刚开始的阶段对于他们整体把握是相当重要的,往往有了一个正确的定位之后,之后的学习就会变得更加的顺畅。