用户名: 密码: 验证码:
支持服务协同的PaaS平台中服务动态演化方法研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着软件技术和网络技术的不断成熟,软件的交付模式、应用模式、产品形态和商业模式都产生了巨大的变化,软件已经成为一种服务(Software as a service,SaaS)。用户本地不再需要安装任何软件,按需定制,无须维护,在线更新,并且采用免费或者按需付费的租赁商业模式。采用软件即服务(SaaS)的交付、部署、运营和使用模式正在得到越来越广泛的关注和认可。与此同时,以分布式计算、虚拟化为代表的云计算技术促进了新型软件架构及相关技术的快速发展,为SaaS服务提供了更广阔的应用前景,使得根据用户需求的不同以SaaS模式定制个性化的面向云计算的应用服务成为可能。然而,云计算环境下的SaaS服务在应用推广的过程中面临一个巨大挑战,即缺乏统一的支撑平台。如现有的SaaS应用还不能很好的支持租户规模的动态扩展和伸缩,而设计和实现支持这种多租户特性的技术却是十分复杂的,这严重阻碍了SaaS服务的大规模应用推广。为此,出现了一些面向云计算的平台化服务,为SaaS应用生成商提供了一个集开发、部署、集成、设计、存储、操作于一体的平台及环境,我们称之为PaaS平台。该平台为SaaS应用提供了一种新型的面向云计算的交付、部署和使用支撑环境和工具。但是,目前对于PaaS平台的研究大多集中在单一应用的定制、交付、使用和部署等方面,缺乏对协同应用的支持,这不符合大型网络应用网络化、协同化、跨域化的发展趋势。同样,开发、管理、支撑这样一个大型协同应用非常复杂,具备这种能力的软件生产企业并不多。
     为此,本文提出一个支持服务协同的PaaS平台,该平台提供一种新型面向云计算的协同应用开发,交付、部署,定制和使用模式,基于支持服务协同的PaaS平台,专业化服务提供商只需关注自己服务的具体实现,而无需考虑协同应用底层技术实现,如一些分布式服务调用、应用跨域协同、协同应用适配等关键技术实现。通过支持服务协同的PaaS平台提供的各种工具和技术支撑,服务集成商和行业用户可以快速、正确的构建协同应用。
     基于上述应用模式,支持服务协同的PaaS平台将汇聚众多专业化的软件服务资源,这些服务资源是构建及定制大型协同应用的基础,行业服务解决方案提供商和集成商可以对服务资源进行组合编排形成跨域协同服务,而最终行业用户可以在此基础上对协同服务进行个性化定制,从而满足自身业务需求。
     由于交付部署在支持服务协同的PaaS平台上的软件服务可能来源于不同的软件服务提供商,一旦服务提供商对某个软件服务的业务逻辑或是内部服务流程进行调整,就可能对整个协同应用的协同关系及其协作运行造成影响,我们称这样的变化为支持服务协同的PaaS平台中服务动态演化问题。该服务演化问题不同于传统的服务及服务流程演化问题,主要表现在:1)PaaS平台中软件服务协同演化影响问题。由于部署在PaaS平台中的服务来自不同的提供商,因此对服务流程进行调整不仅会影响该服务本身,而且会对整个协同应用也带来一定的影响,如何计算和衡量影响的大小以及如何将演化影响控制在一定的范围内成为演化影响分析的关键问题。2)PaaS平台中软件服务协同演化传播问题。一旦某个服务提供商对服务流程进行调整,协同应用的其他服务是否需要进行相应调整是我们进行演化传播的前提,如果协同应用中的其他服务流程需要进行相应的调整,如何自动高效的进行变化传播是我们关注的重点。3)PaaS平台中协同服务运行实例迁移问题。PaaS协同应用中服务的演化往往发生在协同应用的执行过程中,因此,一旦服务流程由旧模式演化到新模式后,那些仍运行在旧模式下的流程实例将无法正确的执行下去,所以我们需要考虑如何将运行实例尽量多的正确的迁移到新模式下继续运行。
     本文针对支持服务协同的PaaS平台中服务动态演化问题开展深入研究。首先提出了支持服务协同的PaaS平台的体系结构并对每个功能模块以及平台提供的工具和技术进行阐述。然后针对上述支持服务协同PaaS平台中服务流程演化存在的问题给出了整体的解决方案,主要分为以下几个部分:
     1、针对PaaS平台下分布式协同应用间流程的演化影响问题进行量化分析。在服务协同环境下,一个应用的流程结构发生变化会对依赖该应用的其他应用造成一定的影响,这个影响如何量化表示就成了关键问题,我们提出了一种可以量化表示演化影响的方法,使演化影响可以控制在成本较低的范围之内。
     2、针对PaaS平台下分布式协同应用间流程演化问题提出演化自动传播技术。当分布式协同模式中一个应用中的流程发生变化,是否会影响到其他应用,受影响的其他应用如何进行演化适配,并尽可能使该适配过程自动完成,这就是变化传播所要解决的问题,在这一技术中,我们提出了一系列有限自动机的操作集来完成变化传播的自动适配。
     3、针对PaaS平台下运行实例动态迁移问题提出实例动态迁移技术。当一个流程从旧模式演化为新模式时,在旧模式下运行的大量实例将面临无法继续正确执行的问题,我们提出了一系列实例动态迁移标准来最大限度的区分可迁移实例与不可迁移实例,并分别对其进行迁移处理。
     本文研究成果是支持服务协同的PaaS交付平台中流程演化分析的核心技术,对于流程动态演化的各个阶段都有重要的指导意义,具有较广阔的应用前景。
With the software and network technology develops to mature, the model of software delivery, application, product form and business model has made dramatic changes, the software has become a service (Software as a service, SaaS). Users no longer need to install any of the local software, they custom the software on-demand, update it online, need no maintenance, and use it with the rental business model which is for free or for subscription. SaaS as a delivery, deployment, operation and use patterns are astracting more and more attention and recognition. At the same time, the conception of Cloud Computing with the features of distribution and virtualization has promoted the rapid development of new type of software pattern architecture and related technology, it also provide a wider prospects for SaaS application, which makes the users customize the personalized SaaS services as possible. However, the promotion of SaaS services application process in Cloud Computing environment is facing a great challenge, namely the lack of unified support platform.For example, some existing SaaS applications can not well support the dynamic expansion and scale of tenants. But the design and implementation of the technology to support the multi-tenant properties is very comples, which seriously hindered the large-scale application and popularization of SaaS services.Therefore, a number of PaaS platform has realized to support SaaS application delivery and deployment. PaaS platform provides such a development, deployment, integration, design, storage, operating in one of the platform and environment. However, the current study for PaaS platforms are mostly concentrated in supporting the custom, delivery, use and deployment of a single application, they alll lack the support for collaborative applications, which do not meet the large-scale network applications' development trend of networking, collaboration and the cross-domain. Similarly, the technology of development, management and support such a large-scale collaborative applications are very complex, Therefore, in our paper, we promote a PaaS platform which support the services collaboration. This platform provide a new type of software pattern to support the development, delivery, deployment, customization and use of the collaboration of SaaS services. The services provider do not need to pay attention to the complex underlying implementation technology, they just need to focus their own services. With the variety of tools and technical support provided by the platform, we can build the collaborative applications in a quick and correct way.
     Based on the application mode above, the platform will bring together many professional software services resources which are the basis for building the collaborative applications.Industry service providers and integrators can arranged and combined these services to form form multiple cross-domain collaboration service, and the ultimately industry users can customize the services to meet their individual needs. However, the services deployed on the platform may come from different software providers, once a provider need to change the business process of one service, it would make some impacts on the collaboration and running of the collaborative application. We call this situation as the services dynamic evolution problem on PaaS platform which support the services collaboration.The services evolution problem needs to focus on such respects: 1. Impact of service evolution. The changes on one service not only impacts the application but also impact some other applications. How to compute this impact and how to assure the impact under the control become the key issue.2. Change propagation. When we change the process structure, we need to consider whether other collaborative applications may suffer the change impact. We also need to provide a automatic propagation technology.3. Running instances immigration. The services evolution occur in the execution of collaborative applications. Once the process schema migrates from the old pattern to the new one, the running instances under the old schema need to migrate to the new one, how to assure the correctness of immigration is the key issue.
     Therefore, we provide a PaaS architecture and description of the models of the platform. Then we solve the problem brought by the evolution of the applications in PaaS delivery platform such as the change impact analysis and automatically resolve application process change propagation depends on the impact of other issues, and the migration of running process instances. The main work of this paper are:
     1. The quantitative analysis of the distributed processes evolution of collaborative applications in PaaS platform. The processes evolution can be divided into many category such as the evolution of the process structure, protocol-driven business evolution, policy-driven and behaviour-driven evolution and the evolution of operational, the major concern of our paper is the structure evolution which is the most complex and most critical question. Under the collaborative environment, an change in one process structure of an application will impact other applications who depend on the application, how to describe the impact into a quantitatively number become the key issue, we provide an evolutionary effects analysis method which make the impact expressed in quantitatively and can limit and control the evolution in lower-cost range.
     2. We provide the change propagation method for the evolution of inter-process of distributed collaborative applications in PaaS platform. When the process of an application in distributed collaborative model need to change, it will affect other applications, how will other affected applications make the relative adjustment to realize the adaption as much automatically as possible become the key problem. We provide a range of operations of finite automata to complete the change propagation in an automatic way.
     3. We provide a on-line migration method for running instance of processes. When a process is changed from the old schema to the new one, running instances under the old model will face the problem that they may not continue to run correctly in the new schema, how to make a smooth migration of the old instance to the new model become the major problem. we use state of the path to find a way to determine the instance of the point and the migration path of the migration, so that dynamic migration of running instances.
     This research focus on the key techniques in the evolution of distributed collaborative processes of applications in PaaS delivery platform which provide the guide for the entire life cycle of service processes and has a wide application prospects.
引文
[1]John W.Rittinghous, James F.Ransome. Cloud Computing:Implementation, Management, and Security. Taylor & Francis CRC Press.2010
    [2]Rajkumar Buyya,Chee Shin Yeo,Srikumar Venugopal, et. al, Cloud computing and emerging IT platforms:Vision, hype, and reality for delivering computing as the 5th utility, Future Generation Computer Systems 2009
    [3]Yu Chen Zhou, Xin Peng Liu, Xi Ning Wang. Business Process Centric Platform-as-a-Service Model and Technologies for Cloud Enabled Industry Solutions,2010 IEEE 3rd International Conference on Cloud Computing
    [4]Chris Anderson. The Long Tail: Why the Future of Business is Selling Less of More [M]. ew York:Hyperion Books,2006.
    [5]Papazoglou, Mike P. "The Challenges of Service Evolution"Lecture Notes in Computer Science, v 5074 LNCS, p 1-15,2008, Advanced Information Systems Engineering-20th International Conference, CAiSE 2008, Proceedings
    [6]Shuying Wang, Miriam A.M. Capretz, "A Dependency Impact Analysis Model for Web Services Evolution," icws, pp.359-365,2009 IEEE International Conference on Web Services, 2009
    [7]Andreas Wombacher, "Alignment of Choreography Changes in BPEL Processes," scc, pp.1-8, 2009 IEEE International Conference on Services Computing,2009
    [8]S. Rinderle, A. Wombacher, and M. Reichert. Evolution of process choreographies in DYCHOR. In R. Meersman and Z. Tari, editors, OTM Conferences (1), LNCS 4275,273-290, 2006.
    [9]Ryu, S.H., et al.:Supporting the dynamic evolution of web service protocols in service-oriented architecturesl. ACM Transactions on the Web 1(1),1-39 (2007)
    [10]宋巍,马晓星,胡昊,吕建.过程感知信息系统中过程的动态演化.软件学报,2011,22(3):417-438
    [11]Chang, Carl K.1; Jiang, Hsin-Yil; Ming, Hual; Oyama, Katsunoril.Situ:A situation-theoretic approach to context-aware service evolution Source:IEEE Transactions on Services Computing, v2, n 3, p 261-275,2009
    [12]Wang, Mi Cui, LiZhen. An Impact Analysis Model For Distributed Web Service Process.Computer Supported Cooperative Work in Design (CSCWD),201014th International Conference on.351.10.1109/CSCWD.2010.5471950
    [13]Z. Zou, R. Fang, L. Liu, Q. Wang, H. Wang, "On Synchronizing with Web Service Evolution ", Proceedings of the 2008 IEEE International Conference on Web Services, pp 329-336,2008.
    [14]S. Ponnekanti, A.Fox."Interoperability among Independently Evolving Web Services", Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware, pp.331-351,2004.
    [15]P. Leitner, A. Michlmayr, F. Rosenberg, S. Dustdar, "End to-End Versioning Support for Web services",2008 IEEE International Conference on Services Computing,2008.
    [16]S. S. Yau, J. S. Collofello, and I. MacGregor, "Ripple Effect Analysis of Software Maintenance", IEEE Computer Society Press:Piscataway NJ, pp.60-65.1978.
    [17]S. Black, "Deriving an approximation algorithm for automatic computation of ripple effect measures", Information and Software Technology, Vol.50, pp.723-736,2008.
    [18]S. A. Bohner, "Software Change Impacts:An Evolving Perspective", Proceedings of the International Conference on Software Maintenance (ICSM'02),2002.
    [19]T. J. McCabe, "A Complexity Measure", IEEE Transactions on Software Engineering, Vol. SE-2, No.4, December 1976.
    [20]R.AlurandP.Madhusudan. Adding nesting structure to words. In O.H.I barraand Z.Dang.editors, Developments In Language Theory, LNCS4036,1-13,2006.
    [21]R.AlurandP.Madhusudan.Adding nesting structure to words. Journal of the ACM,page 45,2009
    [22]I.Chebbi,S.Tata,and S.Dustdar. The view-based approach to dynamic interorganizational workflow cooperation. TR TUV-1841-2004-23,TUVienna,2004.
    [23]P.Grefen. Towards dynamic interorganizational business process management.In Proc. Of the 15th Int'LWSon Enabling Technologies:Infrastructures for Collaborative Enterprises (WETICE'06),2006.
    [24]J.E.Hopcroft, R.Motwani, and J.D.Ullman. Introduction to Automata Theory, Languages, and Computation. Addison Wesley,2001.
    [25]C.Li,M.U.Reichert,and A.Wombacher. Discovering reference process models by mining process variants.In ICWS'08,45-53,2008.
    [26]S.Rinderle, A.Wombacher, and M.Reichert. Evolution of Process choreographies in DYCHOR. In R.Meersman and Z.Tari,editors, OTM Conferences(1), LNCS4275,273-290,2006.
    [27]W.van der Aalstand T.Basten. Inheritance of workflows:An approach to tackling problems related to change. Theoret.Comp.Science,270(1-2):125-203,2002.
    [28]A.Wombacher. Decentralized decision making protocol for Service composition. In ICWS, 2005.
    [29]A.Wombacher, P. Fankhauser, B.Mahleko, and E.Neuhold: Match making for business processes based on choreographies. IJWS,1(4):14-32,2004.
    [30]A.Wombacher, P.Fankhauser.and E.Neuhold. Transforming BPEL into annotated deterministic finite state automata enabling process annotated service discovery.In ICWS,316-323,2004.
    [31]AHMED,A.2006.Management of the impact of change of Web service protocols.Internship report, National Institute of Applied Sciences, Lyon
    [32]S.Rinderle, M.Reichert, and P.Dadam. "Correctness Criteria For Dynamic Changes in workflow Systems-ASurvey" Data Knowl. Eng., vol.50,no. l,pp.9-34,2004.
    [33]R.J.van Glabbeek and U.Goltz." Refinement of Actions and Equivalence Notions for Concurrent Systems" ActaInf. vol.37, no.4/5, pp.229-327,2001.
    [34]A.K.A.de Medeiros, W.M.P.van der Aalst,and A.J. M.M.Weijters,"Quantifying Process Equivalence based on Observed Behavior." Data Knowl.Eng.,vol.64,no.l,pp.55-74,2008.
    [35]B.F.van Dongen, R.M.Dijkman,and J.Mendling,"Measuring Similarity between Business Process Models," in CAiSE,ser. Lecture Notes in Computer Science,Z.Bellahsene, vol.5074. Springer,2008, pp.450-464.
    [36]B.F. Van Dongen, J.Mendling,and W.M.P.van der Aalst,"Structural Patterns for Soundness of Business Process Models," in Tenth IEEE International Enterprise Distributed Object Computing Conference (EDOC2006),16-20October2006, HongKong, China. IEEE Computer Society,2006, pp.116-128.
    [37]G.Rull,C. And T.Urp "Validation of mappings between Schemas," Data Knowl. Eng., vol.66, no.3,pp.414-437,2008.
    [38]Ryu, Seung Hwan; Casati, Fabio; Skogsrud, Halvard; Benatallah, Boualem; Saint-Paul, R6gis Supporting the dynamic evolution of Web service protocols in service-oriented architectures. ACM Transactions on the Web, v 2, n 2, April 1,2008
    [39]NannetteLiskel,NielsLohmann2,ChristianStahl,andKarstenWolf, Another Approach to Service Instance Migration.Humboldt-Universtit"at zuBerlin, Institutf urInformatik, Unterden Linden6,10099 Berlin, Germany

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700