论文部分内容阅读
随着云计算的兴起,软件的交付与使用模式正在发生着变化。作为云计算的一部分,PaaS平台为SaaS应用提供完整的开发、部署及运行环境。租户通过PaaS平台租用自己所需的SaaS应用,而且无需购买硬件设备和进行软硬件的维护。在一个开放式的电子商务PaaS平台上会存在大量的SaaS应用以供租户使用。在这止匕SaaS应用中,有很多应用具有相似或相同的功能,例如,很多在线网店都会具有搜索商品的功能。根据软件工程中基于构件的软件开发的原则,我们可以对这些“功能”进行复用,因此,本文将致力于研究在开放的电子商务PaaS平台上进行基于构件的SaaS应用构建的问题研究。在PaaS平台中进行基于构件的SaaS应用构建所涉及到的几个主要问题。第一,如何将可复用构件机制有机整合到PaaS平台上?第二,如何在PaaS平台上对构件进行管理?第三,针对SaaS应用的多租户特性,如何绑定构件才能更好的满足不同租户的SLA协议?在本文中,为了解决在PaaS平台中进行基于构件的SaaS应用构建所涉及到的几个主要问题,我们主要进行了一下工作。首先,为了将可复用构件机制整合到PaaS平台中,本文提出了一种加强型的电子商务PaaS平台,即在PaaS平台上增加了一层构件层。构件层负责构件的存储和调用。其次,为了更好的管理构件开发商所提交的大量构件和方便以后SaaS应用开发商检索自己所需的构件,本文提出了抽象构件的概念。抽象构件是对具有相似功能的构件的概括,它只涉及构件的抽象描述而没有具体实现。通过抽象构件与实体构件之间的相似度,我们将具有相似功能的构件聚类到同一个抽象构件之下。最后,不同租户往往会与SaaS应用提供商签订不同的SLA协议,在SLA协议租户指明自己所需要应用提供的服务质量。为了能够满足多租户的不同SLA请求,本文提出了构件的后期绑定策略,即在租户与SaaS应用提供商签订SLA协议之后根据其中的租户请求,选取合适的构件进行调用。在所有满足SaaS应用提供商的功能性要求的构件中选取一个满足租户SLA请求的构件需要综合考虑构件的多个QoS属性,即从多个QoS目标中选取一个最适合的构件供租户使用。SaaS提供商位于构件提供商与应用租户之间,不仅需要考虑满足租户的请求还要考虑如何使得自己的利益最大化。我们综合考虑了在构件中在存在满足租户请求和不存在构件满足租户请求的两种情况,如何选取合适的构件调用。本文最后进行了实验模拟,通过模拟实验来验证了基于抽象构件模型的构件管理和基于SLA的构件后期绑定的可行性。