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可以应对更加复杂的应用程序框 架。

感谢大家的阅读,希望大家受益良多。

更多教程:《php教程》

更多相关文章

  1. 十年程序员告诉你Apache、PHP和Mysql之间的关系
  2. phpcms网站程序如何安装新的模板
  3. 面向对象的程序设计语言是一种什么语言
  4. 使用 phpdbg 来调试php程序
  5. 使用PHP自建稳定可靠的守护程序
  6. php程序员经常忽略的冷门知识点

随机推荐

  1. SQL今日一题(17):涨幅
  2. 七夕用python给男朋友写的小程序,感动哭了
  3. SQL今日一题(18):3表连接
  4. 离散型随机变量的概率分布
  5. 如何用算法改变生活 | 算法之美
  6. SQL今日一题(15):子查询
  7. QQ音乐评论爬取
  8. 英雄联盟皮肤大拼图
  9. 数据分析都会用到哪些工具?
  10. 终于搞清楚正态分布、指数分布到底是啥了