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可以应对更加复杂的应用程序框 架。
感谢大家的阅读,希望大家受益良多。
本文转自:https://blog.csdn.net/wxl1986622/article/details/7069453
更多教程:《php教程》
标题名称:PHP的中间件
地址分享:http://cdkjz.cn/article/cggoco.html