3)以扩展性为基础,以实用为目标
如果有人问我:SICS到底有哪些功能,我可能立刻张口结舌:因为,SICS只是一个框架,好比一个计算机的操作系统,如果没有外部应用,那么它几乎的一点用都没有!
计算机没有用,但是大家却又到处在用计算机,原因大家都知道:可以在计算机和操作系统之上安装不同的应用程序,然后就可以浏览网页,听音乐,看电影,打游戏,写文章(例如我现在)。所以,计算机的用处就在于,它是有用的应用程序的基础!
SICS也是这样的一种默默的发挥着基础作用的程序,象计算机一样,它先定义和设置了种种必要的接口,并准备连接所有未来的应用程序,并为这些应用程序内部的各个组件之间以及应用程序之间的协作提供一个基本的桥梁。
在一个项目内,组件间协作的方式比较简单,只有一个:以资源交换机为中心的组件间功能协作,但是这个却是SICS中资源控制器的基础,从而实现更高级项目间协作。
相对而言,SICS为不同项目之间所提供的协作模型则丰富一些,一共3种,包括:
(1)基于共享资源的成员间协作模型:共享资源直接加入项目中,成为应用项目的一部分;
(2)基于引擎--代理的功能扩展模型:消费者项目提供一个功能引导者,功能引擎为其创建功能代理.
(3)基于服务--模块的高级服务模型:消费者项目提供一个模块定义并加入到提供者项目中;
4)洗尽铅华,决不自作多情:只做自己份内的事情
市面上类似的框架很多,其中一些包含了各种各样的功能,例如常见一些应用服务器中包含了HTTP服务,EJB服务,消息队列,邮件服务,CORBA继 承,LDAP集成,WEBSERVICE......只要是能用得上的名堂,它都力求包含在内:至于这些东西到底实际应用是否需要,或者到底会无谓的损耗 多少系统资源,至于导致的管理的复杂性甚至安全隐患,似乎都不是它所需要考虑的;它所需要的是“一站式应用”、“企业信息中心”......天知道它到底 要将系统搞到怎样的一个复杂的样子才算满意!
而且,即使对程序员来说,这样的应用框架(或者服务支持软件)在开发过程中也几乎是一场灾难:在修改了一个程序之后,哪怕只是重新启动一次,也够抽袋烟啦!如果不抽烟的,就更惨:只好一个手捧着脑袋,另一个手伸出一个手指敲打桌面,作沉思状
这个时候,就好比操作系统中带了太多用不上的东西,于是大家又是减肥,有是优化,恨不得将它大卸八块!
相比之下,SICS的简单就成了最大的优点:短小精悍(源程序总长不到3万行)、启动迅速(几秒钟)、资源占用极低(和启动一个HelloWord差不多)。