|
ArcGIS Engine
ArcGIS Engine è un nuovo tool che si propone come un kit per sviluppatori basato sulla
tecnologia degli ArcObjects.
Il pacchetto di base è costituito da una libreria di funzioni con accesso read-only al
geodatabase e dei tools per mapping, spatial query e geoprocessing.
Il pacchetto di base permette di avere accesso alle seguenti funzionalità:
-
View / Query
-
Analisi
-
Accesso a controlli vari (MapControl, Toolbar, TableOfContent, ecc ...)
-
Accesso in lettura a qualunque dato in formato vettoriale o raster supportato da ArcGIS
-
Accesso in scrittura su shapefile e personal geodatabase
-
Accesso in lettura e scrittura su files.MXD
Al pacchetto di base è possibile aggiungere delle estensioni opzionali che
includono le seguenti funzionalità:
-
API per accedere anche in editing sul geodatabase
-
Spatial Analyst (raster geoprocessing)
-
3D Analyst (visualizzazione e geoprocessing)
-
StreetMap USA (dati)
ArcGIS Engine supporterà tre ambienti di sviluppo (C++, COM e Java), e potrà
essere distribuito su più piattaforme (Windows, UNIX e Linux). Le prestazioni
a parità di piattaforma, indipendentemente dall'ambiente di sviluppo scelto,
dovrebbero essere le stesse, in quanto tutte le API si basano sullo stesso
modello ad oggetti, quello degli ArcObjects che sono quelli che svolgono il lavoro.
E' importante comprendere che ArcGIS Engine non è un'applicazione e non
include le interfacce presenti in ArcGIS Desktop (ArcCatalog, ArcMap, ArcToolbox):
è un prodotto rivolto agli sviluppatori che desiderano realizzare applicazioni che
racchiudano funzionalità GIS basate sugli ArcObjects nelle loro interfacce utente.
Per quello che riguarda la scalabilità occorre considerare che è possibile
sfruttare il multithreading, ma questo non lo si ottiene automaticamente, occorre
utilizzare degli opportuni patterns di programmazione.
Sebbene siano disponibili le funzionalità basate sugli ArcObjects, e sebbene sia
teoricamente possibile costruirsi una propria versione di ArcView, questa è
un'operazione estremamente costosa.
Realizzare un'applicazione custom con ArcGIS Engine è molto simile all'attività
di personalizzazione di ArcGIS Desktop, si tratta di lavorare direttamente
con i controlli messi a disposizione registrandoli e valorizzandone
opportunamente le proprietà, ad esempio:
Tali controlli sono già a disposizione nella release 8.3 ma non sono ancora
distribuibili, lo saranno solo con la release 9.0
Come illustrato nell'esempio precedente, nel controllo "Map Control" deve essere
definito un file .mxd (o .pmf), in cui siano stati definite tutte le caratteristiche
desiderate per i layers di interesse: mentre per realizzare applicazioni che
utilizzano dati le cui caratteristiche sono state definite in un file .mxd,
utilizzando ArcMap come strumento di authoring, non ci sono problemi nel
momento in cui si dispone di ArcGIS, un'attenzione diversa deve essere posta
nel momento in cui si desidera utilizzare documenti che richiedano estensioni
per poter essere definiti, quali documenti realizzati in ArcScene o ArcGlobe,
i quali richiedono, per la loro definizione, la disponibilità di una licenza di
ArcGIS 3D Analyst. Una volta effettuato l'authoring, per quello che riguarda lo
sviluppo ArcGIS Engine dispone di tutti i metodi per trattare opportunamente i
files così rilasciati.
Non è ancora chiaro quali saranno i meccanismi di licensing del prodotto: le
tendenze sono quelle di legare la licenza alla CPU della macchina, analogamente
a come avviene per ArcView single user.
ArcGIS Server
ArcGIS Server è un nuovo tool che si propone come una tecnologia complementare
ai tradizionali ambienti desktop o client / server, come pure alle soluzioni
di Internet mapping realizzate con ArcIMS.
ArcGIS Server rappresenta un deployment lato server della libreria degli
ArcObjects (comprensiva delle estensioni). E' un prodotto per sviluppatori
che desiderano realizzare e condividere sulla componente server applicazioni
che presentino funzionalità GIS avanzate sia in un contesto applicativo
client / server, sia in soluzioni basate su web services.
Tutte le funzionalità della componente server sono fornite dagli ArcObjects.
L'architettura di ArcGIS Server è interessante perché fornisce una gestione
centralizzata non solo dei dati via ArcSDE, ma anche delle funzionalità di
geoprocessing lato server. Tale secondo aspetto tuttavia, non sostituirà
la necessità di disporre, per attività prettamente GIS-oriented, di un
prodotto desktop completo quale ArcView o ArcEditor, ma in situazioni in cui,
all'interno di soluzioni applicative tradizionali, sia necessario fornire
funzionalità di mapping o di geoprocessing mirato, ArcGIS server permetterà
di garantirlo in modo integrato a livello di interfaccia e con un supporto server-based.
Alcuni esempi di utilizzo potrebbero essere i seguenti:
-
Realizzare e distribuire all'interno di una INTRANET delle semplici interfacce
per il mapping o semplici aggiornamenti con una componente server centralizzata
usando soluzioni web basate su .NET/ASP oppure Java/JSP, evitando di dover
ricorrere a client desktop quali ArcView o ArcEditor. Occorre tuttavia
tenere presente che le esigenze devono essere mirate e limitate in
termini di funzionalità da offrire perché tali interfacce vanno
completamente progettate e sviluppate e non è possibile avere le stesse
funzionalità (a livello di complessità), e controlli che si hanno ad esempio
per l'editing in ArcEditor
-
Gestire centralmente informazioni geografiche e funzionalità, quali mappe,
dati, e processi di geocoding come web services condivisi
-
Realizzare applicazioni client / server da utilizzare su LAN o reti INTRANET
-
Distribuire applicazioni ArcGIS su piattaforme quali UNIX e Linux
E' importante osservare che applicazioni che richiedano elevate performance di
INTERNET mapping e serving di metadati resteranno principalmente dominio di ArcIMS.
Sebbene siano disponibili le funzionalità basate sugli ArcObjects, e sebbene sia
teoricamente possibile costruirsi una propria versione di ArcView lato server,
questa è un'operazione estremamente costosa e non consigliata: il modo corretto di
distribuire le funzionalità di ArcView lato server è quello di usare
soluzioni basate su server CITRIX, via il protocollo ICA.
Non è ancora chiaro quali saranno i meccanismi di licensing del prodotto:
le tendenze sono quelle di legare la licenza alla CPU del server,
analogamente a come avviene per ArcSDE (considerando anche che ArcGIS
Server richiede ArcSDE).
|