dorado的产品全名是“dorado展现中间件”。从产品形态上dorado由两部分组成,第一部分是一个具有AJAX特征的Web应用表现层的快速开发框架,第二部分配套的IDE开发工具。开发工具又可分为独立的doradostudio与eclipse插件两个选择,eclipse插件将在以后发布,本文的开发工具专指doradostudio。dorado的以上两种开发模式并没有绝对的孰优孰劣。
后台稳定性方面通过1000并发用户持续并发4小时无错误的稳定性耐久压力测试,后台峰值负载方面通过1500严格并发用户集合并发无错误的瞬间波峰压力测试;前台性能方面支持一次性向表格中加载2000条记录,单一页面支持装载300个以上组件;低配置方面对窄带环境、工作站低处理器低内存配置环境进行了优化处理,内置大数据量加载算法、复杂界面按需初始化、复杂界面数据初始顺序化、懒加载数据加载方式(LazyLoad)、大数据量复杂操作优化等表现层性能优化算法、机制与开发技巧。
简介
Web表现层方面的产品主要技术流派有离散控件构架、后台衍伸构架、展现中间件构架等数种。离散控件构架多是一套各个控件互不相关的JavaScript库,如bindows,后台衍伸构架多是为专有的后台业务逻辑框架服务,如工作流的表单设计器。展现中间件构架提WedgetLib(表现层控件库)并由展现层引擎统一驱动与管理。控件使用的个数越多种类越多,越有效用。可对接的业务逻辑层也不限于某种框架,可以广泛地通过整合接口与各种第三方后台逻辑框架相整合。还可以通过展现层引擎整合基于离散控件架构的Web表现层产品,进一步增强Web的展现力、操作性与承载量,同时提高开发效率。
定位:
DORADO展现中间件由锐道(BSTEK)研发,是企业级AJAX交互式Web应用的运行平台与开发平台,填补了Java技术体系表现层的架构空白,支持OPOB设计模式,显着增强Web表现力、操作性与数据承载量,提升用户体验,加强开发规范性并提高开发效率,缩短项目工期,增强项目的可管理度。
构成:
DORADO展现中间件由表现层组件、展现引擎、数据集合、集成开发工具与管理控制台等组成,包括AJAX通讯引擎、视图模型,事件监听、权限管理、数据验证、CSS外观控制、I18N国际化等。IDE针对不同用户习惯,提供eclipseplug-in、Studio、NetBeansplug-in三种集成开发工具从供选择;提供浏览器端JavaScript调试工具debugger,进行浏览器端运行JavaScript语句、记录JavaScript运行时间、显示调试日志与系统信息等;提供WebConsole(Web控制台)进行系统参数配置与性能监控;提供针对用户体验时间的性能测试工具TestFrame。
功能:
基于DORADO展现中间件能够进行完整的Web表现层开发,完成数据、图表、文书、报表的展现,数据增查改删;全编辑表格、表格列锁定、表格按列排序等表现层组件,开箱即用;只读、长度等数据校验,不同样式皮肤切换的外观控制,简体中文/英文/繁体切换等国际化操作,按钮可见/不可见/可用/灰化、文本框可见/不可见/可输入/只读等权限控制,以及其他功能。
性能:
DORADO展现中间件性能优异。后台稳定性方面通过1000并发用户持续并发4小时无错误的稳定性耐久压力测试,后台峰值负载方面通过1500严格并发用户集合并发无错误的瞬间波峰压力测试;前台性能方面支持一次性向表格中加载2000条记录,单一页面支持装载300个以上组件;低配置方面对窄带环境、工作站低处理器低内存配置环境进行了优化处理,内置大数据量加载算法、复杂界面按需初始化、复杂界面数据初始顺序化、懒加载数据加载方式(LazyLoad)、大数据量复杂操作优化等表现层性能优化算法、机制与开发技巧。经受住全国数据大集中模式下,5700多个分支机构2万余名员工,年处理量超过4000万笔业务的核心业务管理系统的超大型项目的实战考验。
扩展:
DORADO展现中间件分层清晰,表现层组件、数据集合、事件监听、权限管理、数据验证、外观控制、国际化以及开发工具均可以实现扩展,并提供详细文档说明。
整合:
DORADO展现中间件封装适度,接口开放,可以广泛地与第三方业务逻辑框架、表现层框架以松耦合方式整合。提供对数据库存储过程与Spring框架的默认支持。
文档:
在技术储备分级的基础上,提出DORADO展现中间件学习方法论与学习树,编撰手册类、教程类、认证类、场景类等技术资料,并打包为《DORADO展现中间件学习DVD》进行免费派送。结合基于互联网的技术社区,保障开发者在没有任何原厂商现场技术服务(如产品培训)的情况下,能够通过自学以及社区互动掌握并不断深化DORADO技术。
服务:
DORADO展现中间件的服务包括官方网站的试用版产品与技术资料下载,5*8与7*24的电话支持服务,电子邮件服务、即时通讯服务、产品培训、现场疑难解答、按人月的项目现场开发服务、新功能定制研发服务、源代码讲解研发服务等。
开源:
随着DORADO展现中间件使用范围日益广泛,产品源代码也日益开放。目前所有JavaScript源代码已去除混淆。BSTEK将基础软件业务板块的合作划分为五个能级,从第四个能级起,基础软件产品的源代码向核心客户开放。
下面让我们来看一下属于展现中间件构架的dorado产品的组成部分吧!
富浏览器客户端:基于标准浏览器技术,增强web界面的信息承载量、表现力与操作性。其中包含了应用客户端常用表格、树、表单、多页标签等一整套界面组件
展现引擎
:支持AJAX特性,用于增强dorado客户端的交互能力。
MVC开发框架:包括数据持久层的实现、页面流控制、展现层角色机制、国际化资源管理、配置管理与监控控制台等。既可自成体系,又可与各种开发模式与框架相结合。
集成开发工具:dorado专用的IDE,可进一步提升开发速度。
应用框架
:又称marmot,用于为基于Struts、WebWork、Spring、Hibernate、iBatis等开源框架的开发模式提供与Dorado集成的范例性的实现代码。其中包含了应用主框架、完整权限的框架、用户Profile管理、即时消息等实用功能的实现代码。
由此可见,dorado的产品本身包含的内容还是比较丰富的,在以上各组成部分中“富浏览器客户端”和“展现引擎”是dorado的核心功能。“集成开发工具”一般而言也是在开发过程中一定会用到的。而剩下的“MVC开发框架”和“应用框架”是否会用到,以及dorado在整个应用开发的体系中所扮演的角色则完全取决于我们对dorado的使用方式。
模式
一般而言,基于dorado的开发主要有以下两种模式:
模式A:以dorado提供的DBDataset和DBStatement作为主要的数据库访问方式的开发模式。
DBDataset有两个重要的派生类AutoSqlDataset和SqlDataset。AutoSqlDataset和SqlDataset都是以直接的JDBC调用来完成数据库访问的,不同的是使用AutoSqlDataset时,开发人员需要指定的是查询方式的描述信息,由AutoSqlDataset来生成最终的SQL;而使用SqlDataset时,开发人员需要直接指定要执行的SQL命令。而DBStatement则可以看作是JDBC中PreparedStatement的增强。
此种开发方式相对比较简单,其逻辑架构大致如下
可见,在此种开发模式中对数据库的方式都是通过dorado提供的功能完成的,而开发人员编写的商业逻辑代码往往也是基于dorado的API的,即与dorado紧密耦合的。在这种开发模式中,dorado的作用基本是整体应用的框架,应用的业务逻辑完全附着dorado的体系中运行。其快速开发的概念表现为对整个应用的快速搭建。
这种开发模式的好处在于简单。其简单的含义可以体现在一下4个方面:
易于掌握,上手简单。
开发过程对开发者的技术要求较低。
节省开发阶段前期为应用搭建框架的工作量。
开发阶段中编码量低。
笔者认为:模式A对于中小型项目而言是非常适用。不过对于大型项目而言,它也存在着一定的局限性。这里所说的局限性往往并不是来自于系统功能的复杂度,而是来自于与项目开发过程的管理要求和今后的扩展需求。至于为什么会产生局限性的话题已经超出了本书的范围,您可以尝试了解一下为什么会有许多人使用Spring、Hibernate、Struts、iBatis这样的开源框架。
模式B:使用以独立封装的业务逻辑层结合dorado表现层的开发模式。
在这种开发模式中,开发者往往会用到Spring、Hibernate、iBatis这样的开源框架,利用这些框架来搭建出独立封装的业务逻辑层。这类开发模式在引入dorado之前就已经具备了MVC架构模式的特征,而dorado是作为对原有模式中视图层(即V)的强有力补充而引入的。在这种开发模式中,dorado的作用主要是作用于表现层的开发框架,其快速开发的概念也更多的体现在对应用交互界面的快速定制。(注:如果在此模式中引入了Marmot应用框架,那么dorado产品将同样可以起到快速搭建整个应用的作用)。
与模式A不同,DBDataset在此已没有什么价值,替代它的是dorado中的MarmotDataset、CustomDataset等,这些Dataset的共同特点是可以方便的与来自业务逻辑层的POJO型数据进行双向的交互。
dorado的以上两种开发模式并没有绝对的孰优孰劣。究竟应该在项目使用哪种方式,这很大程度上取决于您的智慧和判断。一般而言,如果您的项目中没有特别的需要或者您没有什么特别的技术嗜好,建议您首先考虑使用模式A。
剑鱼座
(西班牙文的鬼头刀鱼)是一个南天星座。它是荷兰航海家凯泽和豪特曼于1595至1597年间所命名的12个星座之一,于1603年被收录于巴耶的《测天图》内。象征海洋生物剑鱼。
银河系的伴星系大麦哲伦云的大部份位于剑鱼座天区内,其馀部份则在山案座天区内。除此以外,南黄极(请参看黄道坐标系统)亦是处于剑鱼座之内。
巴耶恒星命名法中的星
剑鱼座α3.30;剑鱼座β3.76;剑鱼座γ4.26;剑鱼座δ4.34;剑鱼座ε5.10;剑鱼座ζ4.71;剑鱼座η15.72;剑鱼座η25.01;剑鱼座θ4.81;剑鱼座κ5.28;剑鱼座λ5.14;剑鱼座ν5.06;剑鱼座π15.56;剑鱼座π25.37弗兰斯蒂德恒星命名法中的星
剑鱼座285.34;剑鱼座364.65其他有趣的星
剑鱼座S9.721–大麦哲伦云中的一颗光变极不规则的高光度特超巨星,是剑鱼座S型星的原型。超新星1987A于1987年发生自刻卜勒之后四百年来最亮的一次超新星爆发。剑鱼座R5.73–刍蒿增二(Mira)型长周期变星,是有纪录以来体积最大的恒星,直径达二亿五千万公里,体积是太阳的370倍,若将之放在太阳系中心,它足以复盖火星的轨道。
腾讯工具
腾讯免费设计工具Dorado
腾讯CDC12月1日在官方博客上发表了题为《一砂一世界,一花一天堂》的日志,推出其免费的微型设计专用工具Dorado。绿色软件Dorado能够为您的设计稿进行尺寸标注及界面取色标注,适用于所有设计师、界面与网页前端设计开发者。
系统框架
DORADO的架构一般为多层架构:DORADO+后台业务逻辑框架+应用服务器+数据库(一个或多个),其中后台业务逻辑框架可以为struts、webwork、spring、Hibernate、iBatis、WfMC标准的工作流引擎、BPEL标准的流程引擎、软件开发商自有框架等的一种或数种组成。也可以是简化的三层架构:DORADO+应用服务器+数据库,架构简化带来更高的开发效率,适用于数据增查改删型的应用需求。
DORADO5提供由一套由BRICH引擎(BrowserRichEngine,富浏览器引擎)统一驱动的控件库(WidgetLib),BRICH引擎内置AJAX通讯引擎服务于浏览器端与服务器端的数据交互,并通过整合接口(IntegrationInterface)与第三方后台业务逻辑框架相整合。BRICH引擎的周边功能还包括支持CSS与皮肤切换,支持I18N(Internationalization国际化资源调用),支持展现层角色,支持页面流控制等。DORADO提供WebConsole(Web控制台)进行参数配置与性能监控。DORADO提供TestFrame专用于测试浏览器端性能。使用配套的开发环境DORADOstudio可以方便地进行可视化的XML配置工作。
DORADO5提供更加丰富的表现层统一构件、更大数据量更复杂界面的支持能力、更具亲和力的操作体验,支持更多的开源框架与商业产品,是AJAX最好的商业产品之一。
DORADO基于Java,XML,DHTML,JavaScript等标准信息技术构建。通过“富浏览器”机制提高Web用户界面的信息承载量、表现力与操作性,在浏览器中实现了类似C/S应用的界面风格和操作习惯。通过“展现中间件”机制填补了J2EE架构中表述业务交互的架构空白,提高对业务交互层的表述能力,由传统上人工代码为主的手工编程晋升为以配置为主的自动化编程,以标准化自动化的作业方式,低成本、快速实现业务交互层(包括用户界面,人机交互,界面与后台交互等)的用户需求。提供以视图模型为核心的展现层MVC框架,数十种展现层统一构件,这些构件都有一组预定义的属性事件,由展现引擎驱动并统一管理。
应用框架
主框架
MarmotFramework中提供的多种风格的、示例性的应用预装载页面、登录页面、主框架界面,以及其中的常用逻辑(例如系统登录、注销的基本逻辑),这些界面均可以支持工作区缩放、动画效果等高级功能.
用户可以以这些示例作为应用框架的模版,也可以根据需要创建全新风格的主框架,只要将自己定制的界面配置到Mapping的相应控制器中就可以轻松的使主框架系统运转起来。
动态菜单
MarmotFramework提供了以数据库方式存贮菜单结构的基础实现,包括菜单结构的维护界面、快速生成各种菜单的工具类,菜单的工具类包含以下两大类:
LazyMenuUtils-用于生成支持懒装载的菜单,支持菜单栏、Outlook栏、导航树等多种菜单类型,懒装载菜单适合展示菜单层数和项数均较多的菜单,通过对菜单项的懒装载可以保证界面的初始化速度不会因菜单过于复杂而降低。
DiligentMenuUtils-Diligent取Lazy之反义,用于生成一次性装载的菜单,支持菜单栏、Outlook栏、导航树、多页标签等菜单类型,一次性装载的菜单适合那些层数和项数均较少的简单菜单。通过替换MenuFactory的实现类就可以将MarmotFramework的菜单功能与其他存储机制接驳,例如:其他结构的数据库、XML等,并且也可以在MenuFactory的实现类中植入对菜单项的权限控制逻辑。
收藏夹
收藏夹功能可以直接与MarmotFramework中的动态菜单功能结合,实现菜单的收藏功能,同时收藏夹还支持菜单项、树节点、收藏面板等多种显示方式。
控件状态
控件状态是指将Dorado控件的显示风格、布局方式、状态保存在数据库中,并在运行时动态的装载到界面当中,同时MarmotFramework还可以为每一个用户保存一套配置,实现类似Profile的功能以便使每一位用户获得自己喜好的界面展示。目前支持此功能的Dorado控件包含AutoForm和DataTable。对与AutoForm而言,用户可以利用MarmotFramework提供的配置界面方便的对表单中的各个字段完成分组、排序、编辑方式和显示方式的定制、显示或隐藏、简单的校验规则定制等操作,并将这些配置保存到数据库中。
对与DataTable而言,用户可以方便的将当前表格中的列宽、列序、锁定列数等信息保存到数据库中,以便下次打开界面时获得完全一直的状态,同时,用户也可以利用MarmotFramework提供的配置界面对表格的展示进行更加详细、灵活的定义。另外,MarmotFramework中还提供了用户维护所有配置信息的管理界面。
高级查询
MarmotFramework中的高级查询包含下列功能:
将用户当前输入的查询条件保存为一套查询方案,以便于今后的快速取用和查询。
将部分查询方案共享给其他人,利用此功能也可实现系统级的查询方案的定制。
定义默认查询方案,使页面在进入时自动执行指定的查询方案。
提供对SqlDataset和AutoSqlDataset的万能查询功能,用户可以利用MarmotFramework中万能查询定制界面定制查询方式,包括复杂的数据匹配规则和排序规则。
支持查询字段的模版,并提供专用的维护界面,以便于定义万能查询界面中的可查询字段的列表,以及各字段的数据类型、支持的比较符列表、匹配值的编辑方式等。
提供对SqlDataset和AutoSqlDataset的自定义SQL查询功能(此功能可能导致安全性问题、故对很多系统并不适用)。
最后,MarmotFramework还提供了针对Dorado的自定义控件和Studio的配置扩展,使得定义高级查询的过程变得异常简单。
实时消息
MarmotFramework提供一套消息发送的功能,有点类似即时通讯,使得用户可以借此向其他系统使用者发送消息,即时消息接受者不在线,他也可以在下次登录系统时得到消息通知。
通过替换实现类的方式实时消息功能可以接驳任意系统中的人事结构,同时此功能还支持在发送消息的同时向对方的信箱中发送邮件、消息历史记录查询、定义消息的延时送达时间(利用此功能可以实现任务提醒的功能)。
数据字典
MarmotFramework中提供了默认的数据字典功能的实现,包括内嵌的数据字典读取装载逻辑、数据库结构、专用的数据字段维护界面。
数据字典信息的装载支持“设计时装载”或“运行时装载”方式,其中“设计时装载”的效率稍高,但不利于实时的反应数据字典中的信息,而“运行时装载”在每次访问页面时读取数据库,可以准确的反应数据字典中的信息变化。
数据字典支持的信息项包括:字段的标题、数据类型、基本的校验规则、是否只读、是否默认可见、编辑模式、下拉方式等。
利用对DictionaryFactory接口的实现类,数据字典功能还可以方便的跟第三方的数据字典功能接驳。
系统属性设置
MarmotFramework提供了功能全面的、基于数据库的系统属性存取机制。
该机制中包含了属性模版的配置功能,通过该功能用户可以为每一个属性定义描述信息、数据类型、编辑方式,并且可以对所有属性进行分组、排序,最终MarmotFramework可以根据这些信息自动的生成供给用户使用的属性维护界面。
属性值包含“系统级值”和“用户级值”,在使用属性时“用户级值”的优先级将高于“系统级值”,在属性模版中可以为每一个属性定义是否允许拥有“用户级值”,此外,为了提高系统读取属性的效率,MarmotFramework还为属性值提供了缓存功能。
权限管理
基于角色,资源的权限管理机制,提供菜单、页面组件以及业务方法级别的全方位权限控制。另外对于权限应用提供了批量授权与角色模板功能,以及在此基础上实现了角色代理机制。对于权限资源的初始化,系统提供了方便的菜单导入与dorado中的视图模型组件元素的导入功能,快速定制权限信息。
该文章由作者:【无用功】发布,本站仅提供存储、如有版权、错误、违法等相关信息请联系,本站会在1个工作日内进行整改,谢谢!