Sharepoint站点结构

     对于刚接触Sharepoint的人,铺天盖地的各种名词术语肯定会感到迷惑,此时最好的办法就是抓大放小,先搞清楚Sharepoint站点的整体脉络结构,然后再逐步细化理解。

     Sharepoint站点的整体逻辑结构可以概括为以下的层级结构:

     Farm→Server→Application→SiteCollection→web→subweb→……

其中每一级都是1:N的关系,

     一个Farm可以包含多台服务器,一个Farm的所有成员会共用一个配置数据库(缺省为WSS_Content) ;

    一台服务器也可包含多个Application。创建新的Application,这个是进入Sharepoint管理中心,开始创建站点的第一个步骤。

    一个Application对应于IIS中的一个Web site,会分配一个唯一的端口,缺省当然是80端口了。一个Application可以包含多个网站集(SiteCollection),缺省新建的Application是没有包含SiteCollection的,所以下一步就是要创建网站集。

    一个网站集必须有且仅有一个顶级站点(Site),因此网站集也可看做站点(Site)或是顶级网站(top web),所以创建一个网站集也就是创建一个顶级网站。

    顶级网站也是普通网站,任何普通网站(Web)都可以创建N个子网站,即Subweb.

然后就是子子孙孙,无穷尽了。

     注:这里的网站和站点总是混淆不清,由于Site和Web的翻译问题,经常会出现到底是网站包含站点,还是站点包含网站的疑问,连MSDN的解释也时有矛盾。不过从Sharepoint的对象模型来看,应该是Site包含web

 

     接下来再看一看web的内部。做过ASP.NET开发的都应该很清楚一个站点的内部结构,通常会包含App_开头的目录、bin目录、web.config、global.asax等基础结构。本质上讲,Sharepoint的站点也是ASP.NET的站点,不过已经被修改得面目全非了。

     首先要明白一点,Sharepoint的所有站点资源都是共享的,包括程序集、aspx、ascx,js等基本资源都是为所有web站点服务的,不会在每一个站点下都创建一份出来。

     然后打开wwwroot和IIS管理器对比一下,传统的web.config还在,但已经没有bin文件夹了,所有的程序集都部署在全局程序集,为什么要这样做,因为上面提到的,站点资源共享。站点文件夹里面文件很少,大部分资源都是使用虚拟目录的方式连接到站点内的。这些虚拟目录里的文件才是核心,这些虚拟目录的连接目标主要来自于C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14,这些特殊目录的用途可以参考http://technet.microsoft.com/zh-cn/library/cc721635.aspx的说明。

     特殊目录中的文件定义了各种模板和共享资源,但这并不是Sharepoin站点的全部,因为站点不可避免要被定制化,那么这些被修改过的文件都会被从共享资源中分离出来,但并不是存储在站点目录下,而是存储的数据库中,包括修改过的ascs、webpart、aspx等(称为ghosting page)。至于为什么,只要想一想这些web部署在多个服务器的服务器场中就明白了。

     当然访问站点的url也不是web中的文件路径,Sharepoint的所有url都是托管的url,本质上是一种MVC模式,只不过是一个被高度定制化了的MVC。

     这些只是Sharepoint站点的外在结构,至于内在逻辑结构就更为庞大了,不过相关资料也多一些。

posted @ 2012-06-01 17:54  Charles-Lee  Views(1257)  Comments(0Edit  收藏  举报