[ZZ]"图形化的Struts"——Web开发框架WebPage3

                                             "图形化的Struts"——Web开发框架WebPage3
(原作在www.webpagev.com)

                                               
WebPage3是基于组件的、可视化的、轻量级的Web层开发框架。WebPage3开放组件设计接口,可以

自由开发能在WebPage3中使用的组件,而且开发组件非常简单。WebPage3能大大提高Web层的开发速度。

有人戏称WebPage3为“图形化的Struts”,也有人说是简化版的Struts + 图形化的Tapestry。

WebPage3基于MVC模式,重点解决View的部分,达到可以可视化开发和最大限度的复用。

对整个Web层开发提供全方位的开发帮助,做到:

   (1)Web层开发可视化,简单化
   (2)Web层开发组件化,重用化
   (3)Web层开发通用化,通用功能的封装
   (4)开放式框架,结合和集成更多的功能

   从而构建简单易用、功能强大、可视化开发、最大限度重用的Web层开发平台,大大提升Web层开发的效率。

   WebPage3基于标准技术,有极好的稳定性和可扩展性。主要使用:Java、Jsp、Servlet、Html、Javascript、Xml等技术,

不使用TagLib技术,简单易用。

特色功能

 1:基于组件的Web开发框架
 2:可视化开发,所见即所得
 3:页面和逻辑完全分离
 4:开放组件接口,开发新组件非常简单
 5:组件基于Java,功能更强大,运行更稳定
 6:已有大量常用组件
 7:同时支持廋客户端和富客户端
 8:支持无刷新数据交换
 9:自动生成基本主界面、基本子表界面、基本查询界面、基本列表界面
 10:支持多界面组合

技术特点

 1:完全B/S结构,简单易用
 2:采用MVC模式构建,界面操作和处理逻辑相分离
 3:动态的数据类型解析技术
 4:动态的界面组装技术
 5:页面及时生成技术
 6:功能模板动态实例化技术

WebPage3对开发提供哪些帮助

WebPage3对整个Web层开发提供全方位的开发帮助,具体的开发过程请参见《如何选择Web开发框架》
1:通过WebPage3的界面设计工具,定义好数据结构后,WebPage3提供自动生成初始化页面。
2:然后可以可视化的选择组件,界面的具体表现形式由组件自行提供,WebPage3还提供可视化的布局。
3:页面基本表现形式设计好过后,就要具体设计每个组件的属性,WebPage3提供可视化的配置,
提供访问其他组件的方式。
4:对组件数据来源,提供多种方式,目前有:从数据库中取值,从request的参数中取值,从request的
属性中取值,从session中取值,从程序运行中取值。
5:页面上的权限控制,WebPage3提供可视化的配置,可以指定组件是否显示、是否可修改、是否
只读模式、是否被删除等等
6:页面取值和页面权限控制也提供编程式控制,可以在程序里面动态的控制页面组件的值,也可以动态
控制组件的权限,如:可编辑或是不可编辑。
7:页面提交或是页面事件触发,提供客户端事件处理,提供客户端数据检测等的客户端控制
8:数据提交到后台,WebPage3提供把数据从request里面封装到任意的数据model的工具,同时根据请求
的ActionCommand来选择合适的Action响应。
9:逻辑层处理完成后,WebPage3提供统一的控制方式,把数据传递到客户端,并根据逻辑数据,进行
客户端事件响应和新的页面展示
10:WebPage3还提供预实现的增删改查等功能,包括主子表的操作等,可以辅助进行快速开发。
11:WebPage3对应用中需要提示的例外信息,或是操作提示等,提供统一的消息服务,可以通过配置
消息文件来改变这些信息。
12:WebPage提供通用的数据操作功能,再加上可视化的开发方式,使得WebPage可以从讨论用户需求时
开始使用。一边跟用户讨论,一边进行基本页面开发,可以更深入的理解用户需求。由于用户能够直观
的看到软件界面,更容易确定和准确提出真实的需求,从而大大减少后期的需求变更。我们的使用经验
是需求讨论完毕,基本的程序功能界面就都有了,而且是经过用户确认的。
 

WebPage3.0的定位、理念、目标

一:WebPage3.0的定位
    开放的、轻量级、基于组件的Web开发框架
    解决目前Web开发,尤其是功能页面开发中,出现的问题。目前Web开发方面的问题主要集中在:
开发工作量大,重复劳动多,开发效率低下、维护困难、页面和逻辑相混杂等。
二:WebPage3.0的理念
    让Web开发更简单、更快捷、更高效
三:WebPage3.0的目标
    成为Web开发框架的主流,为更多的Web应用提供简单、高效的解决方案。
四:WebPage3设计的特点
    1:WebPage3基于MVC模式,但又不死板的报着MVC不放,通过改良和辅助工具类,提供更灵活的架构
和更多的开发帮助。
    2:完全基于组件,开放式框架,框架本身没有任何组件,所有的组件都是按照组件定义的规范来开
发,然后加入到框架中使用。这样就使得组件功能可以随意的扩展,而且对组件所使用的技术没有多少
限制,所有现在Web层能用的技术都可以在组件里面使用。也就是WebPage3框架找组件,然后组件自运
行。这使得WebPage3具有更强的生命力,可以兼容已有的技术积累,也能使用最新的开发技术。
    3:WebPage3对Web开发的客户端和服务端都提供相应的帮助,全方位的为Web层开发的各个环节
提供帮助
    4:关于可视化设计器,目前是基于IE来开发的,它只是用来加快开发的速度。事实上,完全可以
手工的配置WebPage3框架所需要的资源,当然,也可以开发Swing版的IDE。

WebPage3.0与JSF、TapeStry的异同和优势

 


 基于组件的Web开发框架,是下一代Web开发框架的主流,目前国际上有名的基于组件的Web开发框架
有JSF和TapeStry。
    WebPage3.0也是基于组件的可视化Web开发框架,所以这里重点比较一下与JSF和TapeStry的异同,
主要从技术实现上面进行比较:

比较项

JSF

TapeStry4

WebPage3.0

结论

页面开发

TagLib标签技术

Html+TapeStry属性

纯粹的Html

WebPage3.0更简单,更通用,更容易与美工等结合

Java编程模型

JSF应用中没有页面定义文件,它只有一个全局的配置文件,命名为:faces-config.xml,里面通常都定义了一堆"managed beans"。这些managed beans都是带有属性和事件监听器的定义良好的java bean。在faces-config.xml中定义的后端bean都有三个参数:一个标识符、一个java类名、一个bean的生存周期,生存周期可以是request、session、application中的一种。

主要是三个部分:用于显示的页面模板(一般就是html),带有相关属性和方法的java类,用于定义页面模板上的控制元素和java类的关系的页面定义文件

分做服务端和客户端,在服务端主要是三个部分:用于显示的页面模板(纯粹的Html,可视化开发,不需要手工写)、页面数据模型定义(自动生成,不需要手工写)、页面事件响应Action类(如果使用自动数据处理,不需要写。否则相当于Struts中的Action,自行写处理代码)

在客户端:每个页面对应的script文件

WebPage3.0的编程模型更全面,考虑到Web开发的特殊性和实现的合理性,全面考虑,提供客户端模型和服务端模型。

在服务端模型结合了多种框架的优点,同时还提供了一些通用的功能实现,为快速开发提供帮助。

请求生命周期控制

单一的生命周期模型

生命周期依赖于调用的引擎服务,同时可以自己定制生命周期

TapeStry4

WebPage3TapeStry4的生命周期控制更灵活

页面导航

必须同时利用代码和配置文件来控制页面跳转流程

页面跳转逻辑定义在代码中,而不是写在配置文件中

页面跳转逻辑定义在页面组件的属性中或者在代码中

页面跳转逻辑是跟逻辑结果相关的,WebPage3的实现方式能更好的兼顾配置和代码定义的实现

易用性

十分困难

困难

十分简单

WebPage3.0的易用性是最好的

学习曲线

较高

十分低

WebPage3.0只需要基本的Java开发和基本的Javascript和基本的Html技术即可。一个Web开发人员1-2天内即可以掌握

与其它技术的包容性(如结合AJAX

十分困难

困难

十分简单

WebPage3.0是一个纯粹的组件框架,对组件的技术实现限定非常小,通常只需要实现一个抽象父类即可,其它技术任意加

对已有资源的利用上(如:每个公司在多年的开发中已经有了很多的实现积累,想要把他们包装成组件进行使用)

没有好办法,基本上需要重新按照JSF的框架重新做

没有好办法,基本上需要重新按照TapeStry的框架重新做

非常容易,可以很简单的包装成一个可在WebPage3.0中使用的组件

WebPage3.0充分考虑到与已有实现的结合,能够有效保护已有的知识积累

技术支持

困难

十分困难

容易

WebPage3.0的开发团队可以随时为您提供技术指导、技术资源、技术培训、技术服务

 

posted on 2006-06-12 06:21 XiaoLi 阅读(1325) 评论(0)  编辑  收藏 所属分类: Others


只有注册用户登录后才能发表评论。


网站导航:
 

公告


文章发布许可

本站作品均采用知识共享署名-非
商业性使用-禁止演绎 2.5 中国大
陆许可协议
进行许可。

Books I've Translated

《精通Nginx(第二版)》

精通Nginx(第二版)
《云计算:原理与范式》

 云计算:原理与范式

《SQL技术手册(第三版)》
SQL技术手册(第三版)
《MySQL核心技术手册(第二版)》
MySQL核心技术手册(第2版)
《RESTful Web Services中文版》
RESTful Web Services中文版

导航

留言簿(2)

随笔分类

搜索

最新评论