สถาปัตยกรรมการใช้งานแอป Chat

บทนี้จะช่วยแนะนำแนวทางสำหรับสถาปัตยกรรมการนำไปใช้งานเมื่อคุณพัฒนาแอป Google Chat

รูปแบบสถาปัตยกรรม

ส่วนนี้อธิบายถึงแนวทางทางสถาปัตยกรรมที่นิยมใช้ในการสร้างแอป ดูการเลือกสถาปัตยกรรมบริการสำหรับความช่วยเหลือในการตัดสินใจว่าแนวทางใดเหมาะกับแอปของคุณมากที่สุด

สถาปัตยกรรมบริการ

Google Chat รองรับการผสานรวมกับแอป แต่จะไม่ใช้ตรรกะของแอป คุณต้องนำตรรกะนี้ไปใช้ในโค้ด โดยใช้ไลบรารีหรือบริการใดก็ได้ที่เหมาะสมกับแอปของคุณ

ตำแหน่งที่จะสร้างอินสแตนซ์ของโค้ดและวิธีที่โค้ดโต้ตอบกับ Google Chat จะรวมกันเป็นสถาปัตยกรรมของบริการ การใช้รูปแบบที่แพร่หลายที่สุด อธิบายอยู่ด้านล่างนี้

บริการบนเว็บ

หนึ่งในวิธีใช้งานแอปที่พบบ่อยที่สุดคือการใช้บริการบนเว็บหรือการใช้งาน HTTP อื่นๆ ในเซิร์ฟเวอร์ภายในองค์กร ในการออกแบบนี้ คุณจะกำหนดค่า Google Chat ให้ผสานรวมกับบริการระยะไกลผ่าน HTTP โดยทำดังนี้

สถาปัตยกรรมของแอปที่ใช้บริการเว็บในเซิร์ฟเวอร์ภายในองค์กร

วิธีนี้ทำให้การติดตั้งใช้งานใช้ประโยชน์จากไลบรารีและคอมโพเนนต์ที่มีอยู่แล้วในระบบของคุณได้

Cloud Pub/Sub

หากการใช้งานแอปอยู่ภายใต้ไฟร์วอลล์ Google Chat อาจทำการเรียก HTTP ไปยังแอปดังกล่าวไม่ได้ วิธีหนึ่งที่จะแก้ปัญหานี้ได้คือการใช้ Google Cloud Pub/Sub ซึ่งการใช้งานแอปจะสมัครรับข้อมูลหัวข้อที่มีข้อความจาก Google Chat ดังนี้

สถาปัตยกรรมของแอปที่ใช้งานด้วย Cloud Pub/Sub

ในการจัดเรียงนี้ การใช้งานแอปยังคงต้องใช้ HTTP สำหรับการส่งข้อความไปยัง Google Chat

Apps Script

คุณสร้างตรรกะแอปทั้งหมดได้ใน Apps Script ซึ่งจะมีประโยชน์อย่างยิ่งสำหรับแอปที่ผสานรวมกับบริการของ Google Workspace ด้วย แอปเช่นนี้อาจอ่านและเขียนข้อมูลโดยใช้ Google ชีต, สไลด์, ปฏิทิน, ไดรฟ์ และอื่นๆ

สถาปัตยกรรมของแอปที่ใช้งานด้วย Apps Script

ดูว่าการติดตั้งใช้งานจะไม่ได้ใช้งานใน Apps Script ในลักษณะใด บ็อต HTTP ที่ผสานรวมกับ บริการของ Google Chat และ Google Workspace จะมีลักษณะดังนี้

สถาปัตยกรรมของแอปที่ใช้ร่วมกับระบบภายในองค์กร

การนำแอปลักษณะนี้ไปใช้ด้วย Apps Script จะง่ายขึ้นมาก โดยเฉพาะในเรื่องการตรวจสอบสิทธิ์ โดยมีบริการ Google Workspace ในตัวและรูปแบบการตรวจสอบสิทธิ์โดยนัย

เว็บฮุคขาเข้า

คุณสามารถสร้างแอปที่แทรกข้อความไปยังพื้นที่ใน Chat โดยใช้การเรียกไปยัง Google Chat API วิธีนี้เป็นแบบ "ฮาร์ดโค้ด" สำหรับพื้นที่แชทที่เฉพาะเจาะจงและไม่อนุญาตให้ผู้ใช้โต้ตอบ และแอปประเภทนี้จะแชร์หรือเผยแพร่แอปไม่ได้

เว็บฮุคขาเข้าเหมาะที่สุดสำหรับแอปง่ายๆ ที่ทำเพียงครั้งเดียวเพื่อรายงานการแจ้งเตือนหรือสถานะ หรือสำหรับการสร้างต้นแบบแอปบางประเภท

การใช้ตรรกะของแอป

Google Chat จะไม่จำกัดการเข้าถึงการใช้ตรรกะของแอป โดยคุณจะสร้างโปรแกรมแยกวิเคราะห์คำสั่งไวยากรณ์แบบคงที่แบบง่าย ใช้ไลบรารีหรือบริการ AI และการประมวลผลภาษาขั้นสูง หรืออื่นๆ ที่เหมาะสมกับเป้าหมายที่เฉพาะเจาะจงได้

โปรแกรมแยกวิเคราะห์คำสั่ง

แอปที่ขับเคลื่อนด้วยคำสั่งจะตรวจสอบเพย์โหลดของเหตุการณ์การโต้ตอบในแอป Chat จากนั้นดึงคำสั่งและพารามิเตอร์จากเนื้อหานี้

วิธีง่ายๆ ก็คือแปลงข้อความเป็นโทเค็น แยกคำสั่งแล้วอ้างอิงพจนานุกรมที่แมปคำสั่งกับฟังก์ชันเครื่องจัดการสำหรับแต่ละคำสั่ง

การประมวลผลภาษาธรรมชาติ

การติดตั้งใช้งานแอปจำนวนมากใช้การประมวลผลภาษาธรรมชาติ (NLP) เพื่อระบุสิ่งที่ผู้ใช้ขอ มีหลายวิธีที่คุณสามารถใช้งาน NLP และ Google Chat ไม่สนใจว่าคุณจะใช้ NLP อย่างไร

บริการที่มีประสิทธิภาพและเป็นที่นิยมบริการหนึ่งที่คุณสามารถใช้ในการติดตั้งใช้งานแอปได้ก็คือ Dialogflow ซึ่งให้คุณสร้างตัวแทนอัจฉริยะโดยใช้โมเดลความตั้งใจ/การดำเนินการ

การเลือกสถาปัตยกรรมบริการ

ส่วนนี้จะช่วยแนะนำคุณในการเลือกสถาปัตยกรรมบริการสำหรับแอปของคุณ

ข้อควรพิจารณาทั่วไป

มีหลายปัจจัยที่คุณควรพิจารณาเมื่อตัดสินใจเลือกสถาปัตยกรรมบริการ ซึ่งแต่ละหัวข้อจะอธิบายในส่วนถัดไป ส่วนการเลือกตัวเลือกจะช่วยคุณเลือกสถาปัตยกรรมตามลักษณะเหล่านี้

  • แอปนี้เหมาะสำหรับใคร
  • แอปจะเข้าถึงทรัพยากรใดได้บ้าง
  • รูปแบบการสนทนาใดที่คุณจะใช้

ซึ่งแต่ละหัวข้อจะอธิบายในส่วนถัดไป ส่วนการเลือกตัวเลือกจะช่วยคุณเลือกสถาปัตยกรรมตามลักษณะเหล่านี้

กลุ่มเป้าหมายของแอป

แอปอาจมีกลุ่มเป้าหมายได้เป็นจำนวนมาก ดังตัวอย่างต่อไปนี้

  • แอปส่วนตัวของคุณเอง
  • แค่ไม่กี่คนในกลุ่มงานของคุณ ไม่มีใครเลย
  • ติดตั้งทั่วทั้งองค์กร
  • จัดจำหน่ายในตลาดกลาง

สิทธิ์เข้าถึงทรัพยากร

คุณควรกำหนดทรัพยากรที่แอปจำเป็นต้องเข้าถึง โดยทรัพยากรเหล่านี้อาจรวมถึง

  • แหล่งข้อมูล Google Workspace
  • Google API และระบบอื่นๆ
  • แหล่งข้อมูลภายนอก (ไม่ใช่ของ Google)

รูปแบบการสนทนา

นอกจากนี้ คุณยังควรคำนึงถึงวิธีที่คุณต้องการให้แอปโต้ตอบกับผู้ใช้ด้วย ย่อหน้าต่อไปนี้จะอธิบายรูปแบบการสนทนาบางอย่างที่แอปของคุณอาจนำไปใช้

การโทรและคำตอบ (ซิงโครนัส)

ในรูปแบบนี้ แอปจะตอบสนองต่อข้อความจากผู้ใช้แบบหนึ่งต่อหนึ่ง ข้อความของผู้ใช้ 1 ข้อความที่ส่งถึงแอปจะส่งผลให้มีการตอบกลับ 1 รายการจากแอป

สถาปัตยกรรมของข้อความแบบซิงโครนัส

คำตอบหลายคำตอบ (ไม่พร้อมกัน)

รูปแบบนี้มีลักษณะเป็นการสื่อสารแบบ 2 ทางระหว่างผู้ใช้กับแอป โดยแอปจะสร้างข้อความเพิ่มเติมกี่รายการก็ได้ ตัวอย่างเช่น ผู้ใช้อาจขอบางสิ่งจากแอป ซึ่งแอปควรตอบกลับเบื้องต้นเพื่อรับทราบคำขอ จากนั้นแอปจะส่งข้อความอย่างน้อย 1 ข้อความกลับไปยังพื้นที่ที่ส่งคำขอในภายหลัง

สถาปัตยกรรมของข้อความอะซิงโครนัส

ทางเดียวจากแอป

บางครั้งการสร้างแอป Chat ที่จะแทรกข้อความในพื้นที่ทำงานโดยตรงนั้นอาจมีประโยชน์ แต่ไม่อนุญาตให้ผู้ใช้โต้ตอบกับแอป Chat โดยตรง การทำเช่นนี้ไม่ใช่การพูดคุยโต้ตอบกันโดยตรงแต่อาจมีประโยชน์สำหรับสิ่งต่างๆ เช่น การรายงานสัญญาณเตือน

สถาปัตยกรรมของแอปแบบทางเดียว

ไปที่แอปทางเดียว

แม้ว่าการสร้างแอปที่รับและประมวลผลเฉพาะข้อความโดยไม่ตอบกลับหรือส่งข้อความให้กับผู้คนที่ใช้แอปนั้นได้ แต่การทำเช่นนี้ทำให้ผู้ใช้ได้รับประสบการณ์ที่ไม่ดี และเราไม่สนับสนุนการกระทำนี้เป็นอย่างยิ่ง

ทางเลือก

แล้วคุณควรเลือกสถาปัตยกรรมบริการใดในการใช้งานแอป แต่หากมีแอปอยู่แล้วและต้องการผสานรวมเข้ากับ Google Chat คุณมีแนวโน้มที่จะต้องการใช้งานหรือปรับเปลี่ยนการติดตั้งใช้งานที่มีอยู่

หากคุณกำลังพัฒนาแอปใหม่ แผนภาพต่อไปนี้จะแสดงตัวเลือกสถาปัตยกรรมที่แนะนำสำหรับกรณีการใช้งานต่างๆ

เลือกสถาปัตยกรรมตามกรณีการใช้งานของคุณ