ArcGIS Utility Network: Entegrasyonlara Genel Bakış

Genel Bakış

Yazılımcılar tarafından en sık sorulan sorulardan bir tanesi, ArcGIS Utility Network ile entegrasyon sağlamanın en iyi yolunun ne olduğudur. Cevap ise her zaman aynıdır: “ArcGIS Utility Network ile bütünlük sağlamanın en iyi yolu, işe yarayan yoldur.” Gerçek şu ki kesin doğru olan tek bir yol yoktur. Arayüzünüz doğasına ve tercih ettiğiniz yazılım diline bağlı olarak bir stratejiyi ya da API’ı tercih edebilirsiniz. Bu yazı, Utility Network ile arka planda çalışan arayüzler ve uygulamalar geliştirmek için yaygın olarak kullanılan entegrasyon stratejilerine ve API’lere genel bir bakış sunmaktadır.

Aşağıda, ilginizi çekebilecek API’yi ve iş akışını hızlı bir şekilde görebilmek için faydalanabileceğiniz bir matris sağladık. Uygulama aşamasında fazla ilerleme sağlamadan önce tüm iş akışlarının ve API’lerin ayrıntılarını okumanızı tavsiye ederiz. Özellikle de kendi içinde kısıtlamaları olan bir yaklaşımı benimsiyorsanız bilgi sahibi olmanıza katkı sağlayacaktır.

Entegrasyon Gereksinimi

 ArcPy

Python

ArcGIS API for Python

Python

ArcGIS Pro SDK

C#

ArcGIS Enterprise SDK

C#

ArcGIS Data Interoperability

FME

REST

Herhangi Biri

  Temel İşlem
  Versiyonlu İşlem
  Ağ İşlemi
  Ağ Verisi Analizi
  Ağ Verilerinin Çıkarılması (Extraction)
Harici Veri Kümelerinin İçe Aktarılması

Entegrasyon Gereksinimleri

Temel İşlemler

Bu iş akışı, CBS ortamınızı Veri Ambarı ya da Abone Bilgi Sistemi (CIS) gibi harici bir sistemle entegre ederken kullanılmalıdır. Bu iş akışları Veri Ambarı nedeniyle salt okunurdur veya CIS sadece versiyona dahil edilmemiş detay sınıflarıyla etkileşime geçer. Arayüzün büyük miktarda versiyonlu bir veri yazması gerekiyorsa (Varlık Yönetim Sistemi gibi), versiyonlu bir detay sınıfı verisini içeren iş akışlarını kullanmayı düşünebilirsiniz. Çünkü, bu şekilde yapılan bir düzenleme geri alınabilen izole bir işlem gerçekleştirebilir; yaptığınız düzenleme (edit) işlemlerinde bir diğer edit süreçlerinden doğan veri tabanına yazma/okuma işlemlerini engellemeniz sağlanır.

Versiyonlu İşlemler

Bu iş akışı, öncelikle versiyonlanmış CBS verisi üzerinde yüksek hacimli düzenleme yapılırken veya versiyonlanmış düzenlemeler kullanıcı doğrulaması (validation) gerektirdiğinde kullanılmaktadır. Eğer, yaptığınız düzenlemeler sonuç olarak bir kirli alan doğuruyorsa Ağ İşlemi uygulamalısınız. Bu düzenlemeler, bir kullanıcının bunları sisteme eklemeden önce gözden geçirebileceği ve üzerinde işlem yapabileceği bir versiyonda gerçekleşir. Yapacağınız düzenlemeler kullanıcı etkileşimi gerektirmiyorsa, otomatik bir süreç yaptığınız düzenleme ve değişiklikleri sisteme uygulayabilir.

Ağ İşlemi

Bu iş akışı, harici bir şebeke tasarım ve düzenleme aracından ya da uygulamasından yaptığınız ve şebekenizin anlık durumuna etkisi olacak detay sınıflarını içeriye aktararak CBS’ye bilgi yazdırmak istediğinizde uygulanabilmektedir. Buna bir örnek olarak, ağdaki enerji akışı etkileneceğinden bir cihazın açık/kapalı durumunun güncellenmesi verilebilir. Bu konuda daha fazla bilgi için Utility Network Kirli Alan Yönetimi adlı blog yazısını okumanızı tavsiye ederiz. Versiyonlanmış detay verisi için gereken adımlara ek olarak, yaptığınız editlerden sonra oluşabilecek kirli alanların giderilmesi için ağ modelinizde Topoloji Doğrulama (Validate Topology) ve enerji akışında değişikliğe sebep olabilecek değişiklikler için Alt Ağ Güncelleme (Update Subnetwork) gerekir. Tüm kirli alanlar ve kirli alt ağlar temizlenene kadar ağ tutarsız bir durumda kalacaktır. Tutarsız bir ağ, sizin şebeke modeliniz üzerinde Ağ Analizi (Trace) yapmanıza ve diğer sistemlerinizin şebeke modelinizi dışarı aktarmasına engel olur. Önerilen iş akışı aşağıdaki gibidir:

  1. Bir versiyon oluşturun.
  2. Tüm düzenleme ve değişikliklerinizi ilgili versiyona uygulayın.
  3. Ortaya çıkan yeni kirli alanlar için Topoloji Doğrulama (Validate Topology) yapın.
  4. Kirli konumdaki alt ağları (Subnetworks) gidermek için Alt Ağ Güncelleme (Update Subnetworks) yapın.
  5. Versiyonunuza Varsayılan Versiyon’daki (Default Version) değişiklikleri çekin (reconcile) ve ardından Varsayılan Versiyon’a gönderin (post).
  6. Versiyonunuzu silin.

Ağ Verisi Analizi

Bu iş akışları, bir Abone Bilgi Sistemi(CIS) abonelerin şebeke bağlantılarının doğrulanması için bir Ağ Analizi (Trace) yapmanız gerekmesi gibi veriniz üzerindeki soruları cevaplayabilmek için uygulanır. Bu arayüzleri tasarlarken performansı göz önünde bulundurmalısınız, çünkü analizin karmaşıklığına ve kapsamına bağlı olarak tek bir ağ izleme analizi bir veya birden fazla saniye sürebilir. Tekil ve odaklı ağ izleme analizlerinin uygulanması arttırımlı ya da yakın arayüzler için uygun olabilir, ancak toplu bir arayüz tasarımı söz konusu olduğunda performans gereksinimlerinin karşılanabilmesi için ek mantık geliştirilmesine ihtiyaç vardır.

Ağ Verilerilerinin Çıkarılması (Extraction)

Bu iş akışı mühendislerin etkili analizler ve operasyonlar yürütebilmesi için CBS üzerindeki şebeke modeli verisi ile ilişkili tüm bilginin dışa aktarılmasını kapsamına dahil eder. Kendinize ait bir çıkarıcı arayüzü (extractor) geliştirmeden önce yazılım sağlayıcınız (distribütör) ya da iş ortağınızın Esri tarafından ArcGIS Utility Network ile uyumlu olduğu onaylanmış bir çözümü olup olmadığını öğrenmeniz önerilmektedir.

Harici Veri Kümelerinin İçe Aktarılması

Esri’ye ait olmayan formattaki veya yeniden projeksiyon gerektiren veriler kullanarak CBS harici Esri olmayan sistemlere veri aktardığınız iş akışlarıdır. Genellikle Shapefile, CAD, BIM veya diğer mekansal 2D/3D veri kümeleri formatları harici sistemlerden CBS’ye aktarılır. Ayrıca, Versiyonlu Detay Verisi ya da Ağ Detay Verisinin içe aktarımını içeren iş akışlarıyla da bir kombinasyon mevcuttur.

API

ArcGIS Utility Network, ArcGIS Enterprise üzerinde çalışır ve son on yılda bu teknolojiyle ilgilenen çoğu kişi, CBS verilerini diğer sistemler ile entegre etme yöntemlerinin sayısında ve yeteneklerinde ciddi bir büyüme olduğunu belirtmektedir. Bu bölümde entegrasyon için kullanılan en yaygın teknolojilerden bazıları açıklanmaktadır.

ArcPy

ArcPy kütüphanesi, ArcGIS Desktop ve ArcGIS Pro uygulamaları ve mimarisini kullanarak analiz gerçekleştirmek için Esri tarafından geliştirilen bir Python API’dır. ArcPy’dan yüksek hacimli veri yönetimi, mekansal analiz ve verilerin dönüşümü (Data Interoperability) için bir kütüphane olarak da bahsetmek mümkündür. Bu API’ler, bir veri tabanının sadece varsayılan (default) versiyonu ile etkileşime girebilmekte; Utility Network veri kümesinin doğruluğunu sürdürebilmek için gerek duyulan birçok gelişmiş kabiliyeti kullanamamaktadır. ArcPy, verileri okuyabilmek için yüksek hacimli işlemlere sahiptir, ancak sunucuya ayrı satırlar için tek tek yazma işlemleri uygulanmaktadır. Bu nedenle, büyük veri kümelerini güncellemek için ArcPy’ın uygun olmadığı aşikardır. ArcPy, toplu olarak detayları ve verileri çağıran, güncelleyen ve dolayısıyla daha az istemci/sunucu trafiğine neden olan ArcGIS API for Python’dan farklıdır. Son olarak, Esri Geoprocessing araçları her çağrıldığında ek yük oluşturduğu bilindiğinden çok sık bir biçimde çağırmaktan kaçınılması gerekmektedir.  Bu gereksiniminizi toplu işlemler (bulk operations) için tasarlanmış GP araçlarını kullanarak, GP gerektirmeyen yöntemlerden yararlanarak ve sınıflandırılarak daraltılmış veride çalışarak azaltabilirsiniz. Ayrıca, dilerseniz, diğer API’lerden birini kullanarak da GP araçlarının tekrar tekrar kullanılmasına yönelik ihtiyacın önüne geçebilirsiniz.

Bu konuyla ilgili ek bilgiye Online Help dokümanlarımız üzerinden erişebilirsiniz: ArcGIS Pro Python Reference

ArcGIS API for Python

ArcGIS API for Python, ArcGIS Online ve ArcGIS Enterprise servisleriyle etkileşim için geliştirilmiş bir dizi Pyhton API’dır. Bu API’ler, gelişmiş yönetimsel, analitik ve veri yönetimi araçlarını içeren geniş bir kütüphaneye erişebilmektedir. Ayrıca, ilgili Python API’lerin işlemsel yetenekler ve ağ modeli yetenekleri dahil olmak üzere Utility Network için servis tabanlı birçok işlevsel özelliklerin çoğuna erişim sahibidir. Bu API’ler, daha ölçeklenebilir okuma/yazma işlemlerine izin veren istemci-sunucu etkileşim düzeyini en aza indirmek için detay setlerini (feature sets) kullanmaktadır.

Bu konuyla ilgili ek bilgiye Online Help dokümanlarımız üzerinden erişebilirsiniz: ArcGIS API for Python Reference

ArcGIS Pro SDK

C# API’leri, ArcGIS Pro kullanılarak tüm ArcGIS veri formlarıyla etkileşim sağlanabilmesi için geliştirilmiştir.  Başsız konsol uygulamaları geliştirmek için bu SDK’yı kullandığınızda, uygulamayı veya bir harita gerektiren API’lerin hiçbirine erişiminiz olmamaktadır.

Bu konuyla ilgili ek bilgiye Online Help dokümanlarımız üzerinden erişebilirsiniz: ArcGIS Pro SDK Reference

ArcGIS Enterprise SDK

C# ve Java API’leri, ArcGIS Enterprise kabiliyetlerini genişletmek için geliştirilmiştir. Utility Network veri kümesiyle etkileşim kurabilmek için API’lere en kapsamlı erişim sağlanır, ancak aynı zamanda geliştirilmesi ve dağıtımının sağlanması en karmaşık çözümlerden birisidir. Yeni yetenekleri ve API’leri ortaya çıkarmak için özel bir sunucu nesnesi uzantısı (SOE) veya mevcut servislere yeni davranışlar enjekte edebilmek için bir sunucu nesnesi önleyicisi (SOI) geliştirilmesini gerektirmektedir. Utility Network Servislerini ArcGIS Enterprise SDK ile Genişletmek adlı blogu okuyarak kendi SOE veya SOI’nizi oluşturma hakkında daha fazla bilgi edinebilirsiniz.

Bu konuyla ilgili ek bilgiye Online Help dokümanlarımız üzerinden erişebilirsiniz: ArcGIS Enterprise SDK Reference

ArcGIS Data Interoperability

ArcGIS Pro ve ArcGIS Enterprise için bu ek bileşen, masaüstü ve istemci (client) tabanlı aracı içerir. Çeşitli işletim sistemlerini kullanarak yüzlerce farklı mekansal ve mekansal olmayan veri kümesini okuyabilir ve yazabilir. Desteklenen dosya formatlarının tam listesini burada bulabilirsiniz.

Okuyucu ve yazıcıları kullanarak hem yerel veri kümesi hem de servis tabanlı veri kümeleriyle etkileşimi desteklerken, Utility Network ve dal (branch) versiyon oluşturma API’lerine erişimi bulunmamaktadır. Bir REST okuyucu/yazıcı kullanarak bu sorunun üstesinden gelebilirsiniz. Bu ek bileşen, Safe Software’in FME(Feature Manipulation Engine) yazılımı kullanılarak yapılandırılmıştır. Bu yüzden, FME için çevrim içi yardım alarak FME’in işleme kabiliyetleri hakkında daha fazla bilgi bulabilirsiniz.

Bu konuyla ilgili ek bilgiye Online Help dokümanlarımız üzerinden erişebilirsiniz: ArcGIS Data Interoperability

REST

Utility Network’ün tüm işlevlerine REST API’leri aracılığıyla erişilebilir, bu nedenle bunlar uygulamanızı entegre etmenin veya genişletmenin en güçlü yoludur. REST API’lerine doğrudan erişim, herhangi bir dilin veya uygulamanın ArcGIS Enterprise ve Utility Network verileriyle entegre olabilmesinin bir yoludur. Bu API’ler, verileri okumak/yazmak için gereken tüm işlevlere ayrıntılı erişimin yanı sıra tüm Utility Network modeli ve dal versiyon oluşturma API’lerine erişim sunar.

Bu yazı içerisinde yer alan tabloda, bir REST arayüzü tasarlanırken dikkatli olunması gerektiği gösterilmektedir. Bunun sebebi, derlenecek veya oluşturulacak öne çıkan bir REST arayüzü bulunmamasıdır. Doğrudan API’lere yönelik oluşturulan herhangi bir arayüzün upgrade yoluyla desteklenmesi daha zor olacak;  yapılandırılmış ve yönetilen bir API’ın sorunlarının giderilmesi çok daha problemli olacaktır. Özel bir CBS yazılımcısı olan müşterilerimiz, bunu arayüz geliştirmenin önemli bir noktası olarak kabul edebilirler. Özel bir CBS yazılımcısı olmadan birçok uygulamayı destekleyen BT departmanları, bu arayüzleri geliştirmek ve sürdürmek için gereken teknolojiye ayak uydurmadan daha çok zorlanabilir.

Bu konuyla ilgili ek bilgiye Online Help dokümanlarımız üzerinden erişebilirsiniz: ArcGIS Rest API Dokümantasyonu

Çözüm

Umarız bu yazıda size uygun entegrasyon gereksinimlerinizi ve API’nızı bulmuşsunuzdur. En iyi uygulamaları takip ettiğinizden emin olmak için çözümlerinizi geliştirirken bu blogu yer imlerine eklemenizi ve tekrar ziyaret etmenizi öneririz. API’leri kullanmaya başladığınızda, konferasyonlardan, çeşitli bloglardan, videolardan veya diğer çevrimiçi kaynaklardan bulabileceğiniz örneklerden yararlanmanızı tavsiye ederiz. Son olarak, Abone Bilgi Sistemi, Varlık Yönetim Sistemi ve İş Yönetim Sistemleri entegrasyonlarıyla ilgili bilgi sunan ArcGIS Utility Network: Yaygın Entegrasyonlar yazımızın da ilginizi çekebileceğini belirtmek isterim.

Önceki Yazı
ArcGIS Dashboards Classic’in Kullanımdan Kaldırılmasına Hazırlanın
Yazıyı görüntüle
Sonraki Yazı
ArcGIS Utility Network: Yaygın Entegrasyonlar
Yazıyı görüntüle