This topic is relevant for the following:
Product(s): ArcGIS Engine
Version(s): 9.1, 9.2
Language(s): C#, C++, Java, VB6, VB.NET, VC++
ArcGIS Engine is a complete library of embeddable GIS components for developers to build custom applications. Using ArcGIS Engine, you can embed GIS functions into existing applications, including Microsoft® Office products, such as Word and Excel, and build focused custom applications that deliver advanced GIS systems to many users. ArcGIS Engine consists of a software developer kit and a redistributable runtime providing the platform for all ArcGIS applications. Since ArcGIS Engine is supported on Windows, Solaris, and Linux (Intel), developers can create cross-platform custom solutions for a wide range of users.
ArcGIS Engine Developer Kit and Runtime used to build and deploy a custom solution to many users.
The five parts of ArcGIS Engine are outlined below and illustrated in the diagram at right:
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, specifically involve application deployment and are, therefore, considered separately.
Use the links below to jump ahead if desired:
The ArcGIS Engine Developer Kit is a component-based software development product for building and deploying custom GIS and mapping applications. The ArcGIS Engine Developer Kit is not an end user product, but rather a toolkit for application developers. It can be used to build basic map viewers or comprehensive and dynamic GIS editing tools. With the ArcGIS Engine Developer Kit, you, as a developer, have an unprecedented flexibility for creating customized interfaces for maps. You can use one of several supported APIs to create unique applications or combine ArcGIS Engine components with other software components to realize a synergistic relationship between maps and the information that users manage.
Using ArcGIS Engine, the map itself can be either an incidental element within or the central component of an application. If, for example, the focus of your application is a database with information about businesses, ArcGIS Engine can enable the application to display a form with a map highlighting the business location of interest when your user performs a query on the database.
The ArcGIS Engine Developer Kit provides access to a large collection of GIS components, or ArcObjects, that fall into the categories discussed earlierbase services, data access, and map presentation. Another part of ArcGIS Engine that was discussed, developer components, is also included in the SDK. These are value-added developer controls for creating a high-quality map user interface. The ArcGIS developer controls are available with each supported API and platform. The following ArcGIS controls, or visual components, are provided to assist with application development:
An ArcGIS controls-based application
The final component of ArcGIS Engine is the ArcGIS Engine Runtime license and its extensions. All applications built with the ArcGIS Engine Developer Kit require ArcGIS Engine Runtime, with the appropriate license, to execute successfully. ArcGIS Engine Runtime is the platform on which ArcGIS Desktop is built; this allows users of ArcGIS Desktop applications to execute custom applications based on ArcGIS Engine, if permitted by the ArcGIS Engine application developer. There are several ArcGIS Engine extensions ranging from standard to enterprise extensions.
ArcGIS Engine Runtime deployment options
The standard ArcGIS Engine Runtime provides the core functionality of all ArcGIS applications. This level of ArcGIS Engine Runtime provides the ability to work with several different raster and vector formats, map presentation and data creation, along with the ability to explore features by performing a wide range of spatial or attribute searches. This level also allows basic data creation, editing of shapefiles and simple personal geodatabases, and GIS analysis.
The Geodatabase Update extension for ArcGIS Engine Runtime adds the ability to create and update a multiuser enterprise geodatabase managed with ArcSDE. This includes the ability to work with schemas and versioned geodatabases. The Geodatabase Update extension unlocks ArcGIS Engine Runtime with the necessary ArcObjects to run custom editing and advanced geodatabase solutions. These solutions include applications that deal with GIS data automation and compilation and the construction and maintenance of geodatabase features. The Geodatabase Update extension provides the ability to programmatically create geodatabase behaviors, such as topologies, subtypes, and geometric networks.
ArcGIS Engine developers with access to an RDBMS via ArcSDE are able to build and deploy multiuser editing applications to end users that have the ArcGIS Engine Runtime with the Geodatabase Update extension installed and configured.
The availability of the different levels of functionality is controlled by a software authorization file that can be configured by the end user or the developer of the application. For more details on deploying and configuring the ArcGIS Engine Runtime, refer to the Licensing and deployment section.
Seven additional extensions are available for the ArcGIS Engine Runtime:
The StreetMap USA extension functionality is no longer a separate extension for ArcGIS Engine but is included as part of the standard ArcGIS Engine Runtime. The StreetMap USA functions provide street-level mapping, address matching, and basic routing for the USA. StreetMap layers automatically manage, label, and draw features, such as local landmarks, streets, parks, water bodies, and other features, resulting in a rich cartographic street network for the USA.