准备要作为服务发布的资源

发布服务前,您需要创建服务将要引用的 GIS 资源。有关可作为服务发布的 GIS 资源的完整列表,请参阅可发布什么类型的服务?大多数 GIS 资源需要使用 ArcGIS Desktop 进行创建。

首次创建 GIS 资源时,可将其保存在本地文件系统上。只有将资源作为服务发布后,客户端应用程序才能查看这些资源。

在许多方面,创建要在服务中使用的资源与创建普通资源别无二致,都是使用相应的应用程序(例如 ArcMap)为创建的资源选择数据并设置属性。但是,如果您已明确资源将作为服务进行发布,则需要遵循以下一些额外的原则:

以所有 SOC 计算机都能访问的方式存储数据

ArcGIS Server 部署中的每台服务器对象容器 (SOC) 计算机都需要具有访问 GIS 资源及其中所包含数据的权限。例如,将地图文档作为服务发布时,该地图文档及其图层中的所有数据对于所有的 SOC 计算机都必须是可访问的。

当您将数据保存到本地路径(例如 C:\data),并准备从中创建服务时,除非其他 SOC 计算机本身在 C:\data 存有数据副本,否则这些计算机将无法使用该服务。将数据的相同副本拷贝到每台 SOC 计算机的相同路径下有利于提高性能,但是对于大型或经常更改的数据集,这种解决方案可能并不实用。如果能够通过 ArcSDE 引用通用资料档案库中的数据,便可以解决需要复制基于文件的大型数据集的问题。

使所有 SOC 计算机都能访问数据的另一种方法是,使用操作系统工具共享存储数据的目录。共享的目录通常使用通用命名约定 (UNC) 路径,其中包含服务器的名称(例如,\\myServer\data)。当使用 UNC 路径引用数据时,所有 SOC 计算机都将选择合适的计算机来获取数据。

如果在共享目录中存储您的 GIS 资源,请切记,资源中的所有数据源路径也必须使用 UNC 路径或相对路径。例如,如果地图文档中包含来自三个要素类的图层,则这三个要素类的路径都必须是 UNC 路径或相对路径。

授予 SOC 帐户对数据的访问权限

登录自己的计算机时,您使用的帐户名会授予您访问计算机中所有文件及文件夹的权限。未经您的允许,其他人无法访问您的数据。这同样适用于 GIS 数据。对于 GIS 服务器(或具体地说,SOC 计算机)对您的数据的访问,您必须在 GIS 服务器安装后配置期间为您所指定的 SOC 用户帐户授予权限如果您在大型组织中工作,您的 GIS 数据很可能并不存储在本地计算机中,而是存储在共享网络驱动器或地理数据库中。但是,授予 SOC 帐户数据访问权限的原则在此种情况下同样适用。

为基于文件的数据设置访问权限

如果您的数据基于文件(例如 shapefile 和 coverage)存储,则需要使用操作系统来设置对于包含数据的文件夹的访问权限。SOC 帐户必须至少具有对数据的读取权限以及写入权限(如果要编辑该数据)。以下是一些使用情境:

您应该了解操作系统的安全机制和等级。例如,如果您在 Windows XP 的共享目录中进行各种操作,则必须授予容器帐户对该文件夹的共享权限,然后再授予容器帐户对该文件夹的 NTFS(文件)权限。如果没有授予两种类型的权限(共享权限和文件权限),您将无法访问资源,因为操作系统将优先对这两种权限加以限制。

为地理数据库中数据设置访问权限

当创建引用地理数据库中数据的服务时,您需要确保服务器具有访问地理数据库的相应权限。需要授予的权限类型取决于所使用地理数据库的类型,而如果使用的是 ArcSDE,权限类型则取决于您使用哪种类型的身份验证进行连接。

如果服务要访问文件地理数据库或个人地理数据库中的数据,则应该使用操作系统来授予 SOC 帐户读取包含地理数据库的文件夹的权限。

授予对 ArcSDE 地理数据库的访问权限的方法取决于 GIS 资源使用数据库身份验证还是操作系统 (OS) 身份验证来连接 ArcSDE。如何得知所使用的身份验证类型?如果地理数据库位于 SQL Server Express 中,则使用 OS 身份验证。如果地理数据库位于企业级 RDBMS(Oracle、SQL Server、DB2 和 Informix)中,在 ArcCatalog 中查看它的连接属性便可了解使用的是数据库身份验证还是 OS 身份验证。

使用数据库身份验证

如果使用数据库身份验证,请在 ArcCatalog 中查看空间数据库连接属性,并确保已选中有关保存用户名和密码的选项。如果通过使用该连接的数据来创建地图文档或 globe 文档,则用户名和密码将被保存到该地图文档或 globe 文档中,从而使您的服务能够顺利获取数据。

如果您直接从地理数据库中将某项内容作为服务发布(例如工具箱、定位器或栅格数据集),则需要将数据库连接文件复制到一个所有 SOC 计算机均可访问的位置。

使用 OS 身份验证

如果要通过 OS 身份验证访问您的 ArcSDE 数据,则需要向地理数据库中添加 SOC 帐户,然后授予该帐户访问所需资源的权限。服务运行时,它将作为 SOC 帐户登录到 DBMS。添加 SOC 帐户并授予相应权限的方法取决于您所使用的 ArcSDE 地理数据库类型:

  • 如果您使用的是企业级 ArcSDE 地理数据库,则将 SOC 帐户添加为数据库有效用户的方法取决于所使用的 DBMS。要了解如何为操作系统帐户授予访问权限,查阅 DBMS 文档将会非常有帮助。添加 SOC 帐户后,您需要授予该帐户对您将要发布资源的 SELECT 权限。如果要对数据进行编辑,额外的权限则十分必要。

  • 将数据库连接文件复制到所有 SOC 计算机都能够访问的位置这一点十分重要。

  • 如果您使用的是 ArcSDE for SQL Server Express 地理数据库,则需要在 ArcCatalog 中执行以下步骤来授予 SOC 帐户必要的权限:

    1. 在目录树中双击数据库服务器
    2. 右键单击包含地理数据库的数据库服务器,然后单击权限
    3. 单击添加用户添加 SOC 帐户。单击确定
    4. 双击上述数据库服务器。
    5. 右键单击指定地理数据库,单击管理,然后单击权限
    6. 单击 SOC 帐户将其选中,然后选择您希望该帐户拥有的权限级别。查看数据至少需要读取权限,而编辑数据至少需要写入权限。如果需要详细帮助信息来确定您的 SOC 帐户需要哪种权限,请参阅 ArcGIS Desktop 帮助中的数据库服务器权限快速浏览

有关 Oracle 连接的注意事项

如果您将使用 ArcSDE 的地图服务连接到 Oracle 数据库,则每台 SOC 计算机中都需要安装 Oracle 客户端软件。此外,如果您的地图服务直连到 Oracle9 或更高版本,则需要授予 SOC 帐户读取每台 SOC 计算机中的文件夹 <Oracle 安装位置>\products\<版本>\client 的权限。

请采用特定于您所创建资源的最佳做法

准备要作为服务发布的资源时,对于大多数类型的资源,都存在您可以采用的一系列最佳做法。例如,创建缓存、应用按比例渲染或简化标注放置的优先级,执行这些操作都将有助于提高地图服务的运行速度。本帮助系统为您可创建的每种类型服务都设立了一个专题。参阅这些主题可了解其他最佳做法。


3/7/2012