La suite ArcGIS fornisce un sistema completo per realizzare applicazioni di tipo server e di tipo desktop per:
- incapsulare funzionalità GIS all'interno di applicazioni specifiche;
- realizzare e distribuire applicazioni GIS di tipo Desktop;
- personalizzare ed estendere le funzionalità dei prodotti ArcGIS, ArcReader, ArcView, ArcEditor ed ArcInfo;
- far evolvere l'architettura ArcGIS e i Modelli Dati;
- realizzare Web Service ed applicazioni server-based con la tecnologia ArcObjects.

Grazie a un'accurata strategia di sviluppo, ArcGIS viene realizzato con una libreria di componenti software modulari, scalabili e multipiattaforma chiamati ArcObjects.
Gli ArcObjects sono componenti software realizzate in C++, indipendenti dalla piattaforma, che forniscono le funzionalità GIS per applicazioni di tipo desktop, o centralizzate di tipo web o client/server.
Sebbene questa architettura costituisca le fondamenta dei prodotti COTS ArcGIS (ArcView, ArcEditor, ArcInfo ed ArcReader), tutte le componenti sono state progettate per essere utilizzate in ambienti di sviluppo ed architetture eterogenei.
Le librerie ArcObjects, disponibili in Developer Kit, forniscono funzionalità comuni ai prodotti ArcGIS Desktop ed ai nuovi prodotti ArcGIS Engine e ArcGIS Server.
Utilizzando ArcGIS, oltre alla possibilità di distribuire le applicazioni secondo differenti modalità, gli sviluppatori hanno la possibilità di usufruire di strumenti utili per la realizzazione di applicazioni: strumenti quali un help di sistema integrato, un insieme di object library diagrams, esempi di codice, utilità, documentazione di riferimento e modelli dati per la trasformazione delle applicazioni GIS in prodotti specializzati nei vari campi industriali.
Nelle sezioni che seguono sono analizzate le caratteristiche dei nuovi prodotti ArcGIS Server e ArcGIS Engine disponibili con la versione 9.
ArcGIS Server
ArcGIS Server è la prima applicazione GIS che mette a disposizione dell'ambiente server una serie di strumenti ed un ambiente di sviluppo fino ad oggi disponibili solo per le soluzioni GIS di tipo desktop.
Con ArcGIS Server è possibile realizzare applicazioni server che mettano a disposizione dell'utente funzionalità evolute di visualizzazione e analisi delle informazioni geografiche; questo permette alle organizzazioni che si avvalgono di questa tecnologia di sfruttare i loro dati in maniera molto più efficiente, condividendoli tramite applicazioni personalizzate focalizzate al GIS, pur mantenendo centralizzata sia la gestione del dato che l'applicazione stessa. ArcGIS Server fornisce agli utenti sviluppatori una ricca libreria di funzionalità GIS server-based: queste comprendono la gestione della mappa, il geocoding, le query spaziali, l'editing e l'analisi spaziale ad alto livello.
Esempi di applicazioni che possono essere realizzate per gli utenti finali, che non hanno strumenti GIS di tipo desktop, includono la modellizzazione di reti, la gestione e l'analisi del territorio, il monitoraggio dei trasporti, geomarketing ed altro.

Grazie alla gestione centralizzata dei processi e dei dati messa a disposizione dall'ArcGIS server, la manutenzione delle applicazioni è fortemente semplificata: eventuali aggiornamenti non dovranno essere installati su centinaia di macchine.
Questo riduce in maniera rilevante i costi dovuti alla sincronizzazione delle versioni, alla certificazione e alla installazione.
Anche dal punto di vista della scalabilità, l'ArcGIS Server offre una serie di benefici: al crescere del numero di utenti che utilizzano le applicazioni GIS, le capacità del sistema possono essere incrementate facilmente tramite l'upgrade dell'hardware (memoria o dischi) della macchina server oppure tramite l'aggiunta di nuove istanze dell'ArcGIS Server.
Il carico può essere condiviso e bilanciato sulle diverse istanze tramite i tool di amministrazione messi a disposizione.
ArcGIS Server aderisce in pieno agli standard dell'IT offrendo il massimo livello di interoperabilità e compatibilità con le architetture di tipo enterprise ed adottando i linguaggi di programmazione e gli ambienti di sviluppo più comuni, insieme ai più diffusi application server e DBMS.
Gli standard e le tecnologie attuali quali Java, .NET, XML/SOAP, insieme a HTTP per la trasmissione di messaggi e dati su Web, possono essere usati ed integrati per sviluppare applicazioni web, web service per la pubblicazione di funzionalità GIS, o applicazioni desktop che interagiscono con il server in modalità client-server.
L'architettura dell'ArcGIS Server consiste in due componenti: un server GIS ed un Application Developer Framework (ADF) per .NET e Java.
Il server GIS contiene gli ArcObject impiegati nelle applicazioni web e desktop e fornisce un ambiente scalabile per l'esecuzione degli ArcObjects sul server.
L'ADF offre il supporto per la costruzione ed il rilascio delle applicazioni .NET e Java che fanno uso degli ArcObjects in esercizio sul server.
L'ADF include, oltre alle librerie, una collezione di web controls, template, help ed esempi di codice.
ArcGIS Engine
ArcGIS Engine è uno strumento di sviluppo che consente agli utenti di usare gli ArcObjects, ovvero le componenti software di base di ArcGIS, per creare applicazioni GIS personalizzate di tipo desktop oppure per aggiungere nuove funzionalità GIS all'interno di applicazioni già esistenti.
Le applicazioni che possono essere sviluppate tramite l'ArcGIS Engine possono essere le più varie, da semplici visualizzatori di mappe a strumenti sofisticati e altamente personalizzati per l'analisi o l'editing evoluto dei dati geografici.
È importante notare che, con l'ArcGIS Engine, la visualizzazione delle mappe può essere l'aspetto centrale o marginale dell'applicazione; questa caratteristica rende l'ArcGIS Engine lo strumento ideale per lo sviluppo di applicazioni fortemente verticali.
ArcGIS Engine è strutturato in due prodotti distinti: un developer kit per lo sviluppo dell'applicazione e runtime ridistribuibili per consentire l'esecuzione delle applicazioni da parte dell'utente finale.
Il Developer Kit include le risorse per il supporto completo dello sviluppo, un help integrato per le diverse interfacce di programmazione (API) quali COM, Java, .NET, oltre ad una raccolta di diagrammi degli oggetti ed esempi pratici che coprono ogni aspetto dell'ArcGIS Engine.
Tramite il Developer Kit lo sviluppatore ha accesso ad un'ampia collezione di componenti ArcObject e controlli visuali quali mappe, tavole dei contenuti e toolbar, con i quali creare interfacce personalizzate per l'utente: questi controlli sono disponibili come ActiveX controls, JavaBeans, .NET controls o Motif widgets.
Le funzionalità implementabili tramite gli ArcObject possono essere molteplici quali ad esempio controlli per la navigazione sulle mappe, strumenti per la ricerca e la selezione dei dati, analisi spaziale e 3D, operazioni di editing, interazione con i geodatabase di tipo personal o enterprise.
Gli sviluppatori hanno la possibilità di realizzare le applicazioni scegliendo tra diversi ambienti di sviluppo quali Visual Studio, JBuilder, Delphi, Eclipse ed altri.
ArcGIS Engine Runtime è la componente che contiene le librerie ArcObject che abilitano l'esecuzione dell'applicazione da parte dell'utente finale.
Le funzionalità messe a disposizione dal Runtime Standard possono essere estese grazie ad una serie di estensioni opzionali che forniscono, ad esempio, l'accesso multiutente in lettura-scrittura su geodatabase "enterprise" insieme a strumenti avanzati per la visualizzazione 3D.