2006十大技术:SOA

    2006盘点专稿 在今年的软件发展中,面向服务架构(SOA, service-oriented architecture)成为了热门话题。
  
    SOA是一个基于标准的组织和设计方法,它利用一系列网络共享服务,使IT能更紧密地服务于业务流程。通过采用能隐藏潜在技术复杂性的标准界面,SOA能提高IT资产的重用率,从而加快了开发并更加可靠地交付新的增强后的业务服务。例如,服务的接口和实现相独立。应用开发人员或者系统集成者可以通过组合一个或多个服务来构建应用,而无须理解服务的底层实现。一个服务可以用.NET或J2EE来实现,而使用该服务的应用程序可以在不同的平台之上,使用的语言也可以不同。
  
    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的一些关键元素有安全需求(例如认证和授权),可靠通信(可靠消息是指,确保消息“仅且仅仅”发送一次,从而过滤重复信息),以及谁能调用服务的策略。