《谈“新浪漫架构”功能特性的裁减》
大家都知道,要成功的完成一个项目的,必须能够从开始就控制住需求的变更,和明确确定功能子集,只做最必要的,从人力,物力,等各方面来仔细规划这个项目的需求集合和功能集合。
新浪漫架构是这样的一个软件体系:一个致力于让有心做网站的朋友快速拥有时尚的,个性的网站,并从中盈利,获得浪漫的生活。它同时也是一个Web软件架构,希望将来任何的Web应用都能够使用“新浪漫架构”,架构出充满魅力的网站。它是一个长期的项目,但是为了能够在一年之内实现盈利,我们必须从架构中析取出一个功能子集,一个实用的功能子集,如何从一个庞大的架构中析取出一个功能子集,能够满足市场的需求,这是一个很关键的问题,本文重点谈论的将会是新浪漫架构的功能子集"Charming V1"。
Charming V1它肩负着2个使命:一年内快速盈利,第二个就是需要能够作为“新浪漫架构”的boot项目。
“新浪漫架构”将会有如下的一些功能模块:1,新浪漫架构的核心引擎;2,虚拟物品;3,虚拟应用插件的管理;4,核心内建的电子商务功能;5,界面外观的随心定制功能;6,不同网站间的数据导入,导出功能,以及数据同步功能;7,建立网站联盟的功能;8,用户管理功能;9,用户沟通功能,以及网站的基本功能:媒体展示类功能;10,系统管理员控制面板。
下面分别谈谈这些功能特性,新浪漫架构的核心引擎是这个架构的最重要的组成部分,我希望它能够把整个Internet虚拟成一个网络时代的最巨型的计算机,让运行在新浪漫架构的所有应用都能够享用核心提供的网络计算机系统接口,分别会有其他文章叙述。
虚拟物品:比如说大家都知道的avatar,衣服,鞋子,其他的,如邮票,鲜花,还有其他的物品,架构希望物品可以由第三方厂商开发,并以软件包的形式集成到一起来,网站的站长可以根据自己的要求,分别的购买符合自己需求的,自己网站上运行的虚拟物品,卖鞋的,可以购买一个虚拟鞋工厂,或者定制的虚拟鞋,配合购买虚拟人体模特,等等。
虚拟应用插件的管理:新浪漫架构不可能也不会亲自开发所有的网络应用,诸如像BBS,广告统计系统,Blog,等功能,我们希望所有的这些网络应用功能由第三方厂商开发,统一受惠于“新浪漫架构”的核心引擎。任何单一的应用插件,都可以单独购买,安装。
核心内建的电子商务功能:本人认为,个人网站要能够长久运行,必须盈利,所以各位站长都加入到小老板的行列中来吧,依靠网站赚钱了,生活必将浪漫!其实电子商务功能完全可以作为单一的独立的网络应用加入到新浪漫架构的行列中来,但是最后还是认为,电子商务功能如果内建,将会非常吸引网友的。
界面外观的随心定制功能:个性的网站外观(温柔的,开放的,摇滚的,浪漫的,等等)将给会网友留下好印象的,其实网友基本上没有具备自己设计外观的能力,我们将约第三方厂商甚至个人开发不同风格的网站外观,出售给需要的网友们,一套外观100元钱这个样子。
不同网站间的数据导入,导出功能,以及数据同步功能:“数据”是网站的核心内容,如果站长不能随心所欲的控制,导入,导出数据,将会极大的加重站长们的维护工作量,而且有的时候不同的网站之间如果希望数据的沟通,同步,也可以经过简单的Webservice调用来实现。
建立网站联盟的功能:主要是方便站长宣传自己。其他的一些功能,限于篇幅,本文章就不再做过多的阐述了,如果有兴趣,可以见我的其他文章。
Charming V1.0将会初步实现这些功能,一些最必要的功能,而且是完整的一个功能子集,同时,各个可以由第三方开发的一些应用,物品,界面外观,等,我们也会在短短的一年之内分别实现标准的版本,一方面网友需要,而且可以作为将来第三方厂商的的开发样本。
我决定将所有的10大类功能,都能够分解为2-3人的XP工作组所能够尽量独立完成并决定开发工作量,掌握里程碑。怎么做到呢?我在心里掌握了一个接口的概念,如果为这些功能抽象出独立于实现的接口将会是最重要的,为每个功能抽象出一个独立于实现的接口组,尽量的减少各个接口之间的多点依赖,减少模块之间的耦合,把功能都内聚在各个接口内部,每个功能都看到其他功能模块的接口。在CharmingV1.0的系统分析中,我并不能做到非常清晰的定义每一个接口,但是把握一个方向和比较模糊的接口集是完全有能力和可能的。这样,最后系统被分解为比如100个接口,每个组负责实现不同的接口,有些可以不实现,有些则需要好好的来做。这样不仅可以在非常细的粒度上(还没有最细,最小的粒度可以把握到每个接口内部的代码段)把握里程碑,而且可以逐步的建立起“新浪漫架构”的规范和核心引擎。
顺便提一下,我还为了能够最实际的验证这个功能子集是否合理,我专门用了半个月的时间,开发出了一个CharmingV1.0的原型:Charming V0.1。在这里原型里面,网友和技术人员都可以清晰的得到一个概念,各个模块是如何组合起来工作的,原型也分别实现了各个接口的最简化版本,简单到仅仅可以做来演示,比如:虚拟物品就是一段文字或一张图片的展示,一个界面风格就是换个颜色,等等,但是这也已经够了。
最后,我给出一个经过裁减过的CharmingV1.0的接口的微型清单:
CharmingV1.0将会能够运行在Unix,Windows操作系统上,这样CharmingV1.0将可以运行在市场上几乎全部的虚拟主机和独立主机上,我们使用PHP,Mysql来进行开发,同时将按照Soap协议实现数据的Webservice接口,比如实现用户导入,导出,留言的导入导出,物品列表,应用插件列表的导入导出,也提供了专门的广告接口,其他的网站通过这个接口可以得到自己网站的站名,广告语,公告,Banner,等数据。新浪漫架构的核心引擎在这个版本里面几乎是没有的,一切的应用都依靠数据集成在一起,但是我设计了非常良好的数据库表结构,一切都按照面向对象的思想构造。一些最基本的应用,如:论坛,留言板,Blog也被包括了近来,当然,是作为插件形式开发的,其实这个插件也是通过数据库进行插入的,程序部分就直接复制在主程序的制定目录之下,其他的包括界面外观,虚拟物品也都是这样实现插入功能的。前面讲过的虚拟鲜花,邮票,Avatar,等也都被实现了,特别一起的是电子商务功能不仅提供了传统的购物车,商品列表,商品管理功能,还加入了虚拟金币系统,可以进行虚拟物品,甚至虚拟工厂的功能,你可以在CharmingV1.0里面购买鲜花,邮票,Avatar,衣服,鞋子,裤子,甚至,一个留言,一篇文章,一个图片都作为虚拟物品可以被买卖。CharmingV1.0的站长控制面板的功能也非常强大,可以对网站内的包括,虚拟物品,应用插件,留言,用户,帐务,进行管理,而且还具备CRM功能,当然以上说的一切都是比较简单的,但是对于个人网站来讲是已经足够的功能,CharmingV1.0的界面将会是非常吸引人的。
通过CharmingV1.0的系统分析和开发,我得出了很多宝贵的结论,有经验,有教训,但是在通往“新浪漫架构”这一理想王国的路上,我有了足够的资源,定义清晰的接口和功能强大,灵活的核心引擎都将会吸引网友和第三方厂商的关注。网友开了网站,赚了钱,当然生活就浪漫了。