Backend-for-Frontend: Ketika API Sederhana Tidak Cukup

Teknologi Backend-for-Frontend menyederhanakan pengembangan layanan yang digunakan oleh banyak klien berbeda secara bersamaan: komputer, smartphone, dan tablet dengan semua sistem operasi yang memungkinkan.





Pendekatan Backend-for-Frontend (BFF) dikembangkan oleh SoundCloud. Kepala pengembangan SoundCloud, Phil CalΓ§ado, menggambarkan  BFF pada tahun 2015  sebagai tahap evolusi alami untuk produk IT modern.





Di masa lalu, di dunia analog, sistem korporat hanya digunakan oleh perusahaan itu sendiri. Semakin banyak digitalisasi dan omnichannel yang berkembang, fokusnya semakin bergeser dari infrastruktur perusahaan ke luar. Pelanggan mulai membeli barang secara online dan dari smartphone, mitra bisnis mulai berinteraksi dengan perusahaan melalui platform web. Menjadi penting bagi bisnis untuk membangun arsitektur yang memungkinkan akses semacam itu ke sumber daya perusahaan.





Pengembang mulai membuat API sehingga layanan TI pihak ketiga dapat terhubung ke infrastruktur. Kerugian dari teknologi ini adalah ia menawarkan semua orang kemampuan yang sama. Jika Anda perlu membatasi jumlah lalu lintas pada ponsel cerdas, dan menawarkan metode entri data mereka sendiri kepada pengguna tablet, kesulitan dapat dimulai.





Tugas SoundCloud bahkan lebih sulit - perusahaan perlu berintegrasi dengan pengembang pihak ketiga sehingga mereka dapat menyematkan pemutar ke situs mereka. Untuk melakukannya, API harus berinteraksi dengan platform apa pun secara langsung, dan dengan setiap pembaruan, tim perlu memastikan bahwa revisi tidak merusak semua integrasi ini. Dalam praktiknya, ini tidak realistis untuk dicapai.





Begitulah konsep Backend-for-Frontend lahir - layanan ringan yang terletak lebih dekat ke front-end daripada ke back-end.





Fitur BFF

Kata kuncinya adalah "ringan", daftar fitur BFF jauh lebih sedikit daripada API:





  • Bekerja dengan layanan mikro produk dan menerima data dari mereka.





  • Format data ini agar diproses dengan benar di frontend.





  • Kirim data ke frontend.





BFF: , Android, iOS .. – :





  • API , .





  • , , API.





  • .





BFF – , Netflix  Flickr.  Microsoft  IBM. True Engineering.





BFF

. RabbitMQ, .





API, . , , , . , , BFF, . Rabbit- .





, API. -, Rabbit . BFF Data Provider, . 





, API – BFF , , .  API , – BFF .





, BFF

Layanan BFF harus ringan - inilah perbedaan utamanya dari API. Tidak perlu menulis logika bisnis yang rumit dalam kode, membangun database, dll. Komunikasi sederhana harus menjadi prioritas.





Seperti yang kami katakan, suatu produk dapat memiliki beberapa layanan BFF untuk klien yang berbeda. Mereka pasti akan menggandakan satu sama lain di beberapa bagian, tetapi Anda perlu memastikan bahwa ini tidak melampaui yang wajar, jika tidak, Anda akan menghabiskan sumber daya ekstra untuk mendukung mereka.





Anda perlu memahami bahwa BFF adalah semacam penerjemah antara backend dan frontend. Oleh karena itu, keamanan, toleransi kesalahan, pemantauan perlu dibangun sebagai tambahan.








All Articles