Teknik ve Fonksiyonel Yapı (19 Kasım 2013)

Download Report

Transcript Teknik ve Fonksiyonel Yapı (19 Kasım 2013)

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
Seri hale
dönüştür
Sunucu
SQL Server,
Oracle
Tekrar
nesneye
dönüştür
İstemci
.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.
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
« Miras Alır,
Referans Alır »
Modül Kısa
Adı + V
Projesi
«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.