简体版  |  繁体版   推荐信息:
创新频道_比特网

什麼是 SOA?

出处:比特网 作者:IBM 2008-05-20 09:23 评论
字体大小: | |
What is Service? Service Orientation? Service Orientation Architecture?

  「服务导向」的思考方式在企业经营及 IT 社群中越来越受到重视。在我们开始谈「服务导向」之前,让我们先确认「服务」到底是什么意思。所谓的「服务」必须是自我定义明确、包含完整的功能,并且不用仰赖其他服务的状态即独立运作。在 IT 社群内,SOA 被视为挑战异质 IT 环境中系统间互动的利器,并且也期望 SOA 能够带来像是组成份子的再利用、改善稳定性,降低开发及布署成本等等的效益。而从企业经营的角度出发,则是期望 SOA 能够协调各种服务的互动以达到业务流程自动化的最终目的。 

圖1:什麼是SOA

  “SOA 是一个基础框架,用来整合业务流程并支援 IT 基础架构,成为一个安全、标准化的元件—服务—而这些服务元件可以整合与再利用,以满足商务需求的快速变化。”

  --Service Oriented Architecture Compass, Bieberstein, et al., ISBN 0-13-187002-5

  SOA基础框架针对不同的人员角色,着眼于不同的重点

圖2:SOA結構

  SOA 结合业务及资讯技术为企业创造新的商机,以转型成为发展更快速、反应更灵敏、获利更高的企业。为了增加营运的灵活性,企业将自己视为是业务流程和服务的聚集中心,而 SOA 是这些应用软体的基础框架,它让这些应用软体可以更容易的再利用,并结合一些过往不连结的业务流程及服务,以构成企业的整体内容架构。

  SOA 的方法是非常独特的,因为它无论是针对商业模式 (business model)、基础架构模式 (architecture model) 及程式化模式 (programming model) 都采用一个单一的概念 —「服务」。「商业模式」中清楚定义业务服务内容,并且将它们整合到业务流程中。而「基础架构模式」中则是加入了业务服务及实行架构的型态、原则和模式,利用现有或是新的 IT 基础架构来实现这些服务。最后,「程式化模式」里则实作这些服务,让这些服务在异质环境中也能够相互作用。

  当我们在定义「服务」时,我们可从作业流程、架构设计、软体开发中去抓出要点。从不同的角度切入,就有不同的重点。譬如对业务流程来说,定义「服务」时,最重要的是知道这个服务在作到什么功能。对整个业务架构而言,定义「服务」如何要作到前述功能,有哪些具体的表现,而对于业务开发者而言,则是清楚地交代「服务」需要拥有哪些功能,或者是会运用到哪些资源。

  SOA 并没有取代先前的架构框架。无论是以元件为基础的架构或是物件导向架构,SOA 仅仅是增加另一个架构层用以协调技术元件与业务流程。 

圖3:SOA架構

  服务也可以由许多协作、协调服务或是整组应用所组成,例如现有的大型主机,或是ERP、CRM系统。值得注意的是,采用 SOA 并不意味着要重写现有应用软体,或是取代现有的套装应用软体。像是 Service-Oriented Integration 就是在 SOA 和非 SOA 应用软体之间进行协调的技术。而 IBM 也提供软体和服务让在 SOA 和现有应用软体间可以协调利用。

  由于 SOA 建立在开放标准上,譬如像是 Web Service,所以不管它所处的平台或是程式语言,业务服务都可以被快速且容易的连结。

  Web Services 是一套以产业标准为基础的技术套件,让基础架构可以随插随用,在市场条件改变之前就可以加快企业的应变能力。

圖4:SOA關係圖

  SOA 与 Web Service 虽然有密切地关联,但并不代表导入 SOA 一定要使用 Web Service,或是使用 Web Service 就代表导入 SOA。SOA 有可能利用现有的技术,像是主机交易或者是物件导向系统来替代 Web Service。同样的,使用 Web Services 时,如果无法强调业务价值、实际的再利用性与使用弹性,就不算是享有 SOA 的效益。

  要利用这些服务,资讯必须在服务需求者与服务供应者之间流通。服务中介者有时也必须扮演服务,或是资讯,或是二者兼具的角色,提供相同的附加价值给服务供应者或是需求者,并同时扮演其中介者的角色。而服务中介者通常就是企业服务汇流排(Enterprise Service Bus)的一部分。

  在 SOA 内的服务具有一些共同的特性︰

  介面—无论是独立平台或是建置技术,都可以利用标准、相同的介面,而这些介面都非常容易操作与再利用,可确保动态式的相互作业。

  松散耦合 -- 让服务能在建立时能无任何羁绊,像是不必担心会如何被使用,也不必顾忌所提供服务是否会对其他服务产生运作影响。

  大略性 -- 着重在采用标准化介面的高阶业务流程上,而不直接暴露建置服务的基本技术及操作复杂性。

  模组化 -- 就是将每一项服务作为业务、应用软体或是系统功能的描述单位,结合多种服务提供更有价值的服务,系统的设计也更灵活。

  在过去 3 年间已经有超过 50 个个案完成 SOA 的导入,IBM 发现,当转型成为服务导向企业时,在维修、人员耗费、及软硬体的成本上会产生相当显着节约成效。IBM 开发了一套非常完整、清楚的方法学,配合工具与流程,可以协助将企业转型成为服务导向企业。企业可从元件商业模式(Component Business Model ;CBM)的导入着手,利用这种方法先建立业务组成份子,然后再转化成业务机会。之后可以持续应用到服务导向模组架构(Service-Oriented Modeling and Architecture;SOMA),这个方法可以将业务结构映置到 IT 层。

  IBM 的 SOA 程式化模组可以让非程式人员在不具有专精技术的状况下,也能够建立并且重新使用IT设备。这套模组包括了元件型态、线路、模型、应用软体转收器、一致的资料陈述及企业服务汇流排(Enterprise Service Bus;ESB)。

  导入 SOA 也就意味着企业可以建立整合了系统、人员的水平式的业务流程,而这个跨系企业的业务流程可以快速、轻易的回应业务变化的需求。有些公司可以利用现有的系统来执行新的业务流程,这不仅扩展了系统的使用性,也远超出系统原先所支援的范围。企业能够透过现有IT系统的再利用,最大化先前的投资,而不需要再用额外的投资来建立新的系统介面。

  SOA 也是一个基础架构,可适用于各种不同的企业。在某个个案中,企业将服务范围拓展到它的业务合作伙伴,并且将它他们整合成一个业务流程,就像供应链一般。另一种状况则是,企业可以将业务转包给外部的供应商。SOA 和开放标准的结合,形成了服务生态系统结构,让业务合作伙伴网路产生互通流程。

  附注︰服务生态系统(Services Ecosystem)提供给服务供应者和操作者更多灵活、功能强大的技术,不仅支援弹性化的 Web/网格服务供应,更在变动的环境中提升了服务的品质。

共2页。 1 2 :
  • 本文关键字:
  • 应用(2315)
  • 频道最新更新
    点击排行
    推荐专题
    更多
    论坛热贴
    更多
    博客精选
    更多
    视频推荐
    更多
      TMG

      Copyright (C) 1999-2008 Chinabyte.com, All Rights Reserved 版权所有 天极网络

      渝ICP证B2-20030003号 商务联系、网站内容、合作建议:010-82657868

      版权声明 在线提交意见反馈 Powered by 天极内容管理平台CMS4i

      经营性网站备案信息 网警备案 中国网站排名