PHP的中间件-ICE

发布时间:2009-4-20浏览:

核心提示:PHP的中间件-ICE

原文:http://www.phpchina.com/html/77/1877-2573.html

PHP没有中间件,导致了对很多麻烦。比如,对数据库的操作必须要链接数据库,然后做SQL操作。WEB程序直接操作数据库的方法,这样会带来很多人为因素的事故隐患,以及管理上的麻烦,尤其是对大型的网站应用来说。规范的模式应该是,WEB程序传递参数到一个服务程序上,由该服务程序进行判断并最终操作数据库或者其它数据文件,这样做到了明确权限控制,和业务类型集中管理。去年伴随着ICE的推出,PHP终于有了可以使用的中间件。在PHP的发展史上,应该是一个里程碑。

一、什么是中间件?

    中间件是一种可复用软件。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

     在中间件发展史上,有三款相当成功的中间件。RPC(Remote process call 远程过程调用),是SUN公司首推,目前在Solaris、Linux、BSD等操作系统下都属于在Kernel级支持的软件,支持TCP、UDP、UNIX-Socket等多种网络协议,大名鼎鼎的NFS就是依靠RPC开发而成的。WINRPC,是微软的产品,应该说是仿造RPC,网络邻居就是在WINRPC的基础上开发的。另外一个是Corba,典型的商业软件中间件,具有更大的灵活性和易用性。很遗憾,几乎所有的中间件都缺乏对PHP的支持。所谓的支持,是没有相对于这种语言的Lib支持,但可以通过C编写PHP Extension完成。

    中间件工作模式基本上都是:用户Clinet逻辑功能快--->中间件Clinet模块 ----网络-----> 中间件Server模块----->用户Server逻辑功能块。由此可见中间件完成了最繁杂的部分,在使用中间件的时候,开发者只需要专注于业务功能逻辑的实现就可以了,大大缩短了开发时间。

二、ICE与PHP

    ICE(Internet Communications Engine 网络通讯引擎),是由Corba原核心成员开发的一个开源中间件,据称其各种性能完全优于Corba。除此之外,我们第一次见到了直接支持PHP的中间件。

    ICE的安装,去http://www.zeroc.com/download.html 下载一个Ice针对PHP的安装包,按照说明安装上。

    ICE的使用:使用Slice(ICE的一种简单语法脚本),编写一个xx.ice文件。可以使用slice2cpp或slice2java等生成一个cpp或java的ICE框架程序,然后在这个框架程序中进行代码编写。ICE在PHP的应用继承了PHP的一贯传统——简单,只需要在php.ini中加载该xx.ice,在PHP中就可以使用了。

    ICE在PHP应用中的缺点,无法使用PHP编写Server端,其实这也是PHP的一个缺陷——没有完善的多进程和多线程管理机制。因此,Server端可以采用ICE所支持的其它语言进行编写,比如JAVA/C++/VB/PYTHON等。

三、ICE为PHP带来的突破,快速实现类似.Net/Java等Web程序与其它服务程序的通讯功能,从而PHP可以应对更加复杂的应用程序框架。ICE官方网站:http://www.zeroc.com/ ,有兴趣的PHPER可以去学习一下。


前一篇:定做程序设计
后一篇:机械毕业设计目录
分享到: