jdon 解惑授道,企业信息化解决之道

上一级 首页 下一级


C/S架构下胖客户端远程调用

Jdon框架不但是一个B/S架构框架,还支持C/S架构,客户端可以是Java类型的任何客户端,如SwingAppletSWT等。

使用Jdon框架,可以在无需改变业务服务层代码的情况下,将这些服务Service提供给远程Java客户端调用,这是一种基于Htpp协议的RPC,它区别于Web服务的最大不同是:Jdon框架将客户端请求打包对象传送;而不是转换成XML;省却了两端转换解析步骤,提高了性能。

架构原理图如下:

客户端配置

客户端调用远程服务器的服务核心代码很简单,如下:

    MySessionLocal mySessionLocal =  (MySessionLocal)serviceFactory.getService(

                        FrameworkServices.MySessionEJB);           

    mySessionLocal.insert();

客户端调用服务就如同与服务在同一个JVM中一样,但是因为客户端在远程,所以需要进行对远程服务器的一些配置,比如规定远程服务器的IP地址和Servlet Prox名称。

具体客户端代码可见框架案例Samples中的remoteClient代码。

服务器端配置

首先激活框架系统的远程访问,在web.xml加入:

<servlet>

    <servlet-name>EJBInvokerServlet</servlet-name>

    <display-name>接受远程客户端访问</display-name>

    <servlet-class>com.jdon.bussinessproxy.remote.http.InvokerServlet</servlet-class>

    <init-param>

         <param-name>configList</param-name>

         <param-value>jdonframework.xml</param-value>

     </init-param>

</servlet>

<servlet-mapping>

    <servlet-name>EJBInvokerServlet</servlet-name>

    <url-pattern>/auth/EJBInvokerServlet</url-pattern>

</servlet-mapping>

然后激活容器基于HTTP的基本验证,配置web.xml

<login-config>

    <auth-method>BASIC</auth-method>

    <realm-name>SecurityRealm</realm-name>

</login-config>

web.xml中定义访问权限如下:

<security-constraint>

    <display-name>User protected</display-name>

    <web-resource-collection>

      <web-resource-name>Collection1</web-resource-name>

      <url-pattern>/auth/*</url-pattern>

    </web-resource-collection>

    <auth-constraint>

      <role-name>User</role-name>

    </auth-constraint>

    <user-data-constraint>

      <transport-guarantee>NONE</transport-guarantee>

    </user-data-constraint>

</security-constraint>

这样,访问/auth /EJBInvokerServlet将得到授权保护。下面在web.xml中分别配置该系统的角色和JNDI配置。

  <security-role>

    <role-name>Admin</role-name>

  </security-role>

  <security-role>

    <role-name>User</role-name>

  </security-role>

  <ejb-local-ref>

    <ejb-ref-name>ejb/EJBContollerLocal</ejb-ref-name>

    <ejb-ref-type>Session</ejb-ref-type>

    <local-home>com.jdon.security.auth.ejb.SecurityFacadeLocalHome</local-home>

    <local>com.jdon.security.auth.ejb.SecurityFacadeLocal</local>

    <ejb-link>SecurityFacade</ejb-link>

  </ejb-local-ref>

jboss-web.xml配置中使用容器安全机制:

<jboss-web>

    <security-domain>java:/jaas/SecurityRealm</security-domain>

</jboss-web>

然后在JBosslogin-config.xml中配置SecurityRealm

 

 



上一级 首页 下一级


更多Jdon框架专题讨论

JdonFramework作为一个免费开源软件开发平台,可以商用开发大多数数据库应用软件和管理软件: 电子商务软件 在线教育软件 税务软件 Web快速开发软件 财务软件 购物车软件 医院帐务软件 crm software medical software 人事薪资软件payroll software 在线购物软件 销售软件 项目管理软件 房产不动产管理软件 生产软件 PDM软件 制造业软件 仓库软件 采购软件 进销存软件 危险源监控软件 物流软件 超市软件 银行软件 保险软件 汽车软件 医疗软件 电子软件 自动化软件 服装软件 烟草软件 分销管理软件 供应商管理软件




下载源码

框架文档

框架应用系统

演示运行

JiveJdon3

性能测试

Q&A 问答

技术支持

 

 

标签总列表



Jdon框架演示

JiveJdon3.0
源码下载

GoF设计模式

在线教程

社区精彩讨论




google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘