zoukankan      html  css  js  c++  java
  • WSS和MOSS的区别

    Microsoft Office SharePoint Service 2007 是微软最新的企业协作应用和开发平台。简称MOSS,MOSS基于Window SharePonit Service 3.0开发,简称WSS。MOSS是收费的,WSS是免费的,只要拥有了Window Server2003的许可,就可以免费安装WSS。

    WSS拥有站点,列表,文档库,文档管理,web part,集群部署,站点内搜索,基于WF的工作流等功能。MOSS扩展实现了增强的文档管理,企业搜索,扩展了工作流,引入了web内容管理,Form Service , Excel Service,个人站点等。

                       以下章节若没有特别强调,则所有内容都适合WSS和MOSS的。所有适合WSS的内容也一定适合MOSS,反之则不然。

    WSS对IIS的扩展

             WSS基于标准的asp.net 2.0开发 ,这是WSS开发中要始终记住的一点. 要精通WSS开发,一定要精通asp.net。

             每次新建一个WSS站点,IIS中会同样新建一个网站,我们称这个网站是被WSS扩展后的网站。那么扩展后,发生了什么呢?

             首先,IIS站点的所有文件的处理都被影射为需要asp.net运行引擎处理,而标准的IIS站点只有asp.net本身的文件(如aspx,asmx等)才需要运行引擎处理的,其他文件由IIS直接输出到客户端。

             查看一下站点下的web.config文件,我们看到有这么一项配置:

    <httpHandlers>

          <removeverb="GET,HEAD,POST"path="*" />

          <addverb="GET,HEAD,POST"path="*"type="Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

          <addverb="OPTIONS,PROPFIND,PUT,LOCK,UNLOCK,MOVE,COPY,GETLIB,PROPPATCH,MKCOL,DELETE,(GETSOURCE),(HEADSOURCE),(POSTSOURCE)"path="*"type="Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

        </httpHandlers>

    HttpHandler是asp.net的一个扩展机制,通过实现一个HttpHandler,可以来直接针对较低层的Request,Response编程,WSS通过实现自己的HttpHandler实现对客户端所有请求文件的处理,并且,通过扩展Http请求(扩展OPTIONS,PROPFIND,PUT,LOCK,UNLOCK,MOVE,COPY等动作),实现文档的在线编辑,在线编辑的实现原理可参考这篇文章:http://www.cnblogs.com/jianyi0115/archive/2007/07/15/818566.html

             注意httpModules节点下的这项配置:

    <addname="SPRequest"type="Microsoft.SharePoint.ApplicationRuntime.SPRequestModule, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

             HttpModule也是asp.net的扩展机制,通过实现一个HttpModule,可以切入Http请求的某个阶段做出相应的处理,如身份校验,初始化一些通用模块等。

             WSS通过实现SPRequestModule,切入Http请求,进行一些需要的处理。最重要的是,WSS通过SPRequestModule引入了SPVirtualPathProvider。SPRequestModule的OnInit方法中有这个关键的一句:

        SPVirtualPathProvider provider2 = new SPVirtualPathProvider();

    HostingEnvironment.RegisterVirtualPathProvider(provider2);

    VirtualPathProvider也是asp.net的扩展机制,通过实现VirtualPathProvider可以控制asp.net页面的提供机制,默认的VirtualPathProvider的实现直接访问服务器硬盘上的文件。WSS通过SPVirtualPathProvider实现了自己的页面Provider机制—WSS站点的页面是由文件系统和数据库联合存储的。

    新建一个WSS站点后,它的所有的文件都是放在硬盘上,我们通过SharePonit Designer打开一个WSS站点,可以看到完整的目录结构,这些文件实际上全部都影射到文件系统上的某个文件,这个功能叫做ghost。当我们通过SPD修改了某个文件之后,WSS会把这个修改的文件保存到数据库,这个文件跟原始的文件系统上的文件就脱离关联了,这叫做unghost.通过ghost,WSS做到了是不同的站点可以共享相同的文件,通过unghost,WSS又实现了一个站点对页面的修改不会影响到其他站点.

    WSS的一些概念

    1)       Farm -- 服务器场

         服务器场是WSS最大的一个概念,整个WSS的所有服务器,包括前端服务器,数据服务器,组成了服务器场,一个服务器场有一个配置数据库,多个内容数据库,多个应用程序..

    2)       Application -- 应用程序

    应用程序对应IIS的一个站点,它是一个安全和程序文件的独立主体。即一个应用程序可以有自己的用户身份认证机制,有自己独立的一套运行程序文件,一个应用程序会映射到硬盘上的一个独立的目录,一般为C:"Inetpub"wwwroot"wss"VirtualDirectories"里面的某个目录.一个应用程序下可以有多个站点集.

    3)       Site Collection -- 站点集

         站点集是一个虚拟的单元,在内容,用户和权限上是独立的. 一个站点集可以有多个子站点.

    4)       Web -- 站点

         站点内容和权限的组织单元.一个站点可以有多个子站点,多个列表,文档库,多个页面.站点可以有独立的权限.站点可以有子站点,站点和子站点组成树型关系.子站点的权限默认集成于父站点.

    5)       List-列表和文档库

         列表可以理解成一个数据库表,用来存储一些业务数据。一个列表有很多字段。

                        WSS3.0的列表可以存放多个内容类型。

    6)       ConentType--内容类型

                        内容类型可以理解成数据实体,如用户,联系人,日程数据等。一个内容类型包含很多字段。

    7)       Field-字段

         可以理解成数据库的字段,Field是WSS整个架构的最底层元素。

    WSS的对象模型       

             WSS开发很大一部分工作是需要调用各种WSS中的对象来实现的.常用的对象都放在Microsoft.SharePont这个dll中.我们通常的开发都要从站点集对象开始.

    Using(SPSite site = new SPSte(“”))

    {

    }                

             SPSite和SPWeb对象都是需要释放资源的,如果我们自己构造这两个对象,一定要在代码执行完毕时调用Dispose方法,来释放资源.

             如果我们的代码处于WSS的运行环境之下,即代码直接运行在WSS的页面上,那么我们可以直接从WSS的上下文中获取到相关对象.

    SPSIte site = SPContext.Current.Site;

    SPWeb web = SPContext.Current.Web;  

    SPUser user = SPContext.Current.Web.CurrentUser;    

            上下文对象提供了更好的性能(不需要重复创建对象),并且直接跟当前用户的身份挂钩.上下文对象由运行环境进行资源管理,不需要我们用代码来Dispose.

    MOSS2007构建与WSS V3之上,并在其之上加了很多的企业级应用,其关系如下图所示:

    原文摘自:http://blog.csdn.net/figerdeng/archive/2010/04/26/5532029.aspx

  • 相关阅读:
    zoj 2316 Matrix Multiplication 解题报告
    BestCoder7 1001 Little Pony and Permutation(hdu 4985) 解题报告
    codeforces 463C. Gargari and Bishops 解题报告
    codeforces 463B Caisa and Pylons 解题报告
    codeforces 463A Caisa and Sugar 解题报告
    CSS3新的字体尺寸单位rem
    CSS中文字体对照表
    引用外部CSS的link和import方式的分析与比较
    CSS样式表引用方式
    10个CSS简写/优化技巧
  • 原文地址:https://www.cnblogs.com/alvin_xp/p/1911534.html
Copyright © 2011-2022 走看看