
使用IBM中间件实施SaaS解决方案,第1部分
GermánGoldszmidt和Indrajit Poddar
2008年6月16日发布
使用+ ibm +中间件实施+ saas +解决方案
请期待本系列的后续内容.

请期待本系列的后续内容.
从单个软件共享实例向多个客户组织(或租户)交付软件的能力是Web交付解决方案的一项重要要求. 例如,假设有一个由银行服务提供商作为服务提供的简单银行应用程序. 在这种情况下,多租户是指能够从一个银行应用程序的单个共享实例向多个银行提供银行服务的能力. 图1说明了从共享应用程序服务器,,操作系统和物理服务器向两个银行(北卡罗来纳州第一银行和加拿大第二银行)提供的多租户银行服务.

多租户的主要优势是成本效率. 在租户之间共享软件,硬件,应用程序开发和维护成本可以减少每个租户的成本. 而且,在租户之间共享应用程序的单个实例还可以提供其他好处,例如,在升级应用程序时,所有租户都可以同时升级.
但是,多租户也会带来潜在的问题,例如:

尽管可以使用多种方法来构建多租户架构,但本文主要介绍可以共享中间件和的单个实例并在多个租户应用程序之间共享的技术.
其他多租户方法包括操作系统(OS)级虚拟化. 例如,VMWare,Xen或OpenVZ允许操作系统的多个虚拟实例在共享硬件实例上运行. 每个虚拟操作系统实例可以为不同的租户执行软件. 另一种方法是为每个租户建立操作系统级别的边界. 例如,每个租户的应用程序都可以在IBMWebSphere®Application Server的新实例(不同的操作系统进程)中运行.
针对多租户应用程序的技术挑战可以根据面临这些挑战的主要组织和角色进行分类: 解决方案开发人员和服务提供商.
解决方案开发人员面临的技术挑战包括:
租户预设: 如何自动执行新的租户预设?例如,如何使用很少的手动步骤(即,如何自动执行诸如创建新的LDAP子树或,创建新的虚拟门户网站,部署Portlet的新实例以及注册新的IBM DB2 XML之类的步骤. 模式)以引入新的银行(例如Fairfield Trust Third Bank)?基于使用量的度量: 如何记录服务的使用量,以便仅根据服务的使用量向每个租户收取?例如,一家银行服务提供商管理员如何衡量租户北卡罗来纳州第一银行和加拿大第二银行的服务使用情况,以及他们的客户要求贷款申请服务的次数是多少?

服务提供商面临的技术挑战包括:
您可以应用多种SOA技术来解决与多租户相关的技术问题.
图3显示了入门级和企业级产品组件中不同的IBM中间件产品如何处理这些功能层.



基于以上文章和演示,本系列文章描述了一些使用IBM中间件构建多租户应用程序的高级技术. 例如,其中一篇文章将演示如何在WebSphere Process Server的共享多租户工作流中隔离人工任务. 另一篇文章将描述如何使用Tivoli Usage and Accounting Manager提供基于使用情况的度量和计费解决方案.
在租户之间共享模型时,自定义每个租户的数据字段是一个难题. 本系列的后续文章将评估一组模型,这些模型可以通过多种方式解决这些问题,包括性能,管理和可伸缩性. IT还展示了一些改善可管理性的技术,例如,当在所有租户之间共享模型时,如何适应租户特定数据的备份和恢复. 使用IBM WebSphere Enterprise Service Bus,IBM WebSphere Business Services Fabric或IBM WebSphereDataPower®SOA设备快速为现有Web服务启用多租户: 服务提供商可能需要快速为现有Web服务启用多租户. 为了从头开始多租户,在现有实现中进行代码更改可能需要大量工作. 但是,您可以基于中间件构建中间层,以便来自不同租户的服务请求支持不同的Web服务端点. 在此示例中,无需修改现有的Web服务实现. 本系列的后续文章将演示如何使用WebSphere Business Services Fabric,WebSphere Enterprise Services Bus和WebSphere DataPower SOA Appliances来实现此模式.
在大型企业中,第三方SaaS服务呼叫通过中央中介层进行路由: 企业IT部门可以使用中央中介层来路由来自组织中不同部门的所有第三方服务呼叫. 这样的中间层可以提供其他功能ibm websphere应用服务器程序设计,例如授权,监视和服务使用度量. 本系列的后续文章将演示基于企业服务总线(ESB)的托管模型如何满足此类需求. 使用IBM WebSphere Application Server扩展版来扩展入门级中间件并改善硬件的使用: 刚开始时,常常没有充分考虑可伸缩性要求. 随着这些要求变得越来越重要,服务提供商经常使用大量低成本的小型服务器进行扩展. 但是,扩展可能会导致其他问题. 例如,这种方法可能会导致以下任何问题: 将应用程序与其他租户隔离,并使用WebSphere Application Server Extended Edition支持特定于租户的QoS要求: 通过利用IBM WebSphere Extended Deployment中的服务器隔离策略,在运行其他服务器时租户的应用程序在共享硬件中,服务提供商可以将租户的应用程序隔离到专用硬件. 另外,解决方案开发人员可以使用WebSphere Extended Deployment中的WebSphere Partitioning Facility功能的编程模型来构建支持多租户的应用程序. 随后的文章将演示如何使用WebSphere Extended Deployment支持特定于租户的QoS要求以及针对多租户的分区应用程序.
可伸缩的多租户是Web交付(SaaS)解决方案的一项重要要求. 但是,构建多租户解决方案需要解决一些技术难题. 使用IBM中间件,解决方案开发人员和服务提供商可以构建和部署可伸缩,可自定义和可管理的具有成本效益的多租户解决方案. 本系列文章将介绍几种相关的IBM中间件功能和技术ibm websphere应用服务器程序设计,并描述如何应用它们来解决上述技术问题. 请继续关注!
IBM developerWorks SOA和Web服务专区提供了大量文章,以及有关如何开发Web服务应用程序的基础,中级和高级教程. 试用IBM SOA沙箱!通过IBM SOA进行实践练习,以提高您的SOA技能. IBM SOA网站提供了SOA的概述,并描述了IBM如何帮助您实现SOA. 访问Safari书店,浏览有关这些技术主题的书籍以及更多内容.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-248924-1.html
早上喝两包压压惊