SOA 的架构理念是什么? 不同种类的操作系统,应用软件,系统软件和应用基础结构(applicationinfrastructure)相互交织,这便是IT 企业的现状。一些现存的应用程序被用来处理当前的业务流程(businessprocesses),因此从头建立一个新的基础环境是不可能的。企业应该能对业务的变化做出快速的反应,利用对现有的应用程序和应用基础结构(applicationinfrastructure)的投资来解决新的业务需求,为客户,商业伙伴以及供应商提供新的互动渠道,并呈现一个可以支持有机业务(organic business)的构架。SOA 凭借其松耦合的特性,使得企业可以按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需要,提供选择从而可以通过不同的渠道提供服务,并可以把企业现有的或已有的应用作为服务, 从而保护了现有的IT基础建设投资。 如图 1 的例子所示,一个使用SOA 的企业,可以使用一组现有的应用来创建一个供应链复合应用(supplychaincompositeapplication),这些现有的应用通过标准接口来提供功能。 服务架构 为了实现SOA,企业需要一个服务架构,图 2 显示了一个例子: 在图2 中,服务消费者(serviceconsumer)可以通过发送消息来调用服务。这些消息由一个服务总线(servicebus)转换后发送给适当的服务实现。这种服务架构可以提供一个业务规则引擎(business rules engine),该引擎容许业务规则被合并在一个服务里或多个服务里。这种架构也提供了一个服务管理基础(service management infrastructure),用来管理服务,类似审核,列表(billing),日志等功能。此外,该架构给企业提供了灵活的业务流程,更好地处理控制请求(regulatory requirement),例如 Sarbanes Oxley(SOX),并且可以在不影响其他服务的情况下更改某项服务。 SOA 基础结构 要运行,管理 SOA 应用程序,企业需要 SOA 基础,这是 SOA 平台的一个部分。SOA基础必须支持所有的相关标准,和需要的运行时容器。图3 所示的是一个典型的 SOA 基础结构。 SOAP,WSDL,UDDI WSDL,UDDI 和SOAP 是SOA 基础的基础部件。WSDL 用来描述服务;UDDI 用来注册和查找服务;而 SOAP,作为传输层,用来在消费者和服务提供者之间传送消息。SOAP是Web 服务的默认机制,其他的技术为可以服务实现其他类型的绑定。一个消费者可以在UDDI 注册表(registry)查找服务,取得服务的WSDL 描述,然后通过 SOAP 来调用服务。 WS-IBasicProfile WS-IBasicProfile,由 Web...