ArcGIS Subtype Kullanılan FeatureClass ile Domain Kullanımı

7 Oca

ArcGIS platformunda oluşturulan coğrafi veri tabanları (geodatabase) üzerinde attribute domain’ler oluşturarak veri tabanındaki bütün FeatureClass’lar üzerinde kullanabilirsiniz. Attribute domain’ler FeatureClass üzerinde tanımlanan filed veri tipi ile uyumlu olmalıdır. Çünkü her attribute domain bir veri tipine sahiptir. Bu veri tipleri:

  • Short
  • Long
  • Float
  • Double
  • Text

Örnek bir attribute domain aşağıdaki gibi tanımlanabilir.

Burada “su_tipi” adında bir attribute domain oluşturulmuştur. Aldığı değerler ise code ve description alanlarına doldurulmuştur.

Hazırlanan attribute domain, bir feature class içerisindeki field üzerine aşağıdaki şekilde eklenip defalut değeri seçilebilir.

Artık siz içmesuyu ana hat çizimi yaparken su tipleri otomatik olarak “Arıtılmış” değerlerini almış olacaktır.

Dikkat

Ancak, eğer tanımladığınız feature class(şekilde içmesuyu ana hattı) üzerinde oluşturduğunuz bir subtype varsa attribute domain değerleri otomatik olarak gelmeyebilir. Bu durumda Arcgis Pro üzerinde attribute domain neden çalışmıyor diye düşünebilirsiniz. Ancak Arcgis Pro üzerinde subtype oluşturulduğunda her type için farklı attribute domain özelliği tanımlayabilme yeteneği getirilmiştir. Bu nedenle siz her bir subtype için değerleri yeniden belirlemek durumunda kalabilirsiniz. Eğer tanımlamazsanız çizim yaparken attribute değerleriniz null olarak gelebilir.

Yukarıdaki içmesuyu ana hat feature class üzerinde “*hat_tipi” field biraz daha koyu renkle ve “*” ile işaretlenmiştir. Bunun nedeni, hat_tipi alanında bir subtype tanımlanmış olmasıdır. Bu durumda her bir subtype üzerinde attribute domain tanımlamalarını tekrar gözden geçirmek durumunda kaldım. Eğer attribute domain tanımlamanızı, subtype oluşturduktan sonra yaptıysanız bu ayarları mutlaka kontrol etmelisiniz.

Subtype ekranında her bir su_tipi alanının belirlenmiş olduğunuzda artık bir sorun ile karşılaşmazsınız.

Postgis geçersiz geometriler ve Arcgis Drawing Error hatası

11 Oca

PostgreSQL veritabanı ile konumsal(spatial) verilerin yönetilebilmesini sağlayan Postgis eklentisi, geometrik nesneler üzerinde işlemler yapılabilmesini sağlayan bir çok hazır fonksiyon sunar. Bu fonksiyonların tam listesine buradan ulaşabilmek mümkündür.

Bu yazıya konu olan fonksiyon, oluşturulan geometrinin geçerli olup olmadığını bulmaya yarayan St_IsValid fonksiyonu olacaktır. Eğer geometri geçersiz ise PostgreSQL bize geometrinin neden geçersiz olduğuna dair bir de mesaj bildirimi sunacaktır. Geometrilerin geçerliliği ve basitliği konusunda OGC tarafından tanımlanan bilgilere buradan ulaşabilirsiniz.

OGC tarafından basit olarak tanımlanan geometri tipleri, kendini kesen veya kendine teğet olan anormal geometrik noktalara sahip olmayan geometrik şekillerdir.

Örneğin LINESTRING türünde basit ve geçerli bir geometri;

LINESTRING(0 0, 1 1)

Örneğin LINESTRING türünde basit olmayan ama geçerli bir geometri;

LINESTRING(0 0, 1 1, 0 0)

Bu geoemtrinin basit sınıfa girmemesinin sebebi kendini kesen bir noktaya (0 0) sahip olmasıdır.

Ancak öyle durumlar vardır ki, seçilen geometri geçersizdir. Örneğin;

LINESTRING(0 0)

Bu LINESTRING tipindeki geometri tek bir noktadan meydana gelmiştir. Oysa ki LINESTRING tipindeki geometriler en az iki noktadan meydana gelmek zorundadır.

Geçersiz bir geometriyi veri tabanında sorgulamak istediğimizde aşağıdaki gibi bir sonuç alınacaktır.

Geçerli bir geometri sorgusu için ise olumlu bir sonuç alınacaktır.

NOT:

ArcGIS desktop uygulamalarından ArcMap ile çalışırken, geçersiz geometri içeren tablolar görüntülenmek istendiğinde, uygulama “Arcgis Drawing Error” başlıklı bir uyarı mesajı vermektedir. Arcgis geçersiz geoemtriyi çizdiremediği için bu mesajı vermektedir.

Bu hatayı ortadan kaldırabilmek için geçersiz geometrileri SQL query yardımıyla seçerek sistemden silmek gerekmektedir.

ESRI Arcgis Javascript API with Knockout JS MVVM

4 Nis

Yazıya başlamadan önce, yazının başlığında belirtilen kavramları daha önce duymamış olanlar için kısaca açıklamaya çalışayım. Arcgis Javascript API, ESRI firmasının harita tabanlı javascript uygulamaları geliştirmek için sunduğu bir araçtır. Knockout JS ise javascript tarafında MVVM(Model-View-View Model ) tasarım deseninin uygulanabilmesini sağlayan bir kütüphanedir.

Knockout Js Model
Knockout Js Model

Kısaca söylemek gerekirse Javascript kodu ile HTML kodunun arasında aktarım yapabilen, iki taraf arasında köprü vazifesi gören bir kütüphanedir.

Bu yazının konusu, Arcgis Javascript API ve Knockout JS kütüphanesinin bir arada kullanıldığı bir harita uygulamasını göstermektir. GitHub hesabımda oluşturduğum esri-knockout-mvvm repository içerisinde uygulama kodlarını bulabilirsiniz.

Neden Arcgis JS API ile birlikte Knockout JS kullanma ihtiyacı duydum?

Arcgis Javascript API ile uyglamalar geliştirirken Javascript kodu içerisinde HTML elemanlarının kullanılması noktasına takıldım. Örneğin bir butona tıkladığımızda, butonun olay yakalayıcı metodunda bir HTML tablosunu oluşturur ve sayfanın bir yerine yerleştirir. Burada farklı konuların birbirinden ayrılması (Separation of Concerns) prensibini Javascript programlama dilinde ihlal etmiş oluyoruz. Oysa programlama prensipleri genel kavramlar olup uygulama alanına göre değişmez. Bu sebepten dolayı Knockout JS kullanarak HTML ve Javascript kodunu birbiriden ayırdım.

Uygulama Araç Kutusu:

  • Arcgis Javascript API
  • Knockout JS
  • Bootstrap
  • JQuery
  • Dojo

Uygulama Özeti:

Uygulama, harita üzerindeki bir noktaya tıklandığında, tıklanan yerin yakınlarındaki sosyal aktiviteleri, olayları göstermektedir. Bu bilgileri seatgeek.com API üzerinden çekmektedir.

Uygulamanın çalışan halini buradan inceleyebilrsiniz.

Uygulama Görseli
Uygulama Görseli

ArcGIS Map Server verileri ile Google Chart çizdirilmesi

22 Tem

Bir önceki yazıda ASP.NET Web API ile  tarafından servis edilen JSON verileri ile Google grafiklerinin çizimini yapmıştık. Bu yazıda da yine Google grafik çizimi üzerinde duracağız. Grafik çizimi için kullanacağımız veri ise uzak bir sunucu üzerinde elde edilecek. Uzak sunucu verileri ise ArcGIS firmasının sunmuş olduğu örnek REST servislerinden elde edilecek.

ArcGIS firmasının sunduğu örnek servislere buradan ulaşmak mümkündür. Biz bu servislerden nüfus ile alakalı olan demografik yapı servislerini kullanacağız. Demografik yapıya ait şu anda üç farklı MapServer hizmeti açılmış durumda. Biz bunlardan Demographics/ESRI_Census_USA servisi tarafından sunulan verilerle çalışacağız. USA’de bölgeler ya da eyaletler(states) adı altında sunulan Feature Layer üzerinden bir istatistik alarak örnek bir grafik çizdirmeye çalışalım. Bu örnek istatistiğimiz “2007 yılında nüfusu 9 milyondan büyük olan bölgelerin listesi.” şeklinde olsun.

Örnek uygulamamız, sunucu üzerinde çalışan tek bir HTML dosyası da olabilir, bir ASP.NET uygulaması üzerinden de çalışabiliriz. Yapacağımız şey ArcGIS Server sunucusuna bir sorgu gönderip gelen veriyi işlemek.

Feature Layer Servisi: http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5

Bu servise bir sorgu gönderdiğimizde gelen verinin JSON şekli aşağıdaki gibidir.

Arcgis Query Result
Arcgis Query Result

Bize grafik çizimi için gerekli olan kısım, kırmızı çerçeve içerisine alınmış features dizisidir. Bu dizi içerisinde her bir attribute, nüfus(POP2007) ve bölge adı(STATE_NAME) bilgileri bulunmaktadır. Bu bilgiler ışığında sorgulama ve çizim işlemlerini javascript ortamında aşağıdaki gibi gerçekleştirebiliriz.

<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'></script>
<script type="text/javascript">

function getMap() {

   var mapserverUrl = "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5/query";
   var parameters = { f: "json", where: "POP2007 > 9000000", returnGeometry: false, outFields: "POP2007,STATE_NAME" };

   $.ajax({
          url: mapserverUrl,
          data: parameters,
          dataType: "jsonp",
          jsonpCallback: "callback",
          success: function (response) {
             createGraphics(response.features);
          }
   });
 }

function createGraphics(data) {

    var table = new google.visualization.DataTable();
    table.addColumn('string', 'STATE');
    table.addColumn('number', '2007 POP');

    for (var i = 0; i < data.length; i++)
        table.addRow([data[i].attributes.STATE_NAME, data[i].attributes.POP2007]);

    var options = { title: 'Population of 2007 in the USA, Bigger than 9 Million' };
    var chart = new google.visualization.ColumnChart(document.getElementById('cbs'));
    chart.draw(table, options);
 }

 google.load("visualization", "1", { packages: ["corechart"] });
 google.setOnLoadCallback(getMap);

</script>

Yaptığımız sorgu standart bir ajax sorgusudur. parameters olarak belirlenen veri kümesi servis URL’i için queryString verilerini barındırmaktadır. Gerisi zaten Google grafik API işlemleri Bu örnek uygulamanın çıktısı aşağıdaki şekilde olacaktır.

Arcgis ve Google Chart
Arcgis ve Google Chart

ArcGIS Server Sitesi Yapısı Verisyon 10.1

5 Haz

Günümüzde son kullanıcı ürünleri ucuzlamaya başladıkça sunucu taraflı uygulamalar ve teknolojilerin fiyatları artmaya başladı. Sunucu gelişiminin son noktası bulut teknolojisi oldu. Bulut teknolojisinin iyice yaygınlaşmaya başladığı günümüzde firmalar sunucu mimarilerini bu gelişime uydurmak adına adımlar atılmaya başlandı. Artık sunucu tarafında çalışan sistemleri durdurmadan donanımsal tak çıkar işlemleri yapmak yani donanımların yetmediği noktalarda ölçekleme yapmak çok kolaylaştı. ArcGIS tarafı da bu gelişim karşısında duyarsız kalmayarak mimarisinde bazı değişikliklere gitti.

Bu yazımızda ArcGIS Server 10.1 ile birlikte SOM-SOC modeli yerine gelen Site yapısının iç yüzünü inceleyeceğiz. ArcGIS Server Site yapısı, birden fazla bilgisayar üzerine konuşlandırılabilecek şekilde ayarlanabilen bileşenlerden oluşur. Sitedeki her bir bileşen kaynak yönetiminde belirli bir role sahiptir.

ArcGIS Server sitesi bileşenleri şu şekilde özetlenebilir:

  • Web sunucusu: Web uygulamalarını barındırır, isteğe bağlı güvenlik seçenekleri sunar ve ArcGIS Server için yük dengeleme işlemlerini gerçekleştirir.
  • Web Adaptör: Gelen istekleri farklı CBS sunucu(GIS Server) bilgisayarlarına ileterek ArcGIS Server ile kurumsal web sunucunuzu bütünleştirir.
  • GIS Server(CBS sunucusu): CBS web hizmetleri için gelen istekleri karşılamak için çalışır. Bir CBS sunucusu harita çizimleri, görüntü hizmetleri, veritabanı senkronizasyonu, veri arama gibi birçok işlemi gerçekleştirir.

ArcGIS Server Site Mimarisi
ArcGIS Server Site Mimarisi

Bu resimde özetle ArcGIS Server sitesinin her bir bileşenin görevi ve bağlı olduğu bileşen gösterilmiştir.

Web Sunucusu (Server)

Web sunucusu web uygulamalarını barındırır, isteğe bağlı güvenlik seçenekleri sunar ve ArcGIS Server için yük dengeleme işlemlerini gerçekleştirir. ArcGIS  Server, IIS, WebSphere ve WebLogic gibi birçok web sunucusuyla uyumlu çalışır.

GIS server (CBS sunucusu) bileşeni servislerinizi HTTP protokolü üzerinden IIS gibi ayrı bir işlem gerektirmeden dışarı açabilir. Eğer web sunucusunun yerel güvenlik yapılandırmalarından(örneğin kullanıcı doğrulamasından)  faydalanmak isterseniz veya web uygulamalarınızı barındırmak isterseniz dağıtımınıza bir web sunucusu dahil edebilirsiniz.

Web Adaptor(Adaptör)

ArcGIS Web Adaptor, temelde web sunucunuzdan gelen istekleri CBS sunucularına(GIS Server) ileten bir web uygulamasıdır. Web Adaptörler siteye hangi bilgisayarların eklenip hangilerinin çıkarıldığını izler ve gelen trafiği bu bilgisayarlara uygun olarak dağıtır. Web Adaptör kullanarak siteniz için isimlendirme ve bağlantı(port) noktalarını yönetebilirsiniz. Örneğin varsayılan port 6080 ve site ismi “arcgis” iken Web Adaptör ile bunları değiştirebilirsiniz. Web Adaptörü sayesinde güvenlik için web sunucusunun yerel imkanlarını kullanabilir, ArcGIS Manager için veya ArcGIS Server yönetim dizinleri için dışarıdan gelen istekleri engelleyebilirsiniz.

Çalışma prensibi olarak bir servis isteği geldiğinde Web Adaptörü bu isteği GIS Server bilgisayarlarına iletir. Daha sonra GIS Server bilgisayarları, hangi bilgisayarın kullanılabilir olduğunu ve hangi bilgisayara işin atanacağı belirlemek için birbirleri ile iletişime geçerler. Eğer Web Adaptörü, GIS Server tarafının erişilemez durumda olduğunu belirlerse o sunucuya istek göndermeyi durdurur.

Web Adaptörü sitenizi sadece web ağ geçidi veya giriş noktası yapılandırmak için tek yöntem değildir. Diğer ağ geçidi teknolojileri de kullanılabilir. Fiziksel HTTP yük dengeleyiciler, ağ yönlendirici cihazları veya üçüncü parti bir yazılımla da bu işlemleri gerçekleştirmek mümkündür.

GIS Server (CBS sunucusu)

Sitenizde ArcGIS Server için kurulan bilgisayarları CBS sunucusu olarak düşünebilirsiniz. Haritalar, adresler, koordinatlar, coğrafi işlemler gibi web hizmetler için gelen istekler site içindeki ulaşılabilir durumdaki CBS sunucu bilgisayarına atanır. Daha sonra CBS sunucusu gelen isteğe uygun hizmeti hazırlayarak kullanıcıya cevap olarak gönderir. Aslında CBS sunucuları sitenizin iş merkezidir.

CBS sunucuları servisleri HTTP protokolü üzerinden dışarı sunarlar.

Birden fazla CBS sunucusu kullanarak sunuculardan birinin kesintiye uğradığı kriz durumlarında sitenizi kesintilere karşı koruyabilirsiniz. Bir CBS sunucusu devre dışı kaldığı durumda Web Adaptörü, gelen istekleri sitenizdeki diğer CBS sunucularına dağıtır. Bunlara ek olarak CBS sunucuları diğer CBS sunucularının eklenip çıkarıldığını algılayabilir. Böylece bulut teknolojisi gibi aygıt takılıp çıkarılabilen ortamlarda iyi çalışır.

Clients (Kullanıcılar)

ArcGIS Server sitesi kullanıcılarını şu şekilde isimlendirebiliriz.

  • Web Tarayıcılar: ArcGIS Server sitesi bünyesindeki servislere web tarayıcılar aracılığıyla ulaşmak mümkündür.
  • Mobile Aygıtlar: Akıllı telefonlar ve tabletler gibi taşınabilir aygıtlar ile web uygulamalarına ve web servislerine ulaşılabilir. Harita görüntüleme, yer bulma gibi uygulamalara rahatlıkla erişilebilmektedir.
  • ArcGIS Exploerer: ArcGIS Explorer görsel ve navigasyon için hazırlanmış ücretsiz bir masaüstü uygulamasıdır. ArcGIS Server servislerinizi veri olarak ekleyip zengin içerikli görüntü elde edebilirsiniz.
  • ArcGIS Desktop: ArcGIS Desktop uygulaması hem ArcGIS Server servislerini tüketebilir hem de yönetim aracı olarak kullanabilir. Bazı araçlar sayesinde sunucuya yayınlar sunmanız mümkündür. Bazı desktop uygulamalarını ArcMap, ArcCatalog, ArcGlobe, and ArcReader olarak sıralayabiliriz. Catalog ile uygun URL adresi ile CBS sunucularına bağlanabilirsiniz.
  • ArcGIS Engine: ArcGIS Engine uygulamaları CBS sunucularından faydalanır. ArcGIS Engine  geliştirircileri yazdıkları uygulamalar aracılığıyla CBS sunucularına veri gönderebilirler.

Kaynak: http://resources.arcgis.com/en/help/main/10.1/index.html#//0154000003p4000000

ArcGIS Server 10.1 Server Yenilikleri

4 Haz

Bir önceki blog paylaşımında ArcGIS Server 10.0 mimarisinden bahsetmiştim. Bu paylaşımın amacı ArcGIS Server 10.0 mimarisi ile 10.1 mimarisi arasındaki farkları görebilmekti. Bundan sonraki paylaşımlar 10.1 üzerinden ve çıkarsa daha yeni versiyonlar üzerinden devam edecektir. Bu yazımızda 10.1 versiyonunun getirdiği yenilikler üzerinden ilerleyeceğiz.

ArcGIS Server 10.1 verisyonu 64 bit bir uygulama olarak çalışır. Böylece CBS hizmetleri için donanım özelliklerinden tam olarak yararlanılır. Bu değişiklik, ArcGIS sunucularının ölçeklenebilirliğini arttırmak için yapılmıştır. 64 bit donanımlar artık mevcut endüstriyel standart haline geldiği göz önüne bulundurularak 32 bit işletim sistemlere verilen destek durdurulmuştur.

ArcGIS Server 10.1 Kurulum Yenilikleri

ArcGIS Server kurulumu önemli ölçüde basitleştirilmiştir. Önceki sürümlerde kurulum sırasında izlenen birçok adım kaldırılmıştır. Yeni özellikleri şu şekilde sıralayabiliriz.

  • Artık .Net Framework veya Java Runtime gibi yüklemelere gerek kalmıyor.
  • Ayrı bir sunucu (Microsoft IIS, WebSpahare, v.b) ile entegrasyona gerek kalmıyor. Artık sunucu için ArcGIS kurulumu yaptığınızda, web yönetim araçları ve uygulamalarıyla servis tabanlı bir CBS sunucusu(GIS Server) karşımıza çıkıyor.
  • CBS kaynaklarınıza ulaşmak için kurulum sırasında sizden tek bir kullanıcı hesabı istenir. Bu hesaba ArcGIS Server hesabı denir. 10.1 sürümünde kurulum sonrası adımlar ve ayrı ayrı ayarlanan SOM, SOC ve ArcGIS web servis hesapları yoktur.
  • DCOM bağımlılığı yoktur.

Birden fazla bilgisayar üzerine dağıtılmış kurulum yapmak basitleştirilmiştir. Her bilgisayarda aynı kurulumu yapılır, daha sonra ArcGIS Server Manager üzerinden bağlantılar gerçekleştirilir.

Windows ve Linux Ayrımı

Önceki versiyonlarda Microsoft .Net Framework ve Java platromu için sunulan ArcGIS Server, artık 10.1 versiyonuyla işletim sistemi seviyesine çekilmiştir. Kurulumlar Microsoft için ArcGIS(Server)  ve Linux için ArcGIS(Server) şeklinde yapılmaktadır.

ArcGIS Server 64 bit

ArcGIS 10.1 versiyonu 64 bit uygulama olarak çıkmıştır ve 32 bit işletim sistemi desteği durdurulmuştur.

SOM ve SOC modeli artık ArcGIS Server sitesi

Önceki ArcGIS Server versiyonlarında CBS sunucusu(GIS Server) SOM(Server Object Manager) ve SOC(Server Object Container) şeklinde iki bileşenden oluşmaktaydı. SOC bileşenleri GIS servislerinde barıdırılmaktadır ve SOM bileşeni tarafından yönetilir ve kullanıcıların hizmetine sunulur.

ArcGIS Server 10.1 ile birlikte SOM-SOC modeli ArcGIS Server sitesi şeklinde değiştirilmiştir. Bir site, bir veya birden fazla makine(GIS Server) üzerine yapılmış dağıtımdır. 10.1 ile gelen site mimarisi SOM-SOC modelinden daha sağlamdır. Hata riskini azaltır, yeni makinelerin eklenmesini ve mevcutların yönetimini kolaylaştırır.

ArcGIS Web Adaptör

ArcGIS Web Adaptor, ArcGIS Sunucusunun kendi web sunucunuz ile çalışması için yapılan bir kurulumdur. ArcGIS Server dış dünyaya REST ve SOAP servisleri sunabilmektedir. Eğer siteniz için kendi özel URL adreslerinizi ayarlamak istiyorsanız veya web sunucunuzun güvenlik modeli ile entegrasyon sağlamak istiyorsanız ArcGIS Web Adaptor kurulumunu yapmalısınız. Bu bileşen, eğer birden fazla makine ile bir siteyi yapılandıracaksanız ve güvenliği sıkılaştırmak istiyorsanız önerilir.

Kaynak: http://resources.arcgis.com/en/help/install-guides/arcgis-server/10.1/index.html#/What_s_new_in_the_ArcGIS_10_1_for_Server_install/01nm0000000m000000/

ArcGIS Server 10.0 Dağıtılmış Sistem Mimarisi

3 Haz

ArcGIS Server, sunduğu hizmetleri birden çok makine üzerine dağıtarak ölçeklenebilir bir sistem mimarisi sunmaktadır. ArcGIS sunucusunu ilk kez kuruyorsanız büyük olasılıkla tüm bileşenlerini aynı makine üzerine kurarak test edeceksiniz. ArcGIS Server uygulamanızı farklı makinelere dağıtmak istiyorsanız dağıtılmış kurulum(distributed installation) yapmalısınız. Bu sayede sisteminize erişen kullanıcı sayısı için kabul edilebilir bir düzeyde bir performans elde edebilirsiniz.

ArcGIS Server için yapılan dağıtılmış kurulum sayesinde sistem bileşenleri aynı yerel ağda birden fazla makine üzerinde barındırılır. Aşağıdaki grafikte ArcGIS Server bileşenlerinden SOM(Server object manager), SOC(server object container) ve Web sunucusunun farklı makineler üzerinde dağıtıldığını görebiliriz. Bu yapı Arcgis Server 10.0 için hazırlanmıştır. Daha sonraki versiyonlarda değişiklikler olabilir.

ArcGIS Server Mimarisi
ArcGIS Server 10.0 Mimarisi

Dağıtılmış şeklide kurulmuş olan ArcGIS Server sistemine daha fazla makine ekleyerek dışarı sunulan hizmeti daha da iyileştirmek mümkün hale gelmektedir. CBS (GIS) işlemlerinde yük çekici işlemler(container processes) CPU kaynağını çok fazla tükettiğinden sisteme birden fazla SOC makinesi dahil etmek bu yükün paylaşılmasını ve sistemin iyileştirilmesini sağlamaktadır.

ArcGIS Server bileşenlerini farklı makineler üzerinde akıllıca dağıtmak donanım kaynaklarınızın en etkin şekilde kullanılmasını sağlar. Örneğin kullanabileceğiniz makine sayısı yeterli değilse Web sunucusunu ve SOM bileşenini aynı makine üzerinde barındırabilirsiniz. Çünkü SOM, diğer bileşenlere nispeten daha az bellek kullanır.  Kalan donanım kaynakları da CBS sunucusunun işleyebileceği yükü dengelemek için SOC makinelerine aktarılabilirsiniz.

Dağıtılmış ArcGIS Server kurulumu yapmak, ArcGIS Desktop veya ArcGIS Engine kurulumuna benzemez. Çünkü birbiri ile konuşan makineleri doğru şekilde yapılandırmalısınız. SOM makinesinin sistemdeki bir SOC makinesine istekte bulunabilmesi gerekmektedir. Her makine aynı veri kümesi ve dizini ile çalıştığından her makine ortak bir isimlendirme kuralı (UNC path) ile aynı kayna erişmelidir.

Güvenlik mekanizmaları bazen makineler arasında iletişim sorunu çıkarabilir. Örneğin SOC hesabı farklı makineler üzerinde okuma ve yazma izinleri gerektirebilir. Bu sebeple ArcGIS Server bileşenleri arasında açık bir şeklide iletişim kurmaları gerektiğinden bu bileşenler arasında güvenlik duvarına gerek yoktur. Örneğin SOM ve SOC arasında veya SOM ve Web sunucusu arasında güvenlik duvarı gerekmez.
Ayarların Yapılması
Dağıtılmış bir ArcGIS Server sisteminin hizmete sunulması için atılacak ilk adım yapılandırma tasarımıdır. SOM, SOC, Web Application Developer Framewrok (ADF) ve Web Service endpoint bileşenleri aynı makineye yüklenebilir veya birden fazla makine üzerine dağıtılabilir. ADF Runtime Web sunucusu gibi aynı makinede yüklü olmalıdır.

ArcGIS Server Manager sunucunuzu yönetmenize yardımcı olan ve basit web uygulamaları oluşturmanızı sağlayan isteğe bağlı bir bileşendir. Bu bileşen iki parçadan oluşmaktadır. Bunlar Service Manager ve Application Manager olarak adlandırılır. Bu iki bileşen de aynı makine üzerinde veya farklı makineler üzerine dağıtılmış olabilir. Service Manager bileşeni Web servislerinin yüklü olduğu makinede servisleri oluşturmayı ve yönetmeyi sağlar. Application Manager bileşeni ise ADF yüklü makinedeki Web uygulamalarını oluşturmayı ve yönetmeyi sağlar.

GIS Servis kurulumu için buradan ve WEB Application kurulumu için de buradan bileşenlerin doğru yüklenmesine yardımcı olacak bilgiler verilmektedir.

Verileriniz CBS sunucusu (GIS Server) ile aynı yerel ağ üzerinde olmalıdır. Sunucunuzu Manager üzerinden yönetmiyorsanız ağınızda bir ArcGIS Desktop olmalıdır. Verilerinizin ve ArcGIS Desktop uygulamasının diğer CBS sunucu bileşenleri ile aynı makinede bulundurmamalısınız.

Kaynak: http://help.arcgis.com/en/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#/Configuring_a_multiple_machine_deployment/0093000000m7000000/