正 文

面向服务的用户界面


www.7dspace.com  更新日期:2005-11-30 1:31:51  七度空间


  上图展示了这一差异。左边是典型的面向数据的 Web 服务,它提供了无格式的数据;它必须完全依赖于客户端的呈现代码来表示数据。(这意味着需要在客户机上安装和管理客户端应用程序组件。)右边是 WSRP 服务;它的分布式表示逻辑将表示任务分成:

  生成标记语言。
  将标记片段聚合成一个 Web 页面(没有显示)。
  通过标准客户端容器呈现标记语言。

  WSRP 示例

  清单 2 展示了一个通过简单对象访问协议(Simple Object Access Protocol,SOAP)从 WSRP 使用者发出的 WSRP getMarkup 请求的示例。

  清单 2. 通过 SOAP 发出的 WSRP GetMarkup 请求

<?xml version="1.0" encoding="UTF-8"?>
   <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"    
   xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soapenv:Body>
         <getMarkup xmlns="urn:oasis:names:tc:wsrp:v1:types">
            <registrationContext>
               <registrationHandle>192.168.66.57_1096235652731_0</registrationHandle>
            </registrationContext>
            <portletContext>
               <portletHandle>0.1</portletHandle> 
            </portletContext> 
            <runtimeContext>  
               <userAuthentication>wsrp:none</userAuthentication>  
               <portletInstanceKey>ProxyTest_row1_col1_p1</portletInstanceKey>  
               <namespacePrefix>Pluto_ProxyTest_row1_col1_p1_</namespacePrefix> 
            </runtimeContext> 
            <userContext>  
               <userContextKey>dummyUserContextKey</userContextKey> 
            </userContext> 
            <markupParams>  
               <secureClientCommunication>false</secureClientCommunication>  
               <locales>en</locales>  
               <locales>de</locales>  
               <mimeTypes>text/html</mimeTypes>  
               <mode>wsrp:view</mode>  
               <windowState>wsrp:normal</windowState>  
               <clientData>   
                  <userAgent>WSRP4J Proxy Portlet</userAgent>  
               </clientData>  
               <markupCharacterSets>UTF-8</markupCharacterSets>  
               <validNewModeswsrp:view</validNewModes>  
               <validNewModes>wsrp:help</validNewModes>  
               <validNewModes>wsrp:edit</validNewModes>  
               <validNewWindowStates>wsrp:normal</validNewWindowStates>>  
               <validNewWindowStates>wsrp:maximized</validNewWindowStates>  
               <validNewWindowStates>wsrp:minimized</validNewWindowStates> 
            </markupParams>
         </getMarkup>
      </soapenv:Body>
   </soapenv:Envelope>< xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">< validNewModes> 

  WSRP 生产者对这个请求的响应是 HTML 片段,使用者(通常是门户)可以将其聚合成一个完整的文档,例如门户页面。

  不是将每个应用程序或 Portlet 部署到有意使用它的每个服务器上,而是跨网络边界共享应用程序,这具有明显的优势。WSRP 支持:

  更简单的管理——门户管理员可以浏览要提供的 WSRP 服务的注册中心,而不是管理可插入组件的本地部署。用户受益于及时使用随需应变的新服务和内容集成。

  负载分配——跨多个服务器分配负载。

  减少基础设施成本——应用程序可以共享承载的基础设施。例如,只分配后端银行应用程序的表示层(通过 WSRP)保护了应用程序提供者的安全计算环境,而与此同时,用户仍可以与共享的 UI 进行交互。

  控制内容表示——在门户重新分配内容时,内容和应用程序提供者可以极大地扩展新用户的范围。

  门户:面向服务的 UI 的动态集成

  门户的视图层将多个后端服务的 UI 集成为一个集中管理的 UI,这样可以统一分离的 IT 基础设施,并通过控制单一的 UI 向用户提供 IT 服务的单一视图。最初分开设计的应用程序可以连接起来构成组合应用程序,用于支持新的功能。例如,连接到协作 Portlet 的电子邮件 Portlet 可以过滤收件箱,使仅当寄件人在线并可以聊天时才显示所收到的电子邮件——这种能力是这两个原始应用程序所不具备的。

  这种 portal 模型的重要意义在于改善了随需应变业务 (On Demand Business) 的敏捷性。管理员成为应用程序集成者,定义新的页面,向它们添加 Portlet,将 Portlet 连接在一起并设置权限(访问控制)——不用编程——来创建新的组合应用程序。自服务的门户使用户可以改变他们的工作环境,以适应他们独特的需求。门户体系结构解放了应用程序开发人员,使其能够全神贯注地创造新的业务价值。

  将来,门户甚至能够集成组合服务,因而能够在更高的层次上聚合 UI。门户可以无缝地与来自其他门户的内容相集成,从而提供水平的、企业级的内容集成。

  总结

  使用门户/Portlet 体系结构,将 SOA 概念应用到用户界面,并委派公共的软件生命周期功能给 UI 容器,这改善了软件开发人员的时间价值 (time-to-value)。WSRP 标准通过 Web服务交付 UI 组件,为内容提供者和内容使用者提供便利,从而在不用进行任何编程的情况下支持某种类型的应用程序集成。

3页,页码:[1] [2] [3] 

上一篇:Word入门动画教程37:文本的选定
下一篇:使用ActiveBPEL编排、控制Web Services
作者:Stefan Hepper  来源:developerWorks 中国 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐