上一篇我们以问答的方式明确了Sharepoint服务的一些概念,这里我们重点来看两个方面:Sharepoint服务器构架对象模型以及Sharepoint 服务应用程序的某些拓扑结构
一、Sharepoint服务器构架对象模型
二、Sharepoint 服务应用程序的某些拓扑结构
Sharepoint 服务应用程序的对象模型支持各种不同的服务器场环境。这里我们探讨一下其中的某些情况:
1、单应用服务器结构 (Single Application Server)
这种结构的服务应用程序实例运行在一台服务器上,客户端通过服务程序代理(service application proxy)联接到服务应用程序实例。如下图:
这种结构的硬件需求最小,但坏处却是没有冗余。如果仅有的这台服务器坏掉或停工了,相应的服务也就停掉了。
由于在单服务器结构下,此服务器既是前端Web服务器也是应用服务器,因此服务也就是既运行在WEB服务器环境中又运行在应用服务器环境中。
2、多应用服务器
此拓扑结构中,服务器场被扩展为拥有三个应用服务器 (Application Server),但我们只选择其中的两个来运行我们的服务应用程序(Service Application),剩下的那个服务器被用作其他用途,比如运行另外一个不同的服务应用程序。
这种拓扑结构提供了某种程度的冗余,如果一台应用服务器停工了,其他服务器上运行的服务实例(Service Instance)仍然可以继续处理到来的服务请求,因此,这种拓扑结构明显比单服务器结构强壮,效率也要高些。
当然,如果剩下的那个服务器没有足够的处理能力应对客户的服务请求,那么用户就会感觉到服务效率的下降,但即便如此,也总比停工强。
出于扩充或维护的目的,服务器场管理员可以使用Sharepoint管理中心或PowerShell在任何时候启动和停止某个服务器上的服务实例。
需要注意的是,这种拓扑结构在逻辑上仍然只使用了一种服务应用,但此服务应用运行在拥有三个服务器的场环境中。
3、多Web应用程序
这种拓扑结构的特点是:有若干个Web应用程序(Web Application)共享同一个服务应用程序
当你想要在不同的Web Application之间分享诸如某些分类数据(taxonomy)或用户个性化数据(user profile)时就需要借助一个共同的服务应用程序作为桥梁来实现数据的分享。
需要注意的,这种拓扑结构中的那些Web Application是使用了同一个服务应用程序代理
4、多服务应用程序(Multiple Service Application)
这种拓扑结构的特点是:属于同一种类型的两个服务应用程序(A, B)运行在同一相服务器场中。此服务器场中的Web应用程序(Web Application)可能与A或B中的任何一个建立连接,这种连接的建立是由服务器场管理员来决定的。
这里的两个服务应用程序(Service Application)在某种程度上是可以隔离的,比如:它们可以使用各自不同的数据库来存储本应用的相关数据。
这种拓扑结构适用于不需要分享数据的场景,比如:一个公司有人事部门和销售部门,由于他们之间的数据对对方都需要保密,销售部门不能调取到人事档案信息,而人事部门不能查阅到公司销售情况,所以当需要建立这两个部门的搜索服务应用程序时(Search Query Service Application)就需要使用这种拓扑结构,它们各有各的数据库来为各自的服务应用实例提数据支持。
这种拓扑结构中的相应Web应用程序(Web Application)使用不同的服务应用程序代理(Service Application Proxy)来与各自的服务应用程序(Service Application)交互。
需要注意的是:这里的两个不同的服务应用程序(service applications)运行在同一服务器(application server)的同一服务实例(same service instance)上。
5、联合服务应用程序(Federated Service Application)
这种拓扑结构属于远程客户端调用服务应用程序的情况,也即跨场(cross farm)调用情况。
比如一个大企业要建立企业级的搜索服务,这种服务不是靠单个服务器就能解决的,它需要较高的投入,因此IT部门就会选择把这种企业级的搜索服务集中起来,建立一个单独的服务中心并向其它部门或组织提供企业级的搜索服务。这种方式其实就是把某个服务器场专用于服务承载,从而创建出高度密集的服务(如 Web 分析和商业智能)集中共享出来。这样不但节省了硬件投入和人力投入,还提高了搜索效率和维护效率。
需要注意的是:这种拓扑结构需要在提供搜索服务的"场"与客户"场"之间建立双向的互信。
总结:
Sharepoint的服务还存在着其它许多的拓扑结构,比如:
多个Sharepoint场中存在着多个服务应用程序(Service application)和多台服务器(server),而其中的一台或若干台服务器上又运行着一种或多种服务应用程序的服务应用程序实例(service instances)。服务应用程序之间也可以提供服务,也即一个服务应用程序可以通过服务应用程序代理(service application proxies)调用其它服务应用程序提供的服务(service),并且 这种调用 可以跨度不同的服务器场。Sharepoint服务应用程序架构提供了很好的灵活性和扩展性以满足用户不同的"服务"需求。