中小企业SOA发展之道
SOA往往被认为是大企业的专利,这源于实施基于SOA架构的软件需要被实施企业已经具备一定的信息化基础,而中小企业的信息化基础往往比较薄弱。并且在中小企业中,往往没有复杂的异构环境存在,而且他们的业务也不象大企业那样不易预测。这会大大降低中小企业对SOA的需求。此外,与大企业相比,中小企业越发强调行业特点和企业个性,从而对信息系统提出了更多的个性化需求,但这却恰恰又是SOA的弱项。
随着Web在中小企业使用Web服务方面发挥巨大的作用,这些企业使用最廉价最简单的方法来实现B2B Web服务交互变得越来越可能。使用表示状态传输(Representational State Transfer ,REST)等方法让企业有了一种简单而直接的基于HTTP的方法来进行基于Web服务的集成,这足够满足很多中小企业的需求了。然而,我们都知道Web服务,尤其是基于REST的Web服务并不能满足对架构的需求,并且更不能满足对安全、异步、事件驱动和过程驱动服务等复杂需求。而这些即使是最小的公司都想得到的。
大企业已经转移到SOA,因为在复杂的异构IT环境中充满着经常性的不可预测的业务变更,而SOA此时非常管用。但是,中小企业几乎没有复杂的异构的IT环境,而且他们也没有在和大公司一样的不可预测的业务变更。他们通常拥有更加可控的IT环境来应对这些变更。当这样一个动态业务环境影响到某个中小企业与其它公司集成时。毕竟,为什么只有大公司就能得到业务灵活性、重用和低价的IT基础设施的好处呢?
实现SOA的灵活性
要理解为什么中小企业,甚至那些只有外部集成问题的公司,应该考虑SOA,很重要的一点就是要看到这样的服务所处在的动态环境。为B2B消费暴露了服务的公司必须面对一个事实,那就是他们将每年多次构建和编辑多种服务,用新的功能升级这些服务,维护与这些服务有关的合约和策略,还要持续提供或撤消对这些服务的访问。相应的,消费这些服务的公司的客户或合作者也不得不基于他们自己的安全和协议需求来要求很大范围的服务合约以及松耦合。于是,中小企业对他们服务的任何变更都不会影响到他们的业务。如我们所看到的,为了与第三方合作,暴露一个服务接口只是提供服务要面对的所有困难中的很小的一部分。
对于提供者和消费者,所有这些功能的公共主题就是变更。如果服务提供者和消费者的需求不经常变化,那么就不需要为处理这种变更而构建架构而争辩了。取而代之的是中小企业会很容易对B2B交互的API达成一致。毕竟在过去,用于B2B集成的简单API在不经常变化的情形下已经可以工作了。但是,在一个API接口中进行像上文列出的变更需要对服务器和客户端进行重新编程和重新部署,因为这些交互紧紧耦合在一起。
结果,就算中小企业也必须在架构和基础设施上进行投资,才能实现SOA的灵活性好处。的确,他们需要足够的功能进行服务的运行时管理、管理与服务有关的持续变更的元数据、安全和策略网关来满足安全和合作策略需求。当然,他们还必须在架构上进行投资。当某个中型公司提供了服务后,他们或许会在内部设置上面的基础设施。事实上,小公司通常会寻找一个第三方来主管服务。不管那种情况,他们都需要SOA架构,因为它提供了实现的整体设计。
当所有这些需求变化和功能实现在SOA环境中变得越来越实用时,一定要清楚,灵活性的加强或是减少都是建立在一个代价基础之上:管理、安全、元数据和集成基础设置都潜藏在SOA实现之下。毕竟,松耦合不是魔术、也不容易达到。它需要严格的设计和复杂但灵活的基础设施。
就目前的情况而言,越来越多的中小企业已经开始利用Web服务而不是使用陈旧方法来降低费用,以满足他们更多的外部集成需求。但是,单单增加Web服务接口的方法和过去的API方法一样不灵活。中型企业只有通过构建SOA应用并利用足够灵活的松耦合的Web服务才能跟上业务环境持续不断的变化。
目前,IBM、Oracle、BEA等厂商,都推出了适合中小企业的SOA应用。但是,这些应用离中小企业的实际应用还有一段距离。SOA作为一个面向服务的体系架构,其倡导把业务当成服务,服务之间通过标准的接口进行集成,更偏重在松耦合结构的应用集成方面,解决系统的集成和扩展问题,而并不跟企业的具体业务相关联,这使得它在应用中必然存在一个针对行业特性的缺位。这样,在接下来的相当长的一段时期内,针对中小企业的SOA应用市场,必将处于不断增长的需求和现有产品难以满足同类需求的矛盾之中。
IT专家网原创文章,未经许可,严禁转载!
- 本文关键词:

