像操作系统一样的论坛系统

前几天,写了一个“论坛程序的发展方向”,第四部分提到论坛程序应该参考windows的构架,将论坛程序构造成一个所有网络服务的基础支撑平台,在此基础上,可以二次开发出各种网络服务,比如:博客、WIKI、威客、网摘、问吧等等,当然也包括现在的论坛一样的系统。
这篇文章将尝试构思一下这样的“论坛系统”(以下称“基础论坛系统”)应该由那些功能和特征:
一、标准化数据库操作接口
   作为一个基础论坛系统,应该提供一个标准的数据库操作接口,这个接口应该屏蔽掉所有数据库的个性特征。也就是说,在二次开发的时候,都无须知道整个基础论坛系统是使用何种数据库进行存储。同时,基础论坛系统所使用的数据库发生变化的时候,也不影响其上的网络服务的服务。
二、完整且标准化的用户及用户权限体系
   基础论坛系统应该有一个基础的用户数据系统(包括注册、登陆、密码管理等服务),供给所有服务系统调用。同时基础论坛系统应该提供一个完整的可扩展的用户权限体系,一方面,自身需要对所有用户的权限进行管理,另一方面,也应该提供给服务系统进行用户权限管理的接口支持。
三、完善的“服务系统”管理机制
   作为基础论坛系统,并不直接的对用户提供服务,而是通过二次开发的服务系统来提供服务。所有,基础论坛系统必须对其上运行的“服务系统”拥有良好的管理机制;
   比如:对于“服务系统”的安装与删除,将完全通过有管理权限的用户通过基础论坛系统管理界面进行安装和删除。确保任何安装和删除操作都不会影响其他服务系统的运行(至少非致命的影响)。
四、指定部分通用服务系统的标准框架
   基础论坛系统同时也需要规定一些标准的服务系统的功能性借口。比如,对于BLOG系统,就应该有一个标准的接口规范,使得管理员可以任何时候服务系统的进行更换而不会对用户带来灾难性的影响。
    比如:BLOG系统必须支持一个标准的日志结构,使BLOG系统进行更换的时候,用户的数据不会发生灾难性的丢失。
五、标准的程序调用标准以及通道
   基础论坛系统应该规定一个标准的服务系统之间相互调用的协议,并且拥有一个调用通道,即任何两个服务系统之间可以使用标准的接口通过基础系统进行相互调用。
   也即使说,只要双方都基于标准的协议,那么一方并不需要知道另外一方究竟是什么系统甚至什么语言,而只需要通过标准的接口协议就可以了。
   比如:一个论坛系统与BLOG系统的互动,将用户的一个帖子推送到用户的BLOG中去。那么论坛系统在获得用户的这个操作指令后,就将在用户ID、帖子标题、帖子内容、帖子ID传递给基础论坛系统,基础论坛系统获得已安装的默认的BLOG系统,并且将这些数据发送给BLOG系统。这个时候,论坛系统与BLOG系统都不需要知道对方是谁,甚至对方存在与否都不用管。
六、支持基于事件的处理体系
   基础论坛系统应该提供一个事件处理机制,即任何服务系统可以在基础论坛系统中注册自己对某个事务的处理代码。
   比如:当用户登陆的事件发生后,触发“OnLogin”事件,执行所有已注册的事务处理代码(按照权限级别、注册先后、以及管理员设置的顺序)
七、支持跨站点(域名)的交互服务
   基础论坛系统必须建立完善的跨站点(域名)的交互体系,使任何网络服务可以分别在不同的网站、域名之间实现安全的交互操作。
……
以上构思不够细致与全面,希望抛砖引玉。有机会我将不断补充,同时非常希望有一个有远见的开发商能够实现,或者有一个有远见的投资商能够投资我,让我来实现。
更多相关文章
  • 上一篇<像操作系统一样的论坛系统>中,提到了一个概念,叫"基础论坛系统".后来在与朋友交流,以及回复的评论中看来,这个词用的不够贴切,其实,我所讲的"基础论坛系统"已经超越了论坛,而是基于整个网络服务来定义的.所以,这个构思,其实就是一个OS(操作 ...
  • RHEL6--部署phpMyAdmin与论坛系统
    一.rpm安装LAMP平台部署phpMyAdmin二.搭建wordpress个人博客系统三.搭建论坛系统一.rpm安装LAMP平台及部署phpMyAdmin1.phpMyAdmin简介及获取方法phpMyAdmin 是以PHP为基础而开发的一个以WEB方式来管理Mysql数据库的工具,phpMyAd ...
  • RHEL5服务篇—使用LAMP部署phpMyAdmin系统以及Discuz论坛系统
          在前面的文章中我们已经学会搭建LAMP环境了,并且已经成功的搭建好LAMP环境了,那么搭建好LAMP平台后我们该如何部署动态网站呢?今天我们就来以phpMyadmin和Discuz这两个系统为例,讲解如何在LAMP平台上构建动态网站.部署phpMyAdmin系统phpMyAdmin是一个 ...
  • 实验拓扑:         RHEL6.5_1-----CentOS6.5(vmnet1)----------(vmnet1)        RHEL6.5_2实验一:查看默认HTTP配置安装httpd.httpd-manual软件包启动httpd服务从浏览器访问默认首页.手册页找到默认红帽欢迎页面 ...
  • LAMP平台部署及应用二安装Discuz论坛系统
    LAMP平台部署及应用(二)安装Discuz!论坛系统具体步骤:n 服务器端的部署1. 准备工作首先,应准备一台能够解析PHP网页,支持数据库的网站服务器,其中Apache.PHP.MySQL组件的版本应符合Discuz!系统的最低要求,这里此前源码编译构建的LAMP平台为例,默认首页设置为inde ...
  • 安装Discuz论坛系统
    安装Discuz论坛系统Discuz论坛系统基于LAMP架构安装前工作在MySQL中新建一个数据库,并授权一个用户CREATEDATABASEbbs;GRANTallONbbs.*TO'bbsuser'@'%'IDENTIFIEDBY'admin123';--授权bbs数据给bbsuser用户所有权 ...
  • LAMP平台部署Discuz论坛系统
    构建Discuz!论坛服务器vDiscuz!论坛系统§Crossday Discuz!Board论坛系统§采用PHP和MySQL等数据库构建的高效论坛系统§可免费获得源代码用于学习.内部测试§用于商业目的时需要购买授权许可
  • 昨晚无聊,在帮朋友看一个站过程中碰到了个网站.论坛YxBbS2.3版,管理员弱口令admin admin/很容易就到了后台.进去之后,既没有备份,上传文件类型cer,asa,php等都被过滤了(在Saveupload.asp)尝试着在头像上传那里抓包修改然后nc上传,都失败了.折腾了许久,本来想放弃 ...
一周排行
  • Practice:在window2008R2上部署sharepoint2010
     概述 本次安装使用的是一台20008R2机器,双核CPU,分配了4GB内存.使用的数据库 ...
  • codevs1082线段树练习3区间维护
    codevs 1082 线段树练习 3  时间限制: 3 s  空间限制: 128000 ...
  • 快手KSCAD5.0矢量图形设计软件
    今天我的快手软件发布了一个最新版本 KSCAD 5.0,免费使用, 详情请看 www.ti ...
  • 使用SnifferPro监控网络流量
    随着互联网多层次性.多样性的发展,网吧已由过去即时通信.浏览网页.电子邮件等简单的应用,扩 ...
  • AppCan移动应用平台规范中化集团移动信息化标准
    近年来,石油化工行业按照 "十二五"信息化规划的要求,积极推进信息化建 ...
  • 介绍发布与逸出的定义及代码示范,以及如何使用工厂方法避免this引用在构造方法中逸出 发布: “发布”一个对象是指,使对象能够在当前作用域之外的代码中使用. 例如:将一个指向该对象的引用保存到其他代码可以访问的地方, ...
  • 冒烟测试的由来:冒烟测试,应该是微软首先提出来的概念,与微软一直提倡的每日构建(build)有很密切的联系.具体来说,冒烟测试就是在每日构建完成后,对系统的基本功能进行简单的测试.这种测试强调功能的覆盖率,而不对功能 ...
  • 对我一个初出茅庐的小程序员来讲,现在我明白了,经验的力量 . 以前,我对于经验则只是认为技术能力不够才不能写出优秀的程序,但由于在公司里所遇到的bug的前辈们的指点后,渐渐明白了经验的重要性. 我就举一些例子, 当m ...
  • grep 是linux下强大的文本搜索工具    grep: (global search regular expression(RE) and print out the line原理:根据用户指定的文本模式,对文 ...
  • 这是一份关于开发和部署 Django Web 框架 的动态文档 (会随时更新). 这些准则不应该被认为是 绝对正确 或 唯一 使用 Django 的方法, 应该说这些最佳实践是我们使用框架多年来积累的经验. 本项目是 ...