ArcGIS Engine

ArcGIS Engine is a complete library of embeddable Geographic Information System (GIS) components and developer resources that allow for dynamic mapping and GIS capabilities to be added to existing applications or custom applications built from scratch that deliver advanced GIS systems to many users. Consisting of a Software Developer Kit (SDK) and a Redistributable Runtime, developers are able to create and deploy cross platform solutions to a wide range of users, as ArcGIS Engine is supported on Windows, Solaris, and Linux (Intel). A variety of extensions and application programming interfaces (APIs) available allow for additional capabilities to be added on.

ArcGIS Engine
The five parts of ArcGIS Engine are outlined below: Each of these parts, including the extension functionality, is made available through the ArcGIS Engine Developer Kit. The ArcGIS Engine Runtime and its extensions, although integral factors in the development of a custom GIS application are considered separately.
 * 1) Base Services – The core GIS ArcObjects required for almost any GIS application, such as feature geometry and display.
 * 2) Data Access – ArcGIS Engine provides access to a wide variety of raster and vector formats including the power and flexibility of the geodatabase.
 * 3) Map Presentation – ArcObjects for map creation and display with symbology, labeling, and thematic mapping capabilities including custom applications.
 * 4) Developer Components – High-level user interface controls for rapid application development and a comprehensive help system for effective deployment.
 * 5) Extensions – ArcGIS Engine Runtime is deployable with the standard functionality or with additional extensions for advanced functionality.

ArcGIS Engine Developer Kit
The ArcGIS Engine Developer Kit is a component-based software development product for building and deploying custom GIS and mapping applications for developers. It provides visual components, samples, tools, wizards, templates, object application programming interfaces (APIs), and help topics that enable developers to build sophisticated GIS applications. Applications built with the developer kit require ArcGIS Engine Runtime or ArcGIS Desktop installed to execute successfully.

ArcGIS Engine Runtime
The ArcGIS Engine Runtime provides the core functionality of all ArcGIS applications, such as map interaction, map creation, map analysis, data creation (shape file and personal geodatabase), developer controls, and developer technologies and geoprocessing. Additional programming capabilities, such as geodatabase update, spatial, 3D, network, tracking, schematics, or data interoperability are provided as specific extensions. ArcGIS Runtime is the platform on which ArcGIS Desktop is built; this allows ArcGIS Dekstop applications to execute custom applications based on ArcGIS Engine, if permitted by the application developer.

Extensions
Available extensions for ArcGIS Engine.
 * Geodatabase Update extension adds the ability to create and update a multiuser geodatabase managed with ArcSDE (Spatial Database Engine) or a file geodatabase. The Geodatabase Update extension unlocks ArcGIS Engine Runtime with the necessary ArcObjects to run custom editing and advanced geodatabase solutions. It also provides the ability to programmatically create geodatabase behaviors, such as versions, linear networks, topologies, subtypes, and geometric networks.
 * Spatial extension provides a set of functions that allow applications to create, query, and analyze cell-based raster data. This type of analysis allows users to derive information about their data, identify spatial relationships, find suitable locations, and calculate the accumulated cost of travelling from one point to another. Other advanced applications that this extension supports include the calculation of slope, aspect, and contours against digital elevation models (DEMs).
 * 3D extension enables the visualization of data in three dimensions. This extension supplements standard ArcGIS Engine with the components for viewing a surface from multiple viewpoints and determining what is visible from a chosen location. SceneControl and GlobeControl provide the interface for viewing multiple layers of 3D and global data for visualizing data, creating surfaces, and analyzing surfaces.
 * Network extension enhances standard ArcGIS Engine Runtime by adding the capability of routing, service area analysis, and creating and managing network datasets. The Network extension allows developers to create and deploy powerful custom applications for transportation, emergency response, fire, military, and a host of other purposes.
 * Maplex extension allows developers to leverage the Maplex label placement engine for high-quality text and label placement, allowing maps created with ArcGIS Desktop and Maplex to look the same with a custom ArcGIS Engine solution.
 * Tracking extension supports the display, analysis, and manipulation of temporal data within an ArcGIS Engine Solution.
 * Schematics extension provides the developer components and ArcObjects to manage schematic data and processes. The Schematics extension to ArcGIS Engine supports the analysis, display, and manipulation of schematics data.
 * Data Interoperability extension eliminates barriers for data sharing by providing direct data access, transformation, and export capabilities via geoprocessing tools. This extension enables ArcGIS Engine applications to use and distribute data in many formats.

Features and Capabilities
ArcGIS Engine provides a standard framework for developing GIS applications that allow developers to concentrate on solving organizational problems, without having to build GIS functionality from scratch. A common set of developer controls available in ActiveX, .Net, and Java allow developers to simplify application development and the ability to deploy well-crafted applications.

The ArcGIS Runtime supports applications for 32-bit, 64-bit Windows, and for 64-bit Linux, while supporting a variety of developer languages to use, including Component Object Model (COM), .Net, Java, and C++. The ArcGIS Engine extensions provide for additional application programming capabilities, that developers can use.

The ArcGIS Runtime has been architected to take advantage of available CPU resources, including multiple processors and cores. It provides multithreading and native 32 and 64-bit support. It also supports an asynchronous programming pattern that contributes to an improved user experience, while the display architecture has been optimized for speed.

Simplified Deployment of ArcGIS Runtime eliminates complicated deployments by packaging everything required by the application into a small deployment package. As the Runtime is split into several “functionality sets”, users can keep their deployment lean by eliminating functionality the application doesn’t require.

Developer resources including object models, utilities, samples, and documentation are readily available for the ArcGIS Engine.

System Requirements
ArcGIS 10.2 Engine is supported on the following platforms:


 * Microsoft Windows Server 2003, 2008 and 2012
 * Microsoft Windows 2000, XP, Vista, 7 and 8
 * Red Hat Enterprise Linux Server 5 and 6
 * SUSE Linux Enterprise Server 11
 * Sun Solaris 10

ArcGIS Engine provides commands, templates, and project wizards that are available in the following integrated development environments (IDE):
 * Micro Visual Studio
 * Eclipse