Biliyorsunuz ki nesnelerin İnterneti günümüzde oldukta yaygın kullanılan bir teknolojidir. İnternet bağlı bu tarz sistemlerin genel İnternet alt yapısına bağlı olmasından bahsedeceğim.Bu postumda OpenAlt Çek cumhuriyetindeki Linux konferansında bahsedilen bir IoT mimarisidir.
IoT Mimarisi
İnternet ağ yapısına bağlı kenar cihazlar(Aklınıza gelebilecek küçük cihazlar) bağlanabilir şekildedir.Genellikle, Gateway , olası donanım ve satıcıya özel protokolleri, cihazlardan entegrasyon düzeyinde birleştirilmiş ve kolay kullanılabilir bir yönteme dönüştürür. Farklı türlerde birden fazla Gateway olabilir,farklı lokasyonlarda,hatta TCP kullanan bazı akıllı cihazlarında olması mümkündür.Bir Gateway’in çok önemli mantıksal işlevi bir veri toplayıcı, bir yönlendirici ve bir mesaj tercümanı gibidir.
Ardından aşağıdaki mimari içerisinde Integretion komponenti görülmektedir.Bu kısımda temel iş mantığı (business logic) yer almaktadır. SOA( Service Oriented Architecture ) prensipleri burada kullanılabilir ve kullanılmalıdır.
Daha sonra Entegrasyon bileşeni, JBoss Business Process Management System gibi karmaşık bir sistemle iletişim kurabilir. Karar verme ve gelişmiş veri analizi burada yapılır.
Gateway ve Integration bileşeni arasındaki gerçekte uygulanmış olduğundan her hangi bir fark olunmadığı görülmektedir.
İşte tamda burada bir mikro hizmetin amacı ve özellikleri, sistemin oluşturulması sırasında geliştiriciler tarafından belirlenir. Mikro hizmetlerin kök hücrelere benzetildiğini söyleyebiliriz. Mikroservisler (hem de kök hücreler) nerede ve nasıl kullanıldığına bağlı olarak uzmanlaşmıştır.
Entegrasyon
Bulldog kütüphanesi, kenar cihazları ile kontrol ve iletişim kurar. Bu kütüphane, geliştiricilerin kodlarını yeniden yazmalarına gerek kalmadan uç aygıtları ve ARM kartlarını değiştirmelerine izin vermek için bir soyutlama düzeyi sağlar.
Verileri anlamlı bir protokole dönüştürmek için, bir Apache Camel bileşenleri kümesi olan Silverspoon’u sağlanıyor. Bunlar, cihaza özel protokoller ve dış dünya arasında Ağ Geçidi sağlar. Apache Camel’in yönlendirme, genişletilebilirlik ve entegrasyon ve mesajlaşma yetenekleri nedeniyle IoT ağ geçitleri için mükemmel bir seçim olduğuna düşünülmektedir. Bu nedenle Apache Camel için bir Bulldog bileşeni kullanılır.
Analitik için NoSQL veya zaman serisi veritabanları (örn. InfluxDB) ve ElasticSearch, Grafana veya Kibana gibi modern analiz araçlarıyla entegrasyonu önerilmektedir.