当前位置:文档之家› BOS开发指南_Web开发平台

BOS开发指南_Web开发平台

金蝶BOS快速开发指南Web开发平台目录1.概述 (3)1.1.简介 (3)1.2.产品功能 (3)1.3.产品特性 (3)1.4.定义、首字母缩写词和缩略语 (3)1.5.参考资料 (3)2.开发过程 (4)2.1.概述 (4)2.2.环境准备 (4)2.2.1. 开发工具 (4)2.2.2. JDK约束 (4)2.3.开发规约 (4)2.4.WEB单据开发 (5)2.4.1. WEB单据开发过程 (5)2.4.2. 框架内置服务 (20)2.4.3. WEB主菜单管理 (21)2.4.4. 功能服务 (22)2.4.5. 权限服务 (22)2.4.6. 编码规则服务 (23)2.4.7. 套打服务 (24)2.4.8. 日志服务 (25)2.4.9. 工作流服务 (26)2.4.10. 单据转换 (28)2.4.10.1. 概述 (28)2.4.10.3.单据关联生成 (28)2.4.11.字段权限服务 (29)2.4.11.1.设置支持字段权限 (29)2.4.11.2.启用字段权限 (29)2.4.11.3. 设置字段权限 (30)2.4.11.4. 字段权限 (30)2.5.集成EAS门户 (30)2.5.1. 编制jsp页面 (30)2.5.2. 配置portlet模板信息 (31)2.5.3. Portlet业务配置信息设置 (31)2.5.4. Portlet基础定义设置 (31)2.5.5. 页签配置 (32)3.技术特性 (33)3.1.编程模型 (33)3.1.1. AOM (33)3.1.2. 数据校验 (33)3.1.3. 数据绑定 (34)3.1.4. Ajax技术 (35)3.1.5. 拦截器 (36)3.1.6. 对象注入 (40)3.1.7. Winlet (41)3.1.8. 多语言处理 (45)3.1.9. 多色彩方案 (46)3.1.10. 应用上下文 (47)3.1.11. 登录认证 (48)3.1.12. 异常处理 (49)3.2.部署模型 (50)1.1. 简介Web开发平台的核心职能类似GUI框架,是EAS Web产品开发的基础平台,跟GUI应用框架共用EAS Web服务端组件,协同BOS框架和业务模型(BIM)实现模型驱动架构(MDA)。

它提供统一的业务开发模型,简化开发逻辑,形成一致的开发模式,最大限度实现代码的重用机制。

Web开发平台作为业务逻辑的核心支撑平台,主要负责以下控制:●UI处理流程管理,如页面打开展现等;●UI通用处理,如RPC交互、数据绑定、异常处理、通用查询等;●业务服务调用,如权限控制、BOTP、工作流等。

Web开发平台与EAS BOS平台的关系:●Web开发平台是金蝶BOS平台的一个组成部分;●跟GUI共用一套元数据模型和设计工具;●跟GUI共用一个应用服务器;●基于更先进的技术特性,如动态注入、IoVC、约定优先于配置等。

1.2. 产品功能Web开发平台提供了业务开发的基类体系和界面模板库,以及集成了单点登录认证、权限管理、套打、BOTP、工作流、编码规则、网络互斥、日志及色彩方案等基本服务。

1.3. 产品特性●与GUI应用开发一致,减少学习成本●支持业务建模与典型界面向导,快速开发业务单据●提供GUI界面转换Web界面工具,快速完成Web应用迁移●内嵌Apusic Web服务器,便于开发和测试●支持热替换,发布元数据和修改代码不需要重启服务器●Web开发平台本身集成功能定义、工具栏、权限、日志、主菜单等功能,让业务开发的功能很容易使用这些通用服务进行协同工作,让业务功能集成和部署更加方便、轻松。

1.4. 定义、首字母缩写词和缩略语●AOM:Apusic OperaMask,金蝶中间件公司的Web开发框架●AAS:Apusic Application Server:金蝶中间件公司的J2EE应用服务器产品●Ext JS:一套基于Java Script的浏览器端UI组件库1.5. 参考资料●张留欢,《Waf使用指南及规范.doc》2008-6●陈乐辉,《Waf开发指南.doc》,2008-8●李大伟,贺鹏辉《web开发帮助文档.doc》2008-10●张留欢,《金蝶BOS Web开发平台.ppt》,2008-11●EAS BOS V6.2Web设计器用户使用指南.doc2.1. 概述基于Web开发平台开发业务系统,也是一个模型驱动的开发过程,下面以协同办公的费用报销系统为案例作为基础,实现从费用申请开始,到费用报销结束的一个业务过程,来介绍如何基于Web开发平台来做业务系统开发。

2.2. 环境准备2.2.1.开发工具下载地址:/download/aom_downloadApusic:Apusic Studio:Operamasks:/dist/aom_eas/Operamasks Demos:/dist/aom-demos/,其中rcdemos是AOM 比较全面的控件示例,开发过程中必不可少的宝典之一。

Web设计器:BOS Studio的一部分,请安装bos6.2及以后版本的Bos Studio即可.Ext:/deploy/dev/docs/AOM控件: /help/index.jsp2.2.2.JDK约束目前Waf必须基于jdk1.5及以上版本,所以开发时,必须先安装jdk1.5,,在apusic 工程使用编译时会报版本不一致的问题。

因此不能w:\jdk,而应该使用W:\eas\Server\jdk,如果这个还是有问题,到Sun的网站下载一个jdk1.5。

注意:研发内网不能采用w:\jdk,这个是被精简处理过的2.3. 开发规约Web开发平台对于view页面和对应的Bean的映射,采用“约定优先于配置”的原则,因此在建立Apusic标准工程的时候需要指定默认命名空间。

以协同业务系统为例子说明这样一个命名原则:假定业务系统包名为com.kingdee.eas.cp.bc ,后台web目录为eas_web.war ,开发单据testBill。

根据开发一个业务功能需要对应一个View页面和对应的后台Managed Bean,那么相应的命名规范:●View页面规范view页面取com.kingdee.eas之后的cp.bc报名生成目录.\eas_web.war\cp\bc\testBill.xhtml●对应的Managed Bean命名规范对应com.kingdee.eas.cp.bc之后添加web作为bean存放包名:testBill对应的包名为com.kingdee.eas.cp.bc.web;ManagedBean对应的类名为:页面名称(首字母大写) + Bean;例如testBill对应的ManagedBean全名为:com.kingdee.eas.cp.bc.web.TestBillBean。

●Managed Bean别名规范别名的定义规范为:页面路径(路径分隔符号用.表示) + ManagedBean类名例如:testBill对应的别名为:cp.bc.TestBillBean因此,最终开发testBill功能生成的文件为下面2个:cp\bc\testBill.xhtml@ManagedBean(name="cp.bc.TestBillBean")com.kingdee.eas.cp.bc.web.TestBillBean2.4. WEB单据开发2.4.1.WEB单据开发过程2.4.1.1. 创建WEB单据1.在“业务单元”视图中,选择右键菜单,选择〖新建〗→〖业务单元〗,如下图:2.弹出“创建业务单元”向导3.输入名称和别名。

4.如下图选择“基础模板”和”客户端应用”注:目前业务单据只支持多分录单据基础模板;基础资料单据只支持单级基础资料模板5.点击【下一步】,直到完成,即可创建一个WEB单据,含编辑界面和序时簿2.4.1.2. GUI生成WEB UI1.选中GUI单据,右键【配置业务单元】2.导入已存在的WEB ui,或者选中自动生成,自动生成WEB UI3.点击确定,GUI自动生成WEB UI2.4.1.3. 调整布局2.4.1.4. 工具栏1.模板自动生成工具栏,如图:2.工具栏上的各个按钮与相应的Action绑定,其中queryAction实现了通用过滤3.在业务单元-菜单定义,可以根据业务需要自定义工具栏2.4.1.4查询1.模板自动提供通用过滤2.如图3.设置“查询”按钮的action服务端事件,以便处理查询逻辑2.4.1.5.发布代码处理业务逻辑在“业务单元”视图中,选择需要发布代码的Web 单据(可以多选),弹出右键菜单,选择〖发布业务单元〗进入代码发布向导。

如下图2.4.1.6后台逻辑(ManageBean)实现序时簿界面后台一般从ListBean集成,列表界面的集成体系如下,列表界面(List Winlet)ManagedBean从ListBean继承,请实现如下方法:●getQueryPK()●getEditBeanName()●getEditUrl()●getBizInterface()1、getQueryPK()要求返回查询当前列表数据结果的Query PK,例如:@Overrideprotected IMetaDataPK getQueryPK() {return newMetaDataPK("com.kingdee.eas.mydemo.app.PurReqQuery");}2、getEditBeanName()要求返回列表对象对应的编辑界面的ManagedBean的名称,例如:@Overrideprotected String getEditBeanName() {return"mydemo.PurReqEditBean";}3、getEditUrl()要求返回列表对象对应的编辑界面的Url,例如:@Overrideprotected String getEditUrl() {return"/mydemo/purReqEdit.jsf";}4、getBizInterface()类似编辑界面的同样接口实现。

该业务接口的获取可以通过注入方式实现,例如:@IBOSBizCtrlprivate IPurReq service;@Overrideprotected ICoreBase getBizInterface() {return service;}➢页面模板及组件模板●templates/list-templates.xhtml定义了列表界面的布局模板,业务单据的列表界面视图从此模板继承,并提供相应的模板内容实现。

相关主题