Açık Mimariler-1. Temel Özellikler

Huseyin Kutluca
Yazılım Mimarileri
6 min readJun 11, 2020
Sahil Güvenlik Gemisi TCSG Dost

Neden Açık Mimari

Açık Mimari, açık standartları kullanarak geliştirilmiş ve yeni bileşen ekleme, değiştirme ve yerine farklısını koyma ya da çıkartmayı kolaylaştırmış bilgisayar ya da yazılım mimarisi olarak tanımlanabilir. Açık olma donanım ve yazılım ara yüzlerinde yayımlanmış ve ücretsiz şekilde elde edilebilen standartların kullanılmasını ifade eder. Açık standart aynı standardı kullanan diğer firmalarında geliştirme yapmasına olanak sağlamaktadır.

Büyük çaplı karmaşık projelerde yeni bir ürünün geliştirilmesi, test edilmesi ve sahada doğru çalıştığının görülmesi zaman ve maliyet açısından kritik olmaktadır. Açık mimari konusunda öncü çalışmalar savunma sanayi sistemlerinin maliyetlerini düşürmek ve farklı firmaların çözümlerinin pahalı ve kritik projelerde kullanılmasını mümkün kılmak üzere oluşturulmuştur. Açık mimariler aynı zamanda çevik (agile) yaklaşımı da desteklemektedir. Daha önce bir defa üretilip yıllarca aynı konfigürasyon ile çalışan karmaşık sistemlerin daha sık şekilde kabiliyet yenilemesine de olanak sağlamaktadır.

Günümüzde Endüstriyel Nesnelerin İnterneti, IOT, IIOT akıllı şehirler gibi yaklaşımlar birlikte çalışabilirliği sağlamak üzere açık mimari tasarımları daha üst seviyeden zorunlu hale getirmektedir. Bu alanda kimi zaman referans mimari dahil bütünleşik bir standart öne çıkar iken kimi zamanda sadece birlikte çalışabilirliği sağlamak üzere ortak veri dağıtım standartları oluşmaktadır. Bu alandaki öne çıkan gereksinimlerden birisi de bütün kritik kararların merkezden alınması yerine Dağıtık Akıl (Distributed Intelligence) felsefesinin uygulanmasıdır. Dağıtık akıl yaklaşımı teknik bakış açısından uç IOT cihazların ürettiği verilerini doğrudan bulutta ya da merkezi sunucuda işlenmesine alternatif oluşturmaktadır. Bu yaklaşımda uç sistemlere yakın yerleştirilen sunucular ile Uç Bilişim (Edge Computing) mümkün olmaktadır. Uç bilişim günümüzün en gelecek vadeden teknolojik alanlarından birisi olarak görülmektedir.

Öne çıkan Açık Mimari standartları aşağıda verilmiştir (Bu standartlara ait referans mimariler sunum boyunca dağıtılmıştır.):

  • Future Avinonics Capability Environment (FACE): Aviyonik Sistemler
  • Open Field Message Bus (OPEN FMB): Güneş, Rüzgar vb Enerji Sistemleri
  • AUTomotive Open System ARchitecture (AUTOSAR): Otomotiv Yazılımları
  • Nato Generic Vehicle Architecture (NGVA): Askeri araçlar
  • Open Architecture Computing Environment (OACE): Gemi Komuta Kontrol sistemleri
  • Open Banking API: Bankacılık sistemleri

Açık Mimari Özellikleri Nelerdir:

Açık Sistemlerin genel özellikleri aşağıda listelenmiştir:

  • Açık ve ortak kabul görmüş standartların kullanımı
  • Arayüz protokol ve veri standartlarının kabul edilmesi
  • Standart servislerin belirlenmesi
  • Birden fazla üretici tarafından sağlanan ürünlerin kullanımı
  • En az çaba ile birlikte çalışabilirlik
  • Kolayca ölçeklenebilir ve güncellenebilir sistemler
  • Platformlar arası taşınabilir uygulamalar
  • Taşınabilir kullanıcılar(kullanıcıların aynı amaçlı farklı sistemlere kolayca adapte olması)

Açık Mimari ile Açık Kaynak aynı şeyi ifade etmemektedir. Açık kaynak yazılımlar bunların kaynak kodunun açık olmasını ifade etmektedir. Öteki yandan Açık mimari aynı ürüne farklı firmaların kendi ürününü geliştirip entegre etmesidir. Örneğin günümüzde kullandığımız bilgisayarlara PCI bus, PCI Express, VME gibi ara yüzlere sahip farklı donanım öğelerini kolayca entegre edebilmemiz bunların açık mimari için gerekli koşulları sağladığını ifade etmektedir. Böylelikle mevcut bir yazılıma üçüncü parti geliştiriciler veya firmalar tarafından yeni kabiliyet eklenebilmesi ve böylece firma bağımlılığı oluşmaması hedeflenmektedir. Donanımda sağlanan elektriksel ve protokol seviyesi standart ara yüzlerin yazılım ürünlerinde de olması hedeflenmektedir.

OACE-Gemi Komuta Kontrol Sistemleri

Referans Mimari Olarak Açık Mimariler

Açık Mimariler aynı zamanda ilgili alan için referans mimarilerdir. Genelde katmanlı mimari temelli fakat birbirinden bağımsız uygulama servislerini içerir. Referans mimaride o alanda hemen her sistemde yer alan servisler belirlenmiş ve bu servislerin de arayüzleri tanımlanmıştır. Bu referans mimariler yazılım mimarileri açısında önemli kazançlardır. Farklı firma ve yazılım mimarının bakış açısıyla oluşturulmuş sektörün en iyi pratiklerini kullanan olgun mimarilerdir. Bu mimariler aynı sektörde doğrudan çalışmıyor olsak bile inceleyip önemli bilgiler edineceğimiz yapılardır.

Örnek olarak uçak, helikopter gibi aviyonik sistemlerin açık mimari standardı olan Future Avinonics Capability Environment (FACE) mimarisini inceleyelim. Şekilde de görüleceği üzere farklı üreticiler tarafından üretilmiş donanımları ortak bir arayüz üzerinden uygulamalara veri sağlamak üzere Girdi/Çıktı Servisleri (IO Services Segment) tanımlanmıştır. Hemen her uçan sistemde yer alacağı düşünülen Grafik Servisleri, Sağlık ve Konfigürasyon platforma özel servis olarak adlandırılmıştır. İletişim katmanında DDS, CORBA gibi ara katmanlar üzerine ortak bir arayüz olarak İletişim Servisi tanımlanmıştır. Üst seviyede uygulama yazılımı seviyesi bütün uygulamalar bu iletişim katmanı üzerinden haberleşmektedir. Görüldüğü üzere uçağın pozisyonunun yönetimi, yakıt yönetimi ve radar bilgilerinden ortak birli üreten füzyon ortak servis olarak öngörülmüştür.

FACE-Aviyonik Sistemler

Geliştirilen Açık mimari sistemleri tasarımlarında aşağıdaki kalite öz niteliklerini ön planda tutmaktadır:

  • Uyumlanabilirlik (Farklı platformların gereksinimlerine uygulanabilirlik)
  • Modülerlik (Sistemden ayrılabilirlik, ya da eklenebilirlik)
  • Taşınabilirlik (Bir sistemden başka bir sisteme aktarılabilirlik)
  • Ölçeklenebilirlik (İhtiyaca göre daha büyük ya da daha küçük ölçekli olabilme)
  • Birlikte Çalışabilirlik( diğer sistemlerle etkin veri paylaşımı)

Tabi bunların ötesindeki esas kaygı sistemlerin maliyetlerinin düşürülmesidir.

Ortak Veri Modeli ve Protokoller

Açık sistem mimarisinin önemli özelliklerinden birisi de ortak veri modeli ve protokolüdür. Bu ortak protokol ve veri modeli farklı donanım ve yazılım servislerinin birlikte çalışabilmesini mümkün kılmaktadır. Ortak veri modeli ve protokol farklı teknolojiler kullanılarak ve firmalar tarafından geliştirilen bileşenlerin birbirleri ile veri alışverişi yapmasını olanaklı kılmaktadır.

Open FMB-Enerji

Ortak veri modeli sektörden ve kullanıcılardan oluşan uzmanlar tarafından titiz bir çalışma ile oluşturulur. Ortak veri modeli programlama dili ve teknolojiden bağımsız şekilde tanımlanır. Burada Alan Bağımsız Modelleme yaklaşımı ile XMI ya da Interface Definition Language (IDL) ile tanımlanır. Aşağıda güneş panelinin kendi enerji durumunu diğer bileşenlere iletmesi için OPEN FMB standardı tarafından tanımlanmış böyle bir model bulunmaktadır. Farklı firmalar tarafından geliştirilmiş ya da entegre edilmiş güneş panelleri sisteme aynı biçimde veri yayımlar ve okuyan bileşenlerde hangi firmanın cihazından geldiğinden bağımsız aynı biçimde veriyi alır.

Ortak veri modeli ile birlikte protokollerde standart olmaktadır. Standartlar genelde yayımla abone ol tabanlı teknolojileri iletişim protokolü olarak önermektedir. Çünkü bu ara katmanlar sisteme yeni bileşen eklemeyi, çıkartmayı ve bileşenleri entegre etmeyi kolaylaştırmaktadır. NGVA standardı DDS arakatmanını standart olarak önermektedir. Öte yandan OPEN FMB DDS, MQTT veya AMQP ara katmanlarından birisini kullanmayı önermektedir. Benzer şekilde OACE standardı DDS veya CORBA önermektedir FACE ise DDS dahil birden fazla protokolün kullanılabileceğini fakat bu protokoller üzerine Transport Servis katmanı koymuştur.

Bu ortak veri modeli ortak bir kuruluş veya devlet tarafından yönetildiği için değişiklikler kontrollü şekilde yapılır. Aviyonik sistem mimarisi FACE ve Askeri Araç Standardı olan NGVA böyle bir veri modelini en etkin olarak yöneten standartlardır.

NGVA-Askeri Araçlar

Açık Standartlar:

Açık standartlar konusunda öne çıkan kuruluşlar aşağıda verilmiştir:

Object Management Group (OMG) : UML,SYSML gibi modelleme standartları, DDS, CORBA gibi arakatman standartları, ALMAS olarak isimlendirilen Alarm Yönetim Servisi, Open Architecture Radar Interface Standard (OARIS) isimli radar, EO gibi sensör arayüzü standardı olmak üzere farklı alanlarda standartlar oluşturmaktadır.

Institute for Electronics and Electrical Engineers (IEEE) : POSIX işletim sistemi servisleri, 802.X kablolu ve kablosuz ağ standartları başta olmak üzre yüzlerce standart yayımlamaktadır.

Organization for the Advancement of Structured Information Standards (OASIS): Web Servisleri standartları yayımlamaktadır.

Open Group: Future Avinonics Capability Environment (FACE) standardı gibi standartları yayımlamaktadır.

Bu standart organizasyonları dışında farklı sektörlerin kendi standart organizasyonları sektörde hizmet veren firmaların katılımları ile kurulmakta ve sektörel standartları oluşturmaktadır.

Açık Mimariler, işletim sistemi (POSIX), veri tabanı (ODBC, JDBC), video /resim paylaşımı(Mpeg4, Jpeg 2000, RTSP ), arakatman (DDS, CORBA, MQTT, AMQP) ile ilgili arayüzleri de standart olarak öngörmüştür.

Açık Mimarinin Avantajları

Savunma sistemleri, otomotiv, enerji gibi büyük çaplı sistemlerde yeniden kullanımı ön plana alan, birden fazla firmanın aynı ürün için bileşen geliştirmesini olanaklı kılan bu Açık Mimari yaklaşımı benimsenmiştir.

Açık sistemler farklı üreticilerin rekabet etmesini sağlamaktadır. Böylelikle tasarım, teknoloji ve fiyat olarak en iyi çözüm önermeleri sağlanır. Büyük firmaların gücünü kullanarak piyasaya hakim olmaları önlenir. Kritik bileşenleri birden fazla firma üretip geliştireceği için büyük projeler açısından risk düşürücü olarak işlev görmektedir.

Kurulan mimariler ekip çalışması ile oluşturulmakta ve sektörün en iyi pratiklerini uygulamaktadır. Bu mimariler düşük bağımlılık ve yüksek uyumlu bileşen mimarisini önererek sistemlerin karmaşıklığını düşürmektedir.

Autosar Adaptive-Otomobil

--

--

Huseyin Kutluca
Yazılım Mimarileri

Highly motivated Software Architect with hands-on experience in design and development of mission critical distributed systems.