zoukankan      html  css  js  c++  java
  • EJB3 阶段总结+一个EJB3案例 (1)

    经过一段时时间的学习,对EJB3的相关知识和jboss8的配置有了大概的了解。

    网上对EJB的评论很多,基本都是负面的,都表示EJB太过于沉重,不容易维护。但通过这段时间的学习,私下认为,EJB3在某些应用场景下还是有许多的可取之处的。

    1)EJB3摒弃了EJB2中许多不合理的设计,引入了注解,通过注解的方式来注入对象(@EJB),越来越向无侵入式的架构发展。

    2)EJB3使用了JPA的方式替代原有的持久化框架。JPA是一种通过注解的方式和数据库建立连接的框架,与hibernate4相似

    3)在分布式应用中,EJB3是一种很好的选择。

    4)拥有许多服务商的支持,安全性是肯定的。

    在这一段EJB的学习过程中,主要学习了一下方面:

    1)Session Bean,包括有状态的SessionBean和无状态的SessionBean,以及两者的区别

    2)message Driver Bean(MDB),包括Queue和Topic两种,其中Queue在工作中应用的比较多,在学习的过程中通过对jboss5和jboss8的试验,了解了jboss两个版本的区别

    3)Entity Bean,即目前的JPA,是EJb和底层数据库交互的框架,主要学习了JPA的注解,如何描述关系型数据库中表与表之间的关系

    4)事物,实体管理器。在这里将这两种都分为容器管理的和Bean管理的两种

    5)Remote和local两中访问方式

    6)EJB和webmethode整合,通过调用Webmethode来访问EJB程序,实现分布式交互

    以上就是我这段时间学习EJB的相关知识。当然EJB的知识不仅仅包括这么多,还有许多的知识是需要在工作中去学习的,而不仅仅是通过几个demo来学习

    学完这些后,我做了一个比较小的EJB程序,作为这一段时间的总结,话不多说,基本架构图上一个先。

                      

    从上图中可以看出,程序分为两个部分,A部分是一个EJB模块,在该模块中大致可分为4部分(Dao和EntityBean可看作一层),在最外层使用webService将程序暴露出去,而不是使用EJB提供的Remote然后用JNDI调用方法。B模块为服务调用模块,在该部分中使用SoapUI来替代,通过SoapUI来调用WebService接口。

    下一篇:EJB3 阶段总结+一个EJB3案例 (2)

  • 相关阅读:
    python 命令行传参
    chardet模块下载&安装
    【解决方案】编码问题:UnicodeDecodeError: 'XXX' codec can't decode byte 0xad in position...的错误
    [解决方案]Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level
    perl笔记
    字符串操作
    c++错误及解决方案随记
    本地Java程序访问HTTPs遇到的问题
    学习笔记 : 异常处理
    学习笔记 : python 文件操作
  • 原文地址:https://www.cnblogs.com/welv/p/5143723.html
Copyright © 2011-2022 走看看