网站大量收购闲置独家精品文档,联系QQ:2885784924

在WebSphereEnterpriseServiceBus中實现基于数据库的缓存模式.doc

在WebSphereEnterpriseServiceBus中實现基于数据库的缓存模式.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在WebSphereEnterpriseServiceBus中實现基于数据库的缓存模式

在 WebSphere Enterprise Service Bus 中实现基于数据库的缓存模式 简介: 学习如何通过使用一组额外的中介原语扩展已打包的原语,在 WebSphere ESB 中创建一种基于数据库的动态缓存模式。本文将介绍该缓存模式的架构,展示如何实现您自己的原语。 简介 根据已普遍被人们接受的 SOA 架构,SOA 基础架构中的集成层为其他组件提供了无状态服务。所以在任何 SOA 实现中,数据会流经后端与前端系统之间的集成层。依据这一方案,许多请求会反复访问相同的信息。因此,将数据缓存在集成层中是一种限制资源消耗和改善响应时间的有效方式。 在一个最新的项目中,作者面临着扩展简单的缓存模式的需求。集成层提供了服务,使一个基于门户的前端可支持用户使用滚动、过滤和排序等功能处理大量对象,同时将数据页面显示给他们。因为数据来自一个相对较慢的后端,所以缓存它很有帮助。但门户不能承载所有这些信息,因为它的每用户粒度会创建大量缓存的数据,进而显著影响性能。 因此,我们在集成层中实现了一个支持每用户粒度的数据缓存。为了实现对从后端检索的对象列表进行滚动、排序和过滤的功能,我们必须以一种有状态的、逐个用户的方式实现缓存,依据当前的 SOA 架构标准,这是一种罕见的模式。 本文将介绍此模式、基于它的解决方案,以及 IBM? WebSphere? Enterprise Service Bus(以下简称 WebSphere ESB)提供的基础技术。本文将介绍一个智能的、动态的、基于数据库的强大缓存模式,当与 IBM DB2 结合使用时,它使 WebSphere ESB 能将工作负载(尤其是处理元素列表的工作负载)从任何后端系统卸载掉。这个缓存解决方案所提供的价值在于,它能感知缓存的数据结构的语义,以便为调用方提供过滤、分页和排序机制。该缓存模式基于扩展预先打包的 WebSphere ESB 中介原语的能力,本文将概述如何开发您自己的中介原语。 为了充分理解本文,您应拥有使用 WebSphere ESB 的集成经验,基本了解 IBM DB2? 及其支持使用 SQL/XML 和 XQuery 语言对 XML 数据进行排序和查询的 pureXML 特性。 WebSphere ESB 基于数据库的缓存模式的概述和用途 WebSphere ESB 的基于数据库的缓存模式(称为有状态业务对象列表缓存)支持对包含一组业务对象的服务响应消息进行智能、有状态地缓存和反复检索,以便: 使基于浏览器的前端系统能够按页面检索数据集,对其进行过滤和排序,为最终用户提供更便捷的访问 最大限度地减少发送给后端服务和系统的请求数量 为了正常运行,WebSphere ESB 上的功能必须从调用方接收指定了数据检索条件的信息。因此,对有状态业务对象列表缓存的任何调用,必须包含用于检索已缓存业务对象列表的信息,服务请求方会将这些条件作为请求消息的一部分来进行传递。图 1 显示了对象 ResultRetrieveCriteria,表 1 详细描述了它的属性: 图 1. ResultRetrieveCriteria 业务对象 表 1. ResultRetrieveCriteria 属性属性名称 描述 pagingStartIndex 定义列表的开始索引,以便进行分页 pagingMaxResult 定义将返回以 pagingStartIndex 开头的列表中的多少个对象 sortField 定义将用于对该列表排序的字段。XPath 表达式必须是相对于响应对象中的列表根元素的路径。 sortASC 定义列表按升序 (true) 还是降序 (false) 排序 searchListName 定义响应对象中将应用于搜索的列表名称。 searchFields 将属性(nameXPath 和值)列表定义为搜索条件。属性名称的 XPath 表达式必须是相对于响应对象中的列表根元素的路径。 searchCombinationType 定义搜索组合类型。所有搜索条件都使用 AND 或 OR 链接。 缓存与图形用户界面 (GUI)(比如门户)结合使用,以显示对象列表和提供排序、搜索和分页等功能。WebSphere ESB 端缓存组件必须包含一个与前端系统的逻辑会话,才能将缓存的值与执行查询的用户相匹配。为了支持这种每用户粒度,每个缓存的元素由两个键标识(这两个键在结合使用时必须是惟一的): 缓存会话键 这个键用于某个实体(通常是一个用户)与资产之间的逻辑会话。该键的值应在为同一个用户创建的多个缓存条目中保持相同。可将前端会话的 HTTP 会话 ID 用于缓存会话键。 缓存条目键 这个键从业务数据视角惟一地标识缓存的元素。它可以包含请求业务对象的多个元素,这些元素的组

文档评论(0)

s4as2gs2cI + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档