一些专家的个人观点,五大趋势,以及由此形成的第六大趋势

来源:互联网 发布:网络成瘾的危害 编辑:程序博客网 时间:2024/05/02 02:36

 

在我看来,软件工程方面无疑正在酝酿着一场风暴。很多信息和观念正在逐渐整合或彼此挑战。

回顾过去的 15 年,我亲眼看见面向对象的趋势逐渐成为了主流,试图渗入从建模到 COBOL 的各个方面,然后快速地从表面上消失,渗透到每个角落:从很大程度上说,对象无处不在。

我们通过对象学到的知识之一是 1993 年到 1994 年提出的设计模式。当然,这些知识已经存在了一段时间了:“对接口编程,而不要对实现编程”。

转眼到了 2003 年,Web 服务开始普及。然后是 2004 年-2005 年,面向服务的体系结构(Service-Oriented Architecture,SOA)开始出现。显然,“对接口编程,而不要对实现编程”的趋势又以一种新的形式出现,开始尝试进入体系结构堆栈的较高层:SOA 是将接口从实现和传输(绑定)分离,但有趣的是,此工作在体系结构级别进行。

到目前为止,我们在应用程序(或企业)体系结构中包含了一个层次结构,即一个服务层和一个接口层。

但这个趋势并未就此停住。这一年我们亲眼看到了组合应用程序各个方面越来越多的发展和骄人的成果,这些贡献既来自 IBM® 和 Microsoft® 等工具供应商,也来自 SAP 和 Oracle 等已打包应用程序供应商。这进一步提高了抽象级别,使企业可以将流程视为由多个彼此交互但相互独立的服务组成。

抽象级别的提高并不是此趋势的唯一表现,而且也体现在另一个与其正交的方面:即,以策略为代表的声明式外部化。功能被外部化,各个服务提供商可以提供相应的实现,以便采用此功能。此外,我们还能够以声明的方式外部化与行为(功能和非功能)以及该服务的预期服务质量相关的服务配置。

因此,我认为目前有五大趋势。以下为前四个:

  • 一个趋势是提高抽象,从编程到体系结构层再到业务层。此趋势导致的结果是,服务现在是企业资产,而不在仅属于 IT 范围内了。
  • 第二个趋势是功能(服务是提供者还是使用者)和策略(服务的非功能属性)的外部化以及声明的添加。
  • 第三个趋势是组合和可组合性。
  • 第四个趋势是在总线上集成(而不是点到点集成或仅仅是轮辐式集成)。一个非常特别的总线(即企业服务总线)提供了通过已分离的提供者和使用者定义集成的方法。

最后一个趋势利用其他几个趋势,最初似乎彼此对立的东西现在开始彼此融合了。我在 SOA 身上看到了这些趋势的融合。

现在第五个趋势更为微妙,正在缓慢地发展,逐渐成型。这标志着更为成熟的集成级别的出现。这是通过以新的有意义的方式组合其他四个趋势而形成的。

因此产生了一个混合物,而这个过程本身就是第六个趋势。这就将语义包含进来,使其进入一贯由句法和接口统治的环境中。这可以在 Web 2.0、语义 Web (Semantic Web) 以及信息交互和用户界面方面更为明显的趋势中得到表现。

这对软件工程有何意义?这意味着软件工程的基本原理现在正逐渐向新的领域和方面发展,各个基本原理彼此进行组合,其本身也在发生变异,所得到的新组合最初可能会让人不知所措,但很快便会脱颖而出,开始越来越多地得到非技术人员认同。

 
原创粉丝点击