[SOA介绍]什么是SOA

 [SOA]SOA? Varargs

 

An introduction to SOA

 

作者:Raghu R. Kodali

 

者:tetsu



摘要:

在最近的展中,面向服架构(SOA, service-oriented architecture)成下的热门话题篇文章将向大家介SOA 讨论业为需要SOA,什SOA 从核心,平台,服3面来解SOA的基构成。


声明:本文可以自由转载转载时请务必以超接形式明文章原始出和作者信息及本声明
作者:Raghu R. Kodali tetsu(作者的Blog:http://blog.matrix.org.cn/page/tetsu)
原文:http://www.javaworld.com/javaworld/jw-06-2005/jw-0613-soa.html
中文:http://www.matrix.org.cn/resource/article/44/44070_SOA.html
关键:SOA

摘要
在最近的展中,面向服架构(SOA, service-oriented architecture)成下的热门话题篇文章将向大家介SOA 讨论业为需要SOA,什SOA 从核心,平台,服3面来解SOA的基构成。
By Raghu R. Kodali



于面向同和异步应用的,基于/模式的分布式算来SOA是一革命。一个用程序的业务逻辑business logic)或某些独的功能被模化并作现给者或客端。些服关键是他的松耦合特性。例如,服的接口和实现相独立。开发或者系集成者可以通过组合一个或多个服来构建用,而无理解服的底层实现例来,一个服可以用.NETJ2EE实现,而使用用程序可以在不同的平台之上,使用的言也可以不同。

SOA
有以下特性
        SOA
具有平台独立的自我描述XML文档。Web描述言(WSDL, Web Services Description Language)是用于描述服言。
        SOA
用消息行通信,消息通常使用XML Schema来定(也叫做XSD, XML Schema Definition)。消者和提供者或消者和服的通信多于不知道提供者的境中。服务间的通也可以看作企内部理的关键档。
        
在一个企内部,SOA一个扮演目列表(directory listing)角色的登记处(Registry)维护用程序在登记处Registry找并用某一描述,定和集成(UDDI, Universal Description, Definition, and Integration)是服准。
        
每项SOA都有一个与之相的服QoS, quality of service)。QoS的一些关键元素有安全需求(例如认证),可靠通信(注:可靠消息是指,确保消息仅仅送一次,从而过滤信息。),以及用服的策略。

么选择SOA

不同种类的操作系件,系统软件和用基础结构(application infrastructure)相互交便是IT状。一些存的用程序被用来理当前的业务流程(business processes),因此从建立一个新的基础环境是不可能的。企业应该对业务化做出快速的反,利用对现有的用程序和用基础结构(application infrastructure)的投来解决新的业务需求,,商伙伴以及供商提供新的互渠道,并呈一个可以支持有机业务organic business)的构架。SOA凭借其松耦合的特性,使得企可以按照模化的方式来添加新服或更新有服,以解决新的业务需要,提供选择从而可以通不同的渠道提供服,并可以把企业现有的或已有的用作 从而保有的IT

1的例子所示,一个使用SOA的企,可以使用一组现有的用来建一个供应链复用(supply chain composite application),有的用通过标准接口来提供功能。


Figure 1. Supply chain application. Click on thumbnail to view full-sized image.         


架构

实现SOA,企需要一个服架构,2示了一个例子:


Figure 2.
A sample service architecture. Click on thumbnail to view full-sized image.        

2中, 者(service consumer)可以通过发送消息来用服些消息由一个服务总线service bus转换适当的服务实现这种架构可以提供一个业务规则引擎(business rules engine),引擎容许业务规则被合并在一个服里或多个服里。这种架构也提供了一个服管理基service management infrastructure),用来管理服核,列表(billing),日志等功能。此外,架构提供了灵活的业务流程,更好地理控制求(regulatory requirement),例如Sarbanes OxleySOX),并且可以在不影响其他服的情况下更改某

SOA础结

要运行,管理SOA用程序,企需要SOASOA平台的一个部分。SOA支持所有的相关标准,和需要的运行容器。3所示的是一个典型的SOA础结构。接下来的章将逐一讨论该结构的个部分。


Figure 3. A typical SOA infrastructure. Click on thumbnail to view full-sized image.         

SOAP, WSDL, UDDI
WSDL
UDDISOAPSOA的基部件。WSDL用来描述服UDDI用来注册和找服;而SOAP,作为传输层,用来在消者和服提供者之间传送消息。SOAPWeb的默机制,其他的技术为可以服务实现其他型的定。一个消者可以在UDDI注册表(registry找服,取得服WSDL描述,然后通SOAP用服

WS-I Basic Profile
WS-I Basic Profile
,由Web互用性组织Web Services Interoperability Organization)提供,是SOA务测试与互用性所需要的核心构件。服提供者可以使用Basic Profile测试程序来测试在不同平台和技上的互用性。

J2EE
.Net
尽管J2EE.NET平台是开发SOA用程序常用的平台,但SOA限于此。J2EE这类平台,不仅为开发者自然而然地参与到SOA中来提供了一个平台,内在的特性,将可展性,可靠性,可用性以及性能引入了SOA世界。新的范,例如 JAXBJava API for XML Binding),用于将XML文档定位到JavaJAXRJava API for XML Registry)用来UDDI注册表(registry)的操作;XML-RPCJava API for XML-based Remote Procedure Call)在J2EE1.4中用来程服使得开发和部署可移植于J2EE容器的Web务变得容易,与此同实现了跨平台(如.NET)的服互用。


在企中,关键mission-critical system注:关键是指如果一个系的可靠性于一个组织是至重要的,那么该就是关键。比如,电话统对于一个电话就是关键,而文字理系就不那么关键了。)用来解决高需求,例如安全性,可靠性,事物。当一个企业开始采用服架构作工具来开发和部署用的候,基本的Web务规范,像WSDLSOAP,以及UDDI就不能些高需求。正如前面所提到的,些需求也称作服QoSquality of services)。与QoS的众多范已由一些准化组织standards bodies)提出,像W3CWorld Wide Web Consortium)和OASISthe Organization for the Advancement of Structured Information Standards)。下面的部分将会讨论一些QoS和相关标准。

安全
Web
安全范用来保消息的安全性。该规范主要包括认证 消息完整性和消息保密。该规范吸引人的地方在于它借助有的安全准,例如,SAMLas Security Assertion Markup Language)来实现web消息的安全。OASIS正致力于Web安全范的制定。

可靠
在典型的SOA 境中,服者和服提供者之会有几不同的文档在行交。具有仅仅传送一次 once-and-only-once delivery),最多送一次 at-most-once delivery),消息过滤duplicate message elimination),消息guaranteed message delivery)等特性消息的送和确,在关键mission-critical systems)中得十分重要。WS-Reliability WS-ReliableMessaging是两个用来解决此类问题准。在都由OASIS负责

策略
提供者有候会要求服者与某策略通信。比如,服提供商可能会要求消者提供Kerberos安全示,才能取得某些要求被定义为策略断言(policy assertions)。一策略可能会包含多个断言。WS-Policy用来准化服者和服提供者之的策略通信。

控制
当企着手于服架构,服可以用来整合数据仓库silos of data),用程序,以及件。整合用意味着例如异通信,并行理,数据转换,以及校正等求必准化。在SOA中,程是使用一离散的务创建的。BPEL4WS 或者 WSBPELWeb Service Business Process Execution Language)是用来控制些服言。WSBPEL目前也由OASIS负责

管理
随着企的增,所使用的服业务进程的数量也随之增加,一个用来管理管理所有运行在多相境下的服的管理系得尤重要。WSDMWeb Services for Distributed Management定了任何根据WSDM实现的服都可以由一个WSDMWSDM-compliant)的管理方案来管理。

其它的qos特性,比如合作方之間的溝通和通訊,多個服務之間的事務處理,都在WS-Coordination WS-Transaction 標準中描述, 這些都是OASIS 的工作.

SOA 不是Web
在理解SOAWeb系上,生混淆。根据20034月的Gartner道,Yefim V. Natis问题这样的:“Web是技术规范,而SOA设计。特Web中的WSDL,是一个SOA配套的接口定义标准:WebSOA的根本系。从本上来SOA是一架构模式,而Web是利用一组标实现的服Web实现SOA的方式之一。用Web实现SOA的好是你可以实现一个中立平台,来得服,而且随着越来越多的件商支持越来越多的Web务规范,你会取得更好的通用性。

SOA优势

SOA
的概念并非什西,SOA不同于有的分布式技在于大多数件商接受它并有可以实现SOA的平台或用程序。SOA伴随着无不在的准,资产或投资带来了更好的重用性。SOA在最新的和有的用之用;SOA使客或服者免予服务实现的改来的影响;SOA级单个服或服者而无需重写整个用,也无需保留已不再适用于新需求的有系而言之,SOA以借助有的用来生新服的敏捷方式,提供更好的灵活性来构建用程序和业务流程。

About the author
Raghu R. Kodali is consulting product manager and SOA evangelist for Oracle Application Server. Kodali leads next-generation SOA initiatives and J2EE feature sets for Oracle Application Server, with particular expertise in EJB, J2EE deployment, Web services, and BPEL. Prior to product management, Kodali held presales and technical marketing positions in Oracle Asia-Pacific, based in Singapore . Prior to Oracle, he worked as software developer with National Computer Systems, Singapore . He holds a master's degree in computer science and is a frequent speaker at technology conferences. Kodali maintains an active blog at Loosely Coupled Corner


·Java开发者社区:http://www.matrix.org.cn
·javaworld.com:javaworld.com
WS-I: http://www.ws-i.org
JAXB: http://www.java.sun.com/xml/jaxb
JAXR: http://java.sun.com/xml/jaxr
OASIS: http://www.oasis-open.org/home/index.php
SAML: http://www.oasis-open.org/specs/index.php#samlv1.0
SOAP: http://www.w3.org/TR/soap/
SOX: http://www.sarbanes-oxley.com/
UDDI: http://www.uddi.org/specification.html
W3C: http://www.w3.org/2002/ws/
WSDL: http://www.w3.org/TR/wsdl
WSBPEL: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel
WS-Reliability: http://www.oasis-open.org/specs/index.php#wsrv1.1
WS-ReliableMessaging: http://xml.coverpages.org/WS-ReliableMessaging200502.pdf
Web Services Security: http://www.oasis-open.org/specs/index.php#wssv1.0
WS-I Basic Profile:http://www.ws-i.org/deliverables/workinggroup.aspx?wg=basicprofile
WSDM: http://www.oasis-open.org/committees/tc_home.php
XSD: http://www.w3.org/XML/Schema
Gartner: http://www.gartner.com/Init
To read about BEA's recent product offering in the SOA space, read "BEA's Patrick Discusses Project Free Flow," Paul Krill, InfoWorld (JavaWorld, June 2005): http://www.javaworld.com/javaworld/jw-06-2005/jw-0613-iw-bea.html
For more on SOA, read "Event-Driven Services in SOA," Jeff Hanson (JavaWorld, January 2005): http://www.javaworld.com/javaworld/jw-01-2005/jw-0131-soa.html
For more articles on Web services, browse the Java and Web Services section of JavaWorld's Topical Index: http://www.javaworld.com/channel_content/jw-webserv-index.shtml
For more articles on enterprise development, browse the Enterprise Java section of JavaWorld's Topical Index:
http://www.javaworld.com/channel_content/jw-enterprise-index.shtml

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值