Bab ini membantu memandu Anda memilih arsitektur penerapan saat Anda mengembangkan aplikasi Google Chat.
Gaya arsitektur
Bagian ini menjelaskan beberapa pendekatan arsitektur paling umum yang digunakan untuk membuat aplikasi. Lihat Memilih arsitektur layanan untuk membantu memutuskan pendekatan mana yang terbaik untuk aplikasi Anda.
Arsitektur layanan
Google Chat mendukung integrasi dengan aplikasi, tetapi tidak menerapkan logika aplikasi. Logika ini perlu diimplementasikan dalam kode Anda, menggunakan library atau layanan apa pun yang sesuai dengan aplikasi Anda.
Tempat membuat instance kode dan cara berinteraksi dengan Google Chat akan membentuk arsitektur layanan. Cara yang paling umum digunakan adalah di bawah ini.
Layanan web
Salah satu cara paling umum yang digunakan untuk menerapkan aplikasi adalah menggunakan layanan web atau implementasi HTTP lainnya di server lokal. Dalam desain ini, Anda akan mengonfigurasi Google Chat untuk diintegrasikan dengan layanan jarak jauh melalui HTTP:
Hal ini memungkinkan implementasi untuk menggunakan library dan komponen yang ada yang sudah ada pada sistem.
Cloud Pub/Sub
Jika implementasi aplikasi berada di belakang firewall, Google Chat mungkin tidak dapat melakukan panggilan HTTP ke firewall tersebut. Salah satu pendekatan untuk mengatasi hal ini adalah dengan menggunakan Google Cloud Pub/Sub—implementasi aplikasi berlangganan topik yang membawa pesan dari Google Chat:
Dalam pengaturan ini, implementasi aplikasi masih harus menggunakan HTTP untuk mengirim pesan ke Google Chat.
Apps Script
Anda dapat membuat logika aplikasi sepenuhnya di Apps Script. Hal ini sangat berguna untuk aplikasi yang juga terintegrasi dengan layanan Google Workspace. Aplikasi seperti ini dapat membaca dan menulis data menggunakan Google Spreadsheet, Slide, Kalender, Drive, dan sebagainya.
Pertimbangkan tampilan penerapan yang tidak di Apps Script. Bot HTTP yang terintegrasi dengan layanan Google Chat dan Google Workspace akan terlihat seperti ini:
Dapat jauh lebih sederhana—terutama dalam hal autentikasi—untuk mengimplementasikan aplikasi tersebut menggunakan Apps Script, dengan layanan Google Workspace bawaan dan model autentikasi implisit.
Webhook masuk
Anda dapat membuat aplikasi yang hanya memasukkan pesan ke ruang chat menggunakan panggilan ke Google Chat API. Pendekatan ini "di-hardcode" ke ruang chat tertentu dan tidak mengizinkan interaksi pengguna, serta jenis aplikasi ini tidak dapat dibagikan atau dipublikasikan.
Webhook masuk paling cocok untuk aplikasi satu kali yang sederhana untuk melaporkan notifikasi atau status, atau untuk beberapa jenis pembuatan prototipe aplikasi.
Implementasi logika aplikasi
Google Chat tidak membatasi cara Anda menerapkan logika aplikasi. Anda dapat membuat parser perintah sintaksis tetap sederhana yang sederhana, menggunakan library atau layanan pemrosesan AI dan bahasa lanjutan, atau apa pun yang sesuai untuk sasaran tertentu Anda.
Parser perintah
Aplikasi berbasis perintah memeriksa konten pesan peristiwa yang berasal dari Google Chat, lalu mengekstrak perintah dan parameter dari konten ini.
Salah satu pendekatan yang mudah adalah membuat token pesan, mengekstrak perintah, lalu mereferensikan kamus yang memetakan perintah ke fungsi pengendali untuk setiap perintah.
Pemrosesan natural language
Banyak penerapan aplikasi menggunakan natural language processing (NLP) untuk menentukan apa yang diminta pengguna. Ada banyak cara untuk menerapkan NLP, dan Google Chat tidak peduli cara mana yang Anda gunakan.
Salah satu layanan andal dan populer yang dapat Anda gunakan dalam penerapan aplikasi adalah Dialogflow, yang memungkinkan Anda membuat agen cerdas menggunakan model intent/tindakan.
Memilih arsitektur layanan
Bagian ini akan membantu memandu Anda saat memutuskan arsitektur layanan untuk aplikasi Anda.
Pertimbangan umum
Ada sejumlah faktor yang harus dipertimbangkan saat memutuskan arsitektur layanan. Masing-masing dijelaskan di bagian berikut. Bagian Membuat pilihan membantu Anda memilih arsitektur berdasarkan aspek tersebut.
- Untuk siapa aplikasi ini dibuat?
- Resource apa saja yang akan diakses oleh aplikasi?
- Pola percakapan apa yang akan Anda terapkan?
Masing-masing metode dijelaskan di bagian berikut. Bagian Membuat pilihan membantu Anda memilih arsitektur berdasarkan aspek tersebut.
Audiens aplikasi
Ada sejumlah calon audiens yang dapat dimiliki aplikasi. Berikut beberapa contohnya:
- Aplikasi pribadi Anda
- Hanya beberapa orang dalam kelompok kerja Anda, bukan orang lain
- Instal semuanya di seluruh organisasi Anda
- Distribusikan di Marketplace
Akses ke resource
Anda harus menentukan resource yang perlu diakses oleh aplikasi; resource ini dapat mencakup:
- Referensi Google Workspace
- Google API dan sistem lainnya
- Referensi eksternal (non-Google)
Pola percakapan
Anda juga harus mempertimbangkan bagaimana Anda ingin aplikasi berinteraksi dengan orang lain. Paragraf berikut menjelaskan beberapa pola percakapan yang mungkin diimplementasikan oleh aplikasi Anda.
Panggilan dan respons (sinkron)
Dalam pola ini, aplikasi merespons pesan dari pengguna satu per satu. Satu pesan pengguna ke aplikasi menghasilkan satu respons dari aplikasi.
Beberapa respons (asinkron)
Pola ini ditandai dengan komunikasi dua arah antara pengguna dan aplikasi, dengan aplikasi yang menghasilkan sejumlah pesan tambahan. Misalnya, pengguna mungkin meminta sesuatu dari aplikasi—aplikasi harus mengirim balasan awal untuk mengonfirmasi permintaan—lalu aplikasi tersebut mengirim satu atau beberapa pesan kembali ke ruang tempat permintaan berasal.
Satu arah dari aplikasi
Terkadang, ada baiknya membuat aplikasi yang memasukkan pesan ke dalam ruang, tetapi tidak pernah menerima peristiwa apa pun dari pengguna. Ini tidak benar-benar percakapan, tetapi dapat berguna untuk hal-hal seperti pelaporan alarm.
Satu arah ke aplikasi
Meskipun Anda dapat membuat aplikasi yang hanya menerima dan memproses pesan tanpa memberikan respons atau pesan apa pun kepada orang yang menggunakannya, hal ini akan mengakibatkan pengalaman pengguna yang buruk dan kami sangat tidak menyarankan praktik ini.
Menentukan pilihan
Jadi, arsitektur layanan mana yang harus Anda pilih untuk implementasi aplikasi? Tentu saja, jika Anda sudah memiliki aplikasi yang ingin diintegrasikan ke Google Chat, sebaiknya gunakan atau sesuaikan implementasi yang ada.
Jika Anda mengembangkan aplikasi baru, diagram berikut menunjukkan pilihan arsitektur yang disarankan untuk berbagai kasus penggunaan.