SOA是一种由业务驱动的基于架构风格的概念,利用松散耦合的服务和组件支持商务流程和用户的需求。从分布式计算方式(软件在多个平台上运行)和模块式编程风格来看,SOA是进化的。
SOA的价值在于它能够创建功能或者服务的“构件”。这些构件能够迅速和节省成本地应用到现有的商务基础设施中。以前,编写的软件程序都是单块的、封闭的、集成的。增加每一项新的功能都会影响到整个程序,对于每一个程序代码更新都需要全面的程序测试。SOA的分布式计算方法和模块式编程的风格通过创造能够连接到程序中的功能或者服务的“构件”避免了上述问题。
采用SOA,拨一个电话、转接一个电话或者召开一个电话会议等服务可以开发为一个构件,能够轻松地进行修改或者集成到一个新的应用程序中。修改或者增加一个新的功能就是改变这项服务的模块,不必担心会对整个应用程序中的其它功能产生影响。构件还能够结合在一起创建新的“混合服务”或者应用程序。
SOA的主要优势是一个服务能够与另一个服务“对话”(通过把每一个构件连接在一起,这里每一个构件都是一项服务),而不用担心下面的接口和连接,甚至都不需要知道这些。因此,一项业务能够快速连接,而且在一个人们称之为“编排”的流程中一个接着一个服务将满足新的或者现有的商务系统需求。
随着企业越来越依赖网络和依赖即时访问通讯和信息,需要了解网络的商务应用程序的数量日益增长。如果通讯功能能够成为集成到其它应用程序的网络服务,这将创建新的和激动人心的应用程序。事实上,应用程序对于用户来说将变得更丰富、更有价值和可转换的,这些应用程序将变得具有高度的协作性,它们将与下面的网络沟通并且利用网络的力量。
这个挑战是如何简单和迅速地做这个市场。
容易集成
Web服务提供一种实施SOA的方法并且提供了一种使用XML和SOAP等标准的接口标准化的方法(或者技术)。使用Web服务,服务或者应用程序组件能够发布到世界其它地区。Web服务支持机器对机器(也就是PC)的互动或者在互联网等网络上进行通讯。
Web服务通讯中使用的主要协议是HTTP/HTTPs。SOAP(面向服务的架构协议)是这种邮件信封格式,能够使用HTTP/HTTPS或者SMPT作为其传输协议。作为一项服务或者应用程序组件,Web服务是功能齐全的和自我描述的服务。使用UDDI(统一描述、发现和集成)能够发现这些服务。UDDI像一个注册表那样工作并且解释Web服务,这样,开发人员就很容易找到它们(以便把它们集成到其它应用程序)。然后,有WSDL(Web服务描述语言),它提供Web服务接口句法使这些服务之间的相互连接更加方便。XML(可扩展标记语言)提供一种能够在不同平台和编程语言之间使用的语言,表达复杂的信息和功能。Web服务使用XML编码和解码数据并且使用SOAP利用开放的协议传输数据。
Web服务的关键优势是它们使用XML、HTTP、SOAP和WSDL等标准技术认识、识别和沟通这些功能或者服务的构件以便简单和迅速地开发新的服务(混合服务)。
例如,要提高“我的会议服务”功能的容量现在仅需要修改会议服务构件中的代码。软件开发人员能够简单地测试那个单个的构件,验证它能够工作,然后把它当作PBX的一个完整的功能推出。
在应用SOA之前,这个软件程序员要搜索影响会议服务的代码的具体行(从数百万行代码中寻找),修改这个代码,然后跟踪这个修改对其它服务的影响(也就是它如何与其它服务联系的)。最后,数百万行代码要进行测试,然后在实验室里运行几天希望不要发生任何错误。
有什么商业好处?
有效地把技术与商业目标联系在一起的企业能够取得竞争优势。SOA的应用是一种有效的方法,能够把企业应用程序中包含的分散的功能集成到一个具有兼容性的、基于标准的服务中。这些服务能够迅速结合在一起和重复使用以满足商业需求。IT领域已经在使用SOA和Web服务更方便地把商务流程和商务应用程序集成在一起。
据北电网络负责SOA和下一代统一网络的总经理Richard Tworek说,通讯领域现在能够参加商务应用程序和流程的集成。使用SOA框架和Web服务标准,北电网络等厂商已经开发出了能够提取通讯网络基础设施(PBX和通讯服务器)下面的通讯功能的软件,把它们作为能够集成到其它服务(IT或者电信)中的构件展示出来。这样,你能够把点击连接、即时消息、位置和在线状态等真正的通讯功能集成到其它商务应用程序和流程中,创建具有通讯能力的应用程序和流程。
一个简单的例子是具有通讯功能的供应链管理流程。当某一项存货下降到某一个水平之下时候(如每个月平均数的10%),一个即时消息便发送给采购官员。接下来,你可以把一个自动的采购订单发送给供应商,并用即时消息同时通知供应商和采购官员这个事情已经发生了。这种具有通讯功能的应用程序或者流程的好处是快速、准确和灵活,能提高生产率和降低成本。采用基于SOA的软件架构和通讯领域的Web服务技术将使通讯能力与商务应用程序之间的相互适应和互动更加方便。通讯能力能够作为一项服务提供。这些服务能够与基于IT的服务迅速集成在一起并且重复使用以满足商业需求。
通过围绕服务而不是应用程序把企业IT与电信组织在一起,SOA提供了如下关键的好处:
- 提高业务的灵活性,生产效率和速度(对业务和IT都是如此)
- 允许IT和电信更快地提供服务和与业务关系更密切
- 允许企业更快地做出反应和提供优化的用户体验
- 标记IT、网络和电信环境的技术复杂性
这将导致更迅速的开发和更可靠地提供新的和增强的商务服务。
那些已经适应自己IT领域的SOA环境的机构正在取得戏剧性的结果。这些结果包括提高收入、提高客户满意度、降低运营成本和从现有的技术投资中得到更高的回报。
总之,SOA是更好的,因为它使用一种模块式、分布式、构件式的方法更快和更简单地以较少的资源创建、开发和提供新的产品和功能。构件能够混合和搭配在一起以创建新的应用程序,如具有通讯功能的应用程序,从而提供上述好处之外的其它好处。
|