2008-01-07
无论是在各种分析报告和杂志的“2007年最热IT主题”中,还是在IT厂商(尤其是企业软件领域的厂商,例如Oracle和BEA)的最新宣传中,都经常会看到SOA(服务导向型架构)一词。“SOA”很可能会遍布这些厂商的Web站点、演讲和白皮书。但是,也可能出现另一种情况,即关于SOA的讨论只集中在应用软件设计架构层面。事实上,如果想成功地利用这个崭新的SOA概念,必须用更系统的方式构建IT基础设施。我们将分两部讨论SOA部署中经常被忽略的网络和安全问题。 SOA部署中经常被忽略的网络和安全问题: SOA综述 从不同的角度看,SOA有不同的定义。积极推进SOA的国际标准组织之一OASIS(结构信息标准化促进组织)给出的定义是:“组织和利用分布式功能,使之能位于不同所有权域控制之下的一种方法。”实际采用SOA的一个例子是某日本公司的后勤部门从由中国外包制造合作伙伴托管的应用访问SOA服务,以获得向印度客户发出的某产品的最新信息。 实际上,SOA并不是一个全新的概念。很长一段时间以来,IT部门一直都试图将各种企业应用集成在一起。EAI(企业应用集成)和B2B商务集成拥有同样的目标。多数情况下,以前的应用都是专有的,实施的是紧密耦合的应用集成。在快速发展的当今世界里,这种集成通常不够灵活和便捷。 Web逐渐成为在线通信标准之后,SOA取得了很大的突破,使企业可以利用广为部署的标准协议,包括简单对象访问协议(SOAP)的Web服务标准,通用说明、识别和集成(UDDI)以及Web服务说明语言(WSDL),实现不同软件应用之间的互操作性。SOA的最终目标是,无论设备的物理位置在哪里,无论使用的是哪种初始编程语言、操作系统或网络,都能够以按需“服务”的方式,为处于全球任何地方的任何其它应用提供支持Web服务的软件功能。 这种模式的最大优点是,由于几乎所有应用都能通过标准消息格式访问应用功能,因此,SOA能够提升业务价值,提高IT效率。 SOA部署中经常被忽略的网络和安全问题: SOA对网络的意义 很多SOA解决方案都忽略了网络。它假定网络能够在应用转型之后顺利支持新的SOA应用。 著名的计算机科学家 L. Peter Deutsch曾经总结出“分布式计算的八大谬误”。这些假设为: 需要特别注意的是,在网络上大量使用Web服务会带来以下结果: 部署SOA时必须考虑上述问题。一般情况下,SOA项目预算只包含软件和服务器,但如上所述,其实很多方面都需要考虑。因此,整个计划应该包括网络升级(如果需要,应该考虑路由器、交换机、防火墙和应用加速设备的升级),以便支持SOA。 本文作者为:Juniper 网络公司中国区技术总监 王卫
|