- 3
- 0
- 约3.13千字
- 约 7页
- 2018-10-07 发布于福建
- 举报
Soa架构和安全分析
Soa架构和安全分析
摘要: 对soa架构做一个简单的陈述,并分析soa的发展现状以及soa的发展趋势,重点分析在常见的soa解决方案中,soa通常呈现的安全问题以及合理的解决方案。
关键词: soa架构;web services;面向服务;XML加密;XML签名
中图分类号:GA文献标识码:A文章编号:1671-7597(2011)0320194-01
Soa(Service-oriented architecture,面向服务架构)发展到现在,已经不是很新的概念了,早在1996年的时候,Gartner公司就已经提出了这个概念,2002年12月,Gartner提出SOA是“现代应用开发领域最重要的课题”,还预计到2008年,SOA将成为占有绝对优势的软件工程实践方法,主流企业现在就应该在理解和应用SOA开发技能方面进行投资。
事实的情况,也正像他们预测的那样,IT组织已经成功建立并实施SOA应用软件很多年了,并有效的节约了成本和提高的生产效率,取得了很好的成果。那么,SOA如此风靡,它究竟是一种什么东西呢?
简单来说,SOA就是一个组件模型,应该属于一个软件一体化中的一个概念。这个组件模型,将不同的服务以应用程序的不通功能单元的形式,通过已经预定义的接口和协议联系起来。这些预定义的接口,一般都使用比较中立的定义,这样可以确保这种接口可以做到跟编程语言无关,跟所有的软硬件无关,最大可能的满足其跨平台性。这样,当构建一个这样的平台后,这样一个平台中的系统就能以一个统一的通用的方式进行交互,而不用去关心这些系统被部署在什么样的环境中和部署在什么地方这些问题了。
当然,即使到目前,soa依旧没有一个统一的官方的定义,很多厂家在在拿出自己的SOA决绝方案的时候,都给除了自己的定义。这里,我们仅仅提供一个W3C提供的定义:SOA是指服务提供者完成一组工作,为服务使用者交付所需的最终成果。最终结果通常会使使用者的状态发生变化,但也可以使提供者的状态发生改变,或者双方都发生改变。
在实施SOA架构时的关键目标是什么呢?其实就是为了节约成本,实现企业IT资产重用的最大化。这一目标促使人们在实施SOA的时候,必须考虑以下方面:可从企业外部访问,这个是因为为了满足企业的业务伙伴的需求,使业务伙伴即外部用户也能像企业内部用户一样访问相同的服务。当业务伙伴基于业务的目的交换业务信息时,这个会话过程应该不会受到阻止;随时可用,当有服务使用者请求服务时,SOA要求服务提供者能够及时响应。
这里有个问题需要说明的是,在实际上,服务的提供者总是多于服务的使用者,当使用者多到一定程度时,对使用者来说,很容易受到服务提供者短缺的影响,所以为了缓解这个问题,一般在提供服务时,会考异步应用,因为异步应用要更为稳健,其采用队列请求设计,可以容许服务暂时短缺或迟滞的情况;考虑到减少使用者和服务层之间的多次往复,在设计接口时一般采用粗粒度服务接口,因为粗粒度服务一次能提供一项特定的服务功能,但是这里也会出现一个问题,那就是,粗粒度设计虽然能有效减少使用者和服务层的多次往复,但其重用性却很差,有的甚至没法重用,为了解决这个问题,人们在设计SOA架构的时候,采用了不通的粗粒度等级来创建服务。这种服务分级包含了粒度较细,重用性较高的服务,也包含粒度较粗,重用性较差的服务。在设计时,还有一个重要的特性,那就是需要满足松散耦合,这以特性的满足,使SOA与其它的大多数组件架构区别开来,而且,也将服务使用者和服务提供者在使用服务和提供服务上实现了完全的透明。早些时候,SOA架构一般采用ESB通信,但现在采用较多的是web services,这要优于与服务特定接口的连接。还有一个特性就是需要可重用的接口设计,这个就不用说了,为了满足重用性和易于管理性了。
由于SOA架构满足上面描述的那些特性,其具有的优点是显而易见的。其具有的优点主要表现在:编码灵活性;能使每一个开发人员的角色明确;由于其采用了中立的通信格式,所以能支持多重客户类型;其松散耦合让其具有更易维护性,更高的可用性。对企业来说,最关心就是对现有的资产的利用和易于集成和管理了,而这个也能满足,所以,企业的成本就自然而然的降低了。
虽然SOA现在发展的如火如荼,但还是处在不断的发展中,还是存在很多有待改进的地方。其缺点目前来说,主要表现在以下几个方面:可靠性,安全性,性能。在电子商务的应用中,有一个很重要的可靠性,就是不可否认性,信息确保发送且仅且一次以及事务的回滚,这点是必须得到满足的,但是,目前来说,SOA架构还没有为此做好准备。至于安全性我们在下面会做详细的分析。至于性能问题,不可否认,这个SOA架构最遭人诟病的地方。SOA架构的性能稍低,主要是因为
原创力文档

文档评论(0)