王朝百科
分享
 
 
 

Active DataWindow Service

王朝百科·作者佚名  2011-02-15  
宽屏版  字体: |||超大  

Active DataWindow Service简介

1. 前言 任何一个企业都是社会生产活动中某个环节的一个部分,一个企业的价值不在于技术多高,重要的是在于你能给别人提供的服务,什么质量的服务。

软件企业提供的服务所面临的最大挑战是如何实现真正的按“期”交货,即在规定的“期限”,满足客户或设计的“期望”。而“瀑布”型开发方法是从需求开发、设计、编码、测试、交付的流水顺序工作流程,如下图:

经常碰到的情况是,从需求开发到用户测试经历的时间太长,用户看到后发现和所要的系统有不少的差距,于是产生的较大的需求变更。客户对结果、进度不满意,软件企业开发成本上升,利润下降。解决办法就是提高开发过程的自动化程度,缩短迭代周期来应对需求的变化。

现有的开发框架有很多,对于解决Web表现层(Presentation Layer)信息的复杂展现与交互问题,却缺乏令人满意的解决方案。而表现、交互编程占整个开发编程工作量的一半以上。本文阐述用ads框架来解决这个问题。

Active DataWindow Service

2. 概述 Ads是Active DataWindow Service的缩写,是AJAX技术思想的具体实现。由Ads MVC framework开发框架和Ads Studio可视化集成开发工具组成。相对MVC三层结构而言Ads主要分布于view、control两层,是为提高复杂表现、用户交互编程开发效率,抽象出来的,可以称之为展现中间件(Presentation Middleware),居于数据库与应用中间件之上,负责Web表现层(Presentation Layer)信息的复杂展现与交互。Ads展现中间件最终设计目标是提高开发速度与代码品质,降低了维护成本,使人工代码更集中于反映业务逻辑。实现表现层开发与业务逻辑及数据层的完全分离。在b/s结构应用上为用户提供c/s结构的信息交互与信息展现能力,带给用户不同的Web操作体验。

Ads展现中间件目前可用版本为2.0,在典型应用元件系统的设计、开发中运用,用“原型法”开发应用原型与客户互动,中间经历了一次大的变更及很多小的变更,实践证明了ads的可用性,可以从容的进行开发和面对用户的变更,开发、变更修改的速度有很大的提高(由原来1人1天实现一个数据表的增删改查,缩短到1小时)。提高了代码质量和程序操作用户交互的友好性。

3. 软件结构

Active DataWindow Service

Ads采用了IOC容器及AOP面向方面、Component组件技术,达到了高效简化开发的目的。Ads面向开发提供3种类型的服务,分别是数据窗口datawindow服务、remote call java method服务及ads_servlet服务。

开发人员使用ads studio可视化集成开发工具配置定义完成复杂信息的web展现,表现层与控制层的交互采用ads protocol协议进行通讯,程序开发中可以完全不用关心。只关注业务逻辑的实现。

典型的ads框架应用请求/响应过程,由页面的datawindow、dtree等组件或remote call java method调用通过(1)datasource数据源组件与ads_gateway网关通过ads protocol协议进行通讯;(2)ads_gateway网关通过BundleOperator解析协议,(3)在通过Ads_Service识别服务请求并分发请求给Ads_Service_Config配置对应的服务程序,(4)由服务程序(业务逻辑处理程序)完成具体服务,(5)再通过BundleOperator发送ads protocol协议数据包给请求页面数据源datasource组件,(6)数据源datasource再分发数据给对应的组件处理展现或转向到其它业务逻辑页面,完成一次请求/响应过程。

其中(1)(2)(3)(5)(6)由Ads依据配置完成,不需要写代码。开发人员只需关注(4)业务逻辑处理的实现。

3.1. Presentation Layer表现层由框架容器、页面及组件组成。3.1.1. 框架容器完成应用展示逻辑组织框架容器是应用的各种表现页面的容器。

l 提供各页面间用户事件的监听和传递;

l 为多页面提供上下文(ads_content);

l 提供业务逻辑页面之间的转向(forward);3.1.2. 页面完成功能的组织由Ads_datasource数据源组件、其它ads组件和浏览器基本控件(<input>等)组成,完成数据的展示及功能的组织。3.1.3. 组件完成数据的不同展现形式组件包括:数据源ads:datasource、数据窗口ads:grid/ads:form、动态树ads:dtree组件、菜单ads:menu、tab页组件ads:tabstrip、输入验证validor等组件。

l 数据窗口datawindow服务提供类似PB数据窗口特性。

l remote call java method服务提供在表现层直接调用server端java方法的支持。

l ads_servlet服务为集中控制servlet提供支持。

3.2. Control Layer控制层由ads_gateway应用网关、IOC容器管理、协议解析组成,负责与表现层页面组件进行通讯,控制整个应用系统的程序流转。

l Ads_gateWay用于接收/发送Ads_datasource数据源的请求/响应;

l BundleOperator负责解析/构建协议数据包;

l Ads_Service识别服务请求并分发请求给Ads_Service_Config配置对应的服务程序;

3.3. Business Layer业务逻辑层由ads_request、ads_dataset、permission权限控制组成。采用了依赖注入Dependency Injection及简洁的AOP技术分离关注点,具体业务逻辑实现3个处理点。可以专注于业务逻辑的实现。3个处理点上的业务逻辑处理程序与整个请求/响应相融合,具体见下图:

Active DataWindow Service

4. 特点 l 灵活性/松耦合的两个概念:Ioc/Aop的合理运用,使ads结构合理、可灵活配置服务。为客户搭建“积木式”应用系统成为可能;

l 巧妙实现了事务,使主子表、多表功能的开发变得非常容易;

l Ads studio及ads debug两个工具,使开发调试、应对客户变更有很高的效率;

l 提供了灵活完整的权限控制;

l 采用了xmlhttp request、dhtml、xml、Ioc、Aop等技术实现了一个页面的多个异步请求/响应,无页面刷新,提供c/s结构的信息交互与信息展现能力。

l 可视化的配置开发工具,使程序员可以很轻松的面对需求的变更;

5. 展望 随着互联网应用的不断发展,用户对互联网应用的要求也越来越高,从单纯的以内容为中心的信息网站,发展到动态的、可定制的、易用的、个性化的应用软件需求。采用ADS展现中间件开发可以方便的与用户交互,提高软件的开发效率和质量。在b/s结构应用上为用户提供c/s结构的信息交互与信息展现能力,带给用户不同的Web操作体验。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格&#8203;十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有