Introduction to Geocortex Essentials

Geocortex® Essentials is a framework for designing, developing, and maintaining web mapping applications. Engineered from the ground up to work with Esri™ ArcGIS™ technology, Essentials extends the ArcGIS platform with the addition of a number of powerful features for building real-world GIS applications:

Sites and Viewers

As an administrator of Geocortex Essentials, you will configure sites and viewers. A site defines the configuration of a map and the components that work with the map. Viewers are the web applications that enable users to view and interact with a site's map.

Essentials ships with a web-based tool for creating and configuring sites, Geocortex Essentials Manager. In addition, Essentials provides a viewer framework that enables you to create fully functioning map viewers with a few clicks, the Geocortex Viewer for HTML5. Viewers created using the HTML5 Viewer framework are implemented in HTML5, JavaScript™, and TypeScript. HTML5 viewers can run in a browser, or they can run as a native iOS, Android™, or Windows™ application in the Geocortex Mobile App Framework.

Geocortex Essentials and Esri ArcGIS

Geocortex Essentials is engineered to work with Esri ArcGIS technology. Essentials supports:

Architecture

The term architecture refers to the structure or organization of a software system. Architecture focuses on the system's major components and how they interact with each other.

The diagram below shows the architecture of Geocortex Essentials.

Geocortex Essentials architecture

Like all web-based systems, Geocortex Essentials follows the client-server architectural model. The client-server model describes a run-time system in which servers provide resources or services to clients over a network:

  1. A client sends a request to a server.

  2. The server performs the processing required to generate the result.

  3. The server sends the response to the client.

  4. The client processes the response.

The architecture diagram shows the Client tier, the Server tier (which includes the Online cloud), and also a layer that is labelled Administration.

Client Tier

In the world of web mapping, clients are called viewers. Viewers are run by end users on a wide variety of devices and platforms. Viewers that are based on the Geocortex Viewer for HTML5 framework work on desktop computers, laptops, smart phones, and tablets running different operating systems. This is represented in the diagram by the variety of devices in the Client tier.

HTML5 viewers running on a variety of devices

In the diagram, the viewers are shown communicating with the Server-tier components via HTTP. If a server enforces Secure Socket Layer (SSL), viewers communicate with the server via HTTPS instead of HTTP. For more detailed information about how viewers communicate with Essentials and ArcGIS, see APIs Used in a Geocortex Essentials System.

Server Tier

The Server tier provides services and data for the Client tier. At the heart of the Server tier is Geocortex Essentials itself. Geocortex Essentials runs on Geocortex Core—installing Essentials also installs Geocortex Core.

Essentials provides access to your sites. A site is a technology-neutral configuration of the resources that are available in your viewers. These resources can include map services, workflows, report and print templates, and so on.

Essentials itself is not a map server. Rather, Essentials draws on the power of the ArcGIS platform. Sites provide the connection information that viewers require to connect to map services and other GIS-related services, like geocoding services. This is illustrated in the architecture diagram by the connections between Essentials and ArcGIS Online, Portal for ArcGIS, and ArcGIS Server.

In the diagram, Essentials is shown communicating with the ArcGIS components via HTTP. If a component enforces SSL, HTTPS would be used. For more information about how Essentials communicates with ArcGIS, see APIs Used in a Geocortex Essentials System.

An Essentials installation can have more than one Essentials server. For information, see Deployment.

You cannot change the name of the server after installing and running Geocortex Essentials.

Administration

The Administration layer provides tools for customizing Essentials sites and viewers. The administrative tools are not part of the run-time system described by the client-server model. The tools underlie the Server tier—they are the means by which administrators create the client and server components that comprise the run-time system.

The administrative tools are:

The REST API

REST is an architectural style that is used in the design of web applications. Geocortex Essentials is built on REST. The ArcGIS platform—ArcGIS Server, Portal for ArcGIS, and ArcGIS Online—also uses REST.

APIs are interfaces that allow software programs to interact with each other. Essentials deploys a REST-friendly version of a site's configuration to the Geocortex Essentials REST API. Geocortex viewers obtain site configuration information from the Geocortex Essentials REST API.

Like most REST APIs, the Geocortex Essentials REST API is organized as a hierarchy of resources, with increasingly specific resources lower in the hierarchy. A REST endpoint is a URL to a REST resource. Every resource in the REST API is located at a unique URL.

The top-most endpoint in the Geocortex Essentials REST API lists your sites. Below the list of sites are the endpoints for individual sites; below a site's endpoint are the endpoints for the components in the site; and so on. Other resources in the REST API include map services, layers, charts, workflows, and so on. REST resources can also be properties, for example, a layer's default visibility, or operations, for example, an operation to export the map.

You can think of REST resources as the business objects in your sites and the operations that operate on them. When you save the configuration for a site, Essentials translates the configuration to a form that can be consumed by REST-based applications and then deploys the translated configuration to the REST API. Viewers obtain information about the site and its components by making web requests (HTTP requests) to specific URLs in the REST API.

View the REST API

The REST API Sites Directory is a browsable representation of the Geocortex Essentials REST API. Browsing the REST API Sites Directory to discover information about sites is analogous to browsing the ArcGIS Server Services Directory to discover information about ArcGIS Server services.

You can open the Geocortex Essentials REST API Sites Directory from almost any page in Geocortex Essentials Manager. To open the Sites Directory, click the Open the Site's REST Endpoint icon anywhere that it appears in Manager (usually at the top of the center panel).

Geocortex Essentials Sites Directory opened from Manager's Overview Map page

To browse down in the Sites Directory, click hyperlinks. Use the breadcrumbs to go up one or more levels. You can navigate from any site to any other site, provided the sites are configured in the same instance of Essentials.

If you configured a site but the site does not appear in the Sites Directory, then the site did not deploy. You can use this fact to test for successful deployment.

APIs Used in a Geocortex Essentials System

If you are extending Geocortex Essentials or the HTML5 Viewer with custom development, you need to know how components in an Essentials installation communicate with each other. Essentials, viewers, and ArcGIS communicate with each other using Application Programming Interfaces (APIs). An API is the interface that an application provides to allow other applications to access it.

The diagram below shows the most important APIs in an Essentials system.

APIs used by Geocortex Essentials and ArcGIS

Geocortex Essentials communicates with the ArcGIS platform using the Geocortex Essentials REST API:

Geocortex Essentials and Geocortex Core communicate via their respective .NET APIs.

In the API diagram, the HTML5 Viewer has three APIs. The ArcGIS API for JavaScript and the Geocortex TypeScript API are used to obtain information from Essentials, ArcGIS Server, Portal for ArcGIS, and ArcGIS Online via their respective REST APIs. The Geocortex Framework API is used for creating modules and views, which structure HTML5 viewer applications.

Overview of Security

Many web applications that are created using Essentials contain sensitive information. Security is concerned with protecting your data, while still making the data available to specific users.

There are two sides to security:

Essentials security is one part of the security solution for a site that references ArcGIS Server or OGC services. Essentials security and external security work together to secure your Essentials sites. If you are the owner of a service that contains sensitive information, we recommend that you secure the service.

The diagram below shows an Essentials installation with ArcGIS Server. The padlocks in the diagram indicate points at which access is secured.

Points to secure in an Essentials installation with ArcGIS

The diagram illustrates security for:

You can use different security methods for Essentials security and external security. For example, you could use Integrated Windows Authentication to secure your services, and SQL Server security providers for Essentials security. The fact that you use Integrated Windows Authentication to secure your services does not mean you have to use Integrated Windows Authentication for Essentials security.

You can use either secured ArcGIS Online content or secured Portal for ArcGIS content with an instance of Essentials, but not both.

ArcGIS Server Security

Web applications like Essentials access ArcGIS Server via a REST endpoint. To prevent malicious users from accessing the endpoint directly by typing the address into a browser's address bar, you must secure the REST endpoint.

ArcGIS Server has a token security service that you can use to secure the REST endpoint. If you do not enable the token security service, ArcGIS Server defers authentication to IIS. This is called Web Tier authentication. Depending on how you configure IIS, IIS uses one or more of the following authentication methods: Digest, Basic, or Integrated Windows Authentication.

Both Essentials and the end user's web browser need to have access to ArcGIS Server. If ArcGIS Server is secured, you must configure the connection information in Essentials so Essentials can access ArcGIS Server.

ArcGIS Server and Essentials Security Compared

Essentials Security

ArcGIS Server Security