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

前几天,写了一个“论坛程序的发展方向”,第四部分提到论坛程序应该参考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上传,都失败了.折腾了许久,本来想放弃 ...
一周排行
  •    自从去年元旦跟老婆结婚已来快要半年了,但这半年里过的婚后生活并没有我想象的甜蜜,原因是我跟老婆两个人经常因为各种小事争吵,两个人反而没有婚前的那种甜蜜了.虽然吵架后我都主动向她认错示弱,但一次次的争吵让她越来越 ...
  • Hyper-v下安装网络流量监测图形分析工具Cacti
    网络流量监测图形分析工具Cacti,在虚拟机上安装,易于使用,便于移植,在Vmware上安 ...
  • Allocation在CACHE中发现一个位置,并把新的cache数据存到这个位置的过程.这个处理过程可能包括evicting(驱逐)cache中已存在的数据,从而为新的数据腾出空间.Associativity指每个 ...
  • iOS开发之旅UITableView入门示例
    运行效果:                    ViewController.h // ...
  • 1,为什么需要mysql复制技术,有什么用?单台数据库服务器的能力总是有限的.根据专业人士的经验,一台8核心32G配置的服务器,承受50~200的并发连接请求,算是很好了.mysql复制是提升数据存储层面能力的一种方 ...
  • Office Password Remover 汉化版.rar可以快速恢复office软件中被加密的软件,不过需要在线访问网络.早期的软件是有看雪论坛提供的,估计版本比较老了.
  • PhoneGap插件开发-流媒体 1.js插件开发描述:提供给web开发端的接口定义,定义了一个VideoPlayer类和play函数,参数为要播放的文件视频地址.示例代码:/** * Constructor */f ...
  • 直接上内容第一:存储过程中CASE 条件CREATEPROCEDURE p_case(IN parameter1 INT) BEGIN    DECLARE variable1 INT;     SET variab ...
  • FreeBSD里的“超级终端简介:这是FreeBSD里的“超级终端的详细页面,介绍了和BSD,有关的知识.技巧.经验,和一些BSD源码等.网上多是关于通过串口来控制FreeBSD的方法,而少有见用FreeBSD作终端 ...
  • http://www.leapbeyond.com/ric/TSvnPD/下载后运行TSvnPwd.exe,在命令行窗口就会显示当前连接svn的账号和密码,帮了我大忙.