SGB.NET’İN TEKNİK ALTYAPISI Gülistan SEVGİ
TEKNİK ALTYAPISI KISA ÖZETİ Sgb.Net web tabanlı bir projedir. SGB.Net projesi teknolojik altyapı olarak Microsoft .Net Remooting teknolojisini kullanmaktadır. Veritabanı yönetim sistemi olarak hem ORACLE hem de Microsoft SQL server kullanımını desteklemektedir. SGB.Net de şematik olarak bu iki teknolojinin etkileşimi gösterilmektedir.
Web sunucusu ve sql sunucusu aynı server üzerinde olabileceği gibi farklı sunucular üzerinde olabilir. Web sunucusundan sql server sunucusuna bağlantı için gerekli bilgiler web sunucusu içinde bulunan web.config dosyası içinde bulunmaktadır. Remooting teknolojisinde istemci ve sunucu aynı web sunucusunda olabileceği gibi sunucu üzerindeki yükü azaltmak için farklı sunucularda da olabilir.
.Net Remooting’in Şematik Gösterimi Tekrar nesneye dönüştür Seri hale dönüştür Sunucu İstemci SQL Server, Oracle
.Net Remooting .Net remooting yapısı içinde istemciden bir nesne için sunucuya bir istek gönderildiği zaman sunucu bu nesnenin bir kopyasını oluşturup seri hale dönüştürdükten sonra istemciye gönderir. İstemci tarafında ise seri olarak gelen nesneler tekrardan nesneye dönüştürülüp kullanılır
Veritabanı Yapısı
Veri tabanı Kısa Açıklama Veri tabanı sunucusu içinde her modül için ayrı bir veri tabanı oluşturulur. Her modül için hangi veri tabanı sunucusuna ve bu sunucudaki hangi veri tabanına bağlanılacağı web.config dosyası içinde bulunan veri tabanı bağlantı cümleciğinde gösterilen bilgiler kullanılarak bağlantı sağlanır.
SGB.NET’İN FONKSİYONEL ALTYAPISI
Genel Açıklamalar SGB.Net içinde birden fazla modül bulunmaktadır. Her modül için ayrı bir proje oluşturulur. Modüllerin ortak olarak kullanacağı DLL (Dynamic Link Library=Dinamik Link Kütüphanesi) var ise bu DLL ‘ortakDLL’ adındaki dosya içinde konulur. SGB.Net’in yazılım geliştirici bilgisayarındaki dosya görünümü aşağıdaki gibidir
D:\inetpub\wwwroot\sgb.netv2
D:\inetpub\wwwroot\sgb.netv2\Istemci Klasör yapısı içinde kodlar iki kısma ayrılmıştır. Bu bölümler yukarıdaki resimde görüldüğü gibi istemci ve sunucu adındaki iki bölümdür. ‘İstemci’ klasörü içinde kullanıcı taraflı ara yüzler ve bu ara yüzlere ait java script ve c# kodları bulunur. İstemci klasörü içinde modül kodlarının tutulduğu yapı aşağıdaki gibidir.
D:\inetpub\wwwroot\sgb.netv2\Istemci
D:\inetpub\wwwroot\sgb.netv2\Sunucu Sunucu taraflı kodların tutulduğu klasör ise ‘sunucu’ klasörüdür. Sunucu klasörü içinde her modül için ‘modül kısa ismi’ ile başlayan ve ‘servis’ ile biten klasörler bulunmaktadır. Bu klasörlerin her biri ilgili modül ile ilgili kod dosyalarını içermektedir. Sunucu klasörü içinde modül kodlarının tutulduğu yapı aşağıdaki gibidir.
D:\inetpub\wwwroot\sgb.netv2\Sunucu
Sunucu Devam Sunucu klasörü içinde sunucu tarafında çalışacak kodlar her modül için ‘Modül kısa ismi’ ile başlayan ve C, I, V ile biten üç farklı klasör bulunur. Örneğin harcama modülü sunucu kodları yapısı aşağıdaki gibidir.
Modül Genel Yapısı .Net geliştirme ortamında SGB.Net’ in kod yapısı aşağıdaki gibidir Modül(Solution) Kullanıcı Arayüz Projesi Modül Kısa Adı + C Projesi Modül Kısa Adı + I Projesi Modül Kısa Adı + V Projesi « Miras Alır, Referans Alır » «Referans Alır»
Modül Genel Yapısı Yukarıdaki şematik yapının harcama modülü için gösterimi aşağıdaki gibidir.
Kullanıcı Ara Yüz Katmanı Modül İsmi Projesi (Kullanıcı Arayüz Katmanı) Örneğin HarcamaSurecleri Kullanıcı verilerinin okunduğu ve gösterildiği kısımdır. Yani .aspx , .js , .css gibi uzantılara sahip dosyaları içeren projedir.
İş Katmanı Modül İsmi + C Projesi (İş Katmanı) Örneğin HRCServisC Bu proje içinde kullanıcı tarafından girilen verilerin uygunluk kontrolleri yapılır. Girilen veriler istenilen kriterleri taşıyor ise veri tabanı katmanına iletilirler. Modül ismi + I ara yüzünden miras alır ve bu ara yüzün fonksiyonlarının görevlerini yerine getirir.
İş Katmanı ve Veri Tabanı Katmanı Arasındaki Ara Yüz Katmanı Modül İsmi + I Projesi (Ara yüz katmanı) Örneğin HRCServisI Bu proje içinde modül genelinde kullanılacak olan ortak sınıflar, enumlar ve fonksiyonlar bulunmaktadır. ProjeC ve ProjeV projeleri bu arayüzü referans olarak alırlar. ProjeC ek olarak bu ara yüzden miras alır ve gerekli fonksiyonların görevlerini yerine getirir.
Veri Bağı Katmanı Modül İsmi + I Projesi(Veri bağı katmanı) Veri tabanı ile ilgili işlemlerin yapıldığı katmandır. ProjeC(iş katmanı) içinde kontrol edilen veriler doğru ve tutarlı ise bu katmana iletilir. Bu katmanda veriler veri tabanına yazılır veya veri tabanından veriler okunur ve iş katmanı aracılığı ile kullanıcı ara yüz katmanına iletilir.