SAP Press'ten çıkan kitabım hakkında SAP Forum Dergisi'nde yayınlanan makale
1 of 1
Downloaded 17 times
More Related Content
ABAP mimarisi hakkında yeni bir kitap: "Design Patterns in ABAP Objects"
1. 27
ABAP MİMARİSİ
HAKKINDAYENİ
BİR KİTAP:“DESIGN
PATTERNS IN ABAP
OBJECTS”
Dr. Kerem Köseoğlu
Freelance SAP Yazılım Mimarı
Bir bina inşa etme ihtiyacı ortaya
çıktıktan sonra, işe mimari tasarım
ile başlanır. Ne yaptığını bilen
tecrübeli bir mimar binanın tasarımını
tamamlamadan inşaat başlamadığı gibi,
mimarlık görevini de sadece konunun
uzmanı üstlenir. İşin sahibi de, işçi de
mimarlık işini yapmaz.
Özüne baktığımızda; aynı durum
yazılım dünyası için de geçerlidir.Yeni
bir yazılımın geliştirilmesi de mimari
tasarım ile başlar.Yazılım mimarisi,
ayrı bir uzmanlık konusudur; analist,
danışman veya geliştirici olmanın
ötesinde bir tecrübe ve eğitim gerektirir.
Ancak mimari tasarım, pek çok durumda
kullanıcı-analist-danışman-geliştirici
arasında bir yerlerde erimektedir. Başlı
başına bir uzmanlık konusu olan yazılım
mimarlığı, aslında projelerde ayrı bir rol
olarak düşünülmelidir.
Tecrübeli bir mimarın elinden çıkan
bir yapı; güçlü, esnek, geliştirilebilir
ve tekrarsız parçalardan oluşacaktır.
Bu yapıdaki parçalar birbirinden
bağımsız test edilebileceği gibi,
ihtiyaç değiştiğinde başka parçalarla
yer değiştirebilir veya ileride başka
ihtiyaçlarda tekrar da kullanılabilir. Bu da
şirketler açısından, daha düşük risk ve
maliyet ile daha kaliteli yazılıma sahip
olmak anlamına gelir.
Bu tarz bir mimari yaklaşım için,
Amerika’yı tekrar keşfetmeye gerek
yok.Yazılım dünyasında“Design
Pattern”adıyla bilinen hazır şablonlar,
sık karşılaşılan ihtiyaç ve problemlere
karşılık ortaya çıkmıştır. Zamanın
testinden geçen Design Pattern’lar,
dilden ve platformdan bağımsız olarak
tüm dünyada kullanılmaktadır.
Örneğin; bir programdaki olaylardan
bir başka programın da haberi
olması gerekiyorsa,“Observer
Design Pattern”bu konuda hazır
bir mimari şablon önerir. Alternatif
veri kaynakları söz konusuysa,“Data
Access Object”şablonu sayesinde iş
katmanı ile veri katmanı izole edilebilir.
Hafızayı zorlayacak programlar
için,“Flyweight”şablonu sayesinde
nesnelerin paylaşılması ve hafıza
ihtiyacının azalması sağlanabilir. Farklı
geliştiriciler tarafından ek özellik
eklenebilecek merkezi sınıflar,“Visitor
Design Pattern”sayesinde değişikliğe
kapalı ama geliştirmeye açık hale
getirilebilir. Değişik senaryolarda farklı
algoritmayla çalışması gereken bir
program için“Strategy Design Pattern”
kullanılabilir. Onay stratejisi belirlemek
gibi değişken koşullara bağlı karar
sistemleri,“Chain of Responsibility”ile
kolay ve esnek bir şekilde uygulamaya
alınabilir.
Design Pattern kadar, kaçınılması
gereken Anti-Pattern’ların farkında
olmak da mimari tecrübenin bir
parçasıdır. Örneğin; sorumlulukların
tamamını tek bir sınıfa yüklemek“Blob”
adı verilen zararlı bir Anti-Pattern’dir.
Programlar arasında kodları paylaşmak
yerine kopyalamak,“Copy-Paste
Programming”olarak adlandırılır. Alt
katmanların üst katmanlara bağımlı hale
getirilmesi,“Jumble”olarak etiketlenir.
Hiç kırılmadan yazılmış yüzlerce satır
kod,“Spaghetti Code”adı verilen bir
Anti-Pattern’dır.
Örnekler çoğaltılabilir. İşin özü; sık
rastlanan yazılım ihtiyaçları için, analist/
geliştiricinin tecrübesi kapsamında bir
anlamda“şansa bırakılmış”bir tasarıma
gitmek yerine, zamanın testinden
geçmiş Design Pattern’lar örnek alınarak
ve Anti-Pattern’lardan kaçınılarak daha
kaliteli bir mimari ile işe başlanabilir.
Bu konuda kaynak aradığınızda,
platform bağımsız veya SAP dışı
platformlara yönelik pek çok kitap
bulabilirsiniz. Ancak; doğrudan doğruya
SAP/ABAP platformu üzerinde Design
Pattern uygulamalarını anlatan kapsamlı
bir kitap, bu konuda eksikliği hissedilen
bir kaynak idi.
SAP Press’ten yayımlanan“Design
Patterns in ABAP Objects”adlı kitabımı,
tam da bu ihtiyaca yönelik olarak
kaleme aldım.Yaklaşık 400 sayfalık
bu kitapta, yazılım mimarisinin temel
modelleri olarak kabul edilen Design
Pattern’ların SAP/ABAP platformunda
nasıl uygulanabileceği incelenmektedir.
Her bir bölüm, 15 yıllık danışmanlık
tecrübemde içinde bulunduğum
projelerden alınmış örneklerden oluşan
vaka analizlerini de içermektedir.
Tam 27 Design Pattern’ın tasarım
şemaları ve kod örnekleriyle birlikte
incelendiği kitap, aynı zamanda yazılım
mimarisinin temel prensiplerini ve
sık yapılan mimari hataları da ortaya
koymaktadır.
Bir senelik titiz bir çalışmayla ortaya
çıkan ve piyasada yayınlanmış beşinci
eserim olan bu kitabı; programcılıktan
mimarlığa adım atmak isteyen ABAP
danışmanları kadar, daha esnek ve
sağlam fonksiyonel tasarımlar yapmak
isteyen modül danışmanlarına da
tavsiye ediyorum.
.................................................................................................................................................................. KÖŞE YAZISI