XEAM有望在PHP编程领域填补一项国内空白
副标题:XEAM引擎技术概况
作者:黄 征(青马技术),徐风华(青马技术)
关键词:PHP、通用类库、中间层、B/S结构、底层框架
开发背景
Linux作为信息业发展最快的服务器操作系统,近年来进一步涉足商业核心应用,例如将能处理更大的企业级的数据库应用。同时,基于Web的应用系统正在成为信息化的主流工具,而Web服务作为Linux一个主要的优势,加快了各国企业采用Linux作为电子商务服务器的步伐。IBM、Oracle、Borland等厂商纷纷向Linux服务器移植,Linux的商业价值得到了越来越多的认可和支持。Linux更为中国软件产业,尤其是为系统软件业的发展提供了良好机遇。目前信息产业部已经启动了“Linux公共开发平台”项目,中国也将与日本、韩国共同推动Linux操作系统的研发和相关标准的建立。政府对Linux操作系统的新一轮推动正在启动。
毫无疑问,开放源代码的Linux系统(全球服务器上使用最多的操作系统)、Apache Web服务器(根据Netscraft的报告,全球一半以上的网站采用Apache服务器)和PHP语言(优秀的交互式跨平台脚本语言, Apache服务器下最常用的编程语言)被认为是一个强大而可靠的Web开发环境,越来越多的被各种商业应用采用。PHP(Hypertext Preprocessor,超文本预处理器)语言,由于它的开放性,吸引了非常多顶级的开发者加入其核心团队中,PHP内核不断得到完善和壮大。这对于中国的软件业可谓意义重大——由于微软的操作系统底层的不开放性,其Web编程环境 (ASP & ASP.NET)所用到的对象被内建为不透明不可扩展的组件,而我国由于长期以来对于微软操作系统的依赖,造成国内开发人员形成“只知其然不知所以然”的编程习惯,无法开发出具有自主知识产权的核心技术。从此这一局面有望被打破。
以前,世界上许多公司都把PHP当作是一个“高度机密,严格保密”的电脑程序语言,但是现在它已经变成最为著名的,在Web、Internet、E-commerce以及 B2B等诸多项目上应用最广泛的面向对象的脚本语言。PHP的力量在于它是跨平台的,可以运行在任何地方。如Linux,Windows, Solaris, HPUX 以及各种UNIX。PHP只需编写一次,就可以出色地运行在Apache, IIS等多种Web服务器上。这使得PHP成为Web开发上成长最快的语言,也更多地出现在流量巨大的网站上。引用Nissan的Xterra的话来说就是,现在的PHP,可以做到你想让它做到的一切,而且无所不能。目前基于由PHP构建成的大型站点有——雅虎(Yahoo.com,世界上最著名的门户网站)、Sourceforge(Sourceforge.net,世界上最大的开放源代码网站)、百度(Baidu.com,国内最大的搜索引擎)、新浪网(Sina.com,国内著名的门户网站)、51Job(51Job.com,国内流量最大的人才网站)、第九城 (The9.com,国内最大的在线虚拟城市)等等。
国外的PHP的开发者们为了更适合Web编程,开发了许多外围的流行基库,这些库包含了更易用的层,比如用于数据连接层的Adodb和处理模板层的PHPLib,就是PHP语言中比较著名和通用的类库,对PHP编程领域的巨大贡献是勿庸置疑的。但是国内涉及这一核心领域研究的还非常少。同时由于这些零散的类库同时对多字节字符如中文的支持不尽人意,无法形成既具备底层基本的操作,又包括PHP抽象层、PHP核心逻辑层、PHP扩展类库、PHP应用层、表现逻辑层等应用的能力的完整体系和框架(引擎)。使得很多应用系统的开发普遍存在周期过长、成本过高、执行效率低和安全性难于保障等风险。
如果能够自主开发出PHP一整套通用的基本类库并把这些类库封装成一个自成体系的框架(核心),并对多字节字符从脚本级底层提供良好的支持,对于国内乃至国际的PHP领域都是一大突破:
1. 由于该框架的通用性、可扩展性和灵活性,将极大地提高基于PHP编程环境的应用程序的开发效率和降低它的开发成本;
2. 与PHP官方发布的PEAR类库相比,更加模块化、系统化,整个框架的架构更加紧密和合理,层次更加分明;
3.它将填补PHP编程底层类库框架领域的一大空白,也是中国对于PHP编程领域的重大突破和贡献,有一定的战略意义。
XEAM引擎的诞生
实际上,大多数的优秀PHP应用采用的是多层结构。规模化的PHP应用都至少分成HTML模板(用户界面层),PHP核心类(逻辑层),数据抽象层和实际数据库层。
我们在开发项目的过程中,深深感到开发这样一套核心框架(引擎)的重要性,它应该对基于PHP的应用程序的核心操作层作系统的封装,包括PHP核心逻辑层、数据抽象层、PHP扩展类库如数据库连接 (ADO)、文件系统(FSO)、缓存 (Cache)、安全认证 (Session)等、表现逻辑层(HTML模板),并提供丰富的应用层接口的能力。
我们开发团队的成员凭借多年来对网络编程的深刻研究,通过反复的论证和卓有成效的研发,使这一梦想正变成现实。2003年5月份我们正式对这一研究立项。2003年12月初,我们在国内著名技术站点CSDN首度公布该项目开发过程中的附产物——aspTemplate,它成功克服了asp这种嵌入HTML文档的脚本语言无法实现代码分离的缺陷,而且支持模板块嵌套,支持多循环,具备判断功能。aspTemplate允许开发者建立一个三层结构的应用程序,从代码中分离出有用的层,帮助设计师和开发者更加灵活地协同工作,以及提高我们维护和扩展既有程式的能力。
2003年12月25日,该项目被我们正式命名为XEAM,关于该项目是否开源发布等问题的讨论也基本尘埃落定。为了让更多的人了解XEAM框架(引擎)的优越性,我们决定先期将完全开放源代码。并在国际最著名的开源协同开发平台Sourceforge发布,并逐渐过渡到只向项目的开发成员开放源代码,目的是吸引顶尖的开发者加入我们的项目中来,更全面地获取技术养分和动力,保持XEAM引擎在这一领域的优势。
归纳起来,XEAM框架(引擎)的特点如下:
1. 完全自主开发,拥有独立知识产权
2. 整体性与模块化的结合,既自成体系,又能够拆分使用
3. 以通用性、可扩展性为主要目标,充分考虑效率和安全性
4. 既封装底层的类库,又扩展了一些常见的上层应用
5. 层次架构分明,符合大多数开发者的使用习惯
2003年12月26日,我们在国内一个知名技术论坛发布了这个项目开发进度以后,引起了一些国内技术同行的关注。其中有一个同行做出了如下评价:
1. 用这个框架可以应用于一般常用的PHP程序,里面提供的功能接口很多,涉及面比较广。
2. 这个代码对喜欢PHP的朋友会是个难得的参考,代码工整,程序结构层次分明,类继承也清晰。
3. 通过CACHE的处理,应该能平衡因为PHP4在面向对象方面的速度和效率问题。
4. 这个代码的思路,给我的感觉接近于PEAR所希望达到的目标。如能实现,真是幸事。
从此,这个在国内尚无先例的项目在我们的努力下正茁壮成型,并显示出它旺盛的生命力和广阔的商业前景。我们预计2004年上半年将Sourceforge和中国共创软件联盟发布XEAM的第一个版本。
XEAM引擎的应用前景
任何一项纯粹的技术如果没有商业应用前景只能被市场所淘汰。我们的XEAM引擎在我们开发商业应用系统的过程中诞生,并已经应用于我们多项应用系统的开发中,这个诞生的背景注定了XEAM引擎必须能够承载商业应用的重任,它的支持对象将囊括基于Web的PHP一般应用系统(程序),最典型的包括
1. 互联网站内容发布与管理系统(CMS);
2. 电子政务系统
3. 办公自动化系统(OA)
4. 客户资源管理系统(CRM)
5. 电子商务平台(电子商城、电子票务系统…)
在这些应用中,XEAM框架(引擎)将显示充分的优势,如果是ASP程序员,并不会因此陌生,因为XEAM基本兼容ASP的调用语法(但是我们并不建议这么做,我们兼容ASP的语法是为了让ASP程序员了解——这些对象调用的方式是从底层怎么产生的) 。开发人员可以甚至可以根据需要非常方便地扩展相应的子类。
在国内的开发环境里面,能够有勇气做到开放源代码的毕竟少之又少。我们却决定将开发人员在长期开发过程形成的传造力和积累完全开放,所以很多人表示不解,但更多的人表示支持。其实我们最大的希望是能够通过开源给XEAM源源不断地注入新的活力,在此基础上形成具备一定数量和实力的Solution Provider(解决方案提供商),当然实现这个梦想的路还很长很长。
近年来,中国的软件业似乎总能听到一些振奋人心的消息,例如政府的“Linux公共开发平台”项目计划,例如中科院计算技术研究所、中科院软件工程中心等多家科研机构、大学和企事业单位发起的中国共创软件联盟等,都给了我们很大的希望。所以我们有理由相信——XEAM的未来会走得更远。
参考资料
中国信息产业部:《2003年度电子信息产业发展基金项目指南》
ChinaByte:《2003年的软件业盘点:Linux阵营的2003》
ZDNET:《PHP在Web开发领域的优势》
IBM DeveloperWorks:《MVC模式、类封装还是黑客代码》
共创软件联盟:《“开源软件在国内发展情况”座谈会纪要》
本文地址:http://com.8s8s.com/it/it28997.htm