CMS软件下的CROSS FIRE

来源:互联网 发布:java socket长连接实例 编辑:程序博客网 时间:2024/06/04 18:11

 在上次的文章里,我谈到CMS发展前景时,说过我的理想是世界大同,也就是尽力让各类CMS可以打破边界,互相调用数据,目前的SiteFactory在数据源获取方面已经初步做到这一目标,通过各类外部SQL标签和格式化的XML查询,SiteFactory标签显示的内容已经不在局限于本地数据库,而是任何一个你能找到的数据源,拓扑结构如下:


 SiteFactory拥有的多数据源能力,使得CMS可以整合不同系统中的数据成为可能,CMS不在是简单的列表工具,而是可以作为一个完整的信息化解决方案核心。

 

 然而,光有多数据输入能力还是不够的,很多情况下我们还需要在整合的其他系统中调用外部数据,而大部分其他的系统并没有SiteFactory的这种多数据处理能力,如果我们可以扩展SiteFactory的功能,让其他外部系统可以使用SiteFactory的XPOWER处理引擎,那么完成这类任务就很容易了,逻辑框图如下:


 这样扩展以后,理论上任何一种外部系统(例如帝国CMS,DEDE,DISCUZ等PHP平台下的产品,各类OA,ERP等),均可以直接在它自己的模板中使用动易SiteFactory格式的标签{PE.Label …./}并在显示时取得对应的结果。经过这样的处理后,可以说同一个项目中,各类软件都可以完美的整合在一起,用户拥有极高的自由度,并且任何WEB系统经这种改造后,都可以拥有SiteFactory强大的处理数据能力。下面,我通过一个实例来简单演示一下。

 

 外部系统我选用的是SiteWaver6.8,这虽然也是动易的产品,但它是基于ASP平台,与SiteFactory毫无关联的一套程序。通过简单的改造,给SW增加外部引擎处理接口,如下图:

  
 图中的外部引擎地址API/TemplateProc.aspx就是为SiteFactory增加的一个简单的外部模板处理接口,使用HTTP协议接收请求和返回结果。经过这样的改造,就可以在SiteWaver中使用SiteFactory的标签了,下图演示为在SW的模板编辑器中中直接插入SiteFactory格式的标签。


然后在SiteFactory中建立标签“SF测试标签”

 

 

刷新SW首页,可以看到标签内容已经显示在红框内,跨站使用SiteFactory标签成功。


 

 

 用同样的方法,我们可以给任何系统增加这个功能,以PHP类软件Empire CMS举例,传统上PHP系统与.NET是两个平台下的产物,融合二者的功能并不容易,但增加了标准的调用接口后,该软件后台也可使用SiteFactory的专用标签,并能正确解析得到结果: 
 

 

应用标签后的首页效果


 

 

 

 

注:本文旨在探讨CMS类软件的发展前景,本文涉及到的产品为演示需要均经过适当修改,并不代表该产品公开发布版已具备本文所演示的功能。欢迎有同样开发兴趣的TX们探讨,我的邮箱nt2003@gmail.com