SAP'nin Yeni Yaklaşımı - CDS View

Image

SAP yazılımcılarının son yıllarda en çok karşılaştığı terimlerden birisi şüphesiz CDS (Core Date Services) View’lardır. Uzun yıllardır SAP ABAP yazılım geliştiriciliği yapan kişilerin hem alışkanlıklar sebebiyle hem de CDS’lerin yeterli özellikleri barındırmaması sebebiyle ilk başlarda kullanmayı bir hayli ihmal ettiği bu yeni yaklaşıma hala gerektiği kadar önem verilmiyor. Oysa ki SAP, CDS View’lara her geçen gün, her yeni versiyonda bir takım özellikler daha ekliyor ve kullanım yerlerini artırarak veritabanına erişimi bu yöne doğru çekmeye çalışıyor.

Yazımın devamında CDS’lere teknik açıdan yaklaşacağız ve kullanım yerleriyle ilgili önemli noktaları göreceğiz.


Nedir CDS’i bu derece önemli yapan?


CDS View basitçe; eski ABAP view’larına benzeyen fakat çok daha fazla özellik ve imkan sunan ve SQL kullanarak geliştirilen SAP’nin yeni programlama modelidir.

Teknik olarak ise; anlamlı ve zengin veritabanı birimlerini ve kullanıcı tanımlı veri modellerini tanımlamak için yeni bir Veri Tanımlama Dili (Data Definition Language(DDL)) sunan SQL tabanlı geliştirmedir.

SAP bu yeni modele ‘Code-Pushdown’ ve ‘Code-to-Data’ isimlerini veriyor. Böyle isimlendirmesinin sebebi ise, veriye ulaşma ve onu hazır etme işlemlerini uygulama sunucusu üzerinde yapmaktansa, veritabanı seviyesine indirgemesi ve yükü veritabanına vermesidir.


CDS oluştururken;

• Eclipse ve Hana Studio kullanabilmekteyiz. SAP GUI üzerinden oluşturmak olanaksız durumdadır. Özellikle Eclipse’i kullanmak, kod tamamlama, kod önerileri ve hata gösterimleri konularında başarılı olduğu için önerilmektedir.

• JOIN ve matematiksel operasyonlar gibi klasik SQL’in özelliklerinden yararlanabilmekteyiz.

• Tablolar/view’lar arası ilişkileri CDS içerisinde tanımlayarak ilişkisel veri modeli kurabilmekteyiz. Bu sayede veriyi direkt veritabanı üzerinde manipüle ederek istediğimiz formatta uygulama sunucusuna getirebilmekteyiz.

• ABAP sözlüğünde bulunan veri tiplerini kullanarak bunların özelliklerine kolayca erişebilmekteyiz.

• CDS içerisinde CDS kullanabilir veya mevcut bir CDS’i yeni bir CDS ile genişletebilmekteyiz.

Aynı zamanda, CDS’ler kullanılan çoğu veritabanıyla uyumlu çalışabilmektedir, yani Hana DB zorunluluğu bulunmamaktadır.


CDS View’ları nerelerde kullanabiliriz?


1- En basit şekilde, farklı veri kaynaklarından(tablolar, view’lar) birleşmiş bir bilgiye erişmek istiyorsak, veriyi elde ederken bir takım matematiksel operasyonlar, veri dönüşümleri, JOIN’ler kullanacaksak, bu isteklerimizi yerine getirecek bir CDS view oluşturmak en doğru karar olacaktır. Daha sonra bu CDS’i ABAP kod bloklarımız içerisinde kullanabiliriz.

2- SAP Fiori tarafında bir raporlama ihtiyacımız varsa ve bunu minimum kodlama, maksimum performans ve güvenilir şekilde yapmak istiyorsak CDS view tercih etmeliyiz. Artık, bir CDS view’ı basit bir şekilde OData servise çevirebiliyoruz ve bu servisi kullanarak bir çok raporlama özelliğini standart olarak getiren bir Fiori ekranına çevirebilmekteyiz. İlgili Fiori ekranındaki seçim parametrelerine kadar CDS içerisinde belirleyebilmekteyiz.

3- Birden fazla veri kaynağından anlamlı verileri birleştirerek, bu birleşmiş veriyi veri küpleri şeklinde SAP Analitik sistemlerine kolayca verebilmekteyiz. Böylece, örneğin; ERP üzerindeki satış verilerimizi anlamlı CDS küpleri haline getirip analitik tarafındaki yönetimsel raporlamalarımızda kullanabilmekteyiz.

4- Ayrıca, tüm bu özellikleri ve yetenekleri, tasarım gücünüze bağlı olarak performans gözettiğiniz her noktada kullanabilirsiniz.

CDS dünyasına giriş yaptığınızda karşılaştığınız teknik kullanımların ve kabiliyetli geliştirme ortamının çok hoşunuza gideceğini ve mümkün olan her yerde kullanmak isteyeceğinizi tahmin ediyorum. Yazılımcılar olarak yaptığımızın işin hakkını vermek, kullandığımız sistemleri olabilecek en optimum şekilde kullanmak, müşterilerimize minimum maliyette maksimum verimliliği sağlamak ve yeni teknolojilere kolayca adapte olabilmek için her zaman CDS gibi yeni nesil modelleri kullanma taraftarı olmalıyız.

Elimden geldiğince CDS’in yetenekleri ve kullanım alanlarıyla ilgili bilgiler vermeye çalıştım, işin teknik detayını öğrenmek sizlere düşüyor. Yine de yardımcı olabileceğim konular için benimle iletişime geçebilirsiniz.


Linkedin'de Aç


Image
Yazan : Y. Emre Öztaş