SOA:美学为架构的IT技术

ZDNet软件频道 时间:2009-02-04 作者:builder.com.cn |  我要评论()
本文关键词:IT技术 架构 soa SOA
本文从IT在商业运作应用的角度来阐述SOA主要所要解决的问题,让大家再从另一个角度来看SOA。

最近一年多以来,SOA(Service-Oriented Architecture,服务导向架构)成为IT界的当红炸子鸡。

随着媒体与IT大厂的炒作,好像一谈到「整合」就非SOA不可。很多技术词汇(例如:BPEL、ESB、BAM…)也在这个过程中不断地被创造出来,但这些技术词汇好像并不会帮助我们对于SOA在应用上的了解,甚至只会令人更怀疑这些名词只是IT产业又拿出来营销的噱头而已。

事实上,技术出身的我不得不承认,SOA有一种架构性美很容易让技术人员醉心。但在同事朋友们讨论SOA的时候,总觉得少了什么?这样的美可以帮助我们解决什么样的问题呢?如果只是架构上的美,终究也只限于技术架构的美而已,有什么信息问题是无法用传统EAI(Enterprise Application Integration)技术手法来解决而一定要采用SOA吗?还是它的美只存在于IT学院的象牙塔之中呢?

面对业界许多(非IT领域)朋友的疑惑,我决定写这一篇文章来重新为SOA「正名」,从IT在商业运作上应用的角度来阐述SOA主要所要解决的问题,让大家再从另一个角度来看SOA

定义:不只是技术,是IT架构

或许已经有读者注意到了,我们通常谈到IT,大部份都会说是XX「技术」,但为什么没有听过有人说SOA「技术」呢?如果我们看SOA(Service-Oriented Architecture)这三个英文字母,会发现SOA中的「A」竟然是Architecture(架构)这个字。单就语句结构上来看,如果在「架构」这个字词后面再扯上「技术」两个字,还真有点奇怪。

严格说来,SOA这一个词并不是指一种「技术」,而是指一种IT架构,当然,这样架构下会有各种不同的技术,来解决企业在面对商业自动化的所面临的各种不同的问题。

本文将先介绍SOA对企业的意义,主要在藉由商业自动化,以协助企业解决一个千古不变的难题:变。

自动化服务组件是商业自动化的第一步

SOA(Service-Oriented Architecture,服务导向架构)顾名思义,以「服务」做为导向来出发,以设计并建构我们的系统构架。简单来说,我们可以说:「服务导向架构」目的是要达到一个自动化的商业行为

首先,让我们举个例子说明。澳图美德(Automated)科技是一个系统整合厂商,在他的商业行为中,他需要经常对他的供货商(例如SUN Microsystems)来进行询料(特别是在库存中并没有足够的备料时)。

早期这样的一个行为,是由纯人工的方式来处理,需要再透过SUN业务同仁处理(包括报价及答复商品的Delivery Time),但在整个商业流程中,商品的报价与Delivery Time并不会有经常性的异动,因此这样的做法是一种人力资源的浪费。

为了避免这样的问题,我们可以将上下流两个公司的系统做适当的调整,让SUN公司在系统中建架一个服务组件来提供价格与Delivery Time 的数据查询,直接利用在澳图美德内部的系统来呼叫SUN公司所提供的服务组件,澳图美德的同仁即可完成报价与Delivery Time(交期)的询问。所以可以认知到的是,在商业自动化的前提下,SOA需提供一个「跨系统的数据交换与传递的规范与方法」,以便商业上的信息交换。而在整个架构中,被实做出来以负责信息的交换与传递的程序一个个的模块,我们可称为服务组件

或许有些读者会发现,这样的做法,不就是几年前 Web Service的技术观念下就已经提出来的做法吗?这跟SOA 有什么关系呢?

当然,如果只是上述的例子中所提到的需求,其实只要用 Web Service就可以做到了。那SOA可以再解决什么样的问题呢?藉由上面的例子,我们再来拉大企业的需求,以再进一步认识 SOA


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134