服务事务和安全

服务事务

1、事务的基本概念

      事务是一系列操作的集合,这些操作才逻辑上构成一个执行单元,其构成的操作或者全部执行或者全部不执行。因此,只有构成事务的所有操作都成功执行才意味着事务的成功执行,否则,事务的执行失败,系统还原到事务执行前的状态。

     (1)原子事务模型,具有以下属性

      a. 原子性(Atomic):事务包含的操作要么全部成功,要么一个也不发生;

      b. 一致性(Consistency):事务完成时应处于有效状态,即与客观事实相符的状态;

      c. 隔离性(Isolation):事务执行过程中事务的内部状态产生的临时结果在事务外部可见;

      d. 持久性(Durability):一旦事务成功完成,则对系统状态的改变是持久的,不受将来可能出现的错误的影响。如下图所示

      服务事务和安全_第1张图片

 

     (2)基于补偿的事物模型,放宽了原子事务的原子性和隔离性的要求,允许事务中操作改变系统的状态,而在事务失败时采取补偿状态,以将系统恢复到有效状态。如下图所示

     服务事务和安全_第2张图片

2、WEB服务事务

     由于WEB服务所处的分布式松耦合环境,对WEB服务事务提出两点要求:

     (1) 需要同时支持原子事务和基于补偿的事务

     (2) 需要同时支持集中式事务管理和分布式事务管理

 

服务安全

 

1、分布式应用安全框架的基本要求

     a. 标识(identification):识别系统访问者的身份

     b. 认证(authentication):认证系统访问者标识的有效性

     c. 授权(authorization):系统访问者只能访问系统中被授权的特定操作和资源

     d. 机密性(confidentiality):消息在发送者和接收者之间传输时不能被第三方窃听

     e. 完整性(integrity):消息在传输过程中要保持完整,不能被非法篡改

2、WEB服务安全性需求和规范

     a. 认证和授权:通过在SOAP消息头中包含认证和授权信息实现。有SAML(Security Assertions Markup Language)和XACML(XML Access Control Markup Language)规范。

     b. 机密性:通过XML-Encryption规范实现。

     c. 完整性:通过XML-Signature规范实现。

     WEB服务安全性不仅要求在传输层实现点到点的安全,而且需要在消息层实现端到端的安全,原因是:

     a.传输层安全只能实现点到点的安全,无法保证消息从发送者到接受者的全程安全。

     b.WEB服务应用通常仅需要对SOAP消息中的敏感信息进行加密,而传输层安全机制把整个SOAP消息作为负载进行加密。

     因此,在WEB服务的安全机制中,使用SSL/TLS、IPSec等规范实现传输层安全的同时,通过WS-Security规范来实现WEB服务消息层端到端的安全。即,WS-Security定义了如何通过扩展SOAP协议,在SOAP消息头中包含认证、权限、签名等安全信息,以及利用XML-Encryption进行SOAP消息加密。

3、WEB服务安全语言:WS-Security

     一种扩展SOAP,用以描述WEB服务消息的各种安全特征的语言。如使用WS-Security,在SOAP消息中增加用户名、密码、安全证书和签名信息,以及对消息进行加密。

 

你可能感兴趣的:(SOA)