科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道重新审视:SOA的双重含义及评估工具

重新审视:SOA的双重含义及评估工具

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

为了确定,如果SOA是正确的,为你的开发组织,你必须先了解清楚到底什么是SOA---SOA怎么影响软件开发以及最佳实践行为和管理的重要性。

作者:Jerry Smith 来源:支点网 2008年5月21日

关键字: 中间件 SOA DCE

  • 评论
  • 分享微博
  • 分享邮件

    SOA不但改变了系统开发的方式,而且还改变了系统开发者的身份。与传统架构不同---业务流程和功能几乎都是通过开发商实施的---而在SOA的影响下,新的商业活动或对现有做法改变往往可以直接从从商业分析师建模活动开始实施。

  为了确定,如果SOA是正确的,为你的开发组织,你必须先了解清楚到底什么是SOA---SOA怎么影响软件开发以及最佳实践行为和管理的重要性。

  SOA作用

  尽管SOA被大肆宣传和媒体的广泛关注,但是,人们对SOA的了解还远远不够,SOA基础知识宣传还是很有必要的,很多咨询者们询问德问题都很简单,比如:SOA到底是什么?它能给我们的公司带来什么好处?我们怎么才能知道SOA是不是适合我们?最后,如果使用SOA,我们又应如何着手?

  简言之,SOA只是现有的许多发展架构中的一个,就像面向对象,面向资源或面向消息的架构一样。考虑到现有这些架构模式未来的自然发展,SOA基于服务来搭建企业系统。

  企业采用SOA的主要驱动力是希望建立更加灵活的系统,以支持由新的顾客需求和越来越激烈的竞争造成的不断变化的业务动态。更具体地说,SOA就是改动后端系统同时允许前端服务维持原状的纽带,也就是说让前端业务系统独立于技术。

  从SOA得到得第一个好处就是能够认识到可以合理预期的结果。把SOA看作开发软件一种架构,SOA能提供的不仅仅是一个简单的解决相关的开发成本、质量和收入问题。它还可以帮助企业使用加更灵活的应用软件支持新的伙伴关系,推动新的收入流,不断取得新的成果,从封闭、僵化的应用中创造自由,从而不断取得创新。

  评估工具

  许多企业认为他们将收益于SOA,往往这些企业不会使用评估工具。虽然对如何部署完美的SOA没有硬性规定,但是,评估一个企业是否已经做好部署SOA,还是有一些大众普遍指导方针:

  明确定义的服务:公司必须能够将业务分解为明确定义的服务。如果你不能确定你的服务,那么你不需要SOA。

  衡量时间与商业价值:如果SOA创建的服务需要花费的工作量要明显地多于它的价值,那么SOA不适合你。服务的价值不是来自它们本身被创建的方式,而是通过扩展使用获得商业利益来实现的。

  企业将受益利于从SOA评估工具,这些可以帮助你确定降低风险和增加机遇的关键组织和技术方面的要素;这些评估可以用来帮助你找出潜在的可改进的领域,将它同成熟的SOA模型配合使用可以定为你今后努力的重点。

  SOA是否准备就绪,是由一些重点领域,比如SOA管理规则,软件开发生命周期与结构等来决定的。将上述评估结合业务就绪评估,其中包括商业赞助,战略与SOA意识,公司能够决定自己的SOA成熟水平。

  推翻传统的开发观念

  SOA不但改变了系统开发的方式,而且还改变了系统开发者的身份。与传统架构不同---业务流程和功能几乎都是通过开发商实施的---而在SOA的影响下,新的商业活动或对现有做法改变往往可以直接从从商业分析师建模活动开始实施。

  在业务流程规划的过程中,新的工作流程,可以通过改变业务流程执行语言(BPEL)来获得。这更多的是一个业务方向的配置,而不是业务代码的定制。

  但同样重要的是需要注意,除了对需求分析、设计、测试以及服务的改变有必要加以明确定义外,还要注重性能和可靠性。然而,对服务的可靠性和稳定性的要求对测试提出了很大的挑战。

  在传统的软件开发过程中,代码测试很容易,但是大范围的测试其交互作用就很困难。随着在某一个特定的环境中创建的服务的个数的增加,这些服务潜在的相互作用将会以指数增加。这些复合系统可能会发展到这样一个程度:一个新的行为可能与预期的大不相同。

  现在,SOA正在进入第二个发展阶段,该阶段它由更加动态的环境所支持,这些动态环境主要依赖于侧重于功能性方面业务流程的BPEL。越来越多的应用程序和系统客户端本质上变得越来越动态性,包括那些处于严格管制,面向事务的环境中的应用程序和系统客户端,他们希望为其结构化的计算环境寻求一个更现代的架构。

  SOA 和BPEL可以帮助将工作流融入一个分布式的服务环境中。因此,在含有模块化组件的面向工作流的环境中,会有越来越多有趣的机会,同时还要处理规则和外部管理方面面临的问题。

  从管理开始的最佳做法

  正如前面所说的那样,SOA正在更广泛地被使用,主要原因是它除了可以预计最好的上市时间和降低成本效外,还可以提供敏捷性和灵活性。对于一个真正的商业级别的SOA实例,独立软件开发商需要管理---明确一致的用于定义、衡量和监督工作指导方针。最终,这些举措使开发人员来分析如何交付这些服务并采取行动:哪些发挥了在作用?那些没有?哪些需要加以补充?哪些是需要删除的?

  我们认识到,管理是很具挑战性的,它不是有形的并且难以衡量。但是,也有一些每个企业都会扪心自问的关键问题:我们的SOA涉及的架构是什么?我们的服务体现在哪里,谁拥有这些服务,它们是如何保持的?我们如何管理无赖服务---未知的服务?

  SOA会对透过网路服务的攻击采取保护措施,因此,建立管理规则和确保遵守商业政策是非常重要的。企业必须确定哪些服务是被用在内部清除内部威胁,那些用于用来抵挡外部恶意黑客的攻击。

  在运作上,必须清楚服务是如何使用的,并且它们正在使用的方式是不是正常的交付模式以及是否与用户规则一致。考虑到安全和治理纳入了SOA发展过程,企业必须评估威胁模型,并为之做相应的对策,评估工程师的技能并确定紧急行为。

  最后,SOA从业者必须不仅着眼于发展,而且还应着眼于建立高效的管理实践行为,以将 商业价值同服务的商业交付联系在一起。目标是要达到最优标准,即改变你的企业创建服务的方式,使之成为一项商业伙伴支付的价值功能。

  最重要地时,必须保持管理规则简单。不要太极端,或使其过于复杂,否则,它将变成一种负担,而不是开发团队的一种资产。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章