|
|
服务导向架构 (Service Oriented Architecture) 应用本文关键字: 转贴文档 服务导向架构 (Service Oriented Architecture)
应用
2004 年 12 月 服务导向架构 (SOA, Service Oriented
Architecture) 是一种新兴的系统架构模型,其主要概念是针对企业需求组合而成的一组软件组件。组合的元素通常包括:软件组件、服务及流程三个部份,当企业面对外部要求时,流程定义外部要求的处理步骤;服务包括特定步骤的所有程序组件,而组件则负责执行工作的程序。例如,当企业面对顾客订单要求时,流程订定订单的处理步骤,服务则包括信用查询、库存查询及接单作业等等,组件则是指真正完成信用查询、库存查询等工作的程序。由例子中可见,SOA 的系统组成与企业的经营管理基本单元十分接近,如此高阶的应用系统发展模式可使得发展者更专注于企业需求的满足 (coarse
grain),而不仅仅是信息技术的应用 (fine
grain)。SOA 已成为现今软件开发的重要技术,透过 SOA 让异质系统整合变得容易,程序再用度也提高。不必自行开发或拥有所有程序组件,发展者可以视需要组合网络上最好的服务。不受限于特定厂商的产品功能或是平台,达到真正的开放性 (Openness)。 概念上,SOA 如同对象导向、软件组件等软件技术一般,运用小的零组件组合成应用系统。但 SOA 强调的是如何将彼此关系松散的应用系统功能组件在网络上发行、组合及使用。SOA 具有下列技术特性: ·
分布式架构
(Distributed)-SOA 的组成组件是由许多分散在网络上的系统组合而来,可能是局域网络,也可能是来自广域网络。例如网络服务技术 (Web Services) 就是运作 Internet HTTP
Protocol 来相互连结的 SOA。如此的作法,也使得网络服务技术很快的就成为所有支持 Internet 的系统平台均能使用的技术。 ·
关系松散的界面 (Loosely
coupled)-传统的系统主要是将应用系统功能需求切割成相互关联的小零组件,模块、对象或组件,发展者要花费极大的心力了解零组件是如何设计及使用,以确保不会违反零组件连接关系限制。如此一来,若要以不同零组件替换原始设计,就成为一件困难的事。SOA
的作法是以界面标准来组合系统,只要符合界面要求,零组件可以任意替换,大幅提高系统变更的弹性度。 ·
依据开放的标准 (Open
standard)-使用开放标准是 SOA 的核心特色,过去的软件组件平台如 CORBA、DCOM、RMI、J2EE 采用专属 Protocol
作为组件连结的规范,使得不同平台的组件无法相通。SOA 则着重于标准与互动性,将可避免不同平台 (.NET Web Services
与 Java Web Services)
所开发程序间相互整合的困扰。 ·
以流程角度出发 (Process
centric)-在建构系统时,首先了解特定工作的流程要求,并将其切割成服务界面 (包括输入与输出资料格式),如此其它的发展者就可以依据服务界面开发 (或选择) 合适的组件来完成工作。 Web Services 是目前的技术中可以用来实现 SOA 的主要接口标准,以下提出几个应用方向: A.
EAI(Enterprise Application
Integration) B.
B2Bi(Business to Business
integration) 1.
Data
Visibility: 目前的 B2Bi 在既定的国际标准如 RosettaNet 的规范下,信息的交换仅能处理既定的格式与资料。然对于变化快速的商业模式,有价信息的分享便得极为重要。透过 Web Services
来提供 data service 是持续掌握供应链优势的关键。 2.
Data
Velocity: B2Bi 最关心的议题就是 trading partner 的 data 是否是实时数据。在强调零库存、价格波动大的产业,信息的实时性非常重要。以 RosettaNet 来说,信息的来回只能规范到 24 小时之内。在 Web Services 以 SOAP 协议取用服务的特性下,很容易让信息取得实时化。 C.
BPM(Business Process
Management) 利用 Web Services 技术作为 BPM 底层的协议将能解决跨流程 (企业内跨系统与跨部门或是跨企业间)流程控管的技术问题。透过 Web Services 一方面将企业内系统整合流程化以及商业流程电子化。也同时能将客户或是厂商的流程结合进企业流程中提高协同运作的程度。而同时也能将自己具有竞争力的流程 expose 出去供企业伙伴使用。(如图一)利用电子商务形成虚拟企业的境界也将因 Web Services 于 BPM 的应用得以实现。 在 SOA 架构下,运用 Web Services 来作为主要标准,整个发展与演化将可分成三大阶段(如图二): ·
第一阶段 o
简单型 Web Services (Simple
Web Services): 由最基本的 Web Services
功能组件做起,此阶段主要以 Web Services
型组件的大量开发为主,透过基本服务如信息查询与非交易型服务作为 Web Services
的第一步,简单但好用的服务组件。最简单的作法就是将现有组件封装 (wrapping)
成 Web Services
接口。 ·
第二阶段 o
组合型 Web Services
(Composite Web Services): 衍生性 Web Services
即组合型 Web
Services,服务能透过组装与串流的方式形成更复杂的功能。此时,流程的概念已经引入于系统架构中。 o
企业级应用 (Enterprise Web
Services): Web Services 在安全、管理与交易机制等技术标准成熟,企业内也将大量使用 Web
Services 技术于企业内系统整合、企业内应用系统服务化与企业间的服务。 ·
第三阶段 目前 Microsoft 以Microsoft .NET 平台做为 SOA 主要的开发与执行平台。随着 WS-* 系列标准的订定,Web Services技术也愈趋成熟。Microsoft 在下一代系统 Longhorn 所提供的蓝图中,也将 WS-*相关技术纳入产品中。 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 扩展阅读发表评论 |
专家专栏 |
|
|