Klasik ABAP, Object Oriented ABAP ve Design Patterns

Bu yazıda; bana çok sık sorulan bazı soruları cevaplamak adına, SAP projelerinde klasik ABAP yerine Object Oriented yaklaşım kullanmanın faydalarından bahsedeceğim. Bunun yanı sıra, Object Oriented geliştirme yapmak isteyen bir programcının Design Pattern’lardan haberdar olmasının getirdiği avantajları ele alacağım.

Özet

Klasik ABAP ile yapılan geliştirmeler, yeterince esnek ve yeniden kullanılabilir olmamaktadır. Programda bir değişiklik istendiğinde veya programın bir parçasını bir başka noktada kullanmak gerektiğinde; canlı kullanılan kodlara müdahale edileceğinden geliştirme & test süresi uzayabilir ve ortaya hesapta olmayan yeni hatalar çıkabilir.

Object Oriented yaklaşım; geliştirmeleri yekpare yapılar olmaktan çıkarıp, Lego mantığında çok parçalı yapılara çevirmektedir. Bu küçük parçalar; güçlü, esnek, geliştirilebilir, yeniden kullanılabilir ve ikame edilebilir özellikte olmaktadır. Her bir parça; bir kez test edildikten sonra farklı geliştirmelerde tekrar tekrar kullanılabilmektedir. Bu yaklaşımla; geliştirme & test süreleri ve hata oranları azaltılabilir; dolayısıyla geliştirme maliyetleri düşürülebilir.

Design Pattern’lar, kendini zaman içerisinde ispatlamış hazır Object Oriented şemalardır. Bu şemaları tanıyan bir yazılmıcı; bir yazılım ihtiyacıyla karşılaştığında Amerika’yı baştan keşfetmek yerine bu hazır yapıları kullanmayı tercih edebilir. Bu yaklaşımla; Object Oriented kullanmanın avantajları katlanacaktır.

SAP’nin kendisinin de yeni geliştirmelerde Object Oriented yaklaşımı tercih ettiğini hatırlatarak; tüm yazılımcı ve yöneticilere klasik ABAP’tan Object Oriented ABAP’a evrilmeyi ve Design Pattern kullanmayı tavsiye ediyorum.

Continue reading →

OData Servisi Oluştururken Yapılan 10 Hata

Kısaca bahsetmek gerekirse oData servisi; SAP ile dış dünya arasında veri alışverişini sağlayan bir protokoldür.

SAP artık bütün web tabanlı iletişimi bu yeni protokol üzerinden yapmaktadır. Fiori uygulamalarının kullandığı servisler de oData servisleridir.

SAP danışmanları tarafından daha önceleri geliştirilen servislerde, örneğin soap web servislerde geliştiricinin servise müdahelesini çok düşük seviyede olurken, oData servisinde durum biraz daha farklı ve geliştiricinin dikkat etmesi gereken bir çok konu mevcut.

Gördüğüm kadarıyla son yıllarda SAP danışmanları oData servisi oluştururken kulaktan dolma yöntemlerle ya da sezgisel yöntemlerle, bu bence böyle olmalı şeklinde geliştirmeler yapıyor. Bunu yaparken de çok ciddi hatalar yapabiliyorlar.

Bugüne kadar karşılaştığım en ciddi 10 hatayı aşağıda paylaşarak, farkındalık oluşmasına katkı sağlamak istiyorum.

Continue reading →

PMI PMBOK6 (Body of Knowledge 6)

PMBOK6 vs PMBOK5

PMBOK 6. Baskı her baskıda olduğu gibi yenilikler ve değişikliklerle yayımlandı. İlk bakışta dikkatimi çekenler:

AGILE

En önemli eklenti sanırım Agile yaklaşımı ile ilgili ayrı bir ekin yayımlanmış olması. PMI ın aslında Agile için sunduğu PMI-ACP sertifikası için önerdiği PMBOK tarzında bir başvuru kitabı yoktu. Bunun yerine bir dizi referans kitap öneriyordu. Böylelikle ek gibi de olsa PMI onaylı bir başvuru kitabı oldu. Ayrıca her bilgi alanının başında da ilgili alanın agile/adaptive (çevik/uyarlanabilir) yaklaşımlar açısından incelendiği kısa bir bölüm eklenmiş. PMI standartlarının sektör/endüstri bağımsız olduğu düşünüldüğünde, proje yönetiminde genelde yazılım projeleriyle özdeşleşmiş gibi gözüken Agile yaklaşımının ne kadar yaygınlaştığının da bir göstergesi oldu.

Continue reading →