OnStrategies公司首席分析师Tony Baer简短地总结了SOA生命周期需要承担的任务,他说:“我们要想方设法把事情搞定。首先,你要明确要求,收集需求条件,设计解决方案,然后对方案进行开发、测试、部署以及管理。在生命周期终止时,你需要修改方案或者更换方案。”
他补充道,SOA生命周期与传统应用程序生命周期的不同之处在于,管理SOA生命周期需要维持松耦合服务的秩序。
Burton Group公司研发主管Anne Thomas Manes表示同意:“实际上,SOA生命周期相当复杂。你可以想想服务生命周期,包括最初的身份认证阶段,及在最初的位置提供服务的承诺。”
Manes提出的SOA生命周期第一步有别于其他人提供的第一步。一开始,她会事先进行规划,得出创建服务及根据服务编写应用程序所需的费用预算。
“当你观察SOA项目的起始位置时,”她说,“你需要明确成为一项服务所需的条件。许多组织并没有仔细审查究竟应该在哪建立服务。目前,很多工作人员都没有事先进行规划。他们通常会说:‘我们获得了这项很棒的新技术。我们要将一切都设为服务。’他们并没有真正经历决策过程——明确哪些应该成为服务以及应该在哪付出努力。决定哪些成为一项服务是生命周期中非常重要的一个方面。
Macehiter Ward-Dutton公司研发主管Neil Ward-Dutton从了解SOA应用程序的情景开始,全面地阐述了SOA生命周期。
“在我们看来,SOA生命周期可以从企业架构和商业架构等情景理解开始,通过服务分析和建模向各方面拓展。建模不仅仅和功能性事件相关,还与安全、性能、审计等非功能性的事件相关。然后就有了开发、测试、供给、监测和改变管理。即使你的想法局限于从应用程序开发的角度来看SOA,这也提供了前所未有的考虑方式。例如,你需要考虑采用一致性方法来建立商业服务,这样的话非功能性事件也可以与基础架构服务的运行时间保持一致。”
ZapThink LLC公司的主分析师Jason Bloomberg认为可以在服务中找到SOA生命周期和传统应用程序生命周期的主要区别。
“SOA生命周期的主要挑战在于,实际中有两套彼此交叉的生命周期在运行。”
Bloomberg说,“一方面,你依然拥有传统的软件生命周期,此时服务是运行软件的接口。你必须采用以代码形式编写的软件。那就是传统的软件生命周期。但是,现在你还拥有服务生命周期,在元数据级中发生作用。在你更新服务、创建服务及重新配置服务的时候,服务生命周期又发生在不同的级别上,因为除非在软件中,否则它就不涉及新的编码过程,但我们的目标是要在元数据级中完成这些变化。”
因而,面向服务需要一种新的生命周期,能将注意力集中于元数据和注册表/存储库的内容。
“SOA架构设计部分的关键在于建立和维持服务抽象。” Bloomberg说,“一方面,服务是软件的接口,你必须运行相关软件。另一方面,服务是商业能力的抽象表征,企业将这种能力融合在进程中。所以你还需要支持软件的抽象概念,支持其成为企业元数据,使企业变得更加灵活,这是SOA的主要目标之一。”
SOA基本生命周期
Current Analysis LLC公司应用程序基础架构主分析师Bradley F. Shimmin提出,利用服务建立应用程序的基本SOA生命周期需要八个主要步骤。有些方面与其他分析师提出的步骤不一致,但没有本质区别,因此我们从这里开始讲。
利用服务建立SOA的八个步骤
收集数据:包括收集企业需求和使用案例
设计:包括明确服务需求、设置服务策略、建立一致性任务、建立并测试模型以及构造数据集成
发展:包括开发服务、根据服务编写应用程序
质量保证/测试/认可
部署
监测/管理
变化
退休
谈到这个纲要时,Shimmin说:“我把它看成是梯子上的梯级,通向生活中确实存在的某些东西。你必须从某个地方开始,然后又在某个地方结束。生命周期始于企业分析师从企业中收集信息,这些信息主要是关于应用程序和服务的需求条件。”
Shimmin说,信息因公司而定,但是企业分析师通常需要创建一份需求文件,里面有各种使用案例。就像用户需要检查银行财务状况一样,使用案例可以很简单。企业分析师会提供生命周期需要承担的详情。这与最终的应用程序没有关系,只是涉及需求条件和具体使用案例之间的关系。
Shimmin说,在收集阶段,企业分析师会给IT人员和系统架构师带来各种需求条件和使用案例。他们一起工作,明确如何将需求条件转化为最终的软件。从这个角度讲,传统应用程序生命周期和SOA生命周期之间存在很大区别。
文章来源于领测软件测试网 https://www.ltesting.net/