在花费了很多时间处理企业IT的复杂性之后,我们应该想到那些小公司也有他们的IT需求。究竟,每一个公司都有桌面电脑、网络和数量庞大的内部硬件和软件,以及网站和相关外部IT工作。尽管中小企业的IT需求很宽泛,但是小企业(年销售额低于5千万美圆,100人以下)和那些较大的中小企业(年销售额达到5亿美圆,1000人以上)之间还是存在着巨大的差异。
小型业务几乎没有任何明显的内部集成可言,只有一些小的协作任务例如文件、日历和打印共享。但是,中等业务就具有额外的内部集成需求了,尽管它们通常只为后台办公使用一个单一的平台。事实上,不管大小如何,很多中型公司存在着遗留系统的问题。从1980年代起,中型服务器和主机系统就被用于中型市场,其结果是很多中型公司从建立自己的IT部门开始就长期使用这些设备。与比它们更大的企业不同的是这些公司不仅规模小,而且IT资源有限。简而言之,他们没有与比他们大的企业一样多的资金,这意味着他们的遗留系统会限制在一个可接受的范围内。
很多中小企业面对的一个问题是他们的分布式计算基础设施趋向于单一的行业相关的应用。例如,零售商集中自己的基础设施来对销售解决方案的单记帐点进行决策,医院利用病人记录软件和具体的临床实验室解决方案,而小型制造商则安装供给链系统和车间应用软件。尽管最小的公司都有记帐软件包,但公司在确定要把这些软件包集成到其它解决方案中之前,必须确定一个大小尺寸,例如他们的客户关系治理、供给链或者合作支持包。
公司大小和集成需求的关系
互联网和万维网的发展改变了很多中小企业的业务模型和IT需求。究竟,在互联网上,没有人能告诉你他是一家小企业。现在,每个行业中从最小的商店到中型公司中的每个人不仅只拥有Web网站,而且还能利用它们作为业务的组成部分。当然,代表着额外IT需求的Web不能从根本上改变他们内部IT组织的本质。
最后,小企业意识到他们不只简单地想提供一种到公司的外部连接,而且还想扩充更多的客户处理过程,以导致一种外部集成需求。首先,中小企业通常会为了他们和其它公司、客户、供给商以及合作者直接的计算机间的互联而充分利用互联网。这种B2B的集成已经被以电子数据集成(Electronic Data Interchange,EDI)和相关技术的形式用于较大型企业。但是这种方法对中小企业却不使用,因为它需要巨大的安装和维护费用,并且该方法也缺乏灵活性。现在,互联网已经改变了很多,使得中小企业直接连接其它公司的费用降低不少,尽管还是相对不太灵活。
对很多公司来说,Web服务已经成为在中小企业和其它公司之间使用简单B2B和基于互联网的集成的最佳方法。通过利用基于标准的Web服务来与那些同样支持这些标准的公司进行互操作,中小企业已经能相当显著得降低外部集成的费用了。因此最近,基于Web服务的集成已经成为中小企业选择与其它公司集成的主要方法。
这种趋势的有趣结果是小企业能够利用单一的基础设施来支持Web和Web服务功能,尽管它们拥有简单的内部IT环境而不存在任何额外的内部系统集成的需求。实际上,很多中小企业把他们的Web网站整个外包出去了。同样的,他们也很可能会把Web服务外包出去。在这种情况下,他们的大部分业务实际上在他们的服务提供者那里运行,而几乎不需要和他们的内部IT资源集成来达到数据输入与检索的简单交互的目的。
SMB中架构的角色
随着Web在中小企业使用Web服务方面发挥巨大的作用,这些企业使用最廉价最简单的方法来实现B2B Web服务交互变得越来越可能。使用表示状态传输(Representational State Transfer ,REST)等方法让企业有了一种简单而直接的基于HTTP的方法来进行基于Web服务的集成,这足够满足很多中小企业的需求了。然而,我们都知道Web服务,尤其是基于REST的Web服务并不能满足对架构的需求,并且更不能满足对安全、异步、事件驱动和过程驱动服务等复杂需求。而这些即使是最小的公司都想得到的。
由于缺乏能提供松耦合服务的架构,对SOAP的需求。。当服务从消费它的软件中解耦出来之后,就能对服务提供者或消费者进行升级或修改而不必打破它们。结果是,中小企业必须把实现面向服务架构考虑成构建、部署和治理他们服务以及服务环境的方法,而不是仅仅是为了暴露和与服务接口通信而关注开销低、复杂度低的协议。此外,正如我们经常讨论的那样,SOA比这些接口要复杂很多。它还与定义服务使用的合约和策略有关,因此,我们能获得重用和业务灵活性的好处,而使用简单的协议无法满足这些要求。
大企业已经转移到SOA,因为在复杂的异构IT环境中布满着经常性的不可猜测的业务变更,而SOA此时非常管用。但是,中小企业几乎没有复杂的异构的IT环境,而且他们也没有在和大公司一样的不可猜测的业务变更。他们通常拥有更加可控的IT环境来应对这些变更。当这样一个动态业务环境影响到某个中小企业与其它公司集成时,。究竟,为什么只有大公司就能得到业务灵活性、重用和低价的IT基础设施的好处呢?
用松耦合B2B Web服务进行变更
要理解为什么中小企业,甚至那些只有外部集成问题的公司,应该考虑SOA,很重要的一点就是要看到这样的服务所处在的动态环境。为B2B消费暴露了服务的公司必须面对一个事实,那就是他们将每年多次构建和编辑多种服务,用新的功能升级这些服务,维护与这些服务有关的合约和策略,还要持续提供或撤消对这些服务的访问。相应的,消费这些服务的公司的客户或合作者也不得不基于他们自己的安全和协议需求来要求很大范围的服务合约以及松耦合。于是,中小企业对他们服务的任何变更都不会影响到他们的业务。如我们所看到的,为了与第三方合作,暴露一个服务接口只是提供服务要面对的所有困难中的很小的一部分。
对于提供者和消费者,所有这些功能的公共主题就是变更。假如服务提供者和消费者的需求不经常变化,那么就不需要为处理这种变更而构建架构而争辩了。取而代之的是中小企业会很轻易对B2B交互的API达成一致。究竟在过去,用于B2B集成的简单API在不经常变化的情形下已经可以工作了。但是,在一个API接口中进行像上文列出的变更需要对服务器和客户端进行重新编程和重新部署,因为这些交互紧紧耦合在一起。
结果,就算中小企业也必须在架构和基础设施上进行投资,才能实现SOA的灵活性好处。的确,他们需要足够的功能进行服务的运行时治理、治理与服务有关的持续变更的元数据、安全和策略网关来满足安全和合作策略需求。当然,他们还必须在架构上进行投资。当某个中型公司提供了服务后,他们或许会在内部设置上面的基础设施。事实上,小公司通常会寻找一个第三方来主管服务。不管那种情况,他们都需要SOA架构,因为它提供了实现的整体设计。
ZapThink的观点
当所有这些功能在SOA的环境中变得越来越实用时,一定要记得灵活性是随价格带来的。治理、安全、元数据和集成基础设置都潜藏在SOA实现之下。究竟,松耦合不是魔术、也不轻易达到。它需要严格的设计和复杂但灵活的基础设施。
很多中小企业已经开始利用Web服务来降低满足他们外部集成需求的陈旧方法的费用。但是,单单增加Web服务接口的方法和过去的API方法一样不灵活。中型企业只有通过构建SOA应用并利用足够灵活的松耦合的Web服务才能跟上业务环境持续不断的变化。