日期:2009-11-16  浏览次数:20451 次

 .NET为服务器端和客户端的组件开发增加了新的方面

  Infragistics, Inc.公司提供COM,Java和.NET平台使用的组件。它成立于2001年1月,是由主要的两个组件供应商Sheridan Software Systems 和 ProtoView Development合并而来。Sheridan是主要的Windows组件供应商,ProtoView从事于Java组件领域。netWire 编辑 Manohar Kamath 对Bob Wolf,Infragistics公司的主席和销售市场部副总裁,谈论.NET如何影响组件的开发与使用。

  请告诉我们一些有关你正在工作的.NET组件的一些情况。

  我们最近宣布了一个表示层组件的完全战略,以及使订单和企业版客户能在下一年中方便过渡到这种变化的途径。我们还宣布了完整套件,它可用于供Visual Studio .NET使用的的丰富客户端Windows窗体控件,名为UltraWinSuite,还可用于供ASP.NET使用的服务器端Web窗体,名为UltraWebSuite。

  所有套件包含的组件包都可以使开发人员很容易地实现当今在多数应用程序--Microsoft office, Outlook, 及 Internet Explorer--的外观和感觉。这些套件包括了所有主要的表示层组件类型,包括网格,图表,工具条和其它导航工具,资源管理组件,以及很多其它GUI控件。

  .NET如何在设计、开发、发布一个组件的过程中,改变你作为组件供应商的工作方式?

  我觉得在创建一个组件的内部处理过程中,没有发生任何变化。我们C++转移到C#,在生产率方面有所增加。Visual Studio .NET是一个非常高产的环境。

  从技术角度说,我们的团队能很快适应新的技术。因此,象学习如C#这样的新语言并不是问题。事实上,我们早就有Java开发人员,因此,我们对基于Web 的应用程序架构已经有所了解。这些语言非常相近,因此将资源从一个产品家族转移到另一个产品家族就给了我们更大的灵活性。因此,对于创建图表对象具有丰富经验的开发者,可以很方便地将这种经验从Java产品移植到.NET产品中。

  长期以来,你是可视化组件的供应商。当.NET出现后,你的计划是否是创建在服务器和客户都可重用的组件?

  正象以前提到过的那样,当微软的Visual Studio .NET发行时,对服务器和客户端组件我们都有团队在开发。我们确实打算使两者继续存在,但重点要转向提供给Web服务的服务器端的组件及从重多类型的客户端设备获取信息,这些设备类型包括移动电话,PDAs,和其它形式的设备,以及基于Windows和浏览器的客户端。

  事实上,我们要得到的是智能型服务器端组件,这些组件可以检测客户类型,提供与调用相适应的信息和格式。.NET架构正是为这种类型的组件设计的,Visual Studio .NET使得编写这种组件更容易。

  有一个问题就是,.NET将代码转换成中间层语言,而它对外界是可见的,因此很容易侵犯你的知识产权--通过所编译你的组件。你认为如何解决这个问题呢?

  我们不认为这是一个问题,因为我们销售Java组件的源代码。对.NET组件,我们也会这样做。最终这个行业的供应商将会不再销售各自产品的源代码。因此,如果有人需要源代码,他可以购买。

  当然,也有工具(如果混合器)用于对中间代码进行加密,使它们难于所编译。版权法对那些不公平操作和使用而未购买我们代码的人(进行管理)。

  对于Windows,供应商要负责他们组件的版本化问题。对于.NET,版本化问题变得容易了。你认为.NET是否给你带来了以前不曾存在的额外责任?

  我不认为版本化问题已经不存在了。我们仍要负责确保组件是向后兼容的。我知道组件不同的版本能同时存在,但这并没有减轻我们使组件对自身版本不可知的责任。使用我们组件的程序员可以以同样的方式调用组件而不管其版本如何,知道这些对我们来说才是重要的。

  总的来说,在.NET中并不是不需要对版本化问题进行处理。它只是使开发人员能够使用他们所熟悉的版本进行工作。他们不必使用最新的版本,因为使用最新版本需要掌握一些新功能。我认为在.NET中的版本化更多地需要程序员调整,而不是供应商。


  .NET最大的挑战是什么?是学习周期?或者是由于技术太新了,以至于创建的组件有怎么成熟?

  我不认为技术学习周期自身是最大的挑战。我以前提到过,我们拥有优胜的开发人员,他们能很快学会新技术。而且,在我们企业中,我们总是在技术的α和β阶段创建组件,这样当主要技术发行时,我们的组件就可以马上使用。在企业10年多的发展过程中,我们学会了如何处理技术的时间框架。

  而且在IT业中,由于工程的大小,内部市场化时间上的压力以及商业应用程序的原因,对组件的需求成指数增长。曾经有一段时间我们停止他们的项目,而集中处理2000年问题。在2000年问题处理后,他们将更关注于具有竞争性的项目。同时,Web成为一个结构上变化的机制。各个公司正在利用他们的应用程序对此结构重建。由于所有这些必做的工作,对IT业的压力也就越大,因此对组件的需求增加了,因为通过组件能将他们构建系统所用的时间降下来。

  你认为这种发展需要多长时间?

  我们认为到2002年第一季度,完全利用Visual Studio .NET的开发人员将占据30%,而仍有 70%人使用Visual Studio 6.0。到2003年,这种比例将反转过来:70%的开发人员使用.NET框架。到2004年,我们认为很少或没有新的Visual Studio 6.0开发项目。

  .NET 带来的最大的好处是什么?

  .NET框架对于构建Web服务和本地应用程序来说,都是极好的结构。它设计用于通过XML和SOAP协议处理跨平台的内部工作性,并是以一种对于开发者非常自由的方式做到的。Visual Studio .NET IDE是高产的环境,此环境使开发人员的应用程序能加速执行。

  由于Web服务的引入,术语"组件"是否具有了新的意义?

  我认为它有一个更广泛的定义,这样理解是对的,因为它意味着一个更大的市场。开发人员仍必须编写代码以与组件接口。你总将看到表示层,不论它在服务器上与浏览器或其它设备对话,还是在一个独立的设备上与同一设备上的应用程序对话。

  Web服务的引入还扩大了组件市场,包含了用于调整Web服务的企业对象。全新类型的组件也就出现,它们用于解决企业方案的需求,创建基于Web服务的应用程序需要的基本架构和杂务管理。

  Web服务对大多数人来说是一个新概念。它带来的一个挑战是,由于降低了发布成本,许多小企业现在可以比较容易地与大企业竞争。它是否会打破整个行业或带走大企业的市场分额?

  组件企业的成本从来都是很低的。你可以编写一个组件,在某个杂志的封底作广告,而现在你可在网络上做广告,接触到更多的人。我认为事实是,大多数组件都是由大公司购买的,以提供给他们紧迫的项目。从短期来看,他们可能从不知名的公司购买,但从长期来看,他们希望组件供应商成为战略伙伴,这样他们现在可以对其依靠,而将来仍能得到支持。从某种意义上来说,他们易于从知名企业购买,因为这些企业易于获得。Web服务不会改变这种情况。

  Manohar Kamath是.netWire(.NET新闻的主要来源)的编辑。自1998年以来,他是微软"最优秀选手(MVP)",并且是伊利诺伊州,芝加哥市的高级顾问。