知识大全 用导航组件来构建动态 Portal 菜单
Posted 知
篇首语:知识是心灵的活动。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用导航组件来构建动态 Portal 菜单相关的知识,希望对你有一定的参考价值。
用导航组件来构建动态 Portal 菜单 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
简介 GridSphere 门户框架 在上一年 基于 Portlet 的门户已成为门户服务器平台的最令人兴奋的领域之一 Java Specification Request (JSR) (即 portlet API)的出现将允许门户供应商提供公共编程模型 该模型允许开发人员更快地将新功能插入到门户服务器中 消费者可以轻松地使用这些功能 现在 许多门户供应商支持 portlet 包括 IBM WebSphere Sun One Portal Server Oracle iAS 和 Jakarta Jetspeed 项目 GridSphere 门户 提供一个基于 portlet 的高级开放源代码门户 GridSphere 是在欧盟提供基金的 GridLab 项目 下开发的 提供了一个非常复杂的门户 该门户为各种终端用户提供高度定制的环境 portlet 模型向用户提供了一个灵活易用的接口 并向门户开发人员提供了一个模型 用于创建可插入的和动态的应用程序支持 下面简要列出核心的 GridSphere 特性 Portlet API 的实现与 IBM WebSphere Portal Server 或更高版本紧密兼容 易于开发并易于与插入到 GridSphere portlet 容器中的 第三方 portlet 集成 级别更高的模型 用于使用可视的 bean 和 GridSphere User Interface (UI) 标签库构建复杂的 portlet 灵活的基于 XML 的门户表示描述 可以轻松对其进行修改来创建自定义的门户布局 对基于角色的访问控制(Role Based Access Control RBAC)提供内置的支持 RBAC 将用户分为 guest user admin 和 super user 复杂的服务模型 允许创建 用户服务 可以按照用户权限限制服务方法 通过 Hibernate for RDBMS 数据库支持提供数据的持久性 为 portlet 服务的服务端测试集成了 Junit/Cactus 单位测试 包括生成测试报告 GridSphere 核心 portlet 提供基本功能 包括登录 注销 用户和访问控制管理 由于 GridSphere portlet API 几乎与 WebSphere portlet API 完全相同 所以您应该多看看 developerWorks 文章 这些文章在 参考资料 和 IBM WebSphere Portal Zone 中列出 在理论上 使用 IBM WebSphere Portal Server 开发本文中的示例 portlet 应该不难 GridSphere API 与 JSR Portlet API 最后的规范非常类似 gridSphere 的将来版本是符合 JSR 的 GridSphere 项目 GridSphere Web 站点提供关于开发 portlet 的附加文档 有关使用 GridSphere 的信息和其他资源的集合 要获得这些信息 请加入 GridSphere 邮件列表中 当前的 GridSphere 版本提供了一个门户 一个 portlet 容器和一组有用的核心 portlet 包括用户和组管理以及布局定制和 portlet 订阅 安装 GridSphere 从 下载最新的 GridSphere 版本并按照指示安装该门户 前提条件是您必须在系统中安装了 Java 技术 Ant 和 Tomcat X servlet 容器 安装了 GridSphere 后 可以只启动 Tomcat 然后在 Web 浏览器中 单击 查看该门户 初始配置允许您以 root 身份登录 而且不用输入口令 登录后 转至 Administration >Users 选项卡 单击 root 用户来编辑配置文件 更改口令和其他设置 包括您的登录名和电子邮件地址 登录后 您就成为 GridSphere 门户管理员 图 GridSphere 用户管理器 portlet > 网格服务简介 在提供对用户的虚拟组织(Virtual Organization VO)内的计算资源和数据资源的安全统一访问方面 门户正变得越来越复杂 所以网格 portlet 必须依靠某种类型的中间件来执行这些操作 开放网格服务基础设施(Open Grid Services Infrastructure OGSI)规定如何创建网格服务 而 OGSI 是整体开放网格服务体系结构(Open Grid Services Architecture OGSA)的一部分 Globus Toolkit (GT ) 提供了 OGSI 的 Java 参考实现 GT 提供了强制性网格服务特性 如服务调用 生存期管理 服务数据接口 依赖底层公钥基础设施(Public Key Infrastructure PKI)的安全接口 网格服务扩展了 Web 服务 因此在实际中 编程模型很相似 简而言之 使用 GT 创建网格服务的步骤如下所示 创建定义服务接口的 WSDL 接口 可以采用工具转换采用 Java 或 C 语言编写现有接口以生成 WSDL 使用 GT 工具从 WSDL 服务器接口生成客户机和服务器存根(stub) 填写服务器骨架(skeleton)实现代码 配置服务部署描述符并部署服务到宿主容器 幸运的是 GT 与一组供我们使用的示例服务绑定在一起 因此 我们将集中讨论使用现有服务和现有的客户机存根代码来访问服务 幸运的是 您下载的 Tomcat 服务器还可以充当 OGSI 网格服务宿主环境 允许 GridSphere 门户框架和 OGSA GT 示例服务一起运行 下一节准备开发示例 portlet 您应从 Globus Web site 下载最新的 GT 版本 要构建示例并部署到 Tomcat 容器中 请发出下列命令 其中 $CATALINA_HOME 设置为下载 Tomcat 的位置 %> ant %> ant samples %> ant Dtomcat dir=$CATALINA_HOME deployTomcat 现在 由于示例 portlet 需要一些 GT 类 所以需要将 OGSA Web 应用程序的库复制到 portlet 可以找到的 Tomcat 共享库目录 %> cp $CATALINA_HOME/webapps/ogsa/WEB INF/lib/* jar $CATALINA_HOME/shared/lib/ 根据 GT User s Guide(请参阅 参考资料 ) 最后一步是将下列条目添加到 $CATALINA_HOME/conf/web xml 中 配置 Tomcat 以接受 WSDL GWSDL 和 XSD 文件扩展名 <mime mapping> <extension>gwsdl</extension> <mime type>text/xml</mime type> </mime mapping> <mime mapping> <extension>wsdl</extension> <mime type>text/xml</mime type> </mime mapping> <mime mapping> <extension>xsd</extension> <mime type>text/xml</mime type> </mime mapping> 编写网格计数器服务 portlet 在网格 portlet 示例中 我们使用 Globus Toolkit 提供的示例 OGSI 计数器服务编写一个简单的加减数字的 portlet 计数器服务表示为 CounterPortType 它是基 GridService 接口的子类 有三个方法 如下面的图 所示 图 计数器服务的 UML 图 > add(int a) 和 subtract(int b) 方法添加或减去提供的值并返回新值 getValue() 方法只返回静态计数器值的当前结果 编写 portlet 在计数器 portlet 示例中 用户可以输入整数值 然后单击 Add 或 Subtract 按钮加上或减去计数器服务的值 并显示已更新的计数器值 当第一次实例化 portlet 时 init() 方法被调用 向该 portlet 提供由任何后续 portlet 请求使用的所有必需的初始信息或配置信息 portlet 编程模型将表示(portlet 的呈现)和逻辑(当某个动作发生时必须执行的操作)分为不同的 portlet 方法 portlet 容器负责调用 doView() 呈现方法来显示 portlet 并在 portlet 收到事件(如按钮单击或表单提交)时 负责调用 actionPerformed() 方法 Portlet 可以向用户提供几种模式 包括 Edit Configure 或 Help 从而向用户提供特定模式的接口 portlet 必须提供适当的呈现方法 如 doEdit 用于支持编辑模式 对于熟悉 servlet 的人员而言 portlet 开发非常相似 只是 servlet 的 doGet 或 doPost() 方法由 actionPerformed() 和 doXXX() portlet 方法取代 portlet 编程和 servlet 编程的另一个显著差别在于 PortletResponse PortletConfig 和 PortletContext 类的使用 这些类在现有的由 Java Servlet API 提供的 HttpServletRequest HttpServletResponse ServletConfig 和 ServletContext 类的基础上装饰(也就是提供)了附加的功能 最终的 portlet 如下所示 清单 计数器服务 portlet public class GridCounterPortlet extends AbstractPortlet public static final String VIEW_JSP = /jsp/ogsa/counter/view_counter jsp ; // Create a URL for the counter service private static final String counterUrl = FactoryService ; private LocatorType locator = null; private CounterPortType counter = null; public void init(PortletConfig config) throws UnavailableException super init(config); try // Create a grid service handle from the service URL URL GSH = new URL(counterUrl); // Get a reference to the CounterService Factory OGSIServiceGridLocator gridLocator = new OGSIServiceGridLocator(); Factory factory = gridLocator getFactoryPort(GSH); GridServiceFactory counterFactory = new GridServiceFactory(factory); // Create a new CounterService instance and get a refe cha138/Article/program/Java/JSP/201311/19127相关参考
用Portal来集成外部应用程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 随着Portal
用VisualC#动态生成组件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 通常在写程序的时候
jQuery弹性滑动导航菜单 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138/
使用C#构建带事件的签名ActiveX组件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使用C
.Net中的动态分层菜单 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一个三层菜单系统 除了
数据动态从数据库加载 usingSystemDataOleDb; publicpartialclassDefault:SystemWebUIPage
动态菜单项状态条提示工具条提示问题赵湘宁本文例子代码问题的提出 一个应用程序想要动态改变菜单项使用CCmdUI::SetText("MenuText")可
在PowerBuilder中实现动态菜单的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 曾
Javascript实现动态菜单添加的实例代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在注册
ASP.NET中不定级动态菜单的实现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!我们平时IEWe