• [SOA介绍]什么是SOA?


    在最近的展中,面向服架构(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

     


    分享到:
  • 相关阅读:
    WINCE基于CH7024实现TV OUT (VGA)功能
    Hello China操作系统在Virtual PC上的安装和使用
    内心独白之程序员思维
    物联网操作系统的架构和基本功能
    说不懂Android系统构架,太亏了!
    Hello China V1.75版本运行截图
    剥开ios 系统sandbox神秘面纱
    Android基础之广播
    《大象Thinking in UML 第二版》已于近日在当当首发,同时邀请各位加入新浪微博[大象thinkinginUml群]:http://q.weibo.com/1483929
    物联网操作系统随笔
  • 原文地址:https://www.cnblogs.com/qqflying/p/667759.html
Copyright © 2020-2023  润新知