账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
服务导向架构浅介
「SOA停看听」系列之一

【作者: Jeremy Westerman】2004年05月26日 星期三

浏览人次:【4321】

欢迎各位,我们将在此专栏介绍与讨论SOA(Service-Oriented Architecture)。在未来几篇文章中,我们将从各层面来探究SOA。SOA是什么?其具有何种商务价值?SOA得用上何种技术?如何以SOA方式组构出一个商务?为何正确地实行SOA将可发挥强大的潜在解决效力?此外,我们将审视几个成功的SOA建置,并勾勒出一个路径,以便于获取建置与实行SOA方案的益处。


由于信息业者的营销动作,使人很容易相信SOA是下一波信息潮流,或相反地让人认为这只是个暄腾一时的名词。但我们对SOA将与XML、Web Services一样,全然以严苛的技术观点来评论其价值性。若各位只是想了解SOA是营销热词或是简化的新专业术语,都会对SOA的认知有所偏误。事实上,SOA意味着企业运算的重要转变,它将成为未来所有应用程序架构的基础。


何谓SOA?

首先让我们厘清一些SOA的迷思。正确来说,SOA是:


  • (1)SOA不是新玩意:多年前即有信息部门成功地用SOA方式来建构、运行应用程序,且当时XML、Web Services都尚未提出。


  • (2)SOA不是种技术:它是种建构、组织的方法,用来建立应用程序的运行环境,以及让企业的业务程序能以「功能化」方式发展、累积。


  • (3)就算购买最新的XML、Web Services产品(如开发工具、执行平台、软件组件等),也不表示就可以建构出SOA式的应用程序。



简单来说,SOA是一种遵循典范,是针对企业内应用程序的设计、开发、布建、管理所提出的遵循典范。从信息技术层面而言,一个执行企业业务的应用程序称为一个独立的「逻辑单位」,而对企业营运层面而言则可称为一项「商业服务」,在企业的整体运算环境中就存在着多个「独立逻辑/业务服务」,且需要对其进行妥善设计、开发、布建、管理等,也因此需要实行服务导向架构(SOA)。


要实现SOA,需要企业的程序设计师改采「持续累积服务」的观念与角度来开发应用程序,即便这么做在短时间内看不到显著益处,程序员还是必须跳脱、超越过往对应用程序的想法,改以「既有服务可否再运用?」或者是「能否沿用其他同仁开发的服务来再建构?」的观点来面对程序开发。


SOA主张「程序开发技术」与「程序建构方法」的交替并用,以类似传讯沟通的作法,将数个所须的「业务服务」进行链接,以此来实现一个新应用程序,而非「从头开发」。透过适当的程序组构及传讯式的程序链接,可让企业快速因应市场需求与改变,新的应用程序只要透过「传讯微调」即可实现,而非「重新撰写」。


SOA不单只是程序开发的方法论,也提供行政管理层面的依循。例如它并非是以应用程序个体为角度来进行管理,而是直接将过往程序员开发出的程序视为「服务」来管理。而对「商业服务」间的「互动传讯」进行分析,SOA便可让企业了解何时该执行哪个商业规则,以及为何要执行,如此信息管理者与商务分析师便可对商务程序进行优化调适。


SOA在企业内如何运作

为了成功运用SOA有两点相当重要:(1)了解新的遵循典范;(2)准备改变应用程序的组构方式。此改变涉及企业信息部门,且在组构SOA时其运用的技术与使用的产品也相当重要。(这将在接下来的专栏中进一步介绍)


前面提过,许多信息部门于多年前便已成功建立与运行SOA环境,并且有许多产品能支持SOA的建立、运行,当年XML、Web Services都还没被提出,特别是在「事务处理监督程序」(TPMs,Transaction Processing Monitors)方面即有IBM的CICS(用于大型主机)、BEA的TUXEDO(用于开放系统)等。在这些环境(CICS、TUXEDO)下,信息部门能够以「服务个体」的角度,运用多种、各类的服务来组构、搭建应用程序,透过部署服务来部署应用程序,透过管理服务来管理应用程序。


而今XML、Web Services的提出并加入至SOA中,让SOA迈入更新的层次及更高的价值。具备XML与Web Services的SOA与过往的SOA相较,过往的SOA似乎显得封闭、专属,在TPM环境中的所有应用程序都要透过技术开发撰写才能实现。而开放、广泛通行运用的XML、Web Services,让SOA能适用于企业内所有的信息技术以及所有已部署的应用程序,如此意义就相当重大。


Web Services能让应用程序以「网络上可呼用的功能」之型态呈现,这是透过开放标准的描述方式(WSDL)来为应用程序提供服务接口描述,并用开放标准的传输方式(HTTP、JMS)进行程序间的信息传递,并在其上以开放标准的协议方式(SOAP)进行程序间的沟通运作。


举个例,一个程序员使用最好的程序开发工具,轻易地开发出一个新的入口网站应用程序(Portal Application),然后将此程序视为:现有、可再使用的服务,并将它运用于ERP应用程序中,同时也运用到另一个企业自行开发的J2EE应用程序中,如此的再运用可轻易地完成,原因在于不用去理解被引用的程序其内部是如何运作。


透过XML的使用,程序员可以轻易转变应用程序的数据,而不用去理会数据以何种方式呈现。这样程序员可更专注于入口程序的开发,使该程序更精良。使用SOA的结果,使入口网站可容易、快速地与后端应用程序系统彻底、密切整合。以此获得复合性的益处,且同时间会有愈来愈多的服务可被运行、运用。


SOA有助于商务整合

SOA也为信息部门如何进行EAI与B2Bi等应用程序整合带来方案上的改变。程序整合是让应用程序与企业外交易伙伴两者间进行自动化讯息传递,以此建构出从头至尾的全程周密性商务程序。若同样的实现改采SOA作法,则是在应用程序、交易伙伴的服务中置入变形(Morphs)程序,以此来包绕、形成全程周密性的商务程序、交易流程。更简单地说,SOA将应用程序的开发转变成服务型态,然后让商务程序搭跨在这些服务之上实现、运行。


所以,SOA加速了程序开发、程序整合的聚合,让信息部门以单一环境来建构、部署、执行程序的整合及应用程序逻辑。由此可知:实行SOA能为信息部门在整合上带来莫大的时间、成本之潜在精省。


企业商务实行SOA的理由

为何企业该采用SOA?使用SOA能衍生出更多的商务价值吗?各位或许已经注意到前述的讨论,SOA需要信息部门改变其技术本位角度,转变成实现、满足商务。应用程序该如何组织?该如何建立与管理?且这些建立、管理该用何种技术或产品?这一切的改变都牵涉到成本与预算的支持,而这就需要商务效用与需求为其正当理由,特别是在时间紧缩有限的情况下。


SOA能带来的商务价值提升已如前所述。透过既有应用程序的「再包装」可让程序转变成服务,使程序功能可再运用,如此使既有应用程序的投资报酬率再拉升,同时程序受用时间可再展延,开发新程序、新功能的时间可再缩短。


运用现成既有的(程序)服务,也可让新应用程序的布建更为快速,以更快实现与满足商务价值,如此的营运机动性让企业更具竞争力,能够比其他竞争企业更快推出新商品、新业务,更快对竞争业者提出因应与反击。日后的文章我们将针对此议题进行更详细的讨论。


(作者现任BEA WebLogic Integration产品管理总监)


相关文章
服务导向装置的下一步?
服务导向架构(SOA)商业应用趋势
SOA停看听 - SOA应用实例
SOA在组织应用上的意涵
SOAP - 让程式畅行于网路间
comments powered by Disqus
相关讨论
  相关新闻
» 趋势科技指漏洞修补为资安预防针 企业须知4大生命周期样态
» TeamT5资安开运馆进驻资安大会 知己知彼防范於未然
» TXOne Networks揭示工控资安3大挑战 展出最新SageOne整合平台
» 远传电信营运每年减碳5万吨 获施耐德电机永续发展影响力奖肯定
» Fortinet资安报告:96%企业??心云端安全 单一云地整合管理平台成解方


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK85H554GKUSTACUKN
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw