Sharepoint学习笔记 –架构系列—09 Sharepoint的服务器端对象模型(Server Object Model) 1.物理对象层次结构

关于Sharepoint的服务器端对象模型的内容很庞大很繁杂,而事实上,我们在这里只把最关键的对象梳理一下,我们会从三个体系来大致描述它们。

  这三个体系分别是:

   1、物理对象层次结构(Physical Objects Hierarchy)

   2、内容层次结构(Content Hierarchy)

   3、服务层次结构(Services Hierarchy)。

  希望通过我们的大致描述能让你对Sharepoint的服务器端对象模型能有一个大致的了解。下面进入主题。

 这里先看看物理对象层次结构(Physical Objects Hierarchy)

  物理对象层次结构中的类所表示的实体既可以是实际物理对象(SPFarm, SPServer),也可以是根据上下文(Context)被视为物理对象或非物理对象的对象(SPFolder,SPFile)。

  下图显示了该层次结构中的四个主要类

 

   它们中最重要的两个类就是Servers与Farms。

   Sharepoint Fundation Farm以及它的配置数据库(configuration database)就是由SFarm类来表示的。

   Sharepoint的服务器场(Farm)是一个物理服务器集群,包括一个或多个前端服务器(Front-End Web Server),零个或更多的应用服务器(Application Server)以及SQL服务器,SQL服务器可能被寄存在专用的数据库服务器(dedicated database Server,虽然在这种专用数据库服务器上并不安装Sharepoint,但它们仍是Sharepoint场的组成成员,我们可以在Sharepoint场的管理中心界面上看到它们)上或者在其中一个应用服务器上(如:在一台前端服务器上)。 (严格的讲,Windows SharePoint Services 3.0总是部署在场中,虽然有可能它是整个部署环境(场)中唯一的一台计算机。

   SharePoint Foundation 场中的物理服务器具有 IP 地址和角色。以下是 SharePoint Foundation 中的服务器可能具有的三种(或四种)角色:

    1、单一服务器(Single Server):从名称的含义可以得知,当且仅当服务器是场中的唯一服务器时,服务器将具有此角色。

    2、前端服务器(Front-End Web Server):多台服务器都可以具有此角色。前端服务器接受来自客户端计算机的 HTTP 请求。由于前端服务器提供响应这些请求的内容,因此前端服务器上必须运行内容发布 Web 应用程序。

    3、应用程序服务器(Application Server):任何未用作前端服务器或单一服务器的 SharePoint Foundation 服务器都具有应用程序服务器角色(有一种例外情况:见4)。这些服务器运行的是必须从前端服务器卸载的专用 SharePoint Foundation Web 服务或 Windows 服务,这是因为它们需要大量使用服务器的处理器、硬盘或其他硬件资源。SharePoint Foundation 附带了经常卸载到应用程序服务器的一些服务,开发人员可以使用 SharePoint Foundation 对象模型来开发其他服务,并将这些服务作为 SharePoint Foundation 部署的一部分运行。给定的 Web 服务或 Windows 服务可以在多台应用程序服务器上运行。例如,搜索服务可以在多台服务器上运行。每台服务器均具有该服务的单独实例

    4、专用数据库服务器(Dedicated Database Server):上面提到的例外情况是指承载 SQL Server 数据库的服务器。此数据库可以位于任何应用程序服务器上,但通常情况下,如果 SharePoint Foundation 部署的规模大到需要多个服务器场,则此数据库将需要自己的服务器(可能是一个服务器镜像群集)。当此数据库位于它自己的专用服务器(或群集)上时,甚至不会在此服务器上安装 SharePoint Foundation。场的配置数据库中将标识此服务器,并且此服务器会让场以为它正在运行一个称作"Windows SharePoint Services 数据库服务"的服务,而实际上,此服务只是数据库服务器上运行的 SQL Server 服务的别名。此专用服务器上通常不会安装 SharePoint Foundation,并且此专用服务器实际上不具有场中的角色。

 

关于场的负载平衡问题:

    如果Sharepoint场有多台前端Web服务器,那么它们通常都需要负载平衡的(load-balance) 支持。你可以使用硬件支持或软件支持的负载平衡解决方案(包括Windows Server2008内置的网络负载平衡(NLB:Network Load Balancing)方案)。你需要清楚的是:Sharepoint自身并不支持负载平衡解决方案

    当使用了负载平衡方案后,系统将会把客户端计算机的传入网络连接指引到场中当时最不繁忙的那一台前端计算机。这样,执行服务的客户端连接的工作负荷将分摊到多台服务器,进而分摊到多个处理器、硬盘驱动器和其他外围设备,从而让客户端获得更好的性能。此外,这样做还有这样一个好处:如果某一台服务器将发生崩溃,则其他服务器还可以继续处理所有传入连接。此时,服务的速度可能会减慢,但服务不会完全停止。

    由于场在外部网络中作为单一服务器出现,如果有客户端计算机想要访问场中的某个资源(如: 特定应用程序、文件、数据库或网页),这个客户端计算机不在乎(通常是不知道)它们将与场中的哪一台物理服务器连接,因此必须对客户端可能会连接到的所有计算机进行相同的配置。

    完成相同配置的最简单方法是,在所有计算机上安装相同的应用程序并将任何所需文件、数据库和网页的副本放置在所有计算机上(使用相同的目录路径)。不过,由于此方法要求将客户端对文件、数据库或服务器上保留的任何其他项所做的每个更改传播到所有其他服务器,因此几乎不可行。若要确保服务器保持同步,场必须在传播过程中阻止传入连接。由所有传播导致的性能降低会使场应提供的优势不再存在。实际上,甚至于连适度使用的 SharePoint Foundation 部署也会陷于几乎不停地传播更改的状态。 为了避免这些问题,可以为场中的某些服务器分配特殊任务,如承载数据库。虽然客户端连接到的前端服务器不会将数据库复制到它们上面,但仍需对这些服务器进行相同的配置,这是因为这些服务器将使用相同的连接字符串和网络地址来访问数据库。

 

关于SPFarm类

  SPFarm类继承自SPPersistedObject,它代表一台或多台物理服务器组成的场,因此它被包含在物理层次中。

  但是它同样可以被认为是内容层次结构(Content Hierarchy)的最顶级; 例如,所有Windows SharePoint Services 场的(非配置)内容都支持备份和恢复。

  在Windows SharePoint Services 3.0中,SPFarm类也可以被视作和服务器场相关的配置数据库的代表,因为Windows SharePoint Services 3.0没有代表配置数据库的类。例如,SPFarm对象的   DisplayName属性也是配置数据库的名字。 
  SPFarm对象有三个主要的子类型: SPServer、SPService和SPSolution。
  SPFarm从SPPersistedObject继承,意味着它的对象(只有一个)实例保存在配置数据库中。 
  SPFarm的静态成员能够建立服务器场和返回本地或远程的服务器场。
  SPFarm类有许多成员可以用来开发管理功能,一些更重要的成员可以用来帮助管理,如下:

  • Backup and restoration of the farm(备份和还原服务器场)
  • Upgrades of the farm (升级服务器场)
  • Migration of (moving) the farm(升级服务器场)
  • Error reporting(错误报告)
  • Caching (缓存)

下面是 SharePoint Foundation 场(Farm)的一些特征:

  • 每个 SharePoint Foundation 场都具有一个配置数据库(configuration database),此数据库包含有关场、场的服务器和场的其他重要子类的信息。
  • 场是对象模型的一个级别,可以在此级别安装 SharePoint Foundation 解决方案,也可以从此级别将解决方案部署到服务器和 SharePoint Foundation Web 应用程序(web application)。
  • 场是可从中激活 SharePoint Foundation 功能(feature)的四个级别之一。其他三个级别为网站、网站集和 Web 应用程序。

关于SPServer类

    SPServer类在Windows SharePoint Services 场中代表一台物理服务器。

    除许多被继承的成员之外,SPServer类有个Address属性,这个属性保存了服务器的IP地址。而SPServer类的Role属性用来分辨服务器角色。 如果只有一台服务器,它的Role为SingleServer。

    如果有超过一台的服务器,前端服务器的Role为WebFrontEnd,并且几乎其他所有的服务器的Role为Application。

    然而,实际上寄存Windows SharePoint Services内容服务器的服务器Role属性值为Invalid。因为,这个服务器只运行一个Windows SharePoint service-数据库服务(一个Windows服务)-这个数据库服务实际上是SQL Server Windows service的别名,该SQL Server Windows service并不是Windows SharePoint service的一部分。 因此,它实际上并不运行任何Windows SharePoint service代码,并且它对应用程序角色并不适用。
    SPServer类还有一个ServerInstances 属性,可以返回当前服务器上所有的Windows services和Web services的实例.
    SPServer从SPPersistedObject继承,SPPersistedObject的实例都保存在配置数据库中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

执行 redis-dump 报错:Error connecting to Redis on localhost:6379 (Redis::TimeoutError)

拿本地的 Redis 做测试,运行在 6379 端口上,使用 redis-dump -u localhost:6379 命令用于数据的导出,执行该命令时报错如下: C:\Users\Lenovo>redis-dump -u localhost:6379 Error connecting to Redis on localhost:6379 (Re…

Sharepoint学习笔记 –架构系列—10 Sharepoint的服务器端对象模型(Server Object Model) 2.内容层次结构

Sharepoint的内容层次结构(Content Hierarchy)包括表示可发布数据项(publishable items),如列表项的类,还包括表示嵌套的数据容器(nested containers of data),如列表、内容数据库、网站、网站集以及称为"Web 应用程序"…

Sharepoint学习笔记 –架构系列—11 Sharepoint的服务器端对象模型(Server Object Model) 3.服务层次结构

前面我们看了一下Sharepoint服务器对象模型的物理对象层次(Physical Objects Hierarchy)和对象内容层次(Content Hierarchy)中的相关类,这里来看看服务层次结构,其中包括表示 Web 服务(WebService)、Windows 服务(WindowService)、其他类型的服务(Icomin…

pyspider all 启动失败:ValueError: Invalid configuration

执行 pyspider all 启动命令报错如下: C:\Users\Lenovo>pyspider all e:\python\lib\site-packages\pyspider\libs\utils.py:196: FutureWarning: timeout is not supported on your platform.warnings.warn("timeout is not supported on your platform.&…

Sharepoint学习笔记 –架构系列—12 Sharepoint的客户端对象模型(Client Object Model)

前面过了一下Sharepoint的服务器端对象模型,接下来就让我们大致看看Sharepoint的客户端对象模型(Client Object Model: Client OM)。 首先需要了解的就是Sharepoint的客户端模型是在Sharepoint2010才开始引入的,之前没有这个概念。 一、为什么要引入客户…

Hexo 双线部署到 Coding Pages 和 GitHub Pages 并实现全站 HTTPS

2022-01-25 更新:博客新地址:https://www.itbob.cn/,文章距上次编辑时间较远,部分内容可能已经过时! 我的博客地址:https://www.itrhx.com/ 部署到 Coding Pages 的好处:国内访问速度更快&…

Git得基本使用方法add、commit、push、checkout以及Pull

一、Git是什么? Git是目前世界上最先进的分布式版本控制系统。 Working Directory:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 由于前面2篇文章已经简单得…

Coding Pages 申请 SSL 证书错误:urn:acme:error:unauthorized: Invalid response from http://xxxxx/

Coding Pages 申请 SSL/TLS 安全证书出现以下错误&#xff1a; urn:acme:error:unauthorized: Invalid response from http://www.xxxx.cn/.well-known/acme-challenge/ysOz9wW3U_GFPP8kRP4w8uknBZ9UfiUT7t2xpu9pDCw [185.199.111.153]: "\n\n \n <meta http-equiv“Co…

Hexo 博客提交百度、谷歌搜索引擎收录

2022-01-25 更新&#xff1a;博客新地址&#xff1a;https://www.itbob.cn/&#xff0c;文章距上次编辑时间较远&#xff0c;部分内容可能已经过时&#xff01; 文章目录● 写在前面&#xff08;必看&#xff09;● 查看网站是否被收录● 百度资源平台添加网站● 提交百度搜索●…

工作区、暂存区、版本库、远程仓库

一、概念 1、四个工作区域 Git本地有四个工作区域&#xff1a;工作目录&#xff08;Working Directory&#xff09;、暂存区(Stage/Index)、资源库(Repository或Git Directory)、git仓库(Remote Directory)。文件在这四个区域之间的转换关系如下&#xff1a; Workspace&#x…

Python3 爬虫学习笔记 C17【爬虫框架 pyspider — 基本使用】

Python3 爬虫学习笔记第十七章 —— 【爬虫框架 pyspider — 基本使用】文章目录【17.1】初识 pyspider【17.2】使用 pyspider【17.2.1】主界面【17.2.2】项目界面【17.3】使用 pyspider 爬取去哪儿网【17.3.1】爬取首页【17.3.2】信息匹配【17.3.3】抓取下一页数据【17.3.4】抓…

什么是RPA 现在都有哪些产品

作者&#xff1a;小金同学 链接&#xff1a;https://www.zhihu.com/question/264066539/answer/730946238 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 什么是RPA&#xff1f; 根据机器人流程自动化和人工智能研…

Sharepoint学习笔记—ECM系列—1 Content Type Syndication

我们可以通过Content Type Syndication来实现在Sharepoint Farm内的不同Site Collection之间共享内容类型(Content Types).也就是说&#xff0c;管理员可以为某个元数据服务(Metadata Service)指定一个网站集(Site Collection)来充当Content Type Hub&#xff0c;Content Type …

Python3 爬虫实战 — 猫眼电影TOP100【requests、lxml、Xpath、CSV 】

爬取时间&#xff1a;2019-09-23爬取难度&#xff1a;★☆☆☆☆☆请求链接&#xff1a;https://maoyan.com/board/4爬取目标&#xff1a;猫眼电影 TOP100 的电影名称、排名、主演、上映时间、评分、封面图地址&#xff0c;数据保存为 CSV 文件涉及知识&#xff1a;请求库 requ…

Sharepoint学习笔记—ECM系列--2 管理元数据服务应用Metadata Service Application

这里简单介绍一下Sharepoint2010的元数据服务应用Metadata Service Application的创建&#xff0c;修改和删除&#xff0c;在进行此类操作前&#xff0c;你必须是Sharepoint管理中心管理组的成员&#xff0c;即你有权限进入Sharepoint管理中心进行操作。 一、Metadata Service…

Python3 爬虫实战 — 豆瓣电影TOP250【requests、Xpath、正则表达式、CSV、二进制数据储存】

爬取时间&#xff1a;2019-09-27爬取难度&#xff1a;★★☆☆☆☆请求链接&#xff1a;https://movie.douban.com/top250 以及每部电影详情页爬取目标&#xff1a;爬取榜单上每一部电影详情页的数据&#xff0c;保存为 CSV 文件&#xff1b;下载所有电影海报到本地涉及知识&am…

Sharepoint学习笔记—ECM系列--3 从.CSV文件导入术语集(Term Sets)

Sharepoint2010支持直接从CSV文件导入术语集(Term Sets)&#xff0c;也就是说你可以先直接在Excel中创建和编辑术语集&#xff0c;然后保存为.CSV文件&#xff0c;再通过Sharepoint2010管理中心提供的管理界面导入术语集到指定的Metadata Service下的指定组中,下面我们来看看如…

使用 hexo-git-backup 插件备份你的 Hexo 博客

2022-01-25 更新&#xff1a;博客新地址&#xff1a;https://www.itbob.cn/&#xff0c;文章距上次编辑时间较远&#xff0c;部分内容可能已经过时&#xff01; 欢迎关注我的专栏&#xff1a;《个人博客搭建&#xff1a;HexoGithub Pages》&#xff0c;从搭建到美化一条龙&…

Sharepoint学习笔记—ECM系列--4 根据位置设置的默认元数据值(Location-Based Metadata Defaults)

如果有这样一个需求&#xff1a;客户在一个SharePoint 2010的站点的document library中创建了不同的文件夹FolderA和FolderB&#xff0c;对于上传到此文件夹的文件记录中有某一个列ColumnM,现在他实现当上传文件到不同的文件夹FolderA或FolderB时&#xff0c;列ColumnM使用不同…

Python3 爬虫实战 — 安居客武汉二手房【requests、Beautiful Soup、CSV】

爬取时间&#xff1a;2019-10-09爬取难度&#xff1a;★★☆☆☆☆请求链接&#xff1a;https://wuhan.anjuke.com/sale/爬取目标&#xff1a;爬取武汉二手房每一条售房信息&#xff0c;包含地理位置、价格、面积等&#xff0c;保存为 CSV 文件涉及知识&#xff1a;请求库 requ…