Sistem İşleyişini Temel Paket Mimarisi¶
Özet¶

-
Api katmanı doğrudan amacına hizmet eden database tabloları ile iletişim kurarak işlemleri kayıt altına alma ve dışardan endpointler ile erişilmesini sağlar.
-
Context katmanı doğrudan tsqlcontext yapsını kullanabilmek için kullanılır.
- Model katmanı doğrudan database üzerinde bulunanan tablolarının ve viewlerin c# yansımalarını ve diğer dışardan alınan bilgilerin sablonlarını tutar.
- UnitTest katmanı api, context ve model projeleri içerisindeki kodları test etmek için kullanılır.
- Web gateway üzerinden apiler ile haberleşirip işlemleri yapmak için kullanıcılara yönelik arayüz sunar
Alpata.Helper¶

-
Configurations en önemli AddAlpataBase ve UseAlpataBase methodlarını saklar bu methodlar sistemin çalışması ve izlenmesi için gerekli tooların başlangıç bilgilerini appsettings üzerinden alıp set eder.
-
DbDiff opendiff gibi c# modelleri üzerinde eklenen alanları db üzerinde göndermek için kullanılır.
-
DevExpress DataSourceLoadOptions modelini tutar.
-
DistributedTracing dağıtık request takibinin sağlanması için kullanılır.
-
Middleware her requesting bu katman üzerinden geçip AlpataBaseException gibi yapıların çalışması için kullanılır.
-
Documentation modeller üzerine yazılan summary bilgilerinin anlık okunmasını için kullanılır.
-
Enums sistem üzerinde kullanılan ortak tipleri saklar.
-
GenericController ortak methodları tutar. AlphaApiController Create, Update, Delete, Get, GetWithFilter, GetById methodlarını türetir. ApiController DbContext üzerinden base alınırsa appsettings üzerindeki database bağlantısını IConfiguration üzerinden base alınırsa nosqlservice üzerindeki database bağlantısını işletme koduna göre alır. Bir request geldiğinde OnActionExecutionAsync methodunda token kontrolü yapar sonrasında token içerisindeki işletme koduna göre database bağlantısını eğer IConfiguration üzerinden türetilmişse yapar.
-
LogManagement işlemlerin graylog üzerinde kayıt altına alınması için kullanılır.
-
Options octaoptions modelinin oluşturulması için gerekli methodları tutar. Options nosqlservice ve database ile doğrudan bağlıdır. Set işlemi yapıldığında ilk nosqlservice üzerine işletme - firma - şube ve modul bilgisine göre kayıt eder sonrasında tbloptions tablosuna kayıt ekler veya günceller.
-
Security sistem üzerinde şifrelenip kullanılması gereken şifreleme methodları için kullanılır.
-
ServiceDiscovery consul üzerine register olabilinmesi için gerekli methodlar için kullanılır bu işlem sadece api çalıştırıldığında startup methodunda kullanılır.
-
Services Database, Options, NoSqlService gibi yapıların crud işlemlerini tutar.
-
Webhook base istek şablonudur.