Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kuruluşlar ölçeklenebilir, veri odaklı uygulamalar oluşturmak için Power Platform'a giderek daha fazla güvendikçe, iş mantığını uygulamak için doğru yaklaşımı seçmek kritik hale gelir. Bu başvuru mimarisi, Power Apps tuval uygulamalarında performansı ve sürdürülebilirliği iyileştirmek için iki seçenek sunar: Power Fx işlevleri ve Dataverse özel API'leri.
Scenario
Varsayılan olarak, bir uygulama verileri sorguladığında veya birden çok değişiklik gerçekleştirdiğinde Dataverse'e tek tek HTTP ağ istekleri gönderir. Dataverse uygulamaya veri döndürür ve uygulama mantığı bunu işler.
Bu uygulama düzeni, özellikle uygulama forAll işlevinde olduğu gibi birden çok istek gönderdiğinde bekleme sürelerine neden olur. Bekleme süresi performansı ve kullanıcı deneyimini olumsuz etkiler. Örneğin, uygulama forAll döngüsünde verileri birden çok kez alır ve dönüştürürse, genel bekleme süresi önemli hale gelebilir ve bu da yavaş ve verimsiz bir kullanıcı deneyimine yol açabilir.
Veri etkileşimini iyileştirmek için dataverse özel API'lerini veya Power Fx işlevlerini kullanarak tuval uygulamasından Dataverse'e veri alma işlemlerini kaydırın. Veri değiştirme işlemleri bir işlem içinde tamamlanır ve hata oluşması durumunda veri tutarlılığı sağlanır.
Tip
Bu makalede, Dataverse kullanan tuval uygulamalarının performansı geliştirmek için karmaşık iş mantığını Dataverse özel API'lerine ve Power Fx işlevine nasıl kaydırabileceğini gösteren örnek bir senaryo ve genelleştirilmiş bir örnek mimari sağlanır. Birçok farklı senaryo ve sektör için mimari örneğini değiştirebilirsiniz.
Mimari diyagramı
Bu diyagramda Power Fx işlevleri, karmaşık iş mantığını tuval uygulamasından Dataverse'e kaydırmak için kullanılır. Aynı sonucu elde etmek için Dataverse özel API'sini de kullanabilirsiniz. Hangi seçeneği kullanacağınıza karar vermenize yardımcı olması için Öneriler'e bakın.
Workflow
Power Apps tuval uygulaması, kaynak ayırmayı yönetmek için Dataverse kullanır. Uygulama, doğrudan yerleşik erişim özelliklerini kullanmak yerine ağır veri işlemleri için bir Power Fx işlevi (Dataverse özel API'si aynı amaca hizmet eder) kullanır. Uygulama, daha düşük hacimli veri işlemleri ve işlem desteği gerektirmeyen görevler için yerleşik Dataverse özelliklerini kullanmaya devam eder.
Power Fx işlevi (Dataverse özel API ile), çağrı yapan uygulamadan giriş parametrelerini geçirmek ve tanımlı çıkış parametreleri aracılığıyla işlevden (veya API) sonucu (yanıt parametreleri) almak için yapılandırılır. İçin:
Power Fx işlevi (önizleme): Power Apps studio'da mantık uygulayın. Oluşturucular Power Fx işlevlerini kullanarak çok az kodlama uzmanlığıyla veya hiç kodlama uzmanlığı olmadan karmaşık mantık oluşturabilir. Power Fx işlevleri hakkında daha fazla bilgi edinin.
Dataverse özel API'si: Dataverse .NET eklentisi oluşturarak mantık uygulayın. Özel .NET eklentileri daha fazla kodlama bilgisi gerektirir, ancak daha fazla denetim ve genişletilebilirlik sağlar. Dataverse özel API'leri hakkında daha fazla bilgi edinin.
Kullanım örneği ayrıntıları
Power Apps, kuruluşların özel kullanıcı deneyimleri oluşturmasına ve iş mantığını merkezileştirmesine olanak tanır. Power Apps'i kullanarak daha verimli bir veri mimarisi elde edebilir ve istemci tarafı iş yükünü azaltabilirsiniz.
Aşağıdaki örnekte Power Apps tuval uygulaması, geliştiricilerin ekiplere ve görevlere kaynakları verimli bir şekilde ayırmasına yardımcı olur. Tuval uygulamasının veri işlemlerini içerdiği ve şunları gerektirdiği benzer senaryolara bu mimari desenini uygulayabilirsiniz:
- Tuval uygulamasında, Eşzamanlı işlev özelliğini kullanarak ulaşamayacağınız birden çok döngü.
- Birden fazla veri dönüşümü için yoğun hesaplamalar.
- Bir döngüdeki öğe sayısından veya kullanıcının internet bağlantısından bağımsız olarak tutarlı yürütme süresi.
- Birden çok veri değiştirme işlemi arasında veri tutarlılığı.
Kaynakları ayırmak için, bir oluşturucunun konumları, görevleri, alt görevleri ve diğer ilgili ayırma meta verilerini belirtmesi gerekir. Tuval uygulamasında, "Kaynak Genel Bakış" ekranı, aşağıdaki gibi birden çok katmanlı ilişkilendirilmiş veriler gösterir:
- Kaynaklar
- Konum
- Görev
- Alt görevler
- Onay
- Alt görevler
- Görev
- Konum
Bu hedefe ulaşmak için power fx kullanarak uygulama mantığını aşağıdaki gibi uygulayabilirsiniz:
ForAll(Resources,
//Transformations
ForAll(Location,
//Transformations...
ForAll(Tasks,
//Transformations ...
)
)
)
Bu mantık, uygulama çalıştırıldığında Dataverse'e birden çok HTTP çağrısı oluşturur. En iyi yöntem verileri Dataverse görünümlerinde birleştirmek veya eşzamanlı işlevleri veya diğer Power Fx tekniklerini kullanmak olsa da, bu yaklaşım her zaman mümkün değildir veya performans hedeflerini karşılayamaz.
Bu sorunu çözmek için, veri dönüştürmeyi (verilerin işlenmesi ve gerekli sonuçlar) tek bir yanıta kaydırarak tuval uygulamasından birden çok HTTP çağrısını ortadan kaldırın. Bu yaklaşım, veri alma için bekleme süresini kısaltır, tuval uygulamasının genel performansını artırır ve daha sorunsuz ve daha hızlı yanıt veren bir kullanıcı deneyimi sağlar. Veri dönüştürme mantığını merkezileştirerek, sunucu tarafında tutarlı ve verimli bir işleme sağlarsınız ve bu da çözümü büyük hacimli veriler ve karmaşık dönüşümler için ölçeklenebilir hale getirir.
Options
Hem Dataverse özel API'leri hem de Power Fx işlevleri Dataverse'in iş mantığını genişletir.
Power Fx işlevleri
Power Fx işlevi, Dataverse özel API özelliğinin bir soyutlamasını oluşturur ve mantık için Power Fx'i kullanabilirsiniz.
Power Fx işlevleri Dataverse'in iş mantığını genişletir ve Power Apps tuval uygulamaları, Power Automate akışları gibi Power Platform bileşenlerinden ve Microsoft Copilot Studio ile oluşturulan özel aracılardan isteğe bağlı olarak çağrılabilir. Bu işlevsellik, tam Dataverse özel API özelliğinin kullanılmasını gerektirecek kadar karmaşık olmayan daha temel mantığın uygulanmasını destekler.
Dataverse özel API'leri
Dataverse eklentisi, belirli olaylara yanıt olarak yürütülen özel bir olay işleyicidir. Dataverse özel API'sinde, API'yi tanımladığınızda, uygulamanın API'yi kullandığında tetiklediği özel bir olay oluşturur. Bu eklentileri bir .NET Framework derlemesinde derlenmiş özel sınıflar olarak uygularsınız ve ardından Dataverse'e yükleyip kaydedersiniz.
Eklentiler, geliştiricilerin kayıt oluşturma, güncelleştirme veya silme gibi belirli olaylar gerçekleştiğinde veya özel API'yi kullanarak doğrudan çağrılar aracılığıyla yürütme için özel kod yazmasına olanak tanıyarak Dataverse'in iş mantığını genişletir. Bu işlevsellik, Tuval uygulamaları veya Power Automate ile tam tümleştirmeyi kolaylaştırarak Power Platform'da daha karmaşık ve uyarlanmış iş süreçlerinin uygulanmasını destekler.
Hem Power Fx işlevlerini hem de Dataverse özel API'lerini kullanarak, oluşturucular doğrudan bir formül içinde bir işlev eylemi çağırabilir ve hem ilişkili hem de ilişkisiz eylemleri destekler. Ayrıca uygulamalarına bir Power Fx ortam dili nesnesi ekleyerek işlevlere erişim sağlayabilirler. Oluşturucular, Dataverse özel API'lerini kullanarak hem girişler hem de çıkışlar için yazılmamış nesne alanlarını işleyebilir.
Öneriler
Hem Power Fx işlevleri hem de Dataverse özel API'leri bir işlemdeki veri değiştirme işlemlerini tamamlar.
Kullanım örneğiniz şu ölçütleri karşılıyorsa Power Fx işlevleri'ni seçin:
- Mantığınız fazla karmaşık değildir ve Power Fx kullanılarak ifade edilebilir.
- Oluşturucuları (geliştirici olmayan) mantığı oluşturma ve koruma konusunda güçlendirmek istiyorsunuz.
- Power Apps portalıyla sorunsuz bir şekilde tümleşen düşük kodlu bir yaklaşımı tercih edersiniz.
- İşlemsel tutarlılığa ihtiyacınız var, ancak gelişmiş .NET özelliklerine gerek yok.
- .NET geliştiricileri dahil etmeden uygulamalar ve akışlar arasında yeniden kullanım için mantığı merkezi hale getirmek istiyorsunuz.
Microsoft Dataverse'deki İşlevler (önizleme) bölümünde daha fazla bilgi edinin.
Kullanım örneğiniz için gerekliyse Dataverse özel API'lerini seçin:
- Power Fx'in ifade edemediği karmaşık iş mantığı.
- Özel hata işleme, telemetri ve dış sistemlerle tümleştirme gibi gelişmiş özellikler.
- .NET geliştirme uzmanlığı iş akışınızda kullanılabilir ve kabul edilebilir.
- Eklenti kaydı ve izleme dahil olmak üzere yürütme işlem hattı üzerinde tam denetim.
- Sağlık takibi için Application Insights gibi telemetri ve teşhisler.
Özel API'ler oluşturma ve kullanma bölümünde daha fazla bilgi edinin.
Hedefiniz tuval uygulaması performansını kolaylaştırıp çözümün oluşturucular tarafından erişilebilir ve sürdürülebilir olmasını sağlamaksa Power Fx işlevleri daha iyi bir seçimdir. Görev açısından kritik, yüksek oranda özelleştirilmiş bir arka uç oluşturuyorsanız Dataverse özel API'lerini göz önünde bulundurun.
Alternatifler
Bu desene yönelik bir diğer yaklaşım da veri işlemlerini ve mantığı bir REST API'ye kaydırmak ve ardından işlemlerin Power Apps'ten kullanılmasına izin vermek için özel bir bağlayıcı uygulamaktır. Bu yaklaşımdaki fark, mantığın ve veri işlemlerinin yürütüldüğü yerdedir. Bu durumda, Azure işlevi gibi REST API'yi uygulayan işlem kaynağında çalışırlar.
Dataverse çalışma zamanı sanal alanında çalışmadıkları için, veri işlemleri istemcide gerçekleştirilenlerden daha hızlı, ancak Dataverse içinde gerçekleştirilenlerden daha yavaştır. Benzer şekilde, mantık Dataverse işlemi bağlamında çalışmaz. Özel adımlar atılmadığı sürece her veri işlemi bağımsızdır ve işlem birimi olarak tamamlanmaz.
Tuval uygulamalarının işlevselliğini genişletmek için REST API'lerini kullanma makalesinde daha fazla bilgi edinin.
Değerlendirmeler
Bu değerlendirmeler, bir iş yükünün kalitesini artıran bir dizi rehber ilke olan Power Platform Well-Architected'ın temellerini uygular. daha fazla bilgi için bkz. Microsoft Power Platform Well-Architected.
Reliability
Gereksiz karmaşıklığı önlemek için iş yükünüzü tasarlayın: Veri işlemlerinizi ve mantığınızı tuval uygulamanızdan kaydırmak, uygulamadaki gereksiz karmaşıklığı önler. Bu yaklaşım ayrıca mantığı kuruluştaki diğer uygulamaların kullanabilmesi için merkezi hale getirmektedir. Ayrıca Power Apps oluşturucuları, uygulamaya karmaşıklık eklemeden performans geliştirmelerinden yararlanıyor.
Dayanıklılık ve kullanılabilirlik testi: Mantığı tuval uygulamasından Dataverse özel API'lerine veya Power Fx işlevlerine taşımak, API'yi veya işlevi uygulamadan bağımsız olarak test etmenizi sağlar.
Sağlık göstergelerini ölçün ve yayımlayın (Dataverse özel API'leri): Dataverse özel API'leri, .NET eklentisi üzerinden gelişmiş izleme ve telemetri sağlar. Yeterli izleme sağlamak için Application Insights günlüğünü kullanmayı göz önünde bulundurun.
Operasyonel Mükemmellik
Güvenli dağıtım uygulamalarını benimseyin: Boru hatları gibi otomatik dağıtım süreçlerini kullanarak Power Apps uygulamasındaki değişikliklerin dağıtımını standartlaştırın. Uygulamayı yalnızca değişiklikleri test ettikten sonra üretime yükseltin. Çözüm bileşenleri olarak Dataverse özel API'leri ve Power Fx işlevleri aynı Dataverse çözümünde olduklarında uygulamayla birlikte dağıtılır. Bu yaklaşım, ortamlarınızdaki eşitlenmemiş bileşenlerin riskini en aza indirir.
Dağıtım hatası azaltma stratejisi uygulama: Uygulamayı ve Dataverse özel API'sini veya Power Fx işlevini birlikte dağıttığınızda, azaltma stratejiniz uygulamayla aynı geri alma veya düzeltme stratejisini izlediğinden basitleştirilmiştir.
Performans Verimliliği
Performans gereksinimlerini karşılayacak tasarım: Çözümünüzün performans ve veri hacmi gereksinimlerini değerlendirin. Uygulamanızın verilere nasıl eriştiğini ve farklı veri kaynaklarını kullanan Power Apps'in, her bir veri deposuna gönderilen taleplerin gecikmesi nedeniyle performansı yavaşlatıp yavaşlatmadığını gözden geçirin. Örneğin, uygulamanızın mantığı veri kaynağındaki birçok satırda çalışıyorsa, tüm ağ trafiğini özel API'ye veya işleve kaydırabilirsiniz. Daha sonra Dataverse ile iletişimi işleyen özel API veya işlevle tek bir etkileşimi azaltmak işlemleri daha verimli hale getirir.
Mantığı iyileştirme (Dataverse özel API'leri): Bir tuval uygulamasında mantık daha karmaşık hale geldikçe Dataverse özel API'leri bu mantığı merkezi ve yeniden kullanılabilir bir hizmete boşaltmanızı sağlar.
Test performansı: İşlevsellik ve hata testlerinin yanı sıra performans için bir temel test edin ve geliştirin. Dataverse özel API'sinin veya Power Fx işlevinin iş tamamlanma süresindeki değişikliklere duyarlı olması durumunda yayın döngünüz sırasında bu temeli değerlendirin.
Contributors
Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.
Asıl yazarlar:
- Rui Santos, Baş Program Yöneticisi
- Ravikiran Patil, Kıdemli Yazılım Mühendisi