一、SOA概述
SOA是个很独特的架构,强调协作、复用、本地透明组件和网络之间的链接。它的特点体现在“可重用性”和“互操作性”,使得起能够为企业解决多方面的问题。通过实现SOA可以带来很多好处,主要包括以下几个方面。
(一)效率
将业务流程从“烟囱”状的、重复的流程向维护成本较低的高度利用、共享服务应用转变。
(二)响应
迅速适应和传送关键业务服务来满足市场需求,为客户、雇员和合作伙伴更高水准的服务。
(三)适应性
更高效地转入转出让整个业务变得复杂性和难度更小,达到节约时间和资金的目的。
二、SOA与Web服务
现在的SOA很大程度上还是依赖Web服务,其影响非常深,以至面向服务的Web服务的概念和技术影响了许多SOA的特征。尽管基于Web服务的SOA还存在着某些限制,但是仍然是理想的架构和技术的组合,它始终可以提供强健的,可重复使用的服务,这样的服务不仅可以满足业务需求也可以适应不断变化的业务需求。
目前,WSDL已经成为访问任何应用的标准编程接口,而SOAP也成为连接不同应用的标准操作协议。以上这两个标准给我们开了一个好头, 因为更多的针对企业级和服务质量方面需求而定制的Web服务规范将越来越多,它们对Web服务的安全、可靠性、事物编制和元数据管理等方面进行了定义。总而言之,Web服务是构建S0A的最佳平台。
三、SOA安全控制相关技术
(一)Asp.NET应用程序的安全控制
1.基于表单的安全技术
如果在一个WEB站点上设立一个自定义用户注册系统,那么可以使用表单验证。这类验证的优势在于它可以把用户名和密码保存到任何你所期望的存储机制中,比如可以把用户名和密码保存在Web.Config文件、XML文件或数据库中。
表单验证依赖于测览器Cookie来确定用户身份。在为一个目录启用了一表单验证后,这个目录中的页面就不可以被访问了,除非用户拥有存储在Cookie中的正确授权令牌。
2.基于windows的安全技术
当开发的程序主要为内部网所用,那么可以使用现存的Windows用户账号和用户组来使用Windows验证。
我们可以使用Windows的验证来控制用户对机密信息的访问。比如,你只想让开发组中的成员才能访问开发相关的文档,那么,可以使用Windows的验证来防止其他Windows账号组的成员, 比如外联部的人员来访问这些受限文件。但是,如果你正开发的是一个公共用户注册和密码系统,那么使用基于Windows的验证就不是一个安全的选择了。在启用Windows验证时,就必须为每个要访问受保护页面的用户配置一个Windows用户账号。
(二)Web服务安全
Web服务除了给SOA 带来很多优点之外,也带来了很多安全隐患。创建一个安全的Web服务要涉及到因特网传输、X眦和Web服务安全机制,有部分在创建过程中已经建立好的,比如:传输级安全(防火墙、VPN等)、消息级安全(认证令牌)、数据级安全(数字签名等)、环境级安全(登陆、审核等)。一个好的安全方案则需要花费一定的时间和精力以防止数据被恶意的访问或篡改。
安全是个非常复杂的领域,充满着许多为解决不断出现的威胁而设计的技术与协议。要保护数据,通常要对Web服务进行加密和加密选项的选择,在进行加密的时候,又要考虑到是否兼容的问题。同样,确保整个SOA 支持一套技术也是非常关键的,一般说来,为了处理S0A中的多种服务与机制,往往需要很多技术结合在一起。通常可以包含安全服务集成接口、安全服务、消息安全、安全传输等四层。