几年之前,中间件还是一个软件开发人员热炒的话题,中间件的开发也呈现出一个充满前景的势头。然而直到今天,中间件市场还远没有成熟,在各种开发领域,尤其是在网络应用开发领域,还缺乏主导市场的中间件产品。
说到底,一个程序员使用什么样的技术开发一个网络应用程序,或者说,他是否愿意使用除了通用开发平台(Visual Stdio,Delphi,Java等)以外的第三方软件供应商的中间件产品,取决于他能否在使用中间件产品时获得足够的收益。
简单说一下什么是中间件。这其实更多意义上只是一个概念,从来没有也不必要什么权威给这种概念下一个定义。对于在微软windows平台上开发软件的技术人员来说,第三方提供的组件技术就是一个可以使用的中间件,当然,这只是一个比较狭隘的定义。
举一个功能强大的中间件服务提供者的例子能够帮你拓展中间件的概念。
B/S是
Brower/Server的缩写,客户机上只要安装一个浏览器(
Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。在这里 Web Server(例如IIS)就是一个功能强大的中间件概念,它可以完成客户端发出的操作请求,但是这个例子对于一个网络应用开发人员是没有任何意义的。
如果有这样的一个类似的中间件产品,包括了客户端开发组件,服务端产品,另外,服务端提供了足够的可扩展的服务,我们就可以开发出各种各样的网络应用。这才是我们要讨论的网络应用中间件。
在目前的市场中,这样的中间件产品不是没有,而是缺乏真正成熟的品牌化的产品,尤其是国产软件产品。
国外的很多产品在开发网络程序的中间件应用已经非常成熟。如果你是一个Flash开发人员,如果你还是仅仅知道Falsh的Action,而不知道Flash Remoting,那么我想你还只能被称为美工人员,而不是Flash高级开发人员。
那么究竟什么是Flash Remoting?简单的说,Flash Remoting可以让Falsh 直接调用服务端的远程过程。服务器端的开发无需做任何适应 Falsh 的调正,它可以采用采用任何语言和技术,使用最好的设计模式来设计服务端程序,无需使用任何 Falsh 的API,而有了Flash Remoting,Flash 程序可以调用任何远程服务。下面是一个图示:
图一
通过Flash Remoting,Flash已经是一个网络应用平台。
这对于开发网络应用的中间件是一个极好的例子。我认为技术问题已经全部解决,现在的问题就是如何搭建这样的一个平台,并且需要实现什么样的功能,验证是否有商业化的契机。对于当前流行的软件开发平台,客户端开发包能否实现兼容,服务端功能的可拓展性,这都是中间件产品开发成功失败的标志。
在目前的国内IT界,杭州恒创软件是一家很有实力的中间件提供商,其开发模式甚至可以引导中间件市场成型。目前,恒创Activesoft公司推出的APIPECOM中间件就是一项基于网络开发的组件,该组件目前已经发布,用户可以开发测试。下面是一个使用APIPECOM构架网络应用的原理图。
图一
在一个客户端,用户使用APIPECOM组件创建Session对象和AMServer交互,并且将消息传送到另一个客户端。对于多人的信息交互,可以使用群发的消息模式,开发人员可以轻易的开发出各种网络应用程序。
AMPIPECOM组件可以在Activesoft的官方网站(www.activesoft.cn)免费下载,应用者可以轻易的架构一个自己的网络应用平台。