您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > SOA的架构理念是什么
SOA的架构理念是什么?不同种类的操作系统,应用软件,系统软件和应用基础结构(applicationinfrastructure)相互交织,这便是IT企业的现状。一些现存的应用程序被用来处理当前的业务流程(businessprocesses),因此从头建立一个新的基础环境是不可能的。企业应该能对业务的变化做出快速的反应,利用对现有的应用程序和应用基础结构(applicationinfrastructure)的投资来解决新的业务需求,为客户,商业伙伴以及供应商提供新的互动渠道,并呈现一个可以支持有机业务(organicbusiness)的构架。SOA凭借其松耦合的特性,使得企业可以按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需要,提供选择从而可以通过不同的渠道提供服务,并可以把企业现有的或已有的应用作为服务,从而保护了现有的IT基础建设投资。如图1的例子所示,一个使用SOA的企业,可以使用一组现有的应用来创建一个供应链复合应用(supplychaincompositeapplication),这些现有的应用通过标准接口来提供功能。服务架构为了实现SOA,企业需要一个服务架构,图2显示了一个例子:在图2中,服务消费者(serviceconsumer)可以通过发送消息来调用服务。这些消息由一个服务总线(servicebus)转换后发送给适当的服务实现。这种服务架构可以提供一个业务规则引擎(businessrulesengine),该引擎容许业务规则被合并在一个服务里或多个服务里。这种架构也提供了一个服务管理基础(servicemanagementinfrastructure),用来管理服务,类似审核,列表(billing),日志等功能。此外,该架构给企业提供了灵活的业务流程,更好地处理控制请求(regulatoryrequirement),例如SarbanesOxley(SOX),并且可以在不影响其他服务的情况下更改某项服务。SOA基础结构要运行,管理SOA应用程序,企业需要SOA基础,这是SOA平台的一个部分。SOA基础必须支持所有的相关标准,和需要的运行时容器。图3所示的是一个典型的SOA基础结构。SOAP,WSDL,UDDIWSDL,UDDI和SOAP是SOA基础的基础部件。WSDL用来描述服务;UDDI用来注册和查找服务;而SOAP,作为传输层,用来在消费者和服务提供者之间传送消息。SOAP是Web服务的默认机制,其他的技术为可以服务实现其他类型的绑定。一个消费者可以在UDDI注册表(registry)查找服务,取得服务的WSDL描述,然后通过SOAP来调用服务。WS-IBasicProfileWS-IBasicProfile,由Web服务互用性组织(WebServicesInteroperabilityOrganization)提供,是SOA服务测试与互用性所需要的核心构件。服务提供者可以使用BasicProfile测试程序来测试服务在不同平台和技术上的互用性。J2EE和.Net尽管J2EE和。NET平台是开发SOA应用程序常用的平台,但SOA不仅限于此。像J2EE这类平台,不仅为开发者自然而然地参与到SOA中来提供了一个平台,还通过他们内在的特性,将可扩展性,可靠性,可用性以及性能引入了SOA世界。新的规范,例如JAXB(JavaAPIforXMLBinding),用于将XML文档定位到Java类;JAXR(JavaAPIforXMLRegistry)用来规范对UDDI注册表(registry)的操作;XML-RPC(JavaAPIforXML-basedRemoteProcedureCall)在J2EE1.4中用来调用远程服务,这使得开发和部署可移植于标准J2EE容器的Web服务变得容易,与此同时,实现了跨平台(如。NET)的服务互用。服务品质在企业中,关键任务系统(mission-criticalsystem,译注:关键任务系统是指如果一个系统的可靠性对于一个组织是至关重要的,那么该系统就是该企业的关键任务系统。比如,电话系统对于一个电话促销企业来说就是关键任务系统,而文字处理系统就不那么关键了。)用来解决高级需求,例如安全性,可靠性,事物。当一个企业开始采用服务架构作为工具来进行开发和部署应用的时候,基本的Web服务规范,像WSDL,SOAP,以及UDDI就不能满足这些高级需求。正如前面所提到的,这些需求也称作服务品质(QoS,qualityofservices)。与QoS相关的众多规范已经由一些标准化组织(standardsbodies)提出,像W3C(WorldWideWebConsortium)和OASIS(theOrganizationfortheAdvancementofStructuredInformationStandards)。下面的部分将会讨论一些QoS服务和相关标准。安全Web服务安全规范用来保证消息的安全性。该规范主要包括认证交换,消息完整性和消息保密。该规范吸引人的地方在于它借助现有的安全标准,例如,SAML(asSecurityAssertionMarkupLanguage)来实现web服务消息的安全。OASIS正致力于Web服务安全规范的制定。可靠在典型的SOA环境中,服务消费者和服务提供者之间会有几种不同的文档在进行交换。具有诸如“仅且仅仅传送一次”(once-and-only-oncedelivery),“最多传送一次”(at-most-oncedelivery),“重复消息过滤”(duplicatemessageelimination),“保证消息传送”(guaranteedmessagedelivery)等特性消息的发送和确认,在关键任务系统(mission-criticalsystems)中变得十分重要。WS-Reliability和WS-ReliableMessaging是两个用来解决此类问题的标准。这些标准现在都由OASIS负责。策略服务提供者有时候会要求服务消费者与某种策略通信。比如,服务提供商可能会要求消费者提供Kerberos安全标示,才能取得某项服务。这些要求被定义为策略断言(policyassertions)。一项策略可能会包含多个断言。WS-Policy用来标准化服务消费者和服务提供者之间的策略通信。控制当企业着手于服务架构时,服务可以用来整合数据仓库(silosofdata),应用程序,以及组件。整合应用意味着例如异步通信,并行处理,数据转换,以及校正等进程请求必须被标准化。在SOA中,进程是使用一组离散的服务创建的。BPEL4WS或者WSBPEL(WebServiceBusinessProcessExecutionLanguage)是用来控制这些服务的语言。WSBPEL目前也由OASIS负责。管理随着企业服务的增长,所使用的服务和业务进程的数量也随之增加,一个用来让系统管理员管理所有运行在多相环境下的服务的管理系统就显得尤为重要。WSDM(WebServicesforDistributedManagement)规定了任何根据WSDM实现的服务都可以由一个WSDM适应(WSDM-compliant)的管理方案来管理。其它的qos特性,比如合作方之间的沟通和通讯,多个服务之间的事务处理,都在WS-Coordination和WS-Transaction标准中描述,这些都是OASIS的工作。SOA不是Web服务在理解SOA和Web服务的关系上,经常发生混淆。根据2003年4月的Gartner报道,YefimV.Natis就这个问题是这样解释的:“Web服务是技术规范,而SOA是设计原则。特别是Web服务中的WSDL,是一个SOA配套的接口定义标准:这是Web服务和SOA的根本联系。”从本质上来说,SOA是一种架构模式,而Web服务是利用一组标准实现的服务。Web服务是实现SOA的方式之一。用Web服务来实现SOA的好处是你可以实现一个中立平台,来获得服务,而且随着越来越多的软件商支持越来越多的Web服务规范,你会取得更好的通用性。
本文标题:SOA的架构理念是什么
链接地址:https://www.777doc.com/doc-12800 .html