Service Oriented Architecture (SOA)是一个粗粒度、松耦合的服务架构。它将系统内部不同的功能单元称为服务,并通过定义简单、精确的接口和协议进行通信。这些接口是通过中立的方式进行定义,独立于各个服务的硬件平台、操作系统和编程语言。这让异构系统中的各种服务可以以通用的方式进行通信。
2. 企业服务总线 ESBEnterprise Service Bus (ESB)是由中间件技术实现的全面支持面向服务的基础软件平台,是传统中间件技术与XML、Web服务等技术结合的产物。它支持异构服务,以及基于消息和事件驱动的服务交互,并具有适当的服务质量和可管理性。企业服务总线是SOA实现过程中技术架构的关键基础组件,能够将不同硬件平台、不同操作系统、不同编程语言实现的服务集成到一起。
3. SOA的关键技术 3.1 简单对象访问协议 SOAPSimple Object Access Protocol(SOAP)是交换数据的一种规范,是一种轻量级、简单的、基于XML的协议,在Web服务中用于交换结构化的信息。它可以支持消息系统、远程过程调用(RPC)等应用程序。
3.2 网络服务描述语言 WSDLWeb Service Description Language (WSDL)用来描述如何访问具体的接口。
3.3 通用描述发现和集成 UDDIUniversal Description Discovery and Integration(UDDI)用来管理、查询和分发网络服务。
SOAP、WSDL、UDDI是网络服务的三大要素,在SOA和ESB中有大量的使用。
3.4 可扩展标记语言 XMLExtensible Markup Language(XML)是标准通用标记语言的一个子集,是用于结构化标记文档的语言。它和HTML有三点区别:1. HTML不允许自定义标识和属性,而XML可以;2.HTML不支持深层结构描述,而XML可扩展到任意深度;3.HTML没有提供规范文件进行自动的结构校验,而XML可以。
3.5 XML加密模块XML加密模块提供了端到端的结构化数据安全交换功能。它可以加密交换数据的一部分,可以进行多方的安全会话。
3.6 Web服务安全 WS-SecurityWeb Service-Security(WS-Security)是一种在网络服务上应用安全措施的网络传输协议,包括Kerberos网络授权协议。它描述了如何将数字签名和加密头放入SOAP消息中。
3.7 网络扫描网络扫描可以进行ping扫射和端口扫描,可以用于对SOA或ESB进行安全评估。
3.8 防火墙系统防火墙系统是指设在不同网络或网络安全域之间的一系列用于网络安全的部件组合。它可以通过检测、限制、更改网络数据流,对外屏蔽内部网络的运行状态、硬件结构、软件信息,实现网络安全防护。