资源描述:
《ncv55-lfw开发框架红皮书》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Web开发框架(LFW)红皮书第一章简介1.产品概述NCWebFrame是基于NCUAP基础技术和服务之上的一套WEB单据快速开发框架.依托NCUAP的底层技术,它可以轻松实现集群,以及部署于NC支持的各种中间件上。在客户端,它支持用户的IE6+,IE7以及Firefox等主流浏览器。NCWebFrame开发框架以下简称LFW(LightWeightFramework).LFW单据运行时从组成结构上可分为基础javascript组件,javascript前台MVC结构,javascript模式化部分,后台控制逻辑及后台业务等.它的运行时结构图如下:从层次结构上由基础应用逻
2、辑和模式化逻辑二部分组成:基础应用逻辑:是开发一张单据的基础,它提供了全部的组件及大量可调用及扩展接口,通过它可以开发出符合需要的单据。要求对这套框架有相当程度的了解。模式化应用逻辑:是针对常见单据应用,在基础应用逻辑之上总结出来的一套公共业务逻辑和界面。它参考NC模式化开发经验和代码,进行适合Web方面的裁减或者增强,提供多套界面UI基类.达到快速高效开发常用类型单据的目的.NCWeb模式化开发综合利用了单据模版,查询模版,打印模板,报表模板以及元数据,以达到NC单据开发的统一性,稳定性和可维护性.并和NC流程平台紧密结合.2.技术要求:熟悉JAVA编程熟悉NC模版体系
3、掌握NC元数据概念和操作复杂单据需理解Javascript语法第一章基本概念和架构1.LFW单据组成:PageModel+Jsp页面+单据配置类(或者单据配置文件).它的运行时数据是保存在每个客户端的。并使用Ajax动态请求换加载数据。PageMeta:可以理解为页面UI元数据。它包含页面中所有组件,数据结构及事件定义。它一般被PageModel所包含并根据用户权限进行”剪裁”。在LFW的设计中,PageMeta的来源是可定制的,可以来自配置文件,可以来自于单据模板,也可以使用代码”create”出来。可以根据不同的环境进行选择。Pagemeta一般是可缓存的部分。Pag
4、eModel:PageModel是运行时由页面驱动的一个类,它不但包含了UI元素的描述(Pagemeta),也包含了运行时的权限信息,以及实际数据。它一般是运行时进行初始化数据和逻辑脚本生成的地方,由于包含大量运行时数据,不能被缓存。且一次性的转换成客户端数据和脚本之后生命周期就已经结束。Jsp页面:Jsp页面在LFW单据中较多的应用为一个模板文件,它将展现与数据相分离。通过LFW提供的布局和控件组合,可以很轻松的进行单据的外观改变,而不需要进行后台业务逻辑的改变。页面组件和Tag:LFW单据提供了丰富的组件和封装Tag,其中包含了容器型组件和一般组件。容器型组件主要用来
5、进行布局,一部分参与逻辑(比如Tab组件)。一般组件主要用来进行数据绑定(比如Grid,Tree,Form等)以及进行事件处理(比如Button,Image等)。详细使用方法可以参照LFW的API文档。组件和下面提到的Dataset都包含客户端和服务端两个版本。服务端的组件主要是组件属性的定制,而客户端才是真正的实现。Dataset:Dataset客户端实现.客户端Dataset是服务器端Dataset的一个对应体,也是前台MVC结构中数据事件的主要驱动者。一个数据集结构往往对应数据库中一个表结构或者一个值对象(ValueObject)结构。任何对于Dataset的改动将
6、形成具体的Dataset事件,通知对它进行绑定的控件以及相应的页面通用逻辑,通过公共逻辑和自定义脚本,可以完成对应UI的改变和特殊逻辑的处理。由于Dataset间往往存在主子关系。子Dataset中的各部分数据分别对应主Dataset的一条数据,因此,为了性能考虑和操作的便利性,对Dataset的实际数据的存储方式,并非采用二维平面结构,而是按照(主数据一行的值---子数据一个块)的Map方式存储的。由于Dataset在某些页面中处于“主“地位,而在另一些页面中可能处于“子“地位,统一起见,所有Dataset的存储方式都遵从上述规则,对于主Dataset,它本身的父数据k
7、ey的值默认使用Dataset.MASTER_KEY,即主Dataset是只有一个数据块的特殊Dataset。下图为主子Dataset存储结构图:从上图可见,Dataset的具体数据是存在于块数组中的,即DsContent中。DsContent又根据页数分割为多个页块。通过这种结构,可以很方便的实现分页,数据缓加载,整个页面替换等操作。2.“模式化“:Lfw提供的模式化概念衍生自UAP平台。从我们的经验来说,对一个个人项目,提供一个灵活可扩展的应用框架,可能已经足够。但是对于一个需要多人协作,并长期维护升级的产品来说,一个统一