ABAP Programlama Dilinin Dünü ve Bugünü

abap-programlama-dili

Bu haftaki blog yazımızda ABAP yani Advanced Business Application Programming’in geçmişten günümüze gelişimini ele alıyoruz. SAP tarafından 1980’lerin başında R/2 platformunun raporlama dili olarak ortaya çıkarılan ABAP, o günden bu yana oldukça gelişti. Dönem dönem Java dilinin ABAP’ın yerini alacağı dedikoduları çıksa da günümüzde gelinen nokta bunun tam tersini bize gösteriyor.

abap-program-gelisimi

Klasik ABAP Programlama Modeli

Yazımızın başında bahsettiğimiz gibi ABAP 1980’lerin başında R/2 platformunun raporlama dili olarak ortaya çıktı. 1990’ların başına geldiğimizdeyse ABAP R/3 platformunun geliştirilmesinde kullanılan ana dil olarak karşımıza çıktı. Prosedürel bir dil olan ABAP, 1999’da Object Oriented uzantısının eklenmesiyle ABAP Objects ismini aldı. 7.40 sürümüne kadar UI tarafında classic Dynpro, Web Dynpro gibi teknolojileri kullanan ABAP özellikle HANA ve Fiori’nin lanse edilmesinden sonra bu teknolojilere uygun olarak ciddi bir değişim geçirdi. Eclipse temelli ABAP Development Tools ve Web IDE’nin çıkmasıyla da klasik ABAP programlama modelinden yeni modele geçişi gerçekleşmiş oldu.

SAP Fiori için ABAP Programlama Modeli

7.50 sürümü ile birlikte SAP Fiori için ABAP Programlama modeli kullanıma sunuldu. Bu model analitik, planlama ve transactional uygulamalar gibi SAP HANA için optimize edilmiş web tabanlı uygulamalar için modern ve etkili bir yol sundu. Fiori modeli temel olarak CDS (Core Data Services), BOPF (Business Object Processing Framework) ve SAP Gateway teknolojilerini kullanır.

Bu modelde iki ana senaryo karşımıza çıkar. Read-Only uygulamalar ve Transactional uygulamalar. Read-Only uygulamalar için CDS data modelleri kullanılır. CDS data modelleri ve annotation’lar kullanılarak veriler OData servisleri aracılığıyla dışarıya çıkılır ve Fiori uygulamaları tarafından kullanılır. Transactional uygulamalar içinse CDS data modellerinin yanında BOPF teknolojisine ihtiyaç duyulur. BOPF teknolojisi ile CRUD (Create, Update, Delete) operasyonları, doğrulamalar ve karar mekanizmaları gerçekleştirilir.

abap-modeli

RESTful ABAP Programlama Modeli

Fiori modelinin halefi olarak olarak ortaya çıkan RESTful ABAP programlama modeli 1808 sürümü sonrasında SAP Cloud Platform, ABAP ortamı ile birlikte kullanıma sunuldu. SAP ilk olarak Cloud tabanlı uygulamaları hedef olarak seçse de 1909 sürümü ile birlikte SAP S/4HANA on-premise uygulamalarda da kullanılabilir hale geldi. RESTful model ile uçtan uca tüm Fiori uygulamalarının yanında Web API’ lerinin de geliştirilmesi sağlanır. Backend geliştirmelerinin tamamı Eclipse tabanlı ABAP Development Tools ile ABAP dili ve CDS veri modelleri kullanılarak gerçekleştiriliyor. Artık SAP GUI Workbench araçlarına ihtiyaç kalmadı.

Bu model üç ana katmandan oluşur:

Data Modeling and Behavior: Bu katman Business Object modellerinin ve sorgulamalarının gerçekleştirildiği katmandır. Transactional operasyonlar bu katmanda tanımlanır ve uygulanır.

Business Service Provisioning: Bu katman verilerin OData servisleri olarak çıkıldığı katmandır. İlk olarak veri modelleri tanımlanır ve sonrasında OData protokolüne bağlantısı sağlanarak veriler kullanıma sunulur.

Service Consumption: Bu katmanda OData servisleri ile kullanıma sunulan veriler SAP Fiori elementleri tarafından kullanılır.

ABAP Dili

SAP HANA ve SAP Cloud Platform ile birlikte ABAP dilinin gelişmesi de kaçınılmaz oldu. SAP ekosistemindeki uygulama geliştiricilerinin de bu bağlamda kendilerini geliştirmesi gerekiyor. itelligence Uygulama Geliştirme Ekibi olarak, bizler de müşterilerimizin uçtan uca tüm süreçlerini hayata geçirebilmeleri için onların iş ve bilgi teknolojisi ekiplerini bir araya getirerek mevcut ihtiyaçlarına yüksek düzeyde çözümler sunan ürünler geliştiriyoruz.

“There is no future with only ABAP, but there is also no future without ABAP.”

Björn Goerke – SAP TechEd 2018 Barcelona

 

Detaylı bilgi için [email protected] adresi üzerinden bizimle iletişime geçebilirsiniz.

Benzer mesajlar

Daha fazla oku
SAP Trends
Daha fazla oku
Daha fazla oku
Daha fazla oku
Daha fazla oku
Daha fazla oku

İletişim
İletişim

Sorularınız için bize ulaşabilirsiniz.