最新php3层结构开发技术
程序员文章站
2022-06-08 18:11:55
...
P> php作为一种流行的web开发语言,以其编写简单,功能强大的特性已经
被广泛的应用。但是,同时php语言的应用范围却又局限在一些诸如BBS,社区,
投票站等简单的系统。造成这种情况的原因是php缺少一种开发大型应用系统的机
制。将业务逻辑代码直接编写在页面中在开发阶段固然方便,但结果缺使整个系
统的可维护性和可扩展性变得极差。常常碰到这样的情况,当用户需要对系统功
能做一个改动时,将需要修改许多相关的php程序。
当然,如果有一个好的设计会使情况变得好一些,通过函数或类将业务
逻辑封装起来将使情况有所改观。但是,php中对类的支持是有限的,php的仅实
现了对属性和方法的封装,而对于C++/Java里使用的面向对象的一些高级均未支
持。总的来说,php开发中存在的问题也正是C/S结构存在的问题,所以C/S结构渐
渐演化成现在的3层结构或n层结构,引入了中间层的概念。
目前流行的J2EE技术正是这样一种3层结构的应用开发模式,JSP作为前
台表示层,EJB作为中间业务逻辑层,数据库为信息层。通过将表示层和业务逻辑
层的隔离,使系统有了良好的伸缩性,可维护性和可扩展性。因此,J2EE技术适
合于需求多变,功能复杂的企业级应用系统的开发。php同样需要这样一种结构,
使php能够应用到更广阔的领域中去。
现在,我们可以使用minij2ee应用服务器来实现这样的目的。minij2ee
应用服务器是目前唯一支持php的J2EE应用服务器产品。php使用基于minij2ee的3
层开发模式,就可以将业务逻辑封装在EJB中,而使用php来快速定制前台界面。
以在线商店应用系统为例( http://www.minij2ee.com/petstore/ ),EJB封装
了货物管理,账号管理,订单处理等核心业务逻辑,而php用来定制商店的界面,
如产品的陈列方式,柜台的样式等等。由于核心业务逻辑封装于EJB中,因此在线
商店的前端界面可以根据客户的需求任意定制而无需改动EJB程序。另外,由于
J2EE技术的灵活性和可扩展性,即使对于业务逻辑的扩展也将变得如果plug&play
一样方便,只需编写新的EJB整合到原有的系统中即可。
对于市场巨大的中小企业软件系统领域来说,需要的不是庞大昂贵的系
统,而是需要够用且实用,高性价比的软件。是用php+minij2ee再加上高效稳定
的Linux系统和MySQL数据库,正是解决这个问题的良好方案。
被广泛的应用。但是,同时php语言的应用范围却又局限在一些诸如BBS,社区,
投票站等简单的系统。造成这种情况的原因是php缺少一种开发大型应用系统的机
制。将业务逻辑代码直接编写在页面中在开发阶段固然方便,但结果缺使整个系
统的可维护性和可扩展性变得极差。常常碰到这样的情况,当用户需要对系统功
能做一个改动时,将需要修改许多相关的php程序。
当然,如果有一个好的设计会使情况变得好一些,通过函数或类将业务
逻辑封装起来将使情况有所改观。但是,php中对类的支持是有限的,php的仅实
现了对属性和方法的封装,而对于C++/Java里使用的面向对象的一些高级均未支
持。总的来说,php开发中存在的问题也正是C/S结构存在的问题,所以C/S结构渐
渐演化成现在的3层结构或n层结构,引入了中间层的概念。
目前流行的J2EE技术正是这样一种3层结构的应用开发模式,JSP作为前
台表示层,EJB作为中间业务逻辑层,数据库为信息层。通过将表示层和业务逻辑
层的隔离,使系统有了良好的伸缩性,可维护性和可扩展性。因此,J2EE技术适
合于需求多变,功能复杂的企业级应用系统的开发。php同样需要这样一种结构,
使php能够应用到更广阔的领域中去。
现在,我们可以使用minij2ee应用服务器来实现这样的目的。minij2ee
应用服务器是目前唯一支持php的J2EE应用服务器产品。php使用基于minij2ee的3
层开发模式,就可以将业务逻辑封装在EJB中,而使用php来快速定制前台界面。
以在线商店应用系统为例( http://www.minij2ee.com/petstore/ ),EJB封装
了货物管理,账号管理,订单处理等核心业务逻辑,而php用来定制商店的界面,
如产品的陈列方式,柜台的样式等等。由于核心业务逻辑封装于EJB中,因此在线
商店的前端界面可以根据客户的需求任意定制而无需改动EJB程序。另外,由于
J2EE技术的灵活性和可扩展性,即使对于业务逻辑的扩展也将变得如果plug&play
一样方便,只需编写新的EJB整合到原有的系统中即可。
对于市场巨大的中小企业软件系统领域来说,需要的不是庞大昂贵的系
统,而是需要够用且实用,高性价比的软件。是用php+minij2ee再加上高效稳定
的Linux系统和MySQL数据库,正是解决这个问题的良好方案。