Akıllı Şehirler

Akıllı Şehirler kapsamında son teknoloji standart tabanlı birlikte işlerlik altyapısı geliştiriyoruz


Akıllı şehir kavramının ve dijitalleşmenin sonucu olarak şehirlerin izlenmesi, takip edilmesi ve yönetilmesinde merkezi yazılım platformlarının kullanılması yaygınlaşmıştır. Özellikle IoT teknolojilerinin gelişmesi ile şehirlerin kullandığı farklı sensör verilerinin tek merkeze aktığı, mevcut uygulamalarla entegre edilebilen, kompleks veri analitiği özelliklerine sahip çözümler geliştirmekteyiz. Geliştirmiş olduğumuz Akıllı şehir platformlarının en temel fonksiyonel kabiliyetleri şunlardır.

  • Birlikte işlerlik ve entegrasyon kolaylığı (interoperability & integration)
  • Ölçeklenebilirlik (scalability)
  • Güvenlik (security)
  • Kullanılabilirlik (usability)

Birçok farklı uygulama ve sensör verisi işleneceği için yapının buna uygun olması ve bu verilerin yakın gerçek zamanlı işlenmektedir. Geliştirdiğimiz platform izleme ve takip için kullanıldığı gibi, kontrol ve yönetim amacıyla da kullanılmaktadır. Bu nedenle farklı uygulamaların birlikte işlerliğine ve süreç yönetimine izin veren dinamik süreç tanımlama ve yönetme, komuta ve kontrol etme özellikleri de bulunmaktadır.

Geliştirdiğimiz altyapı birlikteişlerliği kolaylaştımak amacıyla tamamen standart tabanlı olarak geliştirilmiştir. Bunlar Open Geospatial Consortium’un hazırladığı SensorThings API’si ve bir Avrupa’da yaygın olarak kullanılan (NGSI-LD tabanlı) FiWARE standardıdır. Kısaca bahsedecek olursak, OGC SensorThings API’si direk sensor veya aktüatörlerle iletişim için kullanılan alt seviye bir standart olup, FiWARE veri modelleri daha üst seviye uygulama seviyesi bir standarttır. NGSI-LD tabanlı olması sayesinde herhangi bir kod değişikliği olmadan kolayca genişletilebilir bir yapıdadır.



Tamamen açık kaynak kodlu ve lisans gerektirmeyen


Geliştirdiğimiz altyapı büyük veri işleme mimarilerinde yaygın olarak kullanılan tamamen açık kaynaklı araçlar üzerine kurulmuş olmasından dolayı herhangi bir lisans ihtiyacı bulunmamaktadır. Docker konteyner yapısında geliştirilen sistem her türlü bulut altyapısına kolayca kurulabilmektedir.



Beş ana katmandan oluşan mimarimize bir göz atın:


Paylaşım Katmanı

TBu en üst seviye katmanının temel amacı Akıllı Şehir Merkez Yazılımındaki elde edilen verileri/fonksiyonları yetkili kullanıcılara ve uygulamalara güvenli bir şekilde sunmaktır. Genel olarak aşağıdaki alt modüllerden oluşmaktadır:

  • Entegrasyon Servisleri: Bu modülün amacı, harici şehir sistemlerine ve (mobil/vatandaş) uygulamalarına Akıllı Şehir Merkez Yazılımındaki verilerin veya elde edilen analizlerin açık standartlar kullanarak sunulmasını sağlamaktır. Bu modülde iletişim protokolü olarak HTTP REST (Representational State Transfer) kullanılacaktır.
  • Akıllı Şehir Merkez Yazılımı Grafik Arayüzü: Sistemin temel kullanıcı arayüzüdür. Angular Tek Sayfa Uygulaması (Single Page Application) altyapıları kullanılarak gerçekleştirilmiştir. Aşağıdaki bileşenlerden oluşmaktadır:
    • İş Zekası Modülü: Bu modül aracılığı ile kullanıcılar sistemdeki veriler üzerinde makine öğrenme ve kural tanımlama işlemleri gerçekleştirebilmektedir. Ayrıca bu modülün bir parçası olarak tanımlanan kuralları veya elde edilmiş modelleri çalıştıran bir bildirim motoru bulunmaktadır.
    • Veri Görüntüleme Modülü: Bu arayüz modülü ile kullanıcılar sistemdeki toplanan verileri interaktif grafiklerle ve kontrol panelleri ile görüntüleyebilmektedirler.
    • Yönetici Arayüzleri: Tüm sistemin yönetim fonkiyonlarının gerçekleştirildiği arayüzlerdir.

Birlikte İşlerlik Katmanı

Bu katman genel olarak, şehir sistemi ve/veya IoT sensörlerinden verilerinin sisteme alınmasını, işlenmesini ve analizini ölçeklendirilebilir ve dağıtık bir şekilde sağlar. Aşağıdaki alt bileşenlerden oluşmaktadır.

  • Veriyi İçeri Alma ve Açık API’ler: Bu fonksiyonel blok, verileri esnek ve standart bir şekilde almak için bir iletişim noktası sunar. Veri sağlayıcılara, verilerini standart tabanlı tanımlanmış protokol ve API'ye göre yayınlamaları için gerçek zamanlı yetenekler sunmaktadır. Asgari seviyede iletişim protokolü olarak IoT iletiminde yaygın olarak kullanılan HTTP REST ve MQTT standartları destekleyecektir. Veri modeli olarak standart veri modeli desteklemektedir (OGC SensorThings, Fiware Ultralight 2.0, gibi).
  • Olay Filtreleme ve Veri Akış Yöneticisi: Bu modül aracılığı ile bir alt modülden toplanan birden fazla farklı formatta, boyutta ve akış hızında olabilecek IoT verileri üst seviyelere gönderilmeden önce bir ön işleme ve akış sağlanabilmektedir. Diğer bir deyişle Akıllı Şehir Merkez Yazılımı içindeki farklı modüller arasındaki, veri alışverişini otomatikleştirmek için kullanılan veri lojistik platformudur. Veri taşıma esnasında, veri kayıplarını önleme, düşük gecikme süresi ve/veya yüksek gönderme hızı yüzünden veriyi kaybetmeme işlemleri bu modül tarafından gerçekleştirilir.
  • Dağıtık Akış Platformu: Olay Filtreleme ve Veri Akış Yöneticisinden gelen verilerin güvenilir (veri kaybetmeden), genişletilebilir ve gerçek zamanlı olarak bir üstteki Veri Hesaplama Modülüne aktarılması bu modül aracılığıyla gerçekleştirilecektir. Diğer bir deyişle güvenilir bir mesaj kuyruğu sağlamaktadır. Otomatik olarak ölçeklendirilebilmektedir.
  • Büyük Veri Analiz Motoru: Sistemdeki büyük veri üzerine yapılacak veri analiz ve yapay zeka işlemleri bu bileşen ile gerçekleştirilecektir.
    • Akan Veri ve/veya Toplu Veri üzerine Dağıtık Küme Hesaplama: Bu modüller aracılığı ile alt modüllerden gelen akan (streaming) veya toplu (batch) IoT verileri dağıtık/paralel olarak bellek içinde gerçek zamanlı bir şekilde işlenebilecektir (cluster computing).
    • Makine Öğrenme Modülü: Bu modül aracılığı ile akan ve toplu veri üzerinden uygulamaya özgü makine öğrenme algoritmaları çalıştırılabilecektir.

Veri Katmanı

Tüm sistemin verilerinin tutulduğu katmandır.

  • Veri Tabanı: Sistemdeki verilerin tutulduğu temel veri tabanıdır. Sistemin hatalara karşı dayanıklılığını artırmak için dikey ve yatay olarak ölçeklendirilebilecektir. SQL veya NoSQL veri tabanları kullanılır.
  • Zaman Serisi Veri Tabanı: Sistemdeki en temel özelliklerden biri de sürekli akan IoT verisinin olmasıdır. Performansı artırmak için ayrıca Zaman Serisi Veri Tabanı oluşturulması gerekmektedir. Yukarıda bahsedildiği gibi aynı şekilde hatalara karşı dayanıklılığını artırmak için dikey ve yatay olarak ölçeklendirilebilmelidir. SQL veya NoSQL veri tabanları kullanılır.

Yönetim Katmanı

  • Sistem Gözetleme Modülü: Akıllı Şehir Merkez Yazılımındaki bileşenlerin performanslarının ve çalışma statülerinin gerçek zamanlı olarak görüntülenebildiği bileşendir.
  • Küme Yönetim ve Ölçeklendirme Modülü: Akıllı Şehir Merkez Yazılımındaki tüm bileşenlerin yüklenmesinin, durdurulmasının ve yük durumuna göre ölçeklendirilmesinin gerçekleştirildiği modüldür.
  • Kimlik ve Yetki Yönetim Modülü: Sistemdeki kullanıcıların kimlik ve yetkilerinin yönetiminin yapıldığı modüldür. OpenID Connect ve OAuth2 standartları kullanılmaktadır.
  • Denetim Modülü: Sistemdeki tüm kullanıcı olaylarının denetlenebildiği (audit log) güvenlik modülüdür.
  • Güvenlik Modülü: Akıllı Şehir Merkez Yazılımındaki tüm güvenlik şifreleme işlemlerinin gerçekleştirildiği bileşendir.

Algı Katmanı

  • Bağlantı Yönetimi ve Geçit (Gateway) Yazılımları: Mevcut şehir sistemlerinden veri alan bileşendir.
  • IoT Sensörleri ve Cihaz Yönetimi: IoT Sensörleri ve cihazlarıyla iletişimden sorumlu bileşendir. Cihazların bulunması, anlık durumlarının görüntülenmesi, sisteme eklenmesi ve çıkarılması, ölçüm verilerinin alınması ve komut gönderilmesi işlemlerinin gerçekleştirildiği bileşendir.