体系架构
  当前位置:首页 > 技术支持 > 体系架构
专家谈SOA的最佳定义是什么
发布时间:2010-03-03 浏览:4194次
   在声称自己在做SOA的人中,没有任何人会公开承认他们确实只是在做客户机/服务器计算。还有一些做SOA的人,他们实际上是把重点放在建立业务模型方面,把这个模型作为一套功能的服务领域(这些人确实是在做SOA)。那么这个行业就需要一个SOA通用定义。

  美国华盛顿地区的独立IT架构咨询师JP Morgenthal称,他试图在《SOA世界杂志》上发表的题为“定义SOA的分类方案”一文中为各种SOA实施分类。他认为,他可以通过把SODA/应用程序开发与自己的子类混合在一起来隐藏他对缺乏SOA明确概念的不满。但是,他错了。当涉及到SOA服务时,仍然有许多模糊不清的概念。

  你也许会问,如果我们把在计算机上运行的一切东西都叫做服务会有什么大的影响吗?这个答案是:并非所有的服务都是平等地建立的。当使用一个词汇包含所有的东西的时候,没有办法确定这些服务的类型和范围。

  Morgenthal说,SOA的准确定义应该是这样的:SOA是一种原始模型的结构方式,重点是根据合同的定义从提供商和消费者的角度设计系统。基于SOA的设计通过实现服务提供商的互操作性提供灵活性,不需要消费者方面的流程改变。因此,SOA适用于系统级,而不是一个系统中的一个单个的组件。

  Morgenthal称,由于我把SOA定义为一种原始模型,你不能有一个直接的SOA实例。你可以使用SOA定义一个新的架构。然后,使用这个架构创建系统的实例。例如,SOI(面向服务的集成)、Web 2.0和云计算都是以SOA原始模型为基础的。然而,在应用环境中,FedEx和UPS作为业务也是SOA架构。不用说,如果按照面向对象的法则,通过一个对象的最早的祖先来辨认这个对象不是不合法的,但是,这样做你就会失去这个对象的本质。在一个集合中把东西混合在一起是一个伟大的技术。但是,如果你要实现这个对象的丰富性和价值,这个技术还是很可怕的。

  在上述基于SOA的三个技术架构中,SOI和Web 2.0之间显然有牢固的软件联系。有人把拥有一个SOAP或者HTTP接口的软件组件叫做服务。就像SOA是一个原始模型一样,服务也是一个原始模型。这些软件组件是服务是因为它们来自于这个服务原始模型。

  Morgenthal称,为了更好地理解他的观点,我们需要先了解一下这个技术分支。随着TCP/IP成长为一个广泛应用的网络协议,客户机/服务器计算的概念也在发展。在客户机/服务器计算中,一个用户接口应用程序使用连接到网络的软件服务根据需要提供数据,而不是让这个应用程序作为一台单个的计算机中的一个独立的实体。客户机/服务器计算实现了网络共享的资源。

  如果我们不在上一段话中使用客户机/服务器的这个词汇,目前90%的技术人员会说我们在谈论SOA。因此,目前使用Web服务开发系统的人是在做客户机/服务器计算吗?Morgenthal认为是如此。但是,那样做并不普遍。目前还没有成百的有空缺的客户机/服务器设计师岗位。

  总之,在声称自己在做SOA的人中,没有任何人会公开承认他们确实只是在做客户机/服务器计算。还有一些做SOA的人,他们实际上是把重点放在建立业务模型方面,把这个模型作为一套功能的服务领(这些人确实是在做SOA)。然后,使用客户机/服务器设计方式开发软件组件的许多人都说他们在做SOA。

  请问,你还认为在这个行业不需要一个通用的SOA定义吗?

 
 
    
 
 
版权所有 © 2005-2024 安徽省艾佳信息技术有限公司 皖ICP备06002923号  皖公网安备 34019202000659号
地址:安徽省合肥市蜀山区望江西路69号西湖国际广场 电话:0551-64935878 邮箱:admin@ajsoft.cn