SAPUI5 veri bağlama (data binding), kullanıcı arayüzü (UI) ile iş mantığı çerçevesindeki veri modeli arasında canlı bir bağlantı kurarak verilerin otomatik olarak senkronize edilmesini sağlayan mekanizmadır. SAP Fiori uygulamalarının temelini oluşturan SAPUI5 frameworkü, farklı binding türlerini destekleyerek geliştiricilere esnek ve güçlü bir veri yönetim katmanı sunar.
Bu blog yazımızda SAPUI5'taki veri bağlama türleri nelerdir, hangi durumlarda hangi veri bağlama türünü tercih etmeliyiz gibi soruların cevaplarını arayacağız. Eğer kullanılan modelde çeşitli verilere sahipsek, onu kullanıcı arayüzünde nasıl görüntüleyebiliriz?
İçindekiler
SAPUI5'te temel olarak 3 farklı bağlama yöntemi vardır:
Tek yönlü bağlama, modelden görünüme bağlama anlamına gelir; ön taraftan yapılan herhangi bir değişiklik modeli etkilemez, tüm veri değişiklikleri yalnızca kontrollere yansıtılır.
İki yönlü bağlama, modelden görünüme ve görünümden modele bağlama anlamına gelir; ön taraftan yapılan tüm değişiklikler modele ve veri tabanına yansıtılır. Modelde ve görünümde yapılan değişiklikler sırasıyla tüm bağlamaları, görünümü ve modeli günceller.
Tek seferlik bağlama, modelden görünüme tek seferlik bağlama anlamına gelmektedir. Tek seferlik bağlantıdan sonra tekrar bağlantı kurulmaz.
Aşağıdaki tabloda bahsettiğimiz bağlama türlerinin hangi modellerde desteklendiğini görüntüleyebiliriz.
Element bağlama, bir ebeveyne göre tüm çocukların göreceli bağlanmasına izin verir. Bu sayede alt kontroller için tam yolu ayrı ayrı belirtmek gerekmez.
Özellik bağlama, kontrol ile model arasında basitçe bağlamadır. Verilerin otomatik olarak başlatılmasına ve güncellenmesine olanak sağlar.
Verilerimizi tablo veya liste biçiminde göstermek istiyorsak aggregation bağlama kullanabiliriz. Bu örnekte verileri bağlamak için List kontrolünün items özelliğini kullanıyoruz.
Model verilerimiz üzerinde bir miktar hesaplamaya veya bir çeşit karşılaştırmaya ihtiyacımız varsa, ifade bağlama kullanmak yararlıdır.
Modeller ve veri bağlama, iki veri veya bilgi kaynağını bağlamak ve verileri senkronize etmek için SAPUI5 uygulamalarında kullanılmaktadır. SAPUI5 uygulamaları farklı model türlerini desteklemektedir. JSON modeli XML modellerine göre çok daha iyi bir performans sağladığı için kullanımı daha çok tercih edilmektedir.
Yeni içeriklerimizden haberdar olmak için blog sayfamızı takip edebilirsiniz. SAP Fiori ve SAPUI5 hakkında daha fazla bilgi için SAP Fiori nedir yazımızı da inceleyebilirsiniz.
SAPUI5 veri bağlama mekanikasını doğru anlamak, özellikle karmaşık SAP Fiori uygulamalarında kritik önem taşır. JSON Model ile OData Model arasındaki seçim, binding stratejisini doğrudan etkiler. OData modeli sunucu taraflı veri yönetimi sunarken JSON modeli istemci tarafında tüm verinin saklandığı senaryolarda üstün performans gösterir.
Two-way binding dikkatli kullanılmalıdır: kullanıcının yaptığı her değişiklik anında modele yansıdığından, aşırı sayfa yenileme veya istek yükü doğabilir. Bunun yerine form-based uygulamalarda one-way binding ile manuel refresh tercih edilebilir. SAP’nin resmi SAPUI5 dökümantasyonu binding mimarisi hakkında kapsamlı referans materyali sunmaktadır. SAP Fiori genel mimarisini anlamak için SAP Fiori konseptler ve en iyi uygulamalar yazımız da faydalı bir başlangıç noktası sunmaktadır.
Read-only veri gösterimi için one-way binding idealdir; form bazlı uygulamalarda kullanıcı girişleri modele yansıtılacaksa two-way binding tercih edilir. One-time binding ise sayfa yüklenirken bir kez çekilen ve sonradan değişmeyen statik referans verileri (dropdown listeleri, ülke listesi gibi) için en performanslı seçenektir.
JSON Model tüm veriyi istemci tarafında bellekte tutar; hızlı filtreleme ve sıralama sunar ancak büyük veri setlerinde bellek kullanımı yükselebilir. OData Model ise sunucu tarafında veri okur, sayfalama ve lazy loading desteği ile büyük veri setleri için daha uygundur. SAP S/4HANA ve SAP BTP projesinde OData V4 tercihi hızla yaygınlaşmaktadır.
Expression binding, model değerlerine dayalı koşullu görünmlük (visible=”{= ${price} > 100}”), renk/simge değişimi ve metin birleştirme gibi senaryolarda kullanılabilir. Karmaşık iş mantığı gerektiren hesaplamalar için ise formatter fonksiyonları tercih edilmesi önerilir.
SAPUI5 Resmi Dokümantasyonu SAPUI5’i Tanıyalım — MDP Group SAP Fiori Konseptler ve En İyi Uygulamalar — MDP Group
SAP Fiori ve ABAP Geliştiricisi
SAP FI Nedir? SAP Finansal Muhasebeye Kapsamlı Giriş
SAP FI nedir? SAP FI (Financial Accounting), SAP ERP sisteminin finansal muhasebe modülüdür. Çeşitli finansal işlem bilgilerini gerçek...
SAP PI/PO’dan SAP Integration Suite’e Geçiş: Karşılaştırma ve Strateji
Günümüzün hızla dijitalleşen dünyasında entegrasyon çözümleri artık sadece sistemleri birbirine bağlamakla kalmıyor, aynı zamanda iş...
SAP SD Nedir? Sales and Distribution Modülü Rehberi
SAP SD nedir? SAP SD (Sales and Distribution) modülü, işletmelerin satış ve dağıtım süreçlerini baştan sona yönetmelerine ve optimize...
2027’de SAP ECC Desteği Bitecek: Şirketiniz Hazır mı? Kontrol Listesi
SAP ECC desteği 2027'de sona eriyor. Şirketinizin hazırlık seviyesini ölçmek için 20 maddelik kontrol listesi ve adım adım hazırlık...
Sürekli İyileştirme Nedir? İlkeler, Araçlar ve Uygulama Rehberi
Sürekli iyileştirme, ürünleri, hizmetleri ve iş süreçlerini küçük, aralıksız adımlarla geliştirmeye odaklanan bir yönetim...
E-Fatura Durum Kodları Nedir? GİB Detaylı Açıklamalar
Giriş Gelir İdaresi Başkanlığı (GİB), e-Fatura sürecinde ortak bir standart oluşturmak amacıyla her faturaya bir durum kodu atar. Bu...
SAP HANA Smart Data Integration Nedir?
Veri, modern işletmelerin en değerli varlıklarından biridir. Ancak, bu verileri doğru bir şekilde entegre etmek ve analiz etmek, genellikle...
Mesaj Metrik Hesaplamaları: SAP Integration Suite
Mesaj sayısı, SAP Integration Suite'de finansal yönetim, kaynak tahsisi, performans izleme, kapasite planlama, uyumluluk ve optimizasyon...
Elektronik Veri Değişiminin (EDI) Tarihi ve Gelecekteki Gelişimi
Elektronik veri değişiminin gelişimi, 1948 Berlin hava köprüsü lojistiğinden başlayarak bugün dünya ticaretinin omurgasına dönüşen bir...
Mailiniz başarıyla gönderilmiştir en kısa sürede sizinle iletişime geçilecektir.
Mesajınız ulaştırılamadı! Lütfen daha sonra tekrar deneyin.