有个朋友让我谈谈SharePoint2003的文件存储机制,正好这个月一直在做与SharePoint相关的工作,随便说说吧。有对SharePoint很熟悉的朋友也可以对我的理解加以指导和纠正。
SharePoint这个词包含两个东东,一个是Team Service,这是一些服务,提供了方便的站点、文档等东东的管理,以编程接口的方式提供,我们可以直接通过其SDK来调用其服务,现在最新的2003版已经集成进Windows Server 2003了(通过Windows Update就可以安装,或者去MS网站上下载),名字也叫做Windows SharePoint Service 2.0了。
另外一个就是Portal Server,这是一个可以直接建立门户站点的东东,安装上以后,通过其Adminstration Center,就可以直接在IIS的虚拟主机上直接建立站点,并把诸如文档库、列表、论坛等模块加入到站点中。最新的版本是Portal Server 2003,MS中国站点首页上已经有中文版的广告了。
其实上,Portal Server也是调用后面SharePoint Service的接口,只不过把站点的模板都做好了,可以直接拿来用了。Portal Server定义了一种CAML,用来描述站点页面模板。不过偶自己的感觉是是这个东东并不方便,改Portal Server的模板太麻烦了。
SharePoint Service是免费的,Portal Server是要钱的(估计价格不会很低)。
SharePoint里面一个很有特色的东东是WebPart,实质上就是一个CustomControl,特别的是,它可以在Portal Server的站点上,由用户自定义把一个WebPart放在页面上。
SharePoint把所有的东东都存放在Sql Server 2000里面的,文档、图片...只不过通过编程接口可以以更直接的比如SPFolder、SPFile对象把他们当作文件夹、文件来处理(实际上站点服务器上是不会真的给你建立这些文件夹、文件的,都存放在数据库里面)。如果以单服务器模式安装Portal Server,它会自动给你装上一个MSDE。
另外顺便提一下,好像现在在web程序中使用Access的情况是越来越少了,以前ASP时代,很多程序都用Access来保存数据,现在越来越多的是宁愿用MSDE,少量数据则用xml。