LocatorHub Migrating LocatorHub to Version 5.2 The Transition from ArcObjects Based Plug-Ins to ArcGIS for Server Services November 2013
Confidentiality Statement This document contains information which is confidential to ESRI (UK) Limited. No part of this document should be reproduced or revealed to third parties without the express permission of ESRI (UK) Limited. ESRI (UK) Ltd Millennium House 65 Walton Street Aylesbury Buckinghamshire HP21 7QG Tel: +44 (0) 1296 745500 Fax: +44 (0) 1296 745544 Website: www.esriuk.com
Contents 1. Introduction... 1 1.1. About this Document... 1 1.2. Integration with the ArcGIS System... 1 1.3. Additional Sources of Information... 1 2. Architectural Changes... 2 2.1. Impact of 64-bit Architecture... 2 2.2. Impact of.net 4.0... 2 3. Locator & Coordinate Conversion Migration... 3 3.1. Overview... 3 3.2. Within a LocatorHub Web Service... 3 3.2.1. Architecture at 4.x... 4 3.2.2. Architecture at 5.x... 5 3.3. Outside a LocatorHub Web Service... 6 3.3.1. Architecture at 4.x... 6 3.3.2. Architecture at 5.0... 7 4. Functionality Offered by LocatorHub 5.x... 9 4.1. ArcGIS Map & Feature Service Locators... 9 4.1.1. Geometry Mid-points... 9 4.1.2. Tables within Map & Feature Services... 9 4.1.3. Reverse Geocoding... 9 4.1.4. Version Support... 9 4.2. ArcGIS Locator... 9 4.2.1. Single Line... 9 4.2.2. Version Support... 10 4.3. Geometry Service Coordinate Conversion... 10 4.3.1. Composite Geotransformations... 10 4.3.2. Version Support... 10 4.4. Spatial Layer Creation... 10 5. Summary... 11 5.1. ArcGIS Online... 11 i
1. Introduction 1.1. About this Document This document is targeted at Technical Architects upgrading to LocatorHub 5.2. It highlights key architectural differences compared with older versions and discusses the effects of, and recommendations around, these differences. In particular, it discusses the discontinuation of Feature Class locators for locations stored in the GeoDatabase, and the ArcObjects-based Coordinate Conversion Plug-ins. This document assumes knowledge of LocatorHub and ArcGIS. 1.2. Integration with the ArcGIS System LocatorHub can be consumed within, and complements the Esri product stack for geosearching and geocoding, including the various methodologies offered through online and on-premise offerings. This includes consuming and exposing ArcGIS-style REST-enabled locators, consuming coordinate conversion/re-projection services, creating spatial layers and consuming map services for interactive geocoding. The majority of changes from LocatorHub 5.0 to 5.2 are related to the ArcGIS integration points, and therefore this document focuses on these issues. 1.3. Additional Sources of Information Please refer to the following for further information about the LocatorHub solution: LocatorHub Installation Guide LocatorHub Release Notes Consuming LocatorHub LocatorHub Technical Description LocatorHub Online Help 1
2. Architectural Changes There are two key architectural changes that occurred between LocatorHub 4.x and LocatorHub 5.x. These are: Installable as a 64-bit application (and removal of 32-bit support at 5.2) Built against.net 4.0 These changes have a direct impact on the LocatorHub installation procedures but have minimal impact on the solution design and end user experience. See the LocatorHub Technical Description for details. 2.1. Impact of 64-bit Architecture LocatorHub 5.0 was the first version to support both 32-bit and 64-bit architectures. At version 5.2, the 32-bit architecture is no longer supported. This includes both the server and desktop applications (LTS and Editor). In an Enterprise environment, using LocatorHub Web Services, the Application Pool must be set to 64-bit. 2.2. Impact of.net 4.0 Since LocatorHub is built against.net 4.0, it is a requirement that all machines that will have LocatorHub installed also have.net 4.0 (Client and Extended). On the web server, this means that ASP.Net 4.0 also needs to be installed. 2
3. Locator & Coordinate Conversion Migration 3.1. Overview Version 5.0 of LocatorHub introduced three new locators and one new coordinate conversion plug-in. These components utilise the ArcGIS REST and SOAP end points of ArcGIS for Server and ArcGIS Online. It is intended that these components should be used instead of the Feature Class locators and coordinate conversion plug-ins that use ArcObjects and which have been removed at version 5.2. This change is in line with offering LocatorHub functionality through a Service Oriented Architecture that no longer has a dependency on locally installed ArcObjects. This decreases the footprint of the required software whilst offering the same functionality. There are two different scenarios where Feature Class Locators and ArcObjects-based coordinate conversion have been used, and the solution architecture should be changed to accommodate the new recommended architectures: Within a web service Outside a web service (Data loading and Direct Connect) The following sections describe what was available in previous versions of LocatorHub and the recommend architectures going forward for these two scenarios. 3.2. Within a LocatorHub Web Service This scenario occurs when implementing LocatorHub in an enterprise environment, where LocatorHub services are exposed via web services. These include the default SOAP web service, the REST web service and the ArcGIS Compatible REST web service. 3
3.2.1. Architecture at 4.x At version 4.X and earlier, the following conceptual architecture was recommended for ArcGIS integration: LocatorHub Application Server Web Service Tier ArcGIS Server/Desktop (ArcObjects) 9.3/10.0 Feature Class Locator Direct Connect to GeoDatabase Feature Class Locator ArcGIS Server Connection (AO Client) ArcGIS Coordinate Conversion Desktop/Server Licence ArcGIS Server Coordinate Conversion LocatorHub Web Services (IIS) As the diagram indicates, the locators and coordinate conversion plug-ins were contained within IIS in-process. All the LocatorHub components used ArcObjects, which have a large footprint and were not designed to be used within a web service. The LocatorHub components were as follows: Feature Class Locator (removed at LocatorHub 5.2): o Direct Connect to GeoDatabase used ArcObjects to make connections to spatially enabled databases such as ArcSDE. o ArcGIS Server Connection used ArcObjects Client to make a DCOM connection to an ArcGIS for Server instance and remotely make a connection to an exposed GeoData Service. Coordinate Conversion Plug-ins supported re-projection of coordinates (removed at LocatorHub 5.2): o ArcGIS Coordinate Conversion used ArcObjects directly to reproject coordinates. o ArcGIS Server Coordinate Conversion used ArcObjects client to make a DCOM connection to an ArcGIS Server instance and remotely use ArcObjects on the server to re-project coordinates. 4
3.2.2. Architecture at 5.x LocatorHub 5.x included newly developed service locators and a coordinate conversion plug-in to remove the need for ArcObjects. The architecture illustrated below is recommended for LocatorHub 5.0 and above: LocatorHub Application Server Web Service Tier ArcGIS Server/ArcGIS Online 10.0/10.1/10.2 Locators consuming ArcGIS REST Services Coordinate Conversion consuming ArcGIS REST & SOAP Services LocatorHub Web Services (IIS) The diagram shows the replacement of all ArcObjects based components with components that consume SOAP and REST services exposed by ArcGIS for Server Standard. The ArcGIS for Server instance can either be on the same application server as LocatorHub or can be on a dedicated server. Alternatively, the LocatorHub locators and plug-ins can connect to ArcGIS Online. The components introduced at version 5.x can be summarized as: Locators consuming ArcGIS for Server REST services o ArcGIS Map Service Locator using a map service published in ArcGIS for Server o ArcGIS Feature Server Locator using a feature service published in ArcGIS for Server o ArcGIS Locator using a geocoding service published in ArcGIS for Server Coordinate Conversion consuming ArcGIS Server SOAP and REST services o Geometry Service Coordinate Conversion using a geometry service published in ArcGIS for Server. 5
3.3. Outside a LocatorHub Web Service This scenario occurs when performing data loading on the application server, on the database server or when using Direct Connect in a client application. 3.3.1. Architecture at 4.x At version 4.X and earlier, the following conceptual architecture was recommended for ArcGIS integration: LocatorHub Application Server Use of ArcGIS outside of Web Service Tier E.g. Data Loading, Direct Connect ArcGIS Server/Desktop 9.3/10.0 Data Loading with Spatial Theme Creation Feature Class Locator Direct Connect to GeoDatabase Feature Class Locator ArcGIS Server Connection (AO Client) ArcGIS Coordinate Conversion Desktop/Server Licence LocatorHub Dashboard The locators and coordinate conversion plug-ins were contained in-process, in the LocatorHub Dashboard. All the LocatorHub components used ArcObjects which have a large footprint and can be slow. The LocatorHub components s (all of which have been removed at version 5.2) were: Data Loading with Spatial Theme Creation used ArcObjects when loading published datasets to create a spatially enabled layer within a geodatabase. Feature Class Locator with two different connection types: o Direct Connect to GeoDatabase used ArcObjects to make connections to spatially enabled databases such as ArcSDE. 6
ArcGIS Server Connection n used ArcObjects Client to make a DCOM connection to an ArcGIS Server instance and remotely makee a connection to an exposed GeoData Service. Coordinate Conversion Plug-ins suppored re-projectionn of coordinates: o ArcGIS Coordinate Conversion used ArcObjects A directly to reto t a project coordinates. Apart from the data loading component, this architecture e was also applicable desktop client application such as the LocatorHub Editor or LTS. 3.3.2. Architecture at 5..0 The following architecturee is recommended at version 5.0: The diagram shows that there are ArcObjects based plug-ins have been entirely replaced by Service based plug-ins. LocatorHub does not have to bee installed on a machine with ArcGIS for Desktop nor ArcGIS for Server. The ArcGIS for Server instance can either be on the same application server as LocatorHub or on a dedicated server. Alternatively, the LocatorHub locators and plug- ins can connect to ArcGIS Online. 7
The components introduced at version 5.x can be summarized as: Data Loading with XY Table creation (introduced at 5.2) this is a replacement for the Spatial Theme creation. During the loading of various datasets, optionally, a table containing LocatorHub IDs, the LocatorHub Description and the XY coordinate fields can be created. This table can then be used within ArcGIS to create a Feature Class. Locators consuming ArcGIS for Server REST services o ArcGIS Map Service Locator using a map service published in ArcGIS for Server o ArcGIS Feature Server Locator using a feature service published in ArcGIS for Server o ArcGIS Locator using a geocoding service published in ArcGIS for Server Coordinate Conversion consuming ArcGIS Server SOAP and REST services o Geometry Service Coordinate Conversion using a geometry service published in ArcGIS for Server. 8
4. Functionality Offered by LocatorHub 5.x This section highlights the differences between the new components within LocatorHub 5.x and the previous functionality offered by older versions of LocatorHub. 4.1. ArcGIS Map & Feature Service Locators These locators offer comparable functionality to the Feature Class locators, with the following exceptions: 4.1.1. Geometry Mid-points LocatorHub requires a geocode to be in the form of a point. When using different geometry types, the following will be returned as a successful geocode: The XY of the matched point feature The first point of the matched polyline feature The first point of the matched polygon feature (unless using a geometry service) Note: Other geometry types are not supported. To return a centroid for polygon features, it is possible to configure a geometry service in the locator to obtain the Label Point. Note that this will increase the number of calls to the ArcGIS for Server. 4.1.2. Tables within Map & Feature Services Only published feature layers can be used within the locators, not tables. 4.1.3. Reverse Geocoding Reverse geocoding is not supported within these locators. 4.1.4. Version Support The ArcGIS Feature Service locator works with ArcGIS 10.0 SP1 and later. The ArcGIS Map Service locator works with ArcGIS 10.0 and later. 4.2. ArcGIS Locator This locator consumes geocoding services created by publishing ArcGIS locators through ArcGIS for Server. 4.2.1. Single Line LocatorHub can only support ArcGIS locators that have single line searching enabled (available at ArcGIS 10.0 and later). 9
4.2.2. Version Support The ArcGIS Locator works with ArcGIS 10.0 SP1 and later (although the search extent property only works at 10.1). 4.3. Geometry Service Coordinate Conversion The Geometry Service plug-in is comparable to the ArcObjects based plug-ins. 4.3.1. Composite Geotransformations When a re-projection is requested that requires a composite geotransformation, such as Irish National Grid to British National Grid, two calls will be made to the REST API. 4.3.2. Version Support Coordinate conversion works with: SOAP: 10.0 and later with specified geotransformations REST: 10.0 and later without specified geotransformations (10.1 and later with specified geotransformations) 4.4. Spatial Layer Creation At version 5.1 and earlier it was possible to create a Feature Class based on the data loaded by LocatorHub. This was enabled by setting the Publish Spatial Theme option for most dataset loads, and it used ArcObjects to create this layer. LocatorHub 5.2 introduces a replacement to this functionality. It is enabled by the Create XY Table option within the Dashboard data loader plug-ins in for the following published datasets: OS AddressBase OS AddressBase Plus OS AddressBase Premium NLPG/LLPG One Scotland Gazetteer OSNI Pointer Version 2.x For each of the above datasets, only one point is created per location (e.g. in the case of AddressBase Premium, only the Approved, English language, current records are created). The table contains the Family ID, the Dataset ID, Locator Description and XY Coordinates. Once the XY table has been created it can be converted to a feature class, by using either ArcMap or the Geoprocessing Framework. Note that the XY Table should not be used directly in end-user applications because a full schema lock is required during a data load. This table will be updated during a COU load. 10
5. Summary The new components within LocatorHub 5.x reflect the changing nature of the ArcGIS system from a predominantly local desktop/server solution to a more service-based, online solution. This provides opportunities for the LocatorHub solution to integrate with other ArcGIS technologies such as ArcGIS Online and ArcGIS Web based APIs. This means that the solution will no longer depend on COM-based components (such as ArcObjects) that have to be installed on the server, and can instead use existing services that are published in ArcGIS for Server and ArcGIS Online. The only effect on the LocatorHub solution is the potential latency between LocatorHub and the published service. 5.1. ArcGIS Online LocatorHub is able to connect to services published in ArcGIS Online. There are restrictions on the transactions that can be performed using the free services: there is a cap on usage of map, feature and geometry services, based on a transaction limit. In addition, using the standard free ArcGIS Online geocoding services, the results can only be used for map navigation (termed geosearching ) and not stored (termed geocoding ). When using the new Coordinate Conversion plug-in, that can use an ArcGIS Online Geometry Service, each address result will require a call to the service to re-project the coordinate. Thus the number of calls will quickly mount up when using batch geocoding operations. When using any ArcGIS Online free geocoding services, client applications that perform batch geocoding (such as the geocode/rectify task in Dashboard or geocode/rectify task in LTS) should not be used unless the premium/subscription based service has been paid for. The terms of use for ArcGIS Online can be viewed at Summary of Terms of Use and Full Terms of Use. 11