②机密信息严禁泄露P1版权所有©1993-2012金蝶软件(中国)有限公司②机密信息严禁泄露BOS新Web平台培训_总体篇BOS产品部2014.11②机密信息严禁泄露P2总体介绍–目标及定位–技术特性–框架模型应用说明关键问题说明附录提纲P3Web动态框架—全新架构体系的BOSWeb平台Web动态框架是BOS平台的组成部分Web动态框架是BOS平台支撑Web应用的开发及运行平台Web动态框架与BOS基础设施及服务共同构建企业的Web化应用②机密信息严禁泄露P4Web动态框架简介Web动态框架,是EASBOSWeb产品开发的核心平台,与GUI应用框架共用EASBOS服务端组件,与GUI框架、移动应用框架共同支撑起成熟而又时尚、快捷的企业应用。Web动态框架提供统一的业务开发模型,简化纯Web应用开发逻辑,形成一致的互联网风格的应用模式,最大限度实现各种组件的重用机制,同时采用开放的技术框架,形成了强大而灵活的Web应用系统开发及管理平台。Web动态框架组成–Web运行框架–Web组件库–Web动态开发平台Web动态框架概念EAS后台服务GUIWebMobil②机密信息严禁泄露P5Web动态框架目标-定位产品目标应用阶段支撑应用系统研发、实施交付、运行维护。生命周期支撑未来5~10年的B/S应用,平滑过渡到HTML5。应用范围支撑EAS及基于BOS的相关行业、领域的企业级Web应用。定位:EAS及基于BOS的Web应用系统全生命周期管理平台②机密信息严禁泄露P6目标-技术特征高可靠,高性能成熟、稳定可靠,大数据量下性能优良、可控高可用使用(开发)效率高,简单易学高效开发开放平台支持多种技术应用,支持外部功能的嵌入集成(基于SOA及组件化体系的业务应用架构)共享框架支持组件化的成果共享,支持业务功能独立管理(装载、运行、卸载)面向未来支持以后平滑、稳定、无缝地采用HTML5技术,支持显示风格与内容的隔离(CSS3)②机密信息严禁泄露P7技术特征系统参数性能适应性安全性开放性其他特性②机密信息严禁泄露P8性能参数一般单据页面打开时间:3s一般列表页面(序时簿)打开时间:3s一般单据保存提交时间:3s注:普通配置环境下,页面非首次访问P9自适应-多浏览器,各种分辨率支持的浏览器IE8+Chrome23+Safari5+响应式布局-自适应各种分辨率,推荐:1280*1024/1024*768推荐的浏览器IE11Chrome28+Safari5+P10Web安全性1、身份安全EAS统一身份认证CA认证支持2、通讯安全数据传输加密https支持3、运维安全安全漏洞预防:XSS脚本攻击,SQL注入,CSRF等第三方组件安全4、安全审计用户监控操作日志P11平台特性基于开源技术构建,支持随意组合、共享各种互联网技术OPENAPI技术、共享EAS后台服务,最大化客户和伙伴的利益技术门槛低、开发效率高后期会搭建统一资源中心,可分享伙伴开发成果开放性P12基于互联网开源技术构建开放平台BootstrapJquerySpringOpenAPIWEB2.0P13平台特性动态性动(态)静(态)相宜,兼顾性能及灵活性可动态部署,降低运维成本运行期实时调整即时生效,直接看到效果调整完毕自动静态化,提升响应速度P14平台特性模块化静态资源采用模块化架构体系,按需加载,性能优越支持使用Nginx/Apache等单独部署静态资源服务器,优化并发性能自动处理静态文件版本,版本更新无须手动清浏览器缓存②机密信息严禁泄露P15部署架构图利用开源软件作为反向代理和负载均衡、前端缓存装置。Web高可用:会话状态的持久化支持。P16前后端分离模型前后端分离,前端小美快,后端稳准狠后台采用OpenAPI统一管理服务调用,提升开放性和可维护性利用动态Web应用框架,提升二次开发效率WAF平台OPENAPIWrapperFacadeEntityEntity…PrivateAPI后台服务前台系统组件体系OPENAPI管理应用框架标准业务Web应用自定义业务Web应用第三方应用应用中心FacadeOpenAPI…②机密信息严禁泄露P17Web平台蓝图技术架构应用架构数据架构业务架构开发管理运维管理Browser端框架WebServer框架AppServer框架RPChttpjson基础服务组件与模板扩展模式非功能特性框架开发工具构建与测试二次开发管理补丁管理BOS数据框架性能监控组织架构主数据部署工具②机密信息严禁泄露P18技术架构界面动态渲染通用业务ServiceBOTP工作流附件管理显示风格CSS3业务事件逻辑JS基础控件JQUERY编码规则模块A后台服务模块B后台服务模块C后台服务模块D后台服务模块…后台服务EventBusJSONConvertInterceptor权限LicenseRemoteLocalIOCRemoteLocalRemotelocalRemoteLocalRemoteLocal业务HandlerHTTP缓存处理业务Handler服务注入导入/导出服务模块…后台服务RemoteLocalRemoteLocal……….基础服务模块…后台服务基础服务②机密信息严禁泄露P19基础服务及功能组件完成图例后期实现AppServer工作流服务组件单据上查统一身份认证BOS基础服务引擎单据上拉单据生成单据下查查看流程图查看审核意见执行多级审批查看流程活动指定下一步参与人权限服务功能权限字段权限License多组织网络互斥国际化编码规则系统监控用户行为收集BOS相关应用服务性能监控数据权限处理操作日志处理②机密信息严禁泄露P20总体介绍应用说明–应用开发流程–页面超类及应用组件体系–动态开发平台–运行框架说明–Web组件库说明关键问题说明附录提纲②机密信息严禁泄露P21总体开发流程配置开发服务设置预览调试发布测试补丁制作安装部署后台实体模型配置页面显示及事件配置前后台业务逻辑编码工作流、权限、BOTP、编码规则、打印模板等服务设置页面预览并可对所有功能进行单元测试,调试解决问题发布到应用菜单上,进行完整的集成测试开发测试完成,将开发成果制作成补丁包输出将开发的补丁包安装部署到正式环境中运行②机密信息严禁泄露P22二次开发模式2、扩展开发基于标准产品中已有业务进行部分修改的开发模式扩展开发为继承模式,当原标准产品业务包升级后会自动根据规则合并,保护已有二次开发成果与标准产品开发有较大区别1、新功能开发新业务功能开发,包括新的基础资料,新的业务单据,新的报表等可以使用系统基础及标准产品已有业务的基础资料,也可以关联使用新增的基础资料类同于标准产品开发②机密信息严禁泄露P23新增功能开发流程Web动态开发平台新建业务单元设置业务单元实体属性(实体、查询)页面配置拖放字段以及组件调整布局设置控件属性配置功能配置事件代码编写编写事件响应的Handler(java)在js文件中自动生成的空方法中添加代码在css文件中维护调整当前页面样式直接预览并调试测试两种方式:1、DEP2、BIM②机密信息严禁泄露P24扩展开发流程Web动态开发平台根据业务单元新建扩展方案对业务单元包含页面扩展页面配置新增字段,拖放字段以及组件调整布局设置控件属性配置功能配置事件代码编写编写事件响应的Handler(Rhino)在js文件中发布的空方法中添加代码在css文件中维护调整当前页面样式直接预览并调试测试新建页面方案启用②机密信息严禁泄露P25页面超类及应用组件体系概述–Web动态框架页面目前有三种基本类型:编辑页面、列表页面、空白页面,各自包含了不同的内置功能,可以直接配置使用–动态框架还提供了众多功能强大的基础应用组件,可以在业务页面中直接配置使用②机密信息严禁泄露P26应用组件体系Web应用组件体系–Web组件是平台提供的业务层面上封装重用的、一种较低层次的共享机制–Web组件的颗粒度较小,是在控件之上页面之下的通用逻辑的封装,可以在页面中直接如基础控件一样设置使用–Web组件一般包含了业务及BOS应用概念,如Query及实体Info等,而且一般包括后台处理逻辑的调用②机密信息严禁泄露P27Web应用组件Web组件体系–显示及/或处理逻辑的一个片段–分为显示组件及非显示组件(服务组件)–Web组件不能直接运行,需要在页面中运行调试–Web组件是开放的,以后可以自由注册,方便业务应用开发自己的组件–Web组件之间不能继承,但可以组合使用组件描述列表显示组件根据Query进行列表显示及操作通用查询组件浮动DAP组件生成凭证/删除凭证,生成/删除管理凭证工作流组件审核、反审核、流程图BOTP组件推/拉生成、联查单据、上查、下查打印套打组件附件管理组件多附件文件的上传、存储处理引入引出组件导入或导出Excel文件数据通用F7组件各种基础F7组件组织/物料/客户/供应商/科目/职员/…②机密信息严禁泄露P28页面超类页面类型超类是页面级的功能共享超类按页面类型封装了一组通用的功能逻辑,如:列表页面包括新增、删除、修改、审核等通用事件和处理逻辑;编辑页面包括保存、提交、打印、BOTP等通用事件和处理逻辑。②机密信息严禁泄露P29页面类型超类内置功能编辑页面列表页面②机密信息严禁泄露P30页面元数据概念体系业务单元页面1页面2基本信息布局控件页面事件属性事件页面响应后台处理业务服务页面超类页面组件②机密信息严禁泄露P31功能概述–Web动态开发平台,是基于浏览器的web开发平台,能够直接预览所见即所得完成页面的配置过程,开发所依赖的实体、查询等目前需要在DEP或者BIM中完成,页面运行依赖的java代码目前需要在eclispse等开发工具中完成,而js及Rhino脚本可在页面配置工具中直接编写,js亦可使用其他工具编写–主要功能–新增功能开发–标准产品扩展开发Web动态开发平台②机密信息严禁泄露P32Web动态开发平台业务单元方案页面②机密信息严禁泄露P33Web动态开发平台页面配置–确定页面结构,选择各组件及/或控件,定义界面功能按钮及/或界面显示–定义组件/控件事件及响应–JS和Handler代码处理逻辑编写–保存页面配置,直接预览调试②机密信息严禁泄露P34Web动态开发平台扩展开发②机密信息严禁泄露P35扩展开发标准产品扩展实体及查询扩展实体扩展查询扩展页面扩展方案1页面1扩展•显示扩展•事件扩展页面扩展方案2页面1扩展•显示•事件扩展扩展模型②机密信息严禁泄露P36扩展开发操作字段扩展1仅能新增字段,不能删除字段或者修改字段类型2通过DEP工具/页面配置工具进行字段新增,并修改查询方案扩展开发工具页面显示1可通过可视化的显示设置进行修改2页面修改时有部分限制,如不能删除只能隐藏字段,必录不能改为非必录等3通过扩展开发工具进行设置逻辑扩展1通过事件总线技术提供插件式扩展体系,插入方式为Before/After/Override2通过页面扩展开发工具进行JS前端及web端的逻辑处理插入3通过DEP工具进行App后台逻辑插入方案管理1一个页面可以有多个平级的扩展方案,一个页面方案包括页面显示及前台逻辑插件2通过页面扩展开发工具进行方案管理,包括启用、禁用,按CU进行分配②机密信息严禁泄露P37典型二次开发场景及方式序号需求场景详细描述开发方式1新增字段可新增各种类型字段,并可设置显示位置及标签、必录、默认值、数值范围、校验等属性1、使用DEP工具/页面配置工具新增字段,同步查询方案2、通过页面配置工具设置显示及其他属性2调整显示布局可调整页面各个字段显示位置,调整布局通过页面设置工具进行显示调整3修改字段显示属性修改字段/控件的标签文字、默认值、提示文字、是否必录、是否隐藏、是否可编辑、数值范围、校验及信息等各种属性,包括按钮等控件通过页面设置工具进行修改4新增、修改控件的事件及响应逻辑可设置各种控件的常用事件,编写响应逻辑1、通过页面设置工具进行事件设置2、编写插入的处理逻辑程序5根据字段值动态设置其他字段是否显示、可编辑、必录例:如费