yonyouNetworkTechnologyCo.,Ltd..集团UAP中心张祥宇2015年1月1日UAPWeb平台培训-Portal开发yonyouNetworkTechnologyCo.,Ltd..目录简介01小结06皮肤05集成04基本概念及运行原理03Portal布局与Portlet开发02概述技术架构yonyouNetworkTechnologyCo.,Ltd..UAPPortal是基于JSR286规范实现的一套J2EE技术体系架构的门户。既能支持产品展现的需求,又提供了强大的系统集成组装功能。如下特性:UAPPortal概述框架Portal集成框架、CA框架、CAS框架、安全认证框架、单点登录集成框架开发强大易用的集成第三方系统的能力,预置NC,IUFO等多版本集成认证类支持被第三方系统集成集中审批中心、消息中心、支持域认证、CA登录多级门户、个人门户等,以及门户个性化支持符合CAS规范的统一身份认证布局权限分配灵活的皮肤定制功能与样式管理功能基于Eclipse的门户开发studio规范J2EE规范、JSR168/286规范、CAS规范yonyouNetworkTechnologyCo.,Ltd..企业门户-灵活组装支持多级门户集中接收待办任务、消息提醒按用户身份定义的个人首页、角色门户打破系统界限,各业务领域的个人功能集中展现直接访问NC业务系统yonyouNetworkTechnologyCo.,Ltd..UAPPortal技术架构图yonyouNetworkTechnologyCo.,Ltd..目录简介01小结06皮肤05集成04基本概念及运行原理03Portal布局与Portlet开发02多级门户Portal布局Portlet开发yonyouNetworkTechnologyCo.,Ltd..UAPStudio包含UAPWEB开发平台,使用此平台可以进行Portal和Portlet的开发。环境搭建及配置yonyouNetworkTechnologyCo.,Ltd..多级门户在集团内各单位根据不同的工作性质和业务范围可将门户规划成多级化门户。门户类型:主门户、分公司门户、部门门户、个人门户、主题门户等用户允许拥有多个门户通过职责授权布局布局具有是否主页、多版本、是否允许个性化、是否启用、是否受权限控制、是否下级可见、显示类型等特性用户类型超级管理员:两个默认超级账号(root、super,初始密码空),主要是登录后台后,进行初始化数据库,密码策略,创建系统管理员系统管理员:门户的最高管理员,一般是建集团,集团管理员,模块管理等集团管理员:集团管理员,一般是管理人员、角色、职责、组织、部门、流程设计、布局设计等组织管理员:也是一般用户,因为分配了系统管理的功能,所以具有系统管理的职能,故称之为组织管理员,一般用户yonyouNetworkTechnologyCo.,Ltd..Portal布局设计门户的一个布局页面是由各个portlet组成,每个portlet可以自由定制自己的皮肤、样式和内容。同时布局是有组织属性的,可以分为全局、集团或任意一个业务单元搭建的布局。而有权限的管理员,只能为其可管理的组织搭建新布局布局设计通过拖拉拽的方式进行设计,平台提供布局容器来布置诸如上中下的布局,布局容器中摆放Portlet,同时布局具有版本特性。示例布局容器布局容器:分为纵向容器、横向容器小组件:默认提供有常用、系统集成、系统、流程和消息、IUFO等分类的Portlet,不同类型的Portlet功能不一样,以及用户自建的Portlet分类下的Portlet常用:匿名用户登录、子页面、框架、jsp展示系统:导航条、版权、版权(大)流程和消息:任务中心、我的流程、消息中心系统集成:集成、表单集成、我的功能、超链接、页签IUFO:我的报表库、home布局特性页面设置:标题、名称、用户类型、设备、菜单分类、样式、显示类型等布局设置:宽度比例、样式、外边距、内边距Portlet设置:可以设置布局内Portlet的属性,例如:标题、国际化、外边距、内边距、样式等yonyouNetworkTechnologyCo.,Ltd..练习一:Portal开发初体验-简单站点引入要求:实现对常用站点的引入,例如百度,具体参阅《UAP65培训-课堂案例-Portal开发》文档中的简单引入现有站点一节。步骤:1.集团管理员登录,打开布局管理器2.组织选择“全局”,并新建布局3.设计布局,拖框架portlet4.设置框架Portlet的连接地址:目录简介01小结06皮肤05集成04基本概念及运行原理03Portal布局与Portlet开发02多级门户Portal布局Portlet开发yonyouNetworkTechnologyCo.,Ltd..Portlet开发-场景描述场景描述:自定义开发一个portlet来显示用户信息,同时增加一个portlet扩展属性“显示行数”,根据管理员设置的“行数”来显示用户条数。下面以自定义Portlet开发为例,详细讲解Portlet开发全过程。yonyouNetworkTechnologyCo.,Ltd..Portal开发步骤创建Portlet分类创建PortletPortlet内容实现Portal布局设计权限分配yonyouNetworkTechnologyCo.,Ltd..Portlet开发-创建Portlet分类创建Portlet分类,以便于下面创建Portlet,并输入id、textyonyouNetworkTechnologyCo.,Ltd..Portlet开发-创建空白Portlet创建一个空白Portlet,并输入id、nameyonyouNetworkTechnologyCo.,Ltd..Portlet开发-设置空白Portlet的模式设置空白Portlet的Minme类型(text/html),Portal模式(view、edit、help)、Window状态(maximized、minimized、normal)yonyouNetworkTechnologyCo.,Ltd..Portlet开发-设置空白Portlet扩展属性设置空白Portlet的一个扩展属性rowSize,默认值是1yonyouNetworkTechnologyCo.,Ltd..Portlet开发-新增自定义Portlet类添加一个自定义的Portlet类CustomUserListPortlet,来显示Portlet的内容yonyouNetworkTechnologyCo.,Ltd..Portlet开发-自定义Portlet类自定义Portlet类CustomUserListPortlet的源码如下yonyouNetworkTechnologyCo.,Ltd..Portlet开发-设置自定义Portlet类右键编辑Portlet,然后给Portlet设置开发的自定义Portlet类CustomUserListPortletyonyouNetworkTechnologyCo.,Ltd..Portlet开发-新增扩展属性设置类添加Portlet扩展属性设置类CustomUserListPortletSetting,来自定义扩展属性类型,例如显示行数属性,它的类型应该是整型yonyouNetworkTechnologyCo.,Ltd..Portlet开发-Portlet扩展属性类Portlet的扩展属性设置类CustomUserListPortletSetting的源码如下,定义“显示行数”属性为整型,同时还有保存前后的校验方法。yonyouNetworkTechnologyCo.,Ltd..Portlet开发-新增plugin.xml文件新增plugin.xml,然后配置Portlet扩展属性类CustomUserListPortletSettingyonyouNetworkTechnologyCo.,Ltd..Portlet开发-新增css样式在添加的CustomUserListPortlet中,使用到css样式,所以需要自己添加一个css样式,例如usertype.cssyonyouNetworkTechnologyCo.,Ltd..Portlet开发-添加Portal布局集团管理员登陆,组织选择[全局],点击[新增],添加Portal布局,在弹出的新建对话框中输入id、title。yonyouNetworkTechnologyCo.,Ltd..Portlet开发-设计Portal布局设计Portal布局,把上新建的自定义用户开发Portlet拖过来即可,同时输入页面设置相关,保存即可yonyouNetworkTechnologyCo.,Ltd..Portlet开发-启用布局设计好的布局需要启用布局才能使用。如果勾选了[受权限控制],那么必须职责授权才能看到。yonyouNetworkTechnologyCo.,Ltd..练习二:自定义开发Portlet要求:自定义开发一个Portlet,根据用户设置的显示行数,来显示用户条数信息,具体参阅《UAP65培训-课堂案例-Portal开发》文档中的自定义Portlet开发一节。步骤:1.创建Portlet分类2.创建空白Portlet3.添加自定义Portlet类4.添加css样式5.添加plugin.xml,以及扩展属性类6.添加自定义显示用户信息布局7.启用布局yonyouNetworkTechnologyCo.,Ltd..目录简介01小结06皮肤05集成04基本概念及运行原理03Portal布局与Portlet开发02生产环境与测试环境Portal/Portlet/Portlet容器之间的关系Portlet初始化参数/模式/扩展属性/事件Portlet之间的交互Portal与Portlet部署过程Portal与Portlet资源文件门户个性化、门户模块管理yonyouNetworkTechnologyCo.,Ltd..生产环境与测试环境UAP开发出的系统分为两个环境一个是生产环境,另一个是开发环境。不同环境下启动的入口,加载环境参数是不一样的。通过环境上下文类LfwRuntimeEnvironment的setMode方法来初始化环境类别。开发环境:从UAP-STUDIO启动就是开发环境,runModel=develop开发态在Web开发透视图下设计布局布局类型分为管理员级、用户级生产环境:UAP-HOME启动就是生产环境,runModel=production运行态从[客户化配置]-[布局管理]设计布局布局类型只有用户级yonyouNetworkTechnologyCo.,Ltd..Portal、Portlet、Portlet容器之间的关系Portlet容器:portlet容器提供它们需求的运行时环境并运行portlet。它包含portlets并控制它们的生命周期。容器提供portlet参数的持久存储机制,它接受来自portal的request,并在其持有的portlet上执行request。容器不负责portlet产生内容的聚合,portal自己处理内容聚合Portal:portal是一个基于web的应用,它能提供个性化,单点登录,不同源的内容聚合和信息系统的表示层集中聚集。整合不同web页面源数据的过程。为了提供用户定制的内容,portal可能包含复杂的个性化特征。为不同用户创建内容的portal页,可能包含不同的portlet集。,组成portal页。portlet容器控制portlet的生命周期。Portlet:portlet是基于java的web组件,处理request并产生动态内容。portlet产生的内容称为片段,即一段遵守中心规则的标记(比如html