"ERP'miz var ama herkes Excel'de çalışıyor." Bu cümleyi Türkiye'deki üretim ve ticaret firmalarının büyük çoğunluğunda duyarsınız. ERP sistemi satın alınmıştır, veriler oradadır ama sahadan, depodan veya yönetim masasından bu veriye ulaşmak zahmetli olduğu için insanlar kendi Excel'lerini tutarlar. Power Apps bu sorunu çözmek için tasarlanmış bir araçtır — ERP veritabanınıza dokunarak, kod yazmadan veya minimal kodla mobil ve web uygulamaları geliştirmenizi sağlar.
Bu makalede bir ERP sistemini Power Apps'e bağlamanın üç temel yolunu, her birinin avantaj ve dezavantajlarını ve gerçek projelerde öğrendiğimiz pratik dersleri paylaşıyoruz.
ERP'yi Power Apps'e Bağlamanın 3 Yolu
Hangi yöntemi seçeceğiniz ERP'nizin altyapısına, güvenlik gereksinimlerinize ve bütçenize bağlıdır. Türkiye'deki ERP'lerin büyük çoğunluğu (IAS/Troia, Logo, Netsis, Mikro, Dia) SQL Server üzerinde çalıştığı için ilk yöntem genellikle en pratik olanıdır.
1. On-Premises Data Gateway + SQL Server Connector
Bu yöntemde şirket içi ağınıza bir Gateway yazılımı kurarsınız. Gateway, SQL Server veritabanınız ile Microsoft bulut hizmetleri arasında şifreli bir tünel oluşturur. Power Apps, bu tünel üzerinden SQL tablolarına ve view'larına doğrudan erişir.
Nasıl çalışır:
- Gateway yazılımını şirket ağınızdaki bir Windows sunucuya kurarsınız (ERP sunucusunun kendisi veya ayrı bir makine)
- Gateway'i Microsoft 365 hesabınızla kaydedersiniz
- Power Apps'te "SQL Server" connector'ını seçip Gateway üzerinden veritabanınıza bağlanırsınız
- Tablolar ve view'lar doğrudan veri kaynağı olarak kullanılabilir hale gelir
Ne zaman tercih edilmeli: ERP'niz SQL Server tabanlıysa (IAS, Logo, Netsis vb.) ve veritabanına doğrudan okuma/yazma erişimi gerekiyorsa bu yöntem en hızlı ve en düşük maliyetli seçenektir.
Pratik ipucu: Power Apps'i doğrudan ERP'nin ana tablolarına bağlamak yerine, ayrı bir şema veya view katmanı oluşturun. Bu hem performansı artırır hem de ERP güncellemelerinde uygulamanızın bozulma riskini azaltır.
2. Custom Connector + REST API
Bazı ERP sistemleri REST API sunar (SAP Business One, Microsoft Dynamics 365 gibi). Bu durumda Power Apps'te bir Custom Connector tanımlayarak API üzerinden veri alışverişi yapabilirsiniz.
Nasıl çalışır:
- ERP'nizin API dokümantasyonundan endpoint'leri ve authentication yöntemini öğrenirsiniz
- Power Apps'te Custom Connector oluşturup API şemasını tanımlarsınız (OpenAPI/Swagger dosyası varsa otomatik import edebilirsiniz)
- Authentication ayarlarını yaparsınız (OAuth 2.0, API Key veya Basic Auth)
- Connector'ı uygulamanıza ekleyip fonksiyonları çağırırsınız
Ne zaman tercih edilmeli: ERP'niz cloud tabanlıysa, iyi dokümante edilmiş bir API sunuyorsa veya SQL Server'a doğrudan erişim güvenlik politikalarınızla uyuşmuyorsa.
3. Dataverse Ara Katmanı
Bu yöntemde ERP verilerini önce Microsoft Dataverse'e senkronize edersiniz, ardından Power Apps Dataverse üzerinden çalışır. Dataverse, Microsoft'un kendi ilişkisel veritabanı hizmetidir ve Power Platform ile en derin entegrasyonu sunar.
Nasıl çalışır:
- Power Automate veya Azure Data Factory ile ERP'den Dataverse'e veri akışı kurarsınız
- Dataverse tablolarını Power Apps'te veri kaynağı olarak kullanırsınız
- Değişiklikler Dataverse'de tutulur ve ayrı bir süreçle ERP'ye geri yazılır
Ne zaman tercih edilmeli: Birden fazla veri kaynağını birleştirmeniz gerekiyorsa, offline çalışma kritikse veya model-driven uygulama geliştirmek istiyorsanız.
Yöntem Karşılaştırması
| Kriter | Gateway + SQL | Custom API | Dataverse |
|---|---|---|---|
| Kurulum süresi | 1-2 gün | 3-5 gün | 1-2 hafta |
| Ek lisans maliyeti | Yok | Yok | Dataverse kapasitesi ($) |
| Offline çalışma | Sınırlı | Sınırlı | Tam destek |
| Performans | Orta (delegasyon sınırı) | İyi | Çok iyi |
| Güvenlik kontrolü | SQL seviyesinde | API seviyesinde | Satır düzeyi (RLS) |
| Türkiye ERP uyumu | Mükemmel | ERP'ye bağlı | İyi (ek iş gerektirir) |
Güvenlik Katmanları
ERP verisiyle çalışırken güvenlik en kritik konudur. Power Apps entegrasyonunda üç katmanlı bir güvenlik modeli uygulamanızı öneririz:
1. Veritabanı katmanı: Power Apps için ayrı bir SQL kullanıcısı oluşturun. Bu kullanıcıya sadece gerekli view'lara SELECT izni verin. Doğrudan tablo erişimi vermeyin, stored procedure'lar üzerinden yazma işlemi yaptırın.
2. Gateway katmanı: Gateway'in hangi kullanıcıların bağlanabileceğini Azure AD gruplarıyla sınırlayın. Gateway sunucusunun ağ erişimini firewall kurallarıyla kısıtlayın.
3. Uygulama katmanı: Power Apps içinde kullanıcı rollerine göre ekran ve veri filtreleme uygulayın. User().Email fonksiyonuyla kullanıcıyı tanıyın ve sadece yetkili olduğu verileri gösterin.
Performans İpuçları
Power Apps'in SQL Server connector'ında en sık karşılaşılan sorun delegasyon sınırıdır. Power Apps varsayılan olarak en fazla 500 (ayarla 2000'e çıkarılabilir) kayıt döndürür. Bu sınırı aşmak için:
- View kullanın: Filtreleme ve sıralama işlemlerini SQL tarafında yapan view'lar oluşturun. Power Apps'e sadece sonucu gönderin.
- Stored procedure kullanın: Karmaşık sorgular için stored procedure yazın ve Power Automate üzerinden çağırın.
- İndeksleme yapın: Power Apps'in sorgulayacağı sütunlarda SQL indeksleri oluşturun. WHERE koşulundaki alanlar mutlaka indeksli olmalı.
- Yatay bölme (pagination): Büyük tablolarda tarih veya ID aralığıyla filtreleme yaparak veri setini küçültün.
Gerçek Dünya Senaryosu: Saha Satış Uygulaması
Bir üretim firmasında saha satış ekibinin ERP'deki stok, fiyat ve müşteri bakiye bilgilerine mobil cihazdan erişmesi gerekiyordu. Daha önce satıcılar her sabah Excel listesi alıyor, gün içinde değişen fiyat ve stokları göremiyordu.
Çözüm: On-Premises Gateway ile ERP'nin SQL Server veritabanına bağlandık. Stok, fiyat listesi ve cari bakiye için özel view'lar yazdık. Power Apps'te bir canvas uygulama geliştirdik: müşteri arama, anlık stok sorgulama, fiyat hesaplama ve sipariş girişi. Sipariş verileri stored procedure üzerinden ERP'ye geri yazıldı.
Sonuç: Sipariş hata oranı %80 azaldı (elle girişten kaynaklanan yanlış ürün kodu, yanlış fiyat sorunları ortadan kalktı). Satıcılar gün içinde anlık stok görmeye başladı. Uygulama 3 haftada canlıya alındı.
Sıkça Sorulan Sorular
ERP sisteminiz SQL Server tabanlıysa (IAS, Logo, Netsis gibi), On-Premises Data Gateway ile doğrudan SQL bağlantısı en hızlı ve en düşük maliyetli yöntemdir. Cloud tabanlı ERP'ler için Custom Connector ile REST API tercih edilir.
On-Premises Data Gateway, şirket içi ağınızdaki SQL Server veritabanını Microsoft bulut hizmetlerine (Power Apps, Power BI) güvenli şekilde bağlayan bir köprüdür. Veritabanını internete açmadan, şifreli bir tünel üzerinden veri aktarımı sağlar.
Power Apps lisansları kullanıcı başına aylık ~10-20 USD'dir. Gateway ücretsizdir. Asıl maliyet danışmanlık ve geliştirme sürecindedir; basit bir saha uygulaması 2-4 haftada, karmaşık bir ERP entegrasyonu 2-3 ayda tamamlanabilir.
Sonraki Adımlar
ERP'nizi Power Apps'e bağlamak istiyorsanız ilk adım mevcut altyapınızı değerlendirmektir: ERP hangi veritabanını kullanıyor, hangi süreçler mobilleştirilmeli, güvenlik gereksinimleri neler? Bu soruları birlikte cevaplayabiliriz.
YayamaTech olarak Power Apps danışmanlık ve eğitim hizmeti sunuyoruz. Danışmanlık kapsamında ERP entegrasyonunuzu uçtan uca tasarlıyor ve hayata geçiriyoruz. Eğitim kapsamında ise ekibinize Power Apps uygulama geliştirme, veri modelleme ve formül yazma becerilerini kazandırıyoruz — böylece basit değişiklikleri ve yeni ekranları kendiniz yapabilir hale gelirsiniz.