`
canonical
  • 浏览: 366888 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[导入]锐道dorado

阅读更多
http://www.bstek.com/
    上海锐道的Dorado框架号称是一个基于构件技术的、面向B/S和多层架构体系的web应用开发平台, 其前身称为Extra。从具体功能来看,如果将其看作是一个全功能的web应用开发平台, 那它现在的功能集显得就太单薄了一些, 其主要部分还是提供了一些前台的界面控件, 其他如web框架部分,很像是struts的一个简化版,没有什么特异之处。
    Dorado的技术特点是大量采用ajax技术来实现前台控件. 其前后台交互采用了自定义的基于xml格式的rpc方式, 而数据绑定使用了xml数据岛,例如
    <xml id="__datasetEmployee" >
    <records>
    <record isCurrent="true"  state="none" >
    <new>,~73~73~73~73~73,~68~68,~44~31~32,true,true,295113600000,2034.0,,</new>
    </record>
    </xml>
    record内部使用的是Dorado私有的编码/解码规则, 大概是为了压缩数据量吧.
    从Dorado目前提供的界面来看还是比较丰富的,基本满足了一般信息系统开发的需求, 但是其可扩展性似乎并不是很好. 它虽然号称是组件式开发,但是其前台和后台引擎似乎都没有提供完善的组件模型支持, 只是实现了一些既定的界面组件而已.
    1. 其前台的js函数中存在着大量针对数据类型的switch语句,似乎其所能够支持的控件类型已经内置在前台引擎中, 如果我们要增加一种新的界面组件大概需要在各处修改引擎代码, 缺乏一种抽象机制.
    2. 后台ViewModel模型似乎是想构造出一个Component架构来, 但这个模型目前看起来明显没有Echo2这样的组件模型精致, 似乎缺乏一种一致的组件重组机制.  Dorado的ViewModel是有状态的, 通过RPC机制, 它实际上可以独立于系统web层与前台控件交互.
    3. Dataset是Dorado中最重要的数据供体接口, 从它所提供的方法 getField,deleteRecord, insertRecord, movePrev, moveNext, getPageSize等可以看出, 这明显是绑定到了可分页表格的数据模型上. 实际上整个系统设计似乎都隐含假定了一个Table模型, 例如Validator接口中具有一个函数 ViewField getField(), 这里明确假定了validate只能针对单个字段进行, 而不是属于某个整体组件的.
    4. Dorado中所有组件的界面代码生成都是以程序方式进行的, 没有模板机制. 因而增加新的控件的实现时, 需要在后台通过java代码输出一部分界面, 在前台通过js脚本动态更新界面, 工作量相当大.
    5. Dorado中界面输出应该是通过Outputter接口来进行
      public interface Outputter{
        public String getStartOutput(HttpServletRequest req, Object o)throws Exception;
        public String getEndOutput(HttpServletRequest req, Object o) throws Exception;
      }
      这里一方面与web层形成了绑定,另一方面它必须在内部完整的生成界面代码之后一次性传入response, 这无疑加重了后台的内存压力. 输出分成了StartOutput和EndOutput大概是为了支持布局组件等容器类组件, 相当于是组件内部可以有一个洞, 这与Jsp Tag模型是匹配的, 但是这种方式很难以高效率实现界面上的结构融合.
    7. Dorado似乎没有直接提供组件的再封装机制, 在现有组件中作局部修正往往需要通过代码方式来进行.例如表格中的性别字段需要显示图片而不是文字, 则需要在Column的onRefresh事件中写入下代码,
            if (record.getValue("sex")){
        cell.innerHTML = "<img src='images/man.gif'>";
        }
        else{
        cell.innerHTML = "<img src='images/woman.gif'>";
        }
    这明显已经不是可配置的内容了. 如果我所需要增加的代码是一个复杂的组件, 这里就很难进行处理了.
    6. Dorado的技术绑定在了IE浏览器上, 无法兼容其它浏览器, 这有些偏离目前的标准化方向.

    目前的快速开发平台的一个共同特点是集中在单表的CRUD(Create Read Update Delete)上, 可以快速完成单表或主从表的增删改查. 这本也是正确方向,毕竟目前系统开发中的大量工作都是重复性的简单劳动, 但是一般系统设计中为了支持单表操作而在建模的时候引入了对表格模型过强的依赖,  大大降低了系统的可扩展性. 另外现在一般web组件框架的设计往往是模仿桌面开发领域的组件模式, 希望提供完全黑箱式的组件调用方式, 这其实是放弃了web开发的优势.  实际上借助于xml格式的规范性和简单性, 我们完全可以提供更加强大的结构组件, 并把组件封装的能力开放给普通程序员.
分享到:
评论

相关推荐

    锐道dorado文档

    锐道 dorado 是一款高性能、高可用的企业级存储系统,主要应用于大数据处理、数据库加速、虚拟化环境等场景。这款产品以其优秀的I/O性能、强大的数据保护能力和灵活的扩展性赢得了业界的认可。本文将深入探讨 dorado...

    锐道开发组件api-Dorado API

    锐道开发组件API-Dorado API,是针对Dorado框架的一份详尽的开发参考资料,旨在帮助开发者更好地理解和使用这个强大的工具。Dorado API是Dorado框架的核心组成部分,它提供了丰富的功能接口,使得开发者能够构建高效...

    dorado7离线中文文档.7z

    【标题】"dorado7离线中文文档.7z" 提供的是 Dorado7 开发的重要参考资料,它是一份详尽的 Dorado7.5 官方离线文档,适用于那些在开发过程中需要离线查阅 Dorado 框架相关知识的开发者。Dorado 是一个功能强大的富...

    Dorado7/9开发环境 (解压即用Eclipse+dorado插件)支持dorado7和dorado9

    标题中的"Dorado7/9开发环境 (解压即用Eclipse+dorado插件)支持dorado7和dorado9"表明这是一个专为Dorado7和Dorado9开发设计的集成开发环境(IDE)。这个环境基于Eclipse,一个广泛使用的开源Java IDE,它已经被扩展...

    dorado5学习资料

    锐道DORADO5是一款强大的展现中间件软件,专为企业级应用设计,提供高效的数据展现和交互能力。本文将深入探讨DORADO5的核心特性、功能、安装部署以及技术手册中的关键知识点。 一、DORADO5核心特性 1. 高性能:...

    dorado7项目环境-jar包

    Dorado7是一款基于Java的企业级应用开发框架,主要用于构建富客户端和Web应用程序。这个项目环境中的"jar包"集合是解决Dorado7开发过程中版本依赖问题的关键,特别是对于那些初次接触该框架的人来说。 首先,Dorado...

    dorado快速入门(经典教程)

    Dorado,又称为锐道,是一款强大的企业级Web应用开发框架,它提供了丰富的组件库和强大的数据处理能力,使得开发者能够高效地构建复杂的企业级应用程序。 在教程的第一部分,前言部分通常会介绍Dorado的核心特性、...

    dorado excel

    Dorado Excel Report 是一款用于数据导出和生成 Excel 报表的工具,主要服务于 IT 专业人士,帮助他们高效地处理和呈现数据。本文将详细介绍 Dorado Excel Report 的核心功能、配置步骤以及如何定义报表模板。 1. ...

    dorado资料

    锐道DORADO是一款在企业级应用中广泛使用的中间件软件,主要负责处理和管理分布式系统中的数据交互、服务整合以及业务流程。标题中的“dorado资料”表明这是一份关于DORADO V5.0企业版的详细文档或指南,可能包含...

    dorado7-eclipse研发工具

    【 dorado7-eclipse研发工具 】是一款专为 dorado7 前端框架开发设计的集成环境,尤其适用于那些需要进行国有企业和银行等传统项目的后期维护工作。Dorado7 是一个基于Java的企业级Web应用开发框架,它提供了一整套...

    dorado7-ide-0.7.2.zip

    《Dorado7 IDE 0.7.2:前端开发的新选择》 在当前的软件开发领域,前端框架的发展日新月异,其中Dorado7以其独特的特性和强大的功能,逐渐吸引了众多开发者的关注。而“dorado7-ide-0.7.2.zip”这个压缩包,正是为...

    dorado-hibernate和dorado-core的jar包

    Dorado 是一个企业级的Java应用开发框架,它旨在简化企业级应用的开发流程,提高开发效率。Dorado 提供了一整套完善的服务,包括UI组件、数据访问、业务服务和事务管理等。在这个场景中,我们关注的是"Dorado-...

    dorado5 eclipse插件

    安装完成后,在Eclipse中新建或导入Dorado5项目,然后就可以开始利用插件进行开发工作了。在开发过程中,持续关注金蝶官方更新和社区讨论,以获取最新的特性和解决方案,优化开发效率。 总之,Dorado5 Eclipse插件...

    Dorado7插件,Eclipse+dorado7插件合集下载地址,百度网盘永久有效地址

    内含Dorado7插件,Eclipse+dorado7插件合集下载地址,百度网盘永久有效地址。

    Dorado Client Api.chm

    Dorado Client Api.chm dorado 客户端 手册

    dorado入门指南经典教程

    dorado入门指南经典教程 Dorado是一个基于Java的企业级应用开发平台,旨在帮助开发者快速构建高性能、可扩展的企业级应用程序。以下是Dorado入门指南经典教程的知识点总结: 一、Dorado快速入门 * 下载并安装...

    dorado client-api

    dorado客户端API是针对Dorado数据服务框架设计的一套接口,用于实现客户端应用程序与Dorado服务端进行交互的功能。在本文中,我们将深入探讨Dorado客户端API的核心概念、功能、使用场景以及如何有效地利用它来开发...

    dorado7插件包 最新2012.01-30

    Dorado7是一款强大的企业级应用开发和展示层框架,它主要由一系列插件和功能组成,为用户提供高效、灵活的用户界面设计与数据管理能力。这个"2012.01-30"版本的插件包包含了该时间段内Dorado7的最新更新和改进,旨在...

    dorado dorado7 实战 标准课程 初级中级 示例代码

    《Dorado7实战:从初级到中级的探索与实践》 Dorado7是一款高效、灵活的企业级服务开发框架,主要用于构建复杂的企业应用。本实战课程旨在帮助初学者和有一定基础的开发者深入理解Dorado7的核心概念和技术,通过...

Global site tag (gtag.js) - Google Analytics