What is Esri Tracking Server?
Esri Tracking Server provides the ability to monitor entities that are moving or changing in real time. Data from any real-time data source can be received by Tracking Server, which serves as a centralized hub for collection and dissemination of real-time data. Real-time processing and analysis can be performed at the point of data reception by applying actions. From Tracking Server, real-time data is sent to Web and Desktop client applications, and it can also be logged to ArcSDE.
Tracking Server can deliver real-time information to two different client applications out-of-the-box: The ArcGIS Tracking Analyst extension and Tracking Viewer. Tracking Analyst is an extension to ArcGIS for Desktop. Tracking Viewer is a Web-based real-time viewing application included with Tracking Server. Several Tracking Client APIs are also available on a wide range of platforms, allowing you to build custom tracking Web applications that display real-time data. The Tracking Client APIs can be downloaded from the Tracking Server Resource Center.
Tracking Server Architecture
Tracking Server contains two functional elements: the tracking message server component and the tracking Web distribution component. These elements work together to collect and distribute tracking data to the people who use it on Web and desktop clients.
The Tracking Message Server Component
The tracking message server component is the engine and router that receives data via data links and server connections, processes actions based on location or location and attributes, logs data to geodatabases for later analysis, and pushes the data to various clients via data links.
The tracking message server component runs as a Windows service, which you can stop and start from Tracking Server Manager or using the Tracking Server Controller.
The tracking message server component handles the routing of real-time data and command messages to connected systems using data links and server connections. The tracking message server component uses Microsoft Component Object Model (COM) technology to provide a robust, flexible architecture. This architecture allows developers to create data links to run within the process space of the server. Data links and server connections can be written in any language that supports multithreaded COM development such as C++. This is the recommended language for creating data links.
The Tracking Server Manager is used to control and manage the tracking message server component.
The Tracking Web Distribution Component
The tracking Web distribution component consumes the output from the tracking message server component and pushes this data to end user clients, such as ArcGIS Tracking Analyst or Tracking Viewer. The Tracking Gateway is the center of the tracking Web distribution component. In 10.1, a new component called the Web Connector works alongside the Tracking Gateway to provide tracking services in Web-compatible formats.
The Tracking Gateway runs as a Windows service, which you can stop and start using the Tracking Server Controller.
A data link is a component of the real-time message server that receives data from a source, transmits data to a client, manages Tracking Server settings, or performs a combination of these functions.
Data links are one mechanism for getting real-time data into or out of Tracking Server. Data links rely on message definitions to understand and parse the data to be processed.
Data links can be categorized in two groups:
- Input: Supplies data messages to Tracking Server. Usually connects to the data source and provides a conduit for the data coming from these external systems and devices. Input data links are message format specific. They will send data to Tracking Server, parsed according to the message definitions set in Tracking Server Manager. The Generic Input data link included with Tracking Server is an example of an input data link that supplies Tracking Server with outside data.
- Output: Sends data messages from Tracking Server to external destinations. This type of data link is responsible for pushing data to clients. The Feature Logger and Tracking Server Connector data links included with Tracking Server are examples of output data links, carrying data from Tracking Server to external clients and destinations.
Data Links Provided with Tracking Server
Tracking Server contains three out-of-the-box data links: Tracking Server Connector, Generic Input, and Feature Logger. These data links provide methods for users to connect to real-time data and output data for archival storage.
The Tracking Server Connector data link is required to output real-time data from Tracking Server to client applications. The Generic Input data link offers ways to bring data into Tracking Server. The Feature Logger data link is used to output data from Tracking Server into a database.
Tracking Server Connector
Tracking Server Connector is a special data link that transfers data from Tracking Server to Tracking Viewer, Tracking Analyst, and other client applications via the Tracking Client Gateway. The Tracking Server Connector data link must be running for either Tracking Viewer or Tracking Analyst to connect and receive real-time data.
Generic Input Data Link
The Generic Input data link helps you ingest incoming XML or CSV data from external sources into Tracking Server. The Generic Input data link provides an interface capable of establishing multiple connections using TCP/IP and UDP transport protocols to submit data messages to Tracking Server. Connections using TCP/IP can be run in a server configuration or a client configuration. The server configuration allows multiple data feed clients to connect and submit data messages to Tracking Server. In the client configuration, the data link can be used to connect to a single existing data feed server to receive data messages.
The Feature Logger data link provides the capability to store real-time data messages by allowing you to save real-time data to a geodatabase. Feature Logger is a data link that. You can select which messages, based on their message definition ID, are to be logged. Then as real-time data messages come into Tracking Server and the Feature Logger data link, the data link will determine if this message has been selected for logging. Messages can be logged to personal geodatabases or to an RDBMS via ArcSDE.