API প্রক্সি কুকবুক নিদর্শন

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

এই টপিকে Apigee Edge কুকবুক স্যাম্পলগুলোতে প্রদর্শিত কিছু এপিআই প্রক্সি ডেভেলপমেন্ট প্যাটার্ন নিয়ে আলোচনা করা হয়েছে। আমরা আরও কুকবুক স্যাম্পল যুক্ত করার সাথে সাথে এই টপিকে আরও প্যাটার্ন যোগ করার পরিকল্পনা করছি।

জাভাস্ক্রিপ্ট HTTP ক্লায়েন্ট প্যাটার্ন

জাভাস্ক্রিপ্ট HTTP ক্লায়েন্ট প্যাটার্ন হলো এমন কয়েকটি প্যাটার্নের মধ্যে একটি যা আপনি Apigee Edge দিয়ে সার্ভার-সাইড ম্যাশআপ তৈরি করতে ব্যবহার করতে পারেন। Apigee-এর জাভাস্ক্রিপ্ট অবজেক্ট মডেল আপনাকে জাভাস্ক্রিপ্ট কোড সরাসরি একটি এপিআই প্রক্সি ফ্লো-তে সংযুক্ত করার সুযোগ দেয়। এই অবজেক্ট মডেলের httpClient অবজেক্টটি আপনাকে জাভাস্ক্রিপ্ট ব্যবহার করে ব্যাকএন্ড সার্ভিসগুলোতে কল করতে এবং ফলাফল পুনরুদ্ধার করতে সাহায্য করে।

নীতি গঠনের ধরণ

পলিসি কম্পোজিশন হলো একটি Apigee API প্রক্সি প্যাটার্ন, যা আপনাকে পলিসি ব্যবহার করে একাধিক ব্যাকএন্ড টার্গেটের ফলাফলকে একটি একক রেসপন্সে একত্রিত করতে দেয়। প্রকৃতপক্ষে, পলিসি কম্পোজিশন আপনাকে পলিসি ব্যবহার করে ম্যাশআপ তৈরি করতে দেয়।

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

পলিসি কম্পোজিশন কুকবুক উদাহরণটিতে তিনটি পলিসি ব্যবহার করা হয়েছে: AssignMessage , ServiceCallout , এবং ExtractVariables । এই পলিসিগুলো ব্যাকএন্ডে পাঠাতে ইচ্ছুক রিকোয়েস্ট মেসেজ(গুলো), ব্যাকএন্ডে মেসেজ রাউটকারী ক্লায়েন্ট , এবং প্রতিটি এপিআই থেকে প্রাপ্ত রেসপন্স পার্স করে রেসপন্স ডেটার জন্য ভ্যারিয়েবল নির্ধারণকারী একটি মেসেজ পার্সারকে এনক্যাপসুলেট করে। সমস্ত কল সম্পন্ন হওয়ার পর, সংগৃহীত ভ্যারিয়েবলগুলো একত্রিত করে একটি একক JSON অবজেক্টে ফেরত দেওয়া হয়।

এই তিনটি নীতির একটি সংক্ষিপ্ত বিবরণ নিচে দেওয়া হলো:

  • AssignMessage : একটি অনুরোধ বার্তা তৈরি করে, HTTP হেডার ও কোয়েরি প্যারামিটার যোগ করে এবং HTTP ভার্ব নির্ধারণ করে।
  • ServiceCallout : AssignMessage পলিসি দ্বারা তৈরি একটি মেসেজকে রেফারেন্স করে, এক্সটার্নাল কলের জন্য একটি টার্গেট URL নির্ধারণ করে, এবং টার্গেট সার্ভিস যে রেসপন্স অবজেক্টটি রিটার্ন করে তার জন্য একটি নাম নির্ধারণ করে।
  • ExtractVariables : সাধারণত একটি JSONPath বা XPath এক্সপ্রেশন নির্ধারণ করে, যা পূর্ববর্তী ServiceCallout পলিসি দ্বারা তৈরি মেসেজটি পার্স করে। এরপর পলিসিটি ServiceCallout রেসপন্স থেকে পার্স করা মানগুলো ধারণকারী ভ্যারিয়েবল সেট করে।

পলিসি কম্পোজিশন প্যাটার্ন প্রদর্শনকারী একটি সম্পূর্ণ উদাহরণের জন্য ‘পলিসি কম্পোজিশন ব্যবহার’ দেখুন।