全面掌握SOA 认清SOA面临的挑战

面型服务的架构(SOA)是一种用于创建和使用业务流程的计算机系统的架构风格。在其整个生命周期内,SOA允许企业应用之间相互交换数据,并且成为业务流程不可或缺的一部分。

SOA不能单纯地只从技术角度看成是一种服务架构,它还是一种策略、做法和框架。使用它我们可以确保所提供的服务是正确的并且被正确使用了。

SOA是在软件服务的基础上创建应用。这些服务基本上是毫无联系的功能单元,相互之间没有调用关系。

SOA可以把相当大的功能模块和相互的约速关系紧密结合在一起,从而形成特殊的企业应用。这些应用几乎完全是从现有的软件服务上一步步建立起来的。

因此,每个SOA架构都至少扮演了下列三个角色中的一个角色:

●SOA是一个Web 服务,它主要负责决定企业向外界暴露的信息类型。SOA服务提供者需要综合考虑可用性和安全性的影响,权衡利弊。

●服务代理者和服务寄存器负责保证信息能被服务查询者正确访问。服务代理者需要决定传递信息的数量。

●服务请求者或Web服务客户端请求服务,并绑定到服务供应者,以调用它提供的Web服务。

SOA所面临的挑战:由于设计模式的不同,一个单一的应用可能会产生非常多的错误。各种各样的服务还要相互作用。所以,管理这些服务本身就是一个极大的挑战。

●为SOA的每个界别提供安全性是另一个挑战。SOA本身提供一个非常合理的安全模型。

●SOA还需要面对其它方面的挑战,比如可移植性。部署这种类型的服务需要很多技巧。

●构建服务基础设施。

开始部署SOA之前需要考虑的几件事:

1.深入了解自己的义务

用户在试图自动化自己的业务流程之前,需要深入了解自己的业务。SOA可以使IT与业务紧密结合在一起,但是这也会带来一系列的问题。

2.选择功能

提供的服务必须简单、通用的、紧凑并且切中要点。

3.考虑硬件

软件并是不是服务唯一的关键因素。部署SOA同样也需要考虑硬件设施。

4.防火墙的可用性

防火墙是一种安全软件,可以保护系统免受间谍软件和病毒的侵袭和破坏。SOA也必须能够与防火墙兼容。

5.未来的计划

如果SOA的扩展到一定程度,那么就应该有一个单独的SOA治理系统。

6.全面掌握有关SOA系统的相关信息

系统用户必须对SOA有一个全面的了解,比如该系统是否能处理不断增加的负载和减负载服务以及网络基础设施。