EJB3.0学习笔记---定义客户端访问接口:

定义客户端访问接口:
1.回顾:有状态的EJB每次都是一个新的,可以区分客户端状态,无状态的EJB可  


  以看成是单例的
2.客户端仅通过业务逻辑Bean所定义的接口来访问业务逻辑(跟具体实现无关)
3.当在开发企业Bean之前,首先要做的第一个决定是:EJB要支持什么样的客户  


端?因为不同的客户端,其访问方式也将不同.访问的方式也会影响性能,分布式


的系统一定要考虑性能;
  远程客户端
  本地客户端
  WebService客户端
  这些客户端是相对于EJB来讲的;客户端可以是:EJB,WebService客户端
4.EJB写好之后都有客户端来调用它;
5.关于JVM进程问题
  假设在同一台机器上,安装了一个JVM,一个JBOSS应用服务器,
  a.启动JBOSS应用服务器(启动JBOSS当然要用到JVM)
  b.另外编写一个包含main方法的JAVA类,并编译以及运行(要运行这个程序,  


  当然也要用到JVM)
  c.在运行这个JAVA类的时刻,这台机器上有多少个JVM进程;
    启动jboss的时候,会有jvm进程,在运行java程序的时候,还会有jvm进程;
    在这台机器中有一个jvm程序,但是有两个进程,一个进程代表一个内存空  


    间;在进程之间是不可以相互调用的,必须通过socket等来沟通.
  d.远程客户端:一个进程中可能有很多对象;JBOSS会加载EJB到内存;
    在一个客户端中调用远程的一个EJB,对于applicationClient,
    如果客户端进程和执行EJB对象的进程不是一个进程的话,那么这个客户端 


    就是远程客户端;
  e.本地客户端:启动EJB的时候,如果有两个EJB,并且一个EJB可以调用另一个 


    EJB,那么就是本地客户端,或者是一个servlet等等,可以调用这个EJB,那  


    么,也就是说两个对象在同一个进程中,那么这样就是本地客户端;
  f.远程客户端和本地客户端的区别是:是否在同一个进程中;
6.远程客户端:一个远程客户端具有如下特性:
            a.它可以运行在跟企业Bean不同的机器或不同的JVM进程上
            b.它可以是web组件,应用客户端,或其他的企业Bean
            c.对远程客户端来说,企业Bean的位置是透明的
            d.为了创建一个能够被远程客户端访问的企业Bean,必须要用    


          @Remote注解来定义这些企业Bean
7.本地客户端:一个本地客户端具有如下特性:
           a.它必须是与企业Bean运行在同一个JVM中
           b.它可能是一个web组件或别的企业Bean
           c.为了创建一个能够被本地访问的企业Bean,必须要用@Local注解 


            来定义这些企业Bean
           d.一个企业Bean接口可以同时被定义为@Remote和@Local

你可能感兴趣的:(EJB3.0学习笔记---定义客户端访问接口:)