একটি Google Chat অ্যাপ আর্কিটেকচার বেছে নিন

এই পৃষ্ঠায় গুগল চ্যাট অ্যাপ তৈরি করতে ব্যবহৃত সাধারণ সার্ভিস আর্কিটেকচার পদ্ধতিগুলো বর্ণনা করা হয়েছে। আপনার যদি আগে থেকে কোনো অ্যাপ থাকে যা আপনি গুগল চ্যাটে একীভূত করতে চান, তবে আপনি আপনার বিদ্যমান ইমপ্লিমেন্টেশনটি ব্যবহার বা অভিযোজিত করতে পারেন। আর যদি আপনি একটি নতুন চ্যাট অ্যাপ তৈরি করেন, তবে এই পৃষ্ঠাটি একই ধরনের তথ্য কয়েকটি ভিন্ন উপায়ে উপস্থাপন করে, যা আপনাকে আপনার ব্যবহারের ক্ষেত্রের জন্য সঠিক আর্কিটেকচারটি বেছে নিতে সাহায্য করবে:

বৈশিষ্ট্য এবং সক্ষমতা অনুসারে সংক্ষিপ্ত বিবরণ

নিম্নলিখিত সারণীটি চ্যাট অ্যাপের মূল বৈশিষ্ট্য ও সক্ষমতা এবং প্রস্তাবিত ( ) পরিষেবা আর্কিটেকচার শৈলী তুলে ধরেছে। কিছু ক্ষেত্রে, এই বৈশিষ্ট্যগুলি ব্যবহার করে অন্য আর্কিটেকচার শৈলী তৈরি করা সম্ভব হতে পারে, কিন্তু ব্যবহারের ক্ষেত্রের জন্য তা অন্যান্য শৈলীর মতো ততটা উপযুক্ত নয় ( )।

বৈশিষ্ট্য এবং ক্ষমতা

ওয়েব বা HTTP পরিষেবা

পাব/সাব

ওয়েবহুক

অ্যাপস স্ক্রিপ্ট

অ্যাপশিট

ডায়ালগফ্লো

স্ক্রিপ্ট

উদ্দিষ্ট শ্রোতা

আপনার দল

আপনার সংস্থা

জনসাধারণ

ব্যবহারকারীর মিথস্ক্রিয়া

প্রাকৃতিক ভাষা প্রক্রিয়াকরণ ব্যবহার করুন

বার্তা আদান-প্রদানের ধরণ

সিঙ্ক্রোনাস বার্তা প্রেরণ এবং গ্রহণ করুন

সিঙ্ক্রোনাস বার্তা প্রেরণ ও গ্রহণ করুন, এবং অ্যাসিঙ্ক্রোনাস বার্তা প্রেরণ করুন

শুধুমাত্র অ্যাসিঙ্ক্রোনাস বার্তা পাঠান

একটি বাহ্যিক সিস্টেম থেকে একটিমাত্র চ্যাট স্পেসে বার্তা পাঠান

অন্যান্য পরিষেবা এবং সিস্টেম অ্যাক্সেস করুন

অন্যান্য গুগল পরিষেবাগুলির সাথে একীভূত করুন

ফায়ারওয়ালের আড়ালে যোগাযোগ করুন

চ্যাট ইভেন্ট সম্পর্কে জিজ্ঞাসা করুন বা সাবস্ক্রাইব করুন

কোডিং এবং ডেপ্লয়মেন্ট শৈলী

কোড ছাড়া উন্নয়ন

লো কোড দিয়ে উন্নয়ন

আপনার পছন্দের প্রোগ্রামিং ভাষায় উন্নয়ন

সরলীকৃত ডেভঅপ্স

সম্পূর্ণ ডেভঅপ্স এবং সিআই/সিডি ব্যবস্থাপনা

পরিষেবা স্থাপত্য শৈলী

এই অংশে চ্যাট অ্যাপ তৈরি করতে ব্যবহৃত কিছু প্রচলিত স্থাপত্যগত পদ্ধতি বর্ণনা করা হয়েছে।

ওয়েব বা HTTP পরিষেবা

ওয়েব বা HTTP সার্ভিস হলো সবচেয়ে বেশি ব্যবহৃত আর্কিটেকচার, কারণ এটি ডেভেলপারদের পাবলিক চ্যাট অ্যাপ তৈরি করার জন্য সর্বাধিক নমনীয়তা প্রদান করে। নিম্নলিখিত ব্যবহারের ক্ষেত্রগুলির জন্য এই আর্কিটেকচারটি সুপারিশ করা হয়:

  • চ্যাট অ্যাপটি গুগল ওয়ার্কস্পেস মার্কেটপ্লেসে সর্বসাধারণের জন্য উন্মুক্ত করা হয়েছে।
  • চ্যাট অ্যাপটি সব ধরনের মেসেজিং প্যাটার্ন পাঠাতে ও গ্রহণ করতে পারে: সিনক্রোনাস মেসেজ পাঠানো ও গ্রহণ করা, অ্যাসিনক্রোনাস মেসেজ পাঠানো, এবং বাহ্যিক সিস্টেম থেকে মেসেজ পাঠানো।
  • চ্যাট অ্যাপটি যেকোনো প্রোগ্রামিং ভাষায় তৈরি করা হয়।
  • চ্যাট অ্যাপটির জন্য পূর্ণাঙ্গ ডেভঅপ্স এবং সিআই/সিডি ব্যবস্থাপনা প্রয়োজন।
  • চ্যাট অ্যাপ পরিষেবাটি ক্লাউড বা অন-প্রিমিসেস সার্ভারে বাস্তবায়িত হয়।

এই ডিজাইনে, আপনি HTTP ব্যবহার করে একটি রিমোট সার্ভিসের সাথে চ্যাটকে ইন্টিগ্রেট করার জন্য কনফিগার করেন, যেমনটি নিম্নলিখিত ডায়াগ্রামে দেখানো হয়েছে:

অন-প্রিমিসেস সার্ভারে ওয়েব সার্ভিস ব্যবহার করে একটি চ্যাট অ্যাপের আর্কিটেকচার।

পূর্ববর্তী ডায়াগ্রামে, একটি HTTP চ্যাট অ্যাপের সাথে মিথস্ক্রিয়াকারী একজন ব্যবহারকারীর তথ্যের প্রবাহ নিম্নরূপ:

  1. একজন ব্যবহারকারী চ্যাট স্পেস থেকে চ্যাট অ্যাপের কোনো একটিতে বার্তা পাঠান।
  2. একটি HTTP অনুরোধ এমন একটি ওয়েব সার্ভারে পাঠানো হয়, যা ক্লাউড অথবা অন-প্রিমিসেস সিস্টেম হতে পারে এবং যেখানে চ্যাট অ্যাপের লজিক থাকে।
  3. ঐচ্ছিকভাবে, চ্যাট অ্যাপের লজিকটি প্রজেক্ট ম্যানেজমেন্ট সিস্টেম বা টিকেটিং টুলের মতো বাহ্যিক তৃতীয় পক্ষের পরিষেবাগুলির সাথে যোগাযোগ করতে পারে।
  4. ওয়েব সার্ভারটি চ্যাট-এর চ্যাট অ্যাপ সার্ভিসে একটি HTTP রেসপন্স ফেরত পাঠায়।
  5. প্রতিক্রিয়াটি ব্যবহারকারীর কাছে পৌঁছে দেওয়া হয়।
  6. ঐচ্ছিকভাবে, চ্যাট অ্যাপটি অ্যাসিঙ্ক্রোনাসভাবে বার্তা পোস্ট করতে বা অন্যান্য অপারেশন সম্পাদন করতে চ্যাট এপিআই-কে কল করতে পারে।

এই আর্কিটেকচারটি আপনাকে আপনার সিস্টেমে আগে থেকেই বিদ্যমান লাইব্রেরি এবং কম্পোনেন্ট ব্যবহার করার সুবিধা দেয়, কারণ এই চ্যাট অ্যাপগুলো বিভিন্ন প্রোগ্রামিং ভাষা ব্যবহার করে ডিজাইন করা যায়। এই আর্কিটেকচারটি বাস্তবায়ন করার বিভিন্ন উপায় রয়েছে। গুগল ক্লাউডে, আপনি ক্লাউড রান এবং অ্যাপ ইঞ্জিন ব্যবহার করতে পারেন। শুরু করার জন্য, ‘একটি গুগল চ্যাট অ্যাপ তৈরি করুন’ দেখুন।

পাব/সাব

যদি চ্যাট অ্যাপটি কোনো ফায়ারওয়ালের পেছনে স্থাপন করা হয়, তবে চ্যাট সেটিতে HTTP কল করতে পারে না। এর একটি উপায় হলো পাব/সাব (Pub/Sub) ব্যবহার করে চ্যাট অ্যাপ ইমপ্লিমেন্টেশনকে এমন একটি টপিকে সাবস্ক্রাইব করার সুযোগ দেওয়া, যেখানে চ্যাট থেকে মেসেজ আসে। পাব/সাব হলো একটি অ্যাসিঙ্ক্রোনাস মেসেজিং সার্ভিস যা মেসেজ উৎপাদনকারী সার্ভিসগুলোকে সেই মেসেজগুলো প্রসেসকারী সার্ভিসগুলো থেকে বিচ্ছিন্ন করে। নিম্নলিখিত ব্যবহারের ক্ষেত্রগুলোর জন্য এই আর্কিটেকচারটি সুপারিশ করা হয়:

  • চ্যাট অ্যাপটি একটি ফায়ারওয়ালের পেছনে তৈরি করা হয়েছে।
  • চ্যাট অ্যাপটি একটি চ্যাট স্পেস সম্পর্কিত ইভেন্ট গ্রহণ করে
  • চ্যাট অ্যাপটি আপনার প্রতিষ্ঠানে স্থাপন করা হয়েছে।
  • চ্যাট অ্যাপটি সিঙ্ক্রোনাস বার্তা পাঠাতে ও গ্রহণ করতে পারে এবং অ্যাসিঙ্ক্রোনাস বার্তাও পাঠাতে পারে।
  • চ্যাট অ্যাপটি যেকোনো প্রোগ্রামিং ভাষায় তৈরি করা হয়।
  • চ্যাট অ্যাপটির জন্য পূর্ণাঙ্গ ডেভঅপ্স এবং সিআই/সিডি ব্যবস্থাপনা প্রয়োজন।

নিম্নলিখিত ডায়াগ্রামটি পাব/সাব দিয়ে তৈরি একটি চ্যাট অ্যাপের আর্কিটেকচার দেখায়:

পাব/সাব ব্যবহার করে বাস্তবায়িত একটি চ্যাট অ্যাপের স্থাপত্য।

পূর্ববর্তী ডায়াগ্রামে, একটি পাব/সাব চ্যাট অ্যাপের সাথে মিথস্ক্রিয়াকারী একজন ব্যবহারকারীর তথ্যের প্রবাহ নিম্নরূপ:

  1. একজন ব্যবহারকারী কোনো চ্যাট অ্যাপে সরাসরি বার্তা বা চ্যাট স্পেসের মাধ্যমে একটি বার্তা পাঠান, অথবা কোনো চ্যাট স্পেসে এমন কোনো ঘটনা ঘটে যার জন্য চ্যাট অ্যাপটির একটি সক্রিয় সাবস্ক্রিপশন রয়েছে।

  2. চ্যাট একটি পাব/সাব টপিকে বার্তাটি পাঠায়।

  3. একটি অ্যাপ্লিকেশন সার্ভার, যা একটি ক্লাউড বা অন-প্রিমিসেস সিস্টেম এবং যাতে চ্যাট অ্যাপের লজিক থাকে, সেটি ফায়ারওয়ালের মাধ্যমে বার্তা গ্রহণ করার জন্য পাব/সাব টপিকে সাবস্ক্রাইব করে।

  4. ঐচ্ছিকভাবে, চ্যাট অ্যাপটি অ্যাসিঙ্ক্রোনাসভাবে বার্তা পোস্ট করতে বা অন্যান্য অপারেশন সম্পাদন করতে চ্যাট এপিআই-কে কল করতে পারে।

শুরু করতে, আপনার চ্যাট অ্যাপের এন্ডপয়েন্ট হিসেবে পাব/সাব-এর ব্যবহার দেখুন।

ওয়েবহুক

আপনি একটি চ্যাট ওয়েবহুক ইউআরএল-এ কল ব্যবহার করে এমন একটি চ্যাট অ্যাপ তৈরি করতে পারেন যা শুধুমাত্র একটি নির্দিষ্ট চ্যাট স্পেসে বার্তা পাঠাতে পারে। নিম্নলিখিত ব্যবহারের ক্ষেত্রগুলির জন্য এই আর্কিটেকচারটি সুপারিশ করা হয়:

  • চ্যাট অ্যাপটি আপনার টিমে স্থাপন করা হয়েছে।
  • চ্যাট অ্যাপটি একটি বাহ্যিক সিস্টেম থেকে একটিমাত্র চ্যাট স্পেসে বার্তা পাঠায়।

এই আর্কিটেকচারের মাধ্যমে, চ্যাট অ্যাপটি একটি নির্দিষ্ট চ্যাট স্পেসের মধ্যে সীমাবদ্ধ থাকে এবং ব্যবহারকারীর মিথস্ক্রিয়ার সুযোগ দেয় না, যেমনটি নিম্নলিখিত ডায়াগ্রামে দেখানো হয়েছে:

চ্যাটে অ্যাসিঙ্ক্রোনাস বার্তা পাঠানোর জন্য ইনকামিং ওয়েবহুকের আর্কিটেকচার।

পূর্ববর্তী ডায়াগ্রামে, একটি চ্যাট অ্যাপে তথ্যের নিম্নলিখিত প্রবাহ রয়েছে:

  1. চ্যাট অ্যাপের লজিকটি প্রজেক্ট ম্যানেজমেন্ট সিস্টেম বা টিকেটিং টুলের মতো বাহ্যিক তৃতীয় পক্ষের পরিষেবাগুলো থেকে তথ্য গ্রহণ করে।
  2. চ্যাট অ্যাপের লজিকটি ক্লাউড অথবা অন-প্রিমিসেস সিস্টেমে হোস্ট করা থাকে, যেখান থেকে একটি ওয়েবহুক ইউআরএল ব্যবহার করে নির্দিষ্ট চ্যাট স্পেসে মেসেজ পাঠানো যায়।
  3. ব্যবহারকারীরা সেই নির্দিষ্ট চ্যাট স্পেসে চ্যাট অ্যাপ থেকে বার্তা গ্রহণ করতে পারলেও, চ্যাট অ্যাপটির সাথে কোনো মিথস্ক্রিয়া করতে পারেন না।

এই ধরনের চ্যাট অ্যাপ অন্য চ্যাট স্পেসে বা অন্য টিমের সাথে শেয়ার করা যায় না এবং গুগল ওয়ার্কস্পেস মার্কেটপ্লেসে প্রকাশ করা যায় না। অ্যালার্ট বা স্ট্যাটাস রিপোর্ট করার জন্য, অথবা কিছু নির্দিষ্ট ধরনের চ্যাট অ্যাপের প্রোটোটাইপিংয়ের জন্য ইনকামিং ওয়েবহুক ব্যবহারের পরামর্শ দেওয়া হয়।

শুরু করতে, ওয়েবহুক ব্যবহার করে চ্যাটে বার্তা পাঠান দেখুন।

অ্যাপস স্ক্রিপ্ট

আপনি আপনার চ্যাট অ্যাপের লজিক সম্পূর্ণরূপে জাভাস্ক্রিপ্টে তৈরি করতে পারেন। গুগল অ্যাপস স্ক্রিপ্ট হলো চ্যাট অ্যাপের জন্য একটি লো-কোড ডেভেলপমেন্ট প্ল্যাটফর্ম। অ্যাপস স্ক্রিপ্ট ব্যবহারকারীর প্রমাণীকরণের জন্য অথরাইজেশন ফ্লো এবং OAuth 2.0 টোকেন পরিচালনা করে। আপনি অ্যাপস স্ক্রিপ্ট ব্যবহার করে পাবলিক চ্যাট অ্যাপ তৈরি করতে পারেন, কিন্তু দৈনিক কোটা এবং সীমাবদ্ধতার কারণে এটি সুপারিশ করা হয় না।

এই আর্কিটেকচারটি নিম্নলিখিত ব্যবহারের ক্ষেত্রগুলির জন্য সুপারিশ করা হয়:

  • চ্যাট অ্যাপটি আপনার টিম বা আপনার প্রতিষ্ঠানে স্থাপন করা হয়।
  • চ্যাট অ্যাপটি সব ধরনের মেসেজিং প্যাটার্ন পাঠাতে ও গ্রহণ করতে পারে: সিনক্রোনাস মেসেজ পাঠানো ও গ্রহণ করা, অ্যাসিনক্রোনাস মেসেজ পাঠানো, এবং বাহ্যিক সিস্টেম থেকে মেসেজ পাঠানো।
  • চ্যাট অ্যাপটির জন্য সরলীকৃত ডেভঅপ্স ব্যবস্থাপনা প্রয়োজন।

এই আর্কিটেকচারটি সেইসব চ্যাট অ্যাপের জন্য উপযোগী, যেগুলো অন্যান্য গুগল ওয়ার্কস্পেস ও গুগল পরিষেবা, যেমন গুগল শিটস, গুগল স্লাইডস, গুগল ক্যালেন্ডার, গুগল ড্রাইভ, গুগল ম্যাপস এবং ইউটিউবের সাথেও সমন্বিত থাকে, যেমনটি নিম্নলিখিত ডায়াগ্রামে দেখানো হয়েছে:

অ্যাপস স্ক্রিপ্ট দিয়ে বাস্তবায়িত একটি চ্যাট অ্যাপের স্থাপত্য।

পূর্ববর্তী ডায়াগ্রামে, একটি অ্যাপস স্ক্রিপ্ট চ্যাট অ্যাপের সাথে ইন্টারঅ্যাক্ট করা একজন ব্যবহারকারীর তথ্যের প্রবাহ নিম্নরূপ:

  1. একজন ব্যবহারকারী কোনো চ্যাট অ্যাপে সরাসরি বার্তা অথবা চ্যাট স্পেসে বার্তা পাঠান।
  2. গুগল ক্লাউডে অবস্থিত অ্যাপস স্ক্রিপ্টে বাস্তবায়িত চ্যাট অ্যাপের লজিকটি বার্তাটি গ্রহণ করে।
  3. ঐচ্ছিকভাবে, চ্যাট অ্যাপের লজিকটি গুগল ওয়ার্কস্পেস পরিষেবা, যেমন ক্যালেন্ডার বা শিটস, অথবা অন্যান্য গুগল পরিষেবা, যেমন গুগল ম্যাপস বা ইউটিউবের সাথে সমন্বিত হতে পারে।
  4. চ্যাট অ্যাপের লজিকটি চ্যাটের মধ্যে থাকা চ্যাট অ্যাপ সার্ভিসে একটি প্রতিক্রিয়া ফেরত পাঠায়।
  5. প্রতিক্রিয়াটি ব্যবহারকারীর কাছে পৌঁছে দেওয়া হয়।

শুরু করতে, অ্যাপস স্ক্রিপ্ট দিয়ে একটি চ্যাট অ্যাপ তৈরি করুন দেখুন।

অ্যাপশিট

আপনি AppSheet ব্যবহার করে কোনো কোড ছাড়াই একটি ডোমেইন-শেয়ারড চ্যাট অ্যাপ তৈরি করতে পারেন। অটোমেটিক কনফিগারেশন মোড ব্যবহার করে এবং সাধারণ চ্যাট অ্যাপ অ্যাকশনগুলো তৈরি করার জন্য টেমপ্লেট অনুসরণ করে আপনি ডেভেলপমেন্ট প্রক্রিয়াকে সহজ করতে পারেন। তবে, AppSheet ওয়েব অ্যাপের কিছু ফিচার চ্যাট অ্যাপে পাওয়া যায় না

এই আর্কিটেকচারটি নিম্নলিখিত ব্যবহারের ক্ষেত্রগুলির জন্য সুপারিশ করা হয়:

  • চ্যাট অ্যাপটি আপনার এবং আপনার টিমের কাছে পৌঁছে দেওয়া হয়েছে।
  • চ্যাট অ্যাপটি সিঙ্ক্রোনাস বার্তা পাঠাতে ও গ্রহণ করতে পারে এবং অ্যাসিঙ্ক্রোনাস বার্তাও পাঠাতে পারে।
  • চ্যাট অ্যাপটির জন্য সরলীকৃত ডেভঅপ্স ব্যবস্থাপনা প্রয়োজন।

নিম্নলিখিত ডায়াগ্রামটি AppSheet দিয়ে তৈরি একটি চ্যাট অ্যাপের আর্কিটেকচার দেখায়:

AppSheet ব্যবহার করে বাস্তবায়িত একটি চ্যাট অ্যাপের স্থাপত্য।

পূর্ববর্তী ডায়াগ্রামে, AppSheet Chat অ্যাপের সাথে মিথস্ক্রিয়াকারী একজন ব্যবহারকারীর তথ্যের প্রবাহ নিম্নরূপ:

  1. একজন ব্যবহারকারী চ্যাট অ্যাপের চ্যাটে, সরাসরি বার্তা হিসেবে অথবা চ্যাট স্পেসে একটি বার্তা পাঠান।
  2. গুগল ক্লাউডে অবস্থিত অ্যাপশিট-এ বাস্তবায়িত চ্যাট অ্যাপের লজিকটি বার্তাটি গ্রহণ করে।
  3. ঐচ্ছিকভাবে, চ্যাট অ্যাপের লজিকটি গুগল ওয়ার্কস্পেস পরিষেবাগুলির সাথে, যেমন অ্যাপস স্ক্রিপ্ট বা গুগল শিটস-এর সাথে, সমন্বিত হতে পারে।
  4. চ্যাট অ্যাপের লজিকটি চ্যাটের মধ্যে থাকা চ্যাট অ্যাপ সার্ভিসে একটি প্রতিক্রিয়া ফেরত পাঠায়।
  5. প্রতিক্রিয়াটি ব্যবহারকারীর কাছে পৌঁছে দেওয়া হয়।

শুরু করতে, AppSheet দিয়ে একটি চ্যাট অ্যাপ তৈরি করুন দেখুন।

ডায়ালগফ্লো

আপনি Dialogflow ব্যবহার করে একটি চ্যাট অ্যাপ তৈরি করতে পারেন, যা স্বয়ংক্রিয় কথোপকথন এবং ডায়নামিক প্রতিক্রিয়ার জন্য একটি ন্যাচারাল ল্যাঙ্গুয়েজ প্ল্যাটফর্ম। নিম্নলিখিত ব্যবহারের ক্ষেত্রগুলির জন্য এই আর্কিটেকচারটি সুপারিশ করা হয়:

  • চ্যাট অ্যাপটি দিয়ে সিঙ্ক্রোনাস মেসেজ পাঠানো ও গ্রহণ করা যায়।
  • চ্যাট অ্যাপটি ব্যবহারকারীদের সাথে উত্তর দিতে ও আলাপচারিতা করতে ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং ব্যবহার করে।

নিম্নলিখিত ডায়াগ্রামটি Dialogflow দিয়ে তৈরি একটি চ্যাট অ্যাপের আর্কিটেকচার দেখাচ্ছে:

ডায়ালগফ্লো দিয়ে বাস্তবায়িত একটি চ্যাট অ্যাপের আর্কিটেকচার।

পূর্ববর্তী ডায়াগ্রামে, Dialogflow Chat অ্যাপের সাথে মিথস্ক্রিয়াকারী একজন ব্যবহারকারীর তথ্যের প্রবাহ নিম্নরূপ:

  1. একজন ব্যবহারকারী চ্যাট অ্যাপের চ্যাটে, সরাসরি বার্তা হিসেবে অথবা চ্যাট স্পেসে একটি বার্তা পাঠান।
  2. গুগল ক্লাউডে অবস্থিত একটি ডায়ালগফ্লো ভার্চুয়াল এজেন্ট বার্তাটি গ্রহণ ও প্রক্রিয়াকরণ করে একটি প্রতিক্রিয়া তৈরি করে।
  3. ঐচ্ছিকভাবে, একটি Dialogflow ওয়েবহুক ব্যবহার করে, Dialogflow এজেন্ট বাহ্যিক তৃতীয় পক্ষের পরিষেবাগুলির সাথে যোগাযোগ করতে পারে, যেমন একটি প্রজেক্ট ম্যানেজমেন্ট সিস্টেম বা একটি টিকেটিং টুল।
  4. Dialogflow এজেন্ট Chat-এর মধ্যে থাকা Chat অ্যাপ সার্ভিসে একটি প্রতিক্রিয়া ফেরত পাঠায়।
  5. উত্তরটি চ্যাট স্পেসে পৌঁছে দেওয়া হয়।

শুরু করতে, "একটি ডায়ালগফ্লো গুগল চ্যাট অ্যাপ তৈরি করুন" দেখুন।

কমান্ড-লাইন অ্যাপ্লিকেশন বা স্ক্রিপ্ট

আপনি এমন একটি কমান্ড-লাইন অ্যাপ্লিকেশন বা স্ক্রিপ্ট তৈরি করতে পারেন যা চ্যাটে বার্তা পাঠায় বা অন্যান্য অপারেশন, যেমন একটি স্পেস তৈরি করা বা স্পেসের সদস্যদের পরিচালনা করা, সম্পাদন করে, কিন্তু ব্যবহারকারীদের চ্যাটে সরাসরি চ্যাট অ্যাপটি চালু করতে বা তাতে সাড়া দিতে দেয় না। এই আর্কিটেকচারটি নিম্নলিখিত ব্যবহারের ক্ষেত্রগুলির জন্য সুপারিশ করা হয়:

  • চ্যাট অ্যাপটি যেকোনো প্রোগ্রামিং ভাষায় তৈরি করা হয়।
  • চ্যাট অ্যাপটি শুধুমাত্র অ্যাসিঙ্ক্রোনাস মেসেজ পাঠাতে পারে।

নিম্নলিখিত ডায়াগ্রামটি স্থাপত্যটি দেখায়:

কমান্ড-লাইন অ্যাপ্লিকেশন বা স্ক্রিপ্ট দিয়ে বাস্তবায়িত একটি চ্যাট অ্যাপের স্থাপত্য।

পূর্ববর্তী ডায়াগ্রামে, চ্যাট অ্যাপটিতে তথ্যের নিম্নলিখিত প্রবাহ রয়েছে:

  1. চ্যাট অ্যাপটি বার্তা পাঠাতে বা অন্য কোনো কাজ সম্পাদন করতে চ্যাট এপিআই-কে কল করে।
  2. চ্যাট অনুরোধকৃত অপারেশনটি সম্পাদন করে।
  3. ঐচ্ছিকভাবে, চ্যাট অ্যাপটি CLI-তে একটি নিশ্চিতকরণ বার্তা প্রিন্ট করে।

চ্যাট অ্যাপ লজিক বাস্তবায়ন

চ্যাট অ্যাপের লজিক বাস্তবায়নের পদ্ধতিতে চ্যাট কোনো সীমাবদ্ধতা আরোপ করে না। আপনি একটি নির্দিষ্ট সিনট্যাক্সযুক্ত কমান্ড পার্সার তৈরি করতে পারেন, উন্নত এআই এবং ল্যাঙ্গুয়েজ প্রসেসিং লাইব্রেরি বা সার্ভিস ব্যবহার করতে পারেন, ইভেন্টে সাবস্ক্রাইব করে সাড়া দিতে পারেন, অথবা আপনার নির্দিষ্ট লক্ষ্যের জন্য উপযুক্ত অন্য যেকোনো কিছু করতে পারেন।

ব্যবহারকারীর মিথস্ক্রিয়া পরিচালনা করুন

চ্যাট অ্যাপ বিভিন্ন উপায়ে ব্যবহারকারীদের সাথে যোগাযোগ করতে পারে। ব্যবহারকারীর মিথস্ক্রিয়া হলো এমন যেকোনো কাজ যা একজন ব্যবহারকারী চ্যাট অ্যাপ চালু করতে বা এর সাথে যোগাযোগ করতে করে থাকে।

কমান্ড পার্সার

কমান্ড-চালিত চ্যাট অ্যাপগুলো চ্যাট অ্যাপের ইন্টারঅ্যাকশন ইভেন্টগুলোর পেলোড পরীক্ষা করে, তারপর এই কন্টেন্ট থেকে কমান্ড এবং প্যারামিটারগুলো বের করে নেয়। উদাহরণস্বরূপ, ‘গুগল চ্যাট অ্যাপের কমান্ডের উত্তর দিন’ দেখুন।

আরেকটি পদ্ধতি হলো মেসেজটিকে টোকেনাইজ করে কমান্ডটি বের করা এবং তারপর এমন একটি ডিকশনারি ব্যবহার করা, যা প্রতিটি কমান্ডের জন্য কমান্ডগুলোকে হ্যান্ডলার ফাংশনের সাথে ম্যাপ করে।

ডায়ালগ-ভিত্তিক ব্যবহারকারী ইন্টারফেস

ডায়ালগ-ভিত্তিক অ্যাপগুলো চ্যাট অ্যাপের ইন্টারঅ্যাকশন ইভেন্টের প্রতিক্রিয়ায় কার্ড-ভিত্তিক ডায়ালগ প্রদর্শন করে, যেখানে ব্যবহারকারী চ্যাট অ্যাপের সাথে ইন্টারঅ্যাক্ট করতে পারেন, যেমন ফর্ম পূরণ করা বা কোনো কাজের অনুরোধ করা।

প্রতিবার ব্যবহারকারী যখন কোনো ডায়ালগে কোনো কাজ সম্পাদন করেন, তখন চ্যাট অ্যাপে একটি নতুন ইন্টারঅ্যাকশন ইভেন্ট পাঠানো হয়, যার জবাবে অ্যাপটি ডায়ালগটি আপডেট করতে বা একটি বার্তা পাঠাতে পারে।

প্রাকৃতিক ভাষা প্রক্রিয়াকরণ

অনেক চ্যাট অ্যাপ ব্যবহারকারী কী জানতে চাইছে তা নির্ধারণ করতে ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) ব্যবহার করে। NLP প্রয়োগ করার অনেক উপায় আছে, এবং আপনি আপনার পছন্দ অনুযায়ী তা করতে পারেন।

আপনি Dialogflow ES বা Dialogflow CX চ্যাট ইন্টিগ্রেশনের মাধ্যমে আপনার চ্যাট অ্যাপ বাস্তবায়নে NLP ব্যবহার করতে পারেন, যা আপনাকে স্বয়ংক্রিয় কথোপকথন এবং ডায়নামিক প্রতিক্রিয়ার জন্য ভার্চুয়াল এজেন্ট তৈরি করতে দেয়।

সক্রিয়ভাবে চ্যাটে অনুরোধ পাঠান

চ্যাট অ্যাপগুলো চ্যাটে মেসেজ বা অন্যান্য অনুরোধও পাঠাতে পারে, যেগুলো চ্যাটে ব্যবহারকারীর সরাসরি ইন্টারঅ্যাকশনের মাধ্যমে চালু হয় না। এর পরিবর্তে, এই চ্যাট অ্যাপগুলো চালু করা যেতে পারে—উদাহরণস্বরূপ, থার্ড-পার্টি অ্যাপ্লিকেশনের মাধ্যমে, অথবা ব্যবহারকারীর কমান্ড-লাইন ইনভোকেশনের মাধ্যমে, কিন্তু ব্যবহারকারীরা চ্যাটে সরাসরি এই চ্যাট অ্যাপগুলোর সাথে ইন্টারঅ্যাক্ট করতে পারেন না।

নন-ইন্টারেক্টিভ চ্যাট অ্যাপগুলো চ্যাটে বার্তা বা অন্য ধরনের অনুরোধ পাঠাতে চ্যাট এপিআই ব্যবহার করে।

কথোপকথনের ধরণ

আপনার চ্যাট অ্যাপটি ব্যবহারকারীদের সাথে কীভাবে যোগাযোগ করবে, তা আপনার বিবেচনা করা উচিত। নিম্নলিখিত বিভাগগুলিতে কথোপকথনের এমন কিছু ধরণ বর্ণনা করা হয়েছে যা আপনার চ্যাট অ্যাপটি প্রয়োগ করতে পারে।

আহ্বান ও প্রতিক্রিয়া (সিঙ্ক্রোনাস)

সিঙ্ক্রোনাস কল ও রেসপন্স প্যাটার্নে, চ্যাট অ্যাপ ব্যবহারকারীদের মেসেজের উত্তর একের পর এক দিয়ে থাকে। একজন ব্যবহারকারীর পাঠানো একটি মেসেজের ফলে চ্যাট অ্যাপ থেকে একটি উত্তর আসে, যেমনটি নিচের ডায়াগ্রামে দেখানো হয়েছে:

একটি সিঙ্ক্রোনাস বার্তার স্থাপত্য।

পূর্ববর্তী ডায়াগ্রামে, একটি চ্যাট অ্যাপের সাথে মিথস্ক্রিয়াকারী একজন ব্যবহারকারীর তথ্যের প্রবাহ নিম্নরূপ:

  1. একজন ব্যবহারকারী একটি চ্যাট অ্যাপে একটি সিঙ্ক্রোনাস বার্তা পাঠান—উদাহরণস্বরূপ, "আমার পরবর্তী মিটিং কী?"।
  2. চ্যাট অ্যাপটি ব্যবহারকারীকে একটি সিঙ্ক্রোনাস বার্তা পাঠায়—উদাহরণস্বরূপ, "ডঃ সিলভা ২:৩০-এ"।

এই ধরনের কথোপকথনের ধরনের জন্য, আপনি ওয়েব সার্ভিস, পাব/সাব, অ্যাপস স্ক্রিপ্ট, অ্যাপশিট বা ডায়ালগফ্লো ব্যবহার করে একটি চ্যাট অ্যাপ আর্কিটেকচার বাস্তবায়ন করতে পারেন।

একাধিক প্রতিক্রিয়া (অ্যাসিঙ্ক্রোনাস)

একাধিক প্রতিক্রিয়া প্যাটার্নে সিঙ্ক্রোনাস এবং অ্যাসিঙ্ক্রোনাস বার্তা অন্তর্ভুক্ত থাকতে পারে। এই প্যাটার্নের বৈশিষ্ট্য হলো ব্যবহারকারী এবং চ্যাট অ্যাপের মধ্যে দ্বিমুখী যোগাযোগ, যেখানে চ্যাট অ্যাপটি যেকোনো সংখ্যক অতিরিক্ত বার্তা তৈরি করে, যেমনটি নিম্নলিখিত ডায়াগ্রামে দেখানো হয়েছে:

একটি অ্যাসিঙ্ক্রোনাস বার্তার স্থাপত্য।

পূর্ববর্তী ডায়াগ্রামে, একটি চ্যাট অ্যাপের সাথে মিথস্ক্রিয়াকারী একজন ব্যবহারকারীর তথ্যের প্রবাহ নিম্নরূপ:

  1. একজন ব্যবহারকারী একটি চ্যাট অ্যাপে একটি সিঙ্ক্রোনাস বার্তা পাঠান—উদাহরণস্বরূপ, "ট্র্যাফিক নিরীক্ষণ করুন"।
  2. চ্যাট অ্যাপটি অনুরোধটি স্বীকার করার জন্য ব্যবহারকারীকে একটি সিঙ্ক্রোনাস বার্তা পাঠায়—উদাহরণস্বরূপ, "মনিটরিং চালু আছে"।
  3. পরবর্তীতে, চ্যাট অ্যাপটি REST API কল করার মাধ্যমে ব্যবহারকারীকে এক বা একাধিক অ্যাসিঙ্ক্রোনাস বার্তা পাঠায়—উদাহরণস্বরূপ, "নতুন ট্র্যাফিক"।
  4. ব্যবহারকারী চ্যাট অ্যাপে একটি অতিরিক্ত সিঙ্ক্রোনাস বার্তা পাঠান—উদাহরণস্বরূপ, "ট্র্যাফিক উপেক্ষা করুন"।
  5. চ্যাট অ্যাপটি অনুরোধটি স্বীকার করার জন্য ব্যবহারকারীকে একটি সিঙ্ক্রোনাস বার্তা পাঠায়—উদাহরণস্বরূপ, "মনিটরিং বন্ধ"।

এই ধরনের কথোপকথন পদ্ধতির জন্য, আপনি ওয়েব সার্ভিস, পাব/সাব, অ্যাপস স্ক্রিপ্ট বা অ্যাপশিট ব্যবহার করে একটি চ্যাট অ্যাপ আর্কিটেকচার বাস্তবায়ন করতে পারেন।

ইভেন্ট সম্পর্কে জিজ্ঞাসা করুন বা সেগুলিতে সাবস্ক্রাইব করুন (অ্যাসিঙ্ক্রোনাস)

অ্যাসিঙ্ক্রোনাস ইভেন্ট-ড্রাইভেন প্যাটার্নে, চ্যাট অ্যাপটি চ্যাট এপিআই-কে কোয়েরি করে অথবা গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই ব্যবহার করে কোনো চ্যাট স্পেস বা ব্যবহারকারীর সাবস্ক্রিপশন তৈরি করার মাধ্যমে ইভেন্ট গ্রহণ করে। ইভেন্টগুলো চ্যাট রিসোর্সের পরিবর্তনকে নির্দেশ করে, যেমন যখন একটি নতুন বার্তা পোস্ট করা হয় বা যখন কোনো ব্যবহারকারী একটি স্পেসে যোগদান করে। ইভেন্ট-ড্রাইভেন চ্যাট অ্যাপগুলো পরিবর্তিত চ্যাট রিসোর্স সম্পর্কে ডেটা পেতে ইভেন্ট পেলোড পরীক্ষা করে এবং তারপর সেই অনুযায়ী সাড়া দেয়।

চ্যাট অ্যাপগুলো বিভিন্ন ধরনের ইভেন্ট গ্রহণ করতে পারে, যার মধ্যে স্পেস, মেম্বারশিপ, মেসেজ এবং রিঅ্যাকশন সম্পর্কিত ইভেন্ট অন্তর্ভুক্ত। যখন কোনো চ্যাট অ্যাপ চ্যাট এপিআই-কে কোয়েরি করে বা একটি সক্রিয় সাবস্ক্রিপশনের মাধ্যমে কোনো ইভেন্ট গ্রহণ করে, তখন সেই অ্যাপটি ঐচ্ছিকভাবে যেকোনো সংখ্যক অ্যাসিঙ্ক্রোনাস রেসপন্স তৈরি করতে পারে, যা এটি চ্যাট এপিআই ব্যবহার করে চ্যাট-এ ফেরত পাঠায়।

আপনি এই ধরনের লজিক ব্যবহার করে টিকিট ম্যানেজমেন্ট সিস্টেমের মতো বাহ্যিক সিস্টেম আপডেট করতে পারেন, অথবা কোনো চ্যাট স্পেসে অ্যাসিঙ্ক্রোনাসভাবে মেসেজ পাঠাতে পারেন—উদাহরণস্বরূপ, যখন কোনো নতুন ব্যবহারকারী একটি চ্যাট স্পেসে যোগদান করেন তখন তাকে একটি স্বাগত বার্তা পাঠানোর মাধ্যমে।

নিম্নোক্ত ডায়াগ্রামটি একটি ইভেন্ট-চালিত কথোপকথন প্যাটার্নের উদাহরণ দেখায়:

চ্যাট ইভেন্টগুলিতে সাবস্ক্রিপশনের স্থাপত্য

পূর্ববর্তী ডায়াগ্রামে, চ্যাট এবং চ্যাট অ্যাপের মধ্যকার মিথস্ক্রিয়ায় তথ্যের নিম্নলিখিত প্রবাহ রয়েছে:

  1. চ্যাট অ্যাপটি একটি গুগল চ্যাট স্পেস সাবস্ক্রাইব করে।
  2. চ্যাট অ্যাপটি যে স্পেসে সাবস্ক্রাইব করা আছে, তা পরিবর্তিত হয়।
  3. চ্যাট অ্যাপটি পাব/সাব-এর একটি টপিকে একটি ইভেন্ট পাঠায়, যা সাবস্ক্রিপশনের জন্য নোটিফিকেশন এন্ডপয়েন্ট হিসেবে কাজ করে। ইভেন্টটিতে রিসোর্সটিতে কী পরিবর্তন হয়েছে সে সম্পর্কিত ডেটা থাকে।
  4. চ্যাট অ্যাপটি ইভেন্ট সম্বলিত পাব/সাব বার্তাটি প্রক্রিয়া করে এবং প্রয়োজনে ব্যবস্থা গ্রহণ করে।

এই ধরনের কথোপকথন পদ্ধতির জন্য, আপনি পাব/সাব, ওয়েব সার্ভিস বা অ্যাপস স্ক্রিপ্ট ব্যবহার করে একটি চ্যাট অ্যাপ আর্কিটেকচার বাস্তবায়ন করতে পারেন।

ইভেন্ট গ্রহণ এবং সেগুলোর উত্তর দেওয়া সম্পর্কে আরও জানতে, “Google Chat ইভেন্ট থেকে ইভেন্ট নিয়ে কাজ করুন” দেখুন।

একটি চ্যাট অ্যাপ থেকে একমুখী বার্তা

একটি চ্যাট অ্যাপ থেকে একমুখী বার্তা প্যাটার্ন একটি চ্যাট অ্যাপকে চ্যাট স্পেসে অ্যাসিঙ্ক্রোনাস বার্তা পাঠাতে দেয়, কিন্তু ব্যবহারকারীদের সরাসরি চ্যাট অ্যাপটির সাথে যোগাযোগ করতে দেয় না। এই প্যাটার্নটি কথোপকথনমূলক বা ইন্টারেক্টিভ নয়, তবে অ্যালার্ম রিপোর্টিং-এর মতো কাজের জন্য এটি উপযোগী হতে পারে, যেমনটি নিম্নলিখিত ডায়াগ্রামে দেখানো হয়েছে:

একমুখী বার্তার স্থাপত্য।

পূর্ববর্তী ডায়াগ্রামে, চ্যাট অ্যাপের সাথে একই স্পেসে থাকা একজন ব্যবহারকারীর কাছে তথ্যের নিম্নলিখিত প্রবাহটি দেখা যায়:

  • চ্যাট অ্যাপটি চ্যাট এপিআই কল করে অথবা একটি ওয়েবহুক ইউআরএল-এ পোস্ট করার মাধ্যমে ব্যবহারকারীকে একটি অ্যাসিঙ্ক্রোনাস বার্তা পাঠায়—উদাহরণস্বরূপ, "কিউ ওভারফ্লো অ্যালার্ট"।
  • ঐচ্ছিকভাবে, চ্যাট অ্যাপটি অতিরিক্ত অ্যাসিঙ্ক্রোনাস বার্তা পাঠায়।

এই ধরনের কথোপকথন পদ্ধতির জন্য, আপনি একটি ওয়েব সার্ভিস, একটি ওয়েবহুক, অ্যাপস স্ক্রিপ্ট, অ্যাপশিট, একটি কমান্ড-লাইন অ্যাপ্লিকেশন বা একটি স্ক্রিপ্ট ব্যবহার করে একটি চ্যাট অ্যাপ আর্কিটেকচার বাস্তবায়ন করতে পারেন।

একটি চ্যাট অ্যাপে একমুখী বার্তা

চ্যাট অ্যাপে একমুখী বার্তা পাঠানোর একটি প্যাটার্ন ব্যবহারকারীকে বার্তা পাঠানোর সুযোগ দেয়, যেখানে চ্যাট অ্যাপটি অনুরোধটি প্রক্রিয়া করার সময় কোনো প্রতিক্রিয়া জানায় না। যদিও এই স্থাপত্যটি প্রযুক্তিগতভাবে সম্ভব, এর ফলে ব্যবহারকারীর অভিজ্ঞতা খারাপ হয় এবং আমরা এই প্যাটার্নটি ব্যবহার করতে দৃঢ়ভাবে নিরুৎসাহিত করি।