GEOG677 – Internet GIS University of Maryland at College Park 1 Lab Assignment 3 – ArcGIS Server Due Date: 01/10/2014 Part I: Getting to Know ArcGIS Server 10.2 ArcGIS Server is a complete and integrated GIS that provides a set of software components and a framework for developing centrally managed GIS applications. It allows users to distribute maps and GIS capabilities over the Web that can be accessed by tablets, smartphones, laptops, desktop workstations, and any other devices. ArcGIS Server has become increasingly popular because of its flexibility (Java or .NET) and versatility (not just Web mapping, but also geoprocessing, editing, and support most ESRI extensions such as Network Analyst.). There are more and more demand for knowledge and skills in ArcGIS Server on the job market. So, it is important to develop a good understanding and practical experiences about this technology. Since its first release in May 2004 with ArcGIS 9, ArcGIS Server has been through some major changes to, for example, V9.3.1, 10.0, and especially 10.1 and 10.2. The changes are not just about the interfaces, but also the architecture and development platforms. Notable changes from the previous release to 10.1 and 10.2 include: The ArcGIS Server site replaces the SOM-SOC model o In previous versions of ArcGIS Server, the GIS server was composed of two distinct parts: the server object containers (SOCs) and server object manager (SOM). SOCs hosted GIS services, while the SOM managed these services and provided them to clients for use. In ArcGIS 10.1 and 10.2 for Server, the SOM- SOC model has been replaced by the ArcGIS Server site. A site is a deployment of one or more machines (GIS servers) that have ArcGIS for Server installed and work together. The 10.2 site architecture is more robust than the SOM-SOC model. It reduces the chances of failure, and simplifies the provisioning and recovery of new machines. ArcGIS for Server is now a 64-bit application o ArcGIS for Server runs as a native 64-bit application so that your GIS services can take full advantage of your hardware. ArcGIS Web Adaptor o The ArcGIS Web Adaptor is a setup that you can install to allow ArcGIS for Server to work with your own web server. Publishing services o In previous versions, you almost always use the ArcGIS Server Manager to publish the services. Now, in 10.2 most of the publishing can happen directly from ArcGIS for Desktop. ArcGIS Online hosted services GEOG677 – Internet GIS University of Maryland at College Park 2 o You can now publish services directly to ArcGIS Online, an Esri-hosted cloud. When you publish to ArcGIS Online, you don't have to install any special software to publish to ArcGIS Online. And you can publish services to ArcGIS Online directly from ArcGIS for Desktop. In order to publish services to ArcGIS Online, you must have an organizational subscription to ArcGIS Online ArcGIS Server on Amazon Web Services o The Amazon Elastic Compute Cloud (EC2) allows you to deploy software on virtual machines running in Amazon's data centers. You can quickly deploy ArcGIS for Server on Amazon EC2 using an Esri-provided Amazon Machine Image (AMI). The revised architecture of ArcGIS for Server, described elsewhere in this document, yields a better experience when publishing services, creating caches, and performing asynchronous geoprocessing in the Amazon EC2 environment. These changes above are the most important ones. To learn more about other changes, you can refer to this Web page - http://resources.arcgis.com/en/help/main/10.2/index.html#/What_s_new_in_ArcGIS_10_2_for_S erver/015400000640000000/ Your tasks: There are a lot of things to learn about ArcGIS Server. Your first task is to visit the two web pages below and read the information so that you can answer these two questions: What are the components of ArcGIS for Server? o http://resources.arcgis.com/en/help/main/10.2/index.html#/Components_of_ArcG IS_for_Server/01540000035p000000/ What types of services can you publish? o http://resources.arcgis.com/en/help/main/10.2/index.html#/What_types_of_servic es_can_you_publish/01540000042s000000/ You don’t need to write or submit anything for this part. I just want to make sure you actually complete the reading assignments above. GEOG677 – Internet GIS University of Maryland at College Park 3 Part II: ArcGIS Server Manager ArcGIS Server Manager is the primary tool to administer the site. Even though in 10.1, you rarely use it to publish services, there are many other functions/features that you can use. For example, you can start/stop/delete/view services. You can also create and manager users on the GIS server. Security management is another important function. I have already created a user account for each of you on our GIS server. In this lab assignment, I would like you to test your login to make sure that you can connect to the GIS server successfully. Your tasks: 1. Go to this link – http://129.2.24.54:6080/arcgis/manager/ 2. Enter the username and password a. The username is your UMD email id. (For example, it’s “jma3” in my case.) b. The password is “mpsGIS_W2013”. 3. Once you log in, you can explore the menus. GEOG677 – Internet GIS University of Maryland at College Park 4 For this class, all the services should be published under the folder – “GEOG677_W2013”. When you click on the tabs – “Site”, you will notice that you are unauthorized. This is because that your current role on this GIS server is a “publisher” which has limited privileges. However, once you complete this lab assignment and get a basic understanding, I will upgrade your role to an “administrator”. That way, you can explore all the options and settings to gain better understanding. Similarly, if you click on the tab – “Security”, you will notice a warning message of “insufficient privileges”. Note: o Even though you have limited role on the GIS server at this point, you are still powerful. For example, you can delete any services published there. So, please use that power wisely and don’t apply it to the services published by other people. GEOG677 – Internet GIS University of Maryland at College Park 5 Part III: Publishing Map Services There are many types of services that can be published, for example, map service, geodata service, geoprocessing service, image service, etc. In this specific assignment, we are going to focus on map services only. A GIS service is basically a form of GIS resources (on the server side) that are used for Web- based applications. It represents a GIS resource—such as a map, globe, locator, or geodatabase connection—that is located on the server and is made available to client applications. Services make it easy to share the use of resources across clients. You can be sure that each client has the same view of the resource, and you save resources because the server is storing the resources and the clients don't need to have GIS software installed. Instead, the server stores the resource, hosts the service, and does the GIS work, sending back a result in a common format—such as images or text—to the client. You don't need any specialized GIS software to work with a service; you can consume the service within a web browser or custom application. ArcGIS applications, such as ArcMap and ArcGlobe, can also act as clients to GIS services. There are different options to publish a service. (For more details, refer to this Web page - http://resources.arcgis.com/en/help/main/10.2/index.html#/How_to_publish_a_service/01540000 04n3000000/ ) A map service is the GIS resource that provides maps, features, and attributes data to the Web. To publish a map service, here below are the typical steps: Step 1: Creating a map document in ArcMap You must start with creating (or opening an existing) map document. For the best visualization effect on the Web later on, you will need to define symbology properly at this stage. For example, Arrange appropriate sequence of the data layers in the Table of Content Select appropriate and descriptive symbols for different features. Choose appropriate colors Decide appropriate text font, size, and color for labels. Define appropriate scale ranges to features as well as labels. Set transparency ratio for certain polygon layers Note: These settings will be automatically inherited once the map is published on the Web. Therefore, it is important to define those settings properly NOW. Make sure all the data layers have spatial references, i.e. all datasets are properly projected. Ideally, they should use the same coordinate system. There are no specific rules or requirements to define the symbology. The bottom line is to make a map more presentable and easier to read. (see an example below) GEOG677 – Internet GIS University of Maryland at College Park 6 Step 2: Choose File > Share As > Service from the main menu. GEOG677 – Internet GIS University of Maryland at College Park 7 Step 3: In the Share as Service window, choose Publish a service. Step 4: In the Publish a Service dialog box, click Connect to ArcGIS Server Add ArcGIS Server to create a new connection to the server. Step 5: In the Add ArcGIS Server window, choose Publish GIS Services. Click Next. GEOG677 – Internet GIS University of Maryland at College Park 8 Step 6: For the GIS server settings, type the information as below (use your own user name and password that you tested earlier in Part II.) Step 7: Click Finish. If your login info is correct, the ArcGIS server connection will be listed there. Step 8: Enter a name for the service. Then, click Next. The name cannot be more than 120 characters long and may contain only alphanumeric characters and underscores. Step 9: Publish to the folder – “GEOG677_W2013”. By default, services are published to the root folder (root) of ArcGIS Server. To better organize the services, I have created this specific folder to help organize all the services published. GEOG677 – Internet GIS University of Maryland at College Park 9 Step 10: Click Continue. The Service Editor displays. You'll use the Service Editor to choose what users can do with your map service and take control of how the server will expose your service. You should explore those tabs, especially Capabilities. By default, mapping and KML are enabled. The REST URL and SOAP URL are the links with which clients can use to access the map service. (We will talk about how to access it in Part V.) GEOG677 – Internet GIS University of Maryland at College Park 10 For faster display of map, image, and globe services, caching is often used. The caches consist of pregenerated images that the server can distribute to clients. Creating a cache requires the server to generate many map images and save them to disk. Depending on the area and scales covered, the caches can become very large, taking many gigabytes of space. For now, you can just use the default (i.e. no caching). We will come back on it later. For the Item Description, you can type some basic information. GEOG677 – Internet GIS University of Maryland at College Park 11 Step 11: Click Analyze. This examines your map document to see if it can be published to the server. If there are errors in the Prepare window, you must fix them before moving on. And if they are just warning messages, you can ignore them. Step 12: Copying data to server To publish the map document into a service, the GIS server machine needs to be able to access the data used by the map document. There are three options to make your data accessible to ArcGIS Server: o Store your data where all GIS server machines can see it. o Grant the ArcGIS Server account permissions to your data. o Register your data with the server. For now, we simply store the data on the GIS server machine by copying the data. In next lab assignment, we will explore other options. Step 13: Click Preview This can give you an idea of how your map will look when viewed on the web. GEOG677 – Internet GIS University of Maryland at College Park 12 Step 14: Click Publish Once the service is published successfully, you can find it in the folder – “GEOG677_W2013” from ArcGIS Server Manager. You can also find the service from the REST URL - http://129.2.24.54:6080/arcgis/rest/services Your task: o Use the data provided and publish a map service by following the steps above. GEOG677 – Internet GIS University of Maryland at College Park 13 Part IV: Consuming Map Services in Desktop GIS Once you have published a map service, you can either “consume” it using desktop GIS or by Web applications. Also, it’s often a good practice to use ArcMap to test the service to see if it functions properly. In ArcMap, click Add Data and then navigate to “GIS Servers”. Since you have already made a connection to the GIS server when publishing the service, the server should be already listed there. GEOG677 – Internet GIS University of Maryland at College Park 14 Double-click on the server name to make the connection. Then navigate to the proper folder and find the specific service that you published earlier. Click Add. Your tasks: o Follow the steps above to create a new map document using the map service. o Make a screen shot of the map document to include in the lab report. GEOG677 – Internet GIS University of Maryland at College Park 15 Part V: Consuming Map Services in Web Applications The best use of a map service is to create or customize web GIS applications. There are many different options for developing web GIS applications: o ArcGIS.com o ArcGIS Explorer Online o ArcGIS API for JavaScript o ArcGIS API for Flex o ArcGIS API for Silverlight o ArcGIS Viewer for Flex o ArcGIS Viewer for Silverlight We will discuss and practice all of them. For the starter, we will focus on ArcGIS API for JavaScript. You can find a lot of reference information and tutorial from this web page - http://help.arcgis.com/en/webapi/javascript/arcgis/ The simplest way to create such a web GIS application is to directly display the map service from the REST folder. Go to the REST URL - http://129.2.24.54:6080/arcgis/rest/services and find the map service you created earlier. (in the folder of “GEOG677_W2013”) GEOG677 – Internet GIS University of Maryland at College Park 16 Click ArcGIS JavaScript to view. To further customize the web application, you can add more tools or features, for example, querying, drawing, editing, graphics, etc. For more information, especially the samples of ArcGIS API for JavaScript, you can refer to this Web page - http://help.arcgis.com/en/webapi/javascript/arcgis/ As a beginner, I would recommend you to specifically practice the following tools: Add a dynamic map Add a topographic map Toggle layer visibility Use a navigation toolbar Find features on a map Identify features on a map Query and click for info window Your tasks: o Create a web application using ArcGIS API for JavaScript based on the map service that you created earlier. o The application must have at least two of the tools listed above. o Include the URL in your lab report. GEOG677 – Internet GIS University of Maryland at College Park 17 Bonus Tasks: (optional) In Lab 2, you once created a Google Map API. You can actually combine it with ArcGIS API for JavaScript by utilizing the map service that you created earlier. For example, I created this web GIS application that displays the map service on top of the Google Basemaps. http://www.terpconnect.umd.edu/~jma3/GEOG677/ArcGIS_API/ArcGIS_JSAPI_GoogleMap_ API.html If you have time and interest, you can create something similar to further improve your lab result. Again, as a reminder, you can be creative as long as your result meets the minimum requirements indicated above. ----- THE END -----