分层简单介绍

一.UI层:单纯的界面展现层,包括界面描述文件(如.usl,.jsp等)、界面模型、以及与DS层交互的业务代码(UI层使用DS层发布的OSGI服务,是JVM内部调用)。
   UI:
       界面编写:使用BME标签(USL)
       DO注册:页面对象模型注册(java)
        服务引用:引用DS服务(通过spring 注入)
       服务逻辑 :对象模型获取,逻辑处理(java)

二.DS层:DS层最核心的职责是实现UI层与AS层的交互,UI使用DS层的OSGI服务,而DS层的OSGI服务内部通过Spring的远程代理机制调用AS的服务,
并且在调用AS服务时可通过定义拦截器实现权限的控制及用户日志的记录。另外,DS层还可直接访问数据库,但要求DS层只能进行无状态查询操作,即数据库读操作,
不能进行写操作。DS层主要提供如下几种能力:1、用户日志记录;2、安全鉴权;3、代理AS服务;4、无状态查询;5、封装AS服务接口;6、出北向接口。
大多数情况1、2、3是必须的;对于5,当AS服务提供的接口不满足UI层要求时,DS可进行封装;对于4,对于大数据量的只读查询可在DS层实现。
   DS:
  服务引用:引用AS服务(Spring 注入)
  服务拦截、日志处理:拦截服务引用,添加日志处理(Spring 注入、JAVA)




三AS层:AS层为应用真正的“后台”,与数据库、设备交互,以及业务逻辑的处理等都在此实现,并且AS层发布SBus服务给DS层或者其它AS层调用。
  AS:
    服务实现:AS服务实现
     服务暴露:暴露AS服务(Spring 注入)

约束:UI层与DS层必须部署在一起,它们之间为本地API调用,而DS与AS层走SBus服务总线

你可能感兴趣的:(spring,jvm,应用服务器,UI,osgi)