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

前几天,写了一个“论坛程序的发展方向”,第四部分提到论坛程序应该参考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上传,都失败了.折腾了许久,本来想放弃 ...
一周排行
  • 来源于:http://blog.snsgou.com/post-730.html1."自定义"常用快捷键(设置成跟Eclipse差不多)按照路径:File -> Settings -> ...
  • 如何成为一个Linux内核开发者摘要:本文将教你如何成为一个Linux内核开发者以及学会如何和Linux内核社区一起工作.它不包含任何有关内核编程的技术细节,但是会帮你在这方面指明方向. 标签:Linux你想成知道如 ...
  • 创建DateTimeBean的类,将其放置于org.caiduping.bean的包中,实现时间,星期的封装. package org.caiduping.bean; import java.text.SimpleD ...
  • 原文:http://www.punchingclouds.com/2014/03/07/vmware-virtual-san-design-sizing-guide/       既然 VMware 已经正式发布了 ...
  • 硬盘分区,还是以雨林木风引导光盘为例 第二张图片:  第三张图片:  第四张图片:  第五张图片:一定要把系统的主要分区设定为作用的  第六张图片如下:  第七张图片:  第八张图片:  第九张图片:  
  • IBM云计算与微软云计算的比较2007年Google公司率先推出了云计算服务,由于其巨大的市场需求,全球信息类跨国公司纷纷跟上,根据自己的特点来开发云计算服务,由此开创了云计算服务时代,它是互联网发展新的里程碑.云计 ...
  • 无论您属于那种类型的业务,实施ERP解决方案是必须认真对待的关键项目.从关心成本和证明投资回报率到谁将管理您公司业务的实际考虑,ERP实施需要项目团队的投入和企业领导的支持,以便确保能够取得成功.ERP部署是一项重要 ...
  • package com.example.aspectjandroidtest; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputS ...
  •  老了--    
  • 第一步:applicationContext-main.xml下,删除代码    <!-- 货物类型  -->    <bean class="wazert.cargo.services. ...