Açık Mimariler 4-Veri Mimarisi

Huseyin Kutluca
Yazılım Mimarileri
4 min readOct 8, 2020

Dünyanın yeni petrolüveri’ kavramı verinin önemini vurgulamak için kullanılan bir deyiştir. Sistemler birbiri ile entegre oldukça veri mimarisinin önemi artmaktadır. Günümüzde Akıllı Şehirler, Endüstriyel Nesnelerin İnterneti, Sistemlerin Sistemi Entegrasyonu ve makine öğrenmesi alanları verinin etkin bir şekilde işlenmesini öne çıkartmaktadır. Geleneksel kurumsal mimarilerde verinin veri tabanında etkin olarak tutulmasını ve erişilmesini temel alan Veri Modelleme temel önemde idi. Günümüzde ise verinin nasıl toplanacağı, saklanacağı, dönüştürüleceği, dağıtılacağı ve kullanılacağını tanımlamak üzere veri modeli, kurallar ve standartların belirlendiği daha kapsamlı kavrama Veri Mimarisi denmektedir.

Veri mimarisi, model tabanlı geliştirme, servisler ve sistemler arası ara yüzleri tanımlama, entegrasyon ara yüzü tanımlama ve veri saklama gereksinimi tanımlama için kullanılabilmektedir.

Veri mimarisi birlikte çalışabilirliği sağlamak üzere açık mimari sistemler için de büyük öneme sahiptir. Askeri Araçlar için Yazılım Mimarisi (GVA) veri yapılarını her bir alanına ve nasıl yayımlanacağına kadar tanımlamıştır. Bunu bileşenler arası kullanılacak DDS ara katmanı tiplerini ve bu tiplerini iletişimi sırasında kullanılacak servis kalitesi özelliklerini tanımlayarak yapmıştır. Böylelikle farklı model cihazlar sisteme ortak veri modelini kullanarak kolaylıkla entegre edilebilmektedir.

Öte yandan alan özel veri yapıları, semantik anlamı ve veri biçimi vb. tanımlamak yerine FACE daha geniş bir yaklaşım benimsemiştir. FACE yaklaşımında genellenmiş bir veri modelleme dili ve çerçevesi tanımlanmıştır. Her bir uçak projesi bu modele göre kendi uygulama özel veri yapılarını tanımlaya bilmektedir. FACE Açık sistemlerde veri mimarisi, sistemdeki bileşenler arası birlikte çalışabilirliği sağlamak üzere;

  • kritik ara yüzleri tanımlama,
  • veri modelleme dile oluşturma ve
  • platform ve üreticiden bağımsız bir veri mimarisi tanımlama

yoluna gitmiştir.

Veri mimarisinin biçimsel olarak (formal) tanımlanması titiz bir iş olarak karşımıza çıkmaktadır. Bir defa tanımlandığında ise makine okunabilir modeller üzerinden veri yapıları ve iletişim kalıpları kolaylıkla araçlar yardımıyla oluşturulmakta ve entegrasyon hatalarını en aza indirmektedir.

FACE Paylaşılan Veri Modeli, alan özel veri modeli tanımlama için temel yapıları oluşturur. FACE Paylaşılan Veri Modeli kendisi meta model üzerine geliştirilmiştir. (EMOF, XMI ve OCL). Amaç verinin semantik olarak anlamını tanımlayarak farklı şekillerde anlaşılmasının önüne geçmektedir.

3 Seviyeli Veri Modeli

Üç seviyeli tanımlama yaklaşımı uzun yıllardır ilişkisel veri modelleme kavramı ile birlikte kullanılan bir kavramdır. Bu üç seviyeli modeli formal tanımlamak üzere Open Group tarafından 2019 yılında Open Universal Domain Description Language (Open UDDL) Edition 1.0 standardı olarak yayımlanmıştır.

Kavramsal Veri Modeli verinin anlamını gözlemci bakış açısından tanımlar. Bu çalıştığımız iş alanında ilgilendiğimiz özellikleri ifade eder. Bu özellikler sınırlı kapsam (bounded context) felsefesi ile belirlediğimiz özelliklerdir. Temelde alan modelleme ile kavramsal modelleme birbirine yakın kavramlardır.

Bileşen(entity), gözlemlenebilir özellik (observable), ilişki (association ), bakış açısı (View or Query) şeklinde ilgili ananın kavramsal tanımı yapılır. Bileşenler kişi, ürün gibi birimler Bileşenler oluşturur. Gözlemlenebilir özellik bu bileşenlerin boyut, açı, sayı, konum ya da ağırlık gibi ölçülebilir özelliklerdir.

Mantıksal Veri Modeli ise kavramsal modeli birim, ölçüm, referans noktası, çevrimler ilişki ve kısıtlar gibi bilgilerle destekler. Mantıksal veri modeli entegratör ve geliştirici açısından kritik bilgileri içerir.

Platform Veri Modeli ise verinin geliştirme için kullanılabilmesini sağlamak üzere sayısal, reel vb. tiplerini ve daha dizi ve struct gibi birleşik veri yapılarını belirler.

Bu Platform Veri Modeli doğrudan IDL tanımlama diline çevrilir ve bu IDL den ilgili programlama diline (C, C++, Java) geçiş IDL derleyicileri tarafından sağlanır.

Taşınabilir Birim (Servis) Modeli

FACE de hangi katmanda olursa olsun taşınabilir bileşenler Taşınabilir Birim (Unit of Partability) olarak adlandırılır. Bu Taşınabilir Birimler veri modelinde Taşınabilir Birim, Bileşen Çerçevesi (Component Framework), Yayımla Abone Ol Bağlantıları, İşlemci Sunumcu Bağlantıları ve görev yapısı olarak tanımlanır. Bu servis tabanlı mimaride servisin ara yüzlerini ifade eder.

Entegrasyon Modeli

Entegrasyon Birimleri Taşınabilir Birimlerin birbiri ile olan ilişkilerini ve veri alış verişlerini ve veri dönüşümlerini tanımlar. Bu yapıda Taşınabilir Birim Uygulamaları (Unit of Portability Instance) arası bağlantılar bulunur. Benzer şekilde bu modeli servisler arası entegrasyon olarak görebiliriz.

Referanslar

  • FACE™ Technical Standard, Edition 3.0,, The Open Group
  • Reference Implementation Guide for FACE™ Technical Standard, Edition 3.0, Volume 3: Data Architecture, The Open Group
  • Open Universal Domain Description Language (Open UDDL) Edition 1.0,2019, The Open Group

--

--

Huseyin Kutluca
Yazılım Mimarileri

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