Bagikan melalui


Mengoptimalkan performa aplikasi kanvas yang memerlukan logika bisnis kompleks

Karena organisasi semakin mengandalkan Power Platform untuk membangun aplikasi berbasis data yang dapat diskalakan, memilih pendekatan yang tepat untuk menerapkan logika bisnis menjadi penting. Arsitektur referensi ini menyajikan dua opsi—fungsi Power Fx dan API kustom Dataverse—untuk mengoptimalkan performa dan ketahanan dalam aplikasi kanvas Power Apps.

Scenario

Secara default, ketika aplikasi meminta data atau melakukan beberapa modifikasi, aplikasi mengirim permintaan jaringan HTTP individual ke Dataverse. Dataverse mengembalikan data ke aplikasi, dan logika aplikasi memprosesnya.

Pola implementasi ini menyebabkan waktu tunggu, terutama ketika aplikasi mengirim beberapa permintaan, seperti dalam fungsi ForAll. Waktu tunggu berdampak negatif pada performa dan pengalaman pengguna. Misalnya, jika aplikasi mengambil dan mengubah data beberapa kali dalam perulangan ForAll, waktu tunggu keseluruhan dapat menjadi substansial, yang mengarah ke pengalaman pengguna yang lambat dan tidak efisien.

Untuk mengoptimalkan interaksi data, alihkan logika dan operasi pengambilan data dari aplikasi kanvas ke Dataverse dengan menggunakan api kustom Dataverse atau fungsi Power Fx. Operasi modifikasi data selesai dalam transaksi, memastikan konsistensi data jika terjadi kesalahan.

Petunjuk / Saran

Artikel ini menyediakan contoh skenario dan arsitektur contoh umum untuk menggambarkan bagaimana aplikasi kanvas yang menggunakan Dataverse dapat mengalihkan logika bisnis yang kompleks ke API kustom Dataverse dan fungsi Power Fx untuk meningkatkan performa. Anda dapat memodifikasi contoh arsitektur untuk berbagai skenario dan industri.

Diagram arsitektur

Dalam diagram ini, fungsi Power Fx digunakan untuk mengalihkan logika bisnis yang kompleks dari aplikasi kanvas ke Dataverse. Anda juga dapat menggunakan API kustom Dataverse untuk mencapai hasil yang sama. Lihat Rekomendasi untuk membantu memutuskan opsi mana yang akan digunakan.

Diagram arsitektur yang menunjukkan perbedaan antara menggunakan kemampuan bawaan aplikasi kanvas untuk operasi data dan menggunakan fungsi Power Fx.

Alur kerja

  1. Aplikasi kanvas Power Apps menggunakan Dataverse untuk mengelola alokasi sumber daya. Aplikasi ini menggunakan fungsi Power Fx (API kustom Dataverse akan melayani tujuan yang sama) untuk operasi data berat alih-alih secara langsung menggunakan kemampuan akses bawaan. Aplikasi ini masih menggunakan kemampuan Dataverse bawaan untuk operasi data volume lebih rendah dan tugas yang tidak memerlukan dukungan transaksi.

  2. Fungsi Power Fx (dengan API kustom Dataverse) dikonfigurasi untuk meneruskan parameter input dari aplikasi panggilan dan menerima hasil (parameter respons) dari fungsi (atau API) melalui parameter output yang ditentukan. Untuk:

    • Fungsi Power Fx (pratinjau): Terapkan logika di Power Apps Studio. Dengan menggunakan fungsi Power Fx, pembuat dapat membangun logika kompleks dengan sedikit atau tanpa keahlian pengodean. Pelajari selengkapnya dalam fungsi Power Fx.

    • Dataverse custom API: Menerapkan logika dengan membuat plug-in Dataverse .NET. Plug-in .NET kustom membutuhkan lebih banyak pengetahuan pengkodean tetapi memberikan kontrol dan ekstensibilitas yang lebih besar. Pelajari selengkapnya di API kustom Dataverse.

Gunakan detail kasus

Power Apps memungkinkan organisasi untuk membuat pengalaman pengguna kustom dan mempusatkan logika bisnis. Dengan menggunakan Power Apps, Anda dapat mencapai arsitektur data yang lebih efisien dan mengurangi beban kerja sisi klien.

Dalam contoh berikut, aplikasi kanvas Power Apps membantu pembuat mengalokasikan sumber daya secara efisien ke tim dan tugas. Anda dapat menerapkan pola arsitektur ini ke skenario serupa di mana aplikasi kanvas menyertakan operasi data dan memerlukan:

  • Beberapa perulangan di aplikasi kanvas, yang tidak dapat Anda capai dengan menggunakan kemampuan fungsi Concurrent.
  • Perhitungan intensif untuk beberapa transformasi data.
  • Waktu eksekusi yang konsisten, terlepas dari jumlah item dalam perulangan atau koneksi internet pengguna.
  • Konsistensi data di beberapa operasi modifikasi data.

Untuk mengalokasikan sumber daya, pembuat perlu menentukan lokasi, tugas, sub-tugas, dan metadata alokasi terkait lainnya. Di aplikasi kanvas, layar "Gambaran Umum Sumber Daya" menunjukkan beberapa tingkat data berkorelasi, seperti:

  • Sumber daya
    • Lokasi
      • Tugas
        • Sub-tugas
          • Persetujuan

Untuk mencapai tujuan ini, Anda mungkin menerapkan logika aplikasi dengan menggunakan Power Fx sebagai berikut:

ForAll(Resources,
    //Transformations
    ForAll(Location,
        //Transformations...
        ForAll(Tasks,
            //Transformations ...
        )
    )
)

Logika ini menghasilkan beberapa panggilan HTTP ke Dataverse saat aplikasi berjalan. Meskipun praktik terbaik adalah mengonsolidasikan data ke dalam tampilan Dataverse atau menggunakan fungsi bersamaan atau teknik Power Fx lainnya, pendekatan ini tidak selalu memungkinkan atau gagal memenuhi tujuan performa.

Untuk mengatasi masalah ini, hilangkan beberapa panggilan HTTP dari aplikasi kanvas dengan menggeser transformasi data—pemrosesan data dan hasil yang diperlukan—ke dalam satu respons. Pendekatan ini mengurangi waktu tunggu pengambilan data, meningkatkan performa keseluruhan aplikasi kanvas, dan memberikan pengalaman pengguna yang lebih lancar dan lebih responsif. Dengan memusatkan logika transformasi data, Anda memastikan pemrosesan yang konsisten dan efisien di sisi server, yang membuat solusi dapat diskalakan untuk data dalam volume besar dan transformasi kompleks.

Opsi

Api kustom Dataverse dan fungsi Power Fx memperluas logika bisnis Dataverse.

Fungsi Power Fx

Fungsi Power Fx membuat abstraksi kemampuan API kustom Dataverse yang dapat Anda gunakan Power Fx untuk logika.

Fungsi Power Fx memperluas logika bisnis Dataverse dan dapat dipanggil sesuai permintaan dari komponen Power Platform seperti aplikasi kanvas Power Apps, alur Power Automate, dan dari agen kustom yang dibuat dengan Microsoft Copilot Studio. Fungsionalitas ini mendukung implementasi logika yang lebih dasar yang tidak cukup kompleks untuk diwajibkan menggunakan kemampuan API kustom Dataverse lengkap.

API kustom Dataverse

Plug-in Dataverse adalah penanganan aktivitas kustom yang dijalankan sebagai respons terhadap peristiwa tertentu. Dalam kasus API kustom Dataverse, ketika Anda mendefinisikan API tersebut, suatu acara khusus dibuat yang akan dibangkitkan oleh aplikasi ketika menggunakan API itu. Anda menerapkan plug-in ini sebagai kelas kustom yang dikompilasi ke dalam rakitan .NET Framework, yang kemudian Anda unggah dan daftarkan dalam Dataverse.

Plug-in memperluas logika bisnis Dataverse dengan memungkinkan pengembang menulis kode kustom untuk eksekusi saat peristiwa tertentu terjadi, seperti membuat, memperbarui, atau menghapus rekaman, atau melalui panggilan langsung menggunakan API kustom. Fungsionalitas ini mendukung implementasi proses bisnis yang lebih kompleks dan disesuaikan dalam Power Platform, memfasilitasi integrasi penuh dengan aplikasi kanvas atau Power Automate.

Dengan menggunakan fungsi Power Fx dan API kustom Dataverse, pembuat dapat memanggil tindakan fungsi langsung dalam rumus, mendukung tindakan terikat dan tidak terikat. Mereka juga dapat menambahkan objek bahasa lingkungan Power Fx ke aplikasi mereka, memungkinkan akses ke fungsi. Dengan menggunakan API kustom Dataverse, pembuat dapat menangani field objek yang tidak bertipe baik untuk input maupun output.

Recommendations

Baik fungsi Power Fx maupun API kustom Dataverse menyelesaikan operasi modifikasi data dalam transaksi.

Pilih fungsi Power Fx jika kasus penggunaan Anda memenuhi kriteria berikut:

  • Logika Anda tidak terlalu kompleks dan dapat diekspresikan menggunakan Power Fx.
  • Anda ingin memberdayakan pembuat (non-pengembang) untuk membangun dan memelihara logika.
  • Anda lebih suka pendekatan low-code yang terintegrasi dengan mulus dengan portal Power Apps.
  • Anda memerlukan konsistensi transaksi tetapi tidak memerlukan kemampuan .NET tingkat lanjut.
  • Anda ingin memusatkan logika supaya dapat digunakan kembali di seluruh aplikasi dan proses tanpa perlu melibatkan pengembang .NET.

Pelajari selengkapnya di Functions di Microsoft Dataverse (pratinjau).

Pilih API kustom Dataverse jika kasus penggunaan Anda memerlukan:

  • Logika bisnis kompleks yang tidak dapat diekspresikan Power Fx.
  • Kemampuan tingkat lanjut seperti penanganan kesalahan kustom, telemetri, dan integrasi dengan sistem eksternal.
  • Keahlian pengembangan .NET tersedia dan dapat diterima dalam alur kerja Anda.
  • Kontrol penuh atas alur eksekusi, termasuk pendaftaran dan pemantauan plug-in.
  • Telemetri dan diagnostik, seperti Application Insights untuk pelacakan kesehatan.

Pelajari selengkapnya di Membuat dan menggunakan API kustom.

Jika tujuan Anda adalah merampingkan performa aplikasi kanvas sambil menjaga solusi tetap dapat diakses dan dikelola oleh pembuat, fungsi Power Fx adalah pilihan yang lebih baik. Jika Anda membangun backend yang sangat penting untuk misi dan terkustomisasi, pertimbangkan API kustom Dataverse.

Alternatives

Pendekatan lain untuk pola ini adalah mengalihkan operasi data dan logika ke REST API dan kemudian menerapkan konektor kustom untuk memungkinkan operasi digunakan dari Power Apps. Perbedaan dengan pendekatan ini terletak di tempat operasi logika dan data dijalankan. Dalam hal ini, mereka berjalan di sumber daya komputasi yang mengimplementasikan REST API, seperti fungsi Azure.

Karena tidak berjalan dalam sandbox runtime Dataverse, operasi data lebih cepat daripada operasi yang dijalankan dari sisi klien namun lebih lambat daripada yang dilakukan dalam Dataverse sendiri. Demikian pula, logika tidak berjalan dalam konteks transaksi Dataverse. Kecuali langkah-langkah khusus diambil, setiap operasi data bersifat independen dan tidak selesai sebagai unit transaksi.

Pelajari selengkapnya di Menggunakan REST API untuk memperluas fungsionalitas aplikasi kanvas.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Power Platform Well-Architected, seperangkat prinsip panduan yang meningkatkan kualitas beban kerja. Pelajari selengkapnya di Microsoft Power Platform Well-Architected.

Reliability

Merancang beban kerja Anda untuk menghindari kompleksitas yang tidak perlu: Menggeser operasi dan logika data Anda dari aplikasi kanvas anda menghindari kompleksitas yang tidak perlu di aplikasi. Pendekatan ini juga mempusatkan logika sehingga aplikasi lain dalam organisasi dapat menggunakannya. Selain itu, pembuat Power Apps mendapat manfaat dari peningkatan performa tanpa menambahkan kompleksitas ke aplikasi.

Uji ketahanan dan ketersediaan: Memindahkan logika dari aplikasi kanvas ke API kustom Dataverse atau fungsi Power Fx memungkinkan Anda menguji API atau fungsi secara independen dari aplikasi.

Measure dan menerbitkan indikator kesehatan (API kustom Dataverse): API kustom Dataverse menyediakan pemantauan dan telemetri tingkat lanjut melalui plug-in .NET. Untuk memastikan pelacakan yang memadai, pertimbangkan untuk menggunakan pencatatan log Application Insights.

Keunggulan Operasi

Praktik penyebaran aman: Menstandarkan penyebaran perubahan pada aplikasi Power Apps dengan menggunakan proses penyebaran otomatis, seperti alur. Promosikan aplikasi ke produksi hanya setelah perubahan pengujian. Sebagai komponen solusi, API kustom Dataverse dan fungsi Power Fx disebarkan bersama aplikasi saat berada dalam solusi Dataverse yang sama. Pendekatan ini meminimalkan risiko komponen yang tidak sinkron di lingkungan Anda.

Terapkan strategi mitigasi kegagalan penyebaran: Saat Anda menyebarkan aplikasi dan api kustom Dataverse atau fungsi Power Fx bersama-sama, strategi mitigasi Anda disederhanakan karena mengikuti strategi putar kembali atau perbaikan yang sama dengan aplikasi.

Efisiensi Performa

Desain untuk memenuhi persyaratan performa: Mengevaluasi performa solusi dan persyaratan volume data Anda. Tinjau bagaimana aplikasi Anda mengakses data dan apakah Power Apps menggunakan sumber data yang berbeda memperlambat performa karena latensi permintaan individual yang dikirim ke setiap penyimpanan data. Misalnya, jika logika aplikasi Anda berfungsi di banyak baris di sumber data, Anda mungkin dapat mengalihkan semua lalu lintas jaringan ke API atau fungsi kustom. Mengurangi satu interaksi dengan API atau fungsi kustom, yang kemudian menangani komunikasi dengan Dataverse, membuat operasi lebih efisien.

Optimalkan logika (API kustom Dataverse): Saat logika menjadi lebih kompleks dalam aplikasi kanvas, API kustom Dataverse memungkinkan Anda untuk membongkar logika tersebut ke layanan terpusat dan dapat digunakan kembali.

Performa pengujian: Seiring dengan pengujian untuk fungsionalitas dan kegagalan, uji dan kembangkan garis besar untuk performa. Evaluasi garis besar ini selama siklus rilis Anda jika fungsi API kustom Dataverse atau Power Fx sensitif terhadap perubahan waktu penyelesaian kerja.

Kontributor

Microsoft mempertahankan artikel ini. Kontributor berikut menulis artikel ini.

Penulis utama: