Monday, November 29, 2021

ÇOK KATMANLI MİMARİ






Çok katmanlı mimari,uygulamaları mantıksal ve fiziksel bilgi işlem katmanları halinde düzenleyen, iyi yapılandırılmış bir yazılım uygulama mimarisidir


                 Katmanları yakından incelememiz gerekirse;


Entity Katmanında veri tabanı işlemlerimizin yapıldığı tabloları içeren classların olduğu katman olduğunu görürüz.

Data Access Katmanında ise veri tabanında insert update delete gibi işlemlerin yapıldığı kodlar ve yine bağlantının gerçekleştiği context sınıfmız yer almaktadır.Ayrıca Dto işlemleri de yine burada bulunmaktadır. 


Business Katmanında İş kuralları yer alır Bundan kastımız programımız kullanıcı isteklerine cevap vermeden önce bu kuralları uygulamalıdır.(şartlar sınırlandırmalar vb)Bunun yanında şifreleme ve yetki işlemleri de yine bu katmanda yapılmaktadır.



 


UI/API Katmanını kullanıcı iletişim katmanı olarak adlandırabiliriz.Bu işlemleri web sayfası formlar ve consol uygulamaları üzerinden yapabiliriz.Özetle Post ve Get işlemlerinin ve veri alışverişinin yapıldığı katmandır 




                    DETAYLAR İÇİN GİT ÜZERİNDE YER ALAN 
                          PROJEMİZE DE GÖZ ATABİLİRSİNİZ

                                              PROJE LİNKİ

                                                             








IDENTITY SERVER NEDİR ?




Bilindiği üzere Identy Server güvenlik işlemleri için kullanılan bir frameworktür.İşlemlerini Token Servisler yaparak gerçekleştirir.Kullandığımız birçok web uygulaması kullanıcı adı ve şifreden oluşan authentication(kimlik doğrulama) işlemi içermektedir. Söz konusu uygulamalar birden fazla olduğu vakit bu kimlik doğrulama işlemi sisteme implement edilmelidir Çeşitli zorlukları sebebiyle bu çok tercih edilen bir yöntem değildir.En mantıklı seçim bir SSO implementasyonu yani seçili bir uygulama, geliştirdiğiniz diğer uygulamalarla haberleşip işlemi başarıyla noktalar. Bu sayede kullanıcılar tüm sistemler için tek bir şifreyle istedikleri kadar giriş ya da geçiş yapabilirler.

Şimdi gelin sistemin nasıl çalıştığına göz atalım. Kullanıcı girişi sonrasında IIS girilen kimliği diğer uygulamalara iletir uygulamalar ise birbirleri arasındaki çağrılarda identity serverdan aldığı tokenı eklerler





Biraz da web api kavramına değinecek olursak, sahip olduğunuz veri ve servisleri farklı cihazlarda kullanabilmenizi haberleşmelerini sağlayan frameworkler olarak tanımlayabiliriz.

Browserlar web uygulamalarıyla ve web uygulamaları da web apilerle iletişim halindedir. Ayrıca birçok farklı türde uygulama tarafından da kullanılabilmektedir. Bu yüzden Web-API güvenliği geliştirilirken sadece bu önekler düşünülmemelidir.

Ayrıca USER CLIENT SCOPE gibi kavramları ne olduğunu bilmekde yine identity server başlığı altında önem arz etmektedir.

Bu noktada IIS SERVER ile kimlik doğrulama işlemi gerçekleştirilmeden önce USER CLİENT SCOPE kavramlarına dikkat edilmelidir.

Kullanicilar, IdentityServer üzerinde kayitli bir istemciyi kullanarak verilerine erisebilirler. Ancak bu noktada kullanici bilgilerinin, IdentityServer a verilmesi gerekmektedir

İstemciler ise IIS SERVER dan TOKEN isterler ve kullanıcı uygulamalarını kullanarak kimlik doğrulaması yaparlar.

Scopes istemcilerin erişmek istedikleri kaynaktır Genelde kullanıcı adı ve parolasından oluşmaktadır...

ELASTICSEARCH LOGSTASH KIBANA (ELK)



         



Farklı süreçlerde oluşan , kullanıcıların hareketlerini gözlemleme isteği ve sistemlerdeki güvenlik gereksinimleri gibi durumlar sebebiyle gerçekleştirilen log toplama işlemi, beraberinde yeni teknolojiler kullanma ihtiyacı ortaya çıkarmıştır.




Peki bu sistem nasıl çalışıyor Gelin birlikte inceleyelim Kuyruğa düşen veriler Logstash ile indeksleme işlemine tabi olur Ardından verilerde arama yapma ekleme silme gibi işlemleri ElasticSearch ile yapmanıza olanak sağlar Kibana kısmındaysa toplanıp anlamlı hale gelen verilerin, analizini yapılıp görselleştirme işlemi gerçekleştirilir.





Ayrıca Log incelerken sunucu üzerinden dosya indirilmemesi , tek bir url ile bütün logların incelenebilmesi ve inceleme yapılırken de sunucu üzerinden dosya indirilmemesi gibi sebepler tercih edilme nedenleri artasındadır.







İşin kulurum kısmına geçtiğimizdeyse birkaç detaya dikkat etmeniz gerekmektedir.ElesticSearch’ü yum üzerinden sisteme entegre ettikten sonra Logstash’i ElasticSearch’ün reposu üzerinden kuruyoruz.Son olarakda Kibana’yı sisteme dahil ederek işlemlerimizi tamamlıyoruz




Sunday, November 28, 2021

SQL VERİ TABANI İŞLEMLERİ

  

Bilindiği üzere SQL, veri tabanında kullanım sorgulama tanımlama yönetim ve kontrol gibi işlemleri yapmanıza olanak sağlayan bir dildir.



Ayrıca modüllerin farklı dillere gömülmesine olanak tanır.Hem tescilli olması hem de açık kaynak olmasıda yine tercih edilme sebeplerindendir.

Kullanılan yazılımları inceleyecek olursak MSSQL, FİREBİRD,ACESS karşımıza çıkacaktır.


Yukarıdaki işlemleri detaylandıracak olursak sorgulama kısmında SELECT veri kullanımında İNSERT UPDATE DELETE, veri tanımlamak istendiğinde CREATE ALTER DROP ve veri kontrolü için GRANT REVOKE kullanıldığını görürüz.

 

Veritabanı Oluşturma

 

Veritabanı Seçme

-Okul veritabanını seçiniz

 

SQL Tablo Oluşturma

–Ogrenci adında tablo oluşturup, ad ve soyad alanlarını ekleyelim

Tabloya Alan Ekleme

–Ogrenci tablosuna Yas sütunu ekle veri girişini zorunlu tutun.

SQL Tablodaki Sütunu Güncelleme

–Ogrenci tablosundaki isim sütununundaki karakter sayısını 25 karaktere ve boş olmayacak şekilde değiştirin


SQL Kayıt Ekleme

–Ogrenci tablosuna 1 tane kayıt ekleyin

SQL Çoklu Kayıt Ekleme

–Ogrenci Tablosuna 2 tane kayıt ekleyin

SQL Sorgulama

–Ogrenci tablosundaki tüm alanları listeleyin

SQL Sorgulama

–Ogrenci tablosundaki isim ve soyisim alanlarını listeleyin

SQL Şartlı Sorgulama

–Ogrenci tablosundaki adı Ahmet olan kayıtları listeleyin

-OGrenci tablosundaki adı Ahmet olmayan kayıtları listeleyin

Not: Bazı SQL versiyonalarında <> yerine != ifadesi kullanılmaktadır.

 SQL Like Sorguları

-Ogrenci tablosundaki soyadı “A” işe başlayan müşterileri listeleyin

 

-Ogrenci tablosundaki adı içinde “er” geçen kayıtları listeleyin

SQL Sıralama ASC, DESC

–Artan sıralama ASC, Azalan sıralama DESC
-Ogrenci tablosundaki kayıtları ad a göre artan sıralamada listeleyin

SQL Kayıt Güncelleme

–Ogrenci tablosundaki Soyismi Tekin olanların ismini Ahmet yapın

 (SQL Server, Ms Access, MySQL)

SQL Kayıt Silme

–Ogrenci Tablosundaki Soyismi Tektaş olan kayıtları silin

SQL Tablo Silme

–Ogrenci Tablosunu silin

 


KATMANLI MİMARİ - CRUD İŞLEMLERİ

 Önceki yazılarımızda .net core teknolojisini ve mvc mimari yapısını incelemiş önemli noktalarından bahsetmiştik. Bu yazımızda ise veri taba...