Service virtualization
সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ে, পরিষেবা ভার্চ্যুয়ালাইজেশন বা পরিষেবা ভার্চ্যুয়ালাইজেশন হল এপিআই-চালিত অ্যাপ্লিকেশন, ক্লাউড-ভিত্তিক অ্যাপ্লিকেশন এবং পরিষেবা-ভিত্তিক স্থাপত্যের মতো বৈচিত্র্যময় উপাদান-ভিত্তিক অ্যাপ্লিকেশনগুলিতে নির্দিষ্ট উপাদানগুলির আচরণ অনুকরণ করার একটি পদ্ধতি। এটি সফ্টওয়্যার বিকাশ এবং কিউএ/টেস্টিং দলগুলিকে নির্ভরশীল সিস্টেম উপাদানগুলিতে অ্যাক্সেস সরবরাহ করতে ব্যবহৃত হয় যা পরীক্ষার অধীনে (এ. ইউ. টি) একটি অ্যাপ্লিকেশন অনুশীলন করার জন্য প্রয়োজনীয়, তবে উন্নয়ন এবং পরীক্ষার উদ্দেশ্যে অনুপলব্ধ বা অ্যাক্সেস করা কঠিন। নির্ভরশীল উপাদানগুলির "ভার্চ্যুয়ালাইজড" আচরণের সাথে, প্রকৃত লাইভ উপাদানগুলি অ্যাক্সেস না করেই পরীক্ষা এবং বিকাশ এগিয়ে যেতে পারে। পরিষেবা ভার্চ্যুয়ালাইজেশন বিক্রেতাদের, শিল্প বিশ্লেষকদের এবং শিল্প প্রকাশনাগুলির দ্বারা উপহাসের চেয়ে আলাদা বলে স্বীকৃত। এপিআই সিমুলেশন সরঞ্জামগুলির তুলনা করার জন্য এখানে দেখুন। ওভারভিউ সার্ভিস ভার্চ্যুয়ালাইজেশন উন্নয়ন এবং পরীক্ষার দলগুলির উপর নির্ভরশীলতার সীমাবদ্ধতা দূর করতে সফ্টওয়্যার উপাদানগুলির আচরণ অনুকরণ করে। জটিল, আন্তঃনির্ভরশীল পরিবেশে এই ধরনের প্রতিবন্ধকতা দেখা দেয় যখন পরীক্ষার অধীনে থাকা অ্যাপ্লিকেশনের সাথে সংযুক্ত কোনও উপাদানঃ এখনও সম্পন্ন হয়নি, এখনও কোনও তৃতীয় পক্ষ বা অংশীদার দ্বারা নিয়ন্ত্রিতভাবে বিকশিত হচ্ছে শুধুমাত্র সীমিত ক্ষমতায় বা অসুবিধাজনক সময়ে পরীক্ষার জন্য উপলব্ধ বিভিন্ন পরীক্ষার ডেটা সেটআপ এবং অন্যান্য প্রয়োজনীয়তা সহ বিভিন্ন দলের দ্বারা একযোগে অ্যাক্সেসের জন্য প্রয়োজনীয় বিভিন্ন পরীক্ষার ডেটা সেটআপ এবং অন্যান্য প্রয়োজনীয়তা লোড এবং পারফরম্যান্স পরীক্ষার জন্য সীমাবদ্ধ বা ব্যয়বহুল যদিও "পরিষেবা ভার্চুয়ালাইজেশন" শব্দটি ওয়েব পরিষেবাগুলিকে ভার্চুয়ালাইজ করার কৌশলটির প্রাথমিক ফোকাসকে প্রতিফলিত করে, পরিষেবা ভার্চুয়ালাইজেশন যৌগিক অ্যাপ্লিকেশনের সমস্ত দিক জুড়ে প্রসারিত হয়ঃ পরিষেবা, ডাটাবেস, মেইনফ্রেম, ইএসবি এবং অন্যান্য উপাদান যা সাধারণ বার্তা প্রোটোকল ব্যবহার করে যোগাযোগ করে। অন্যান্য অনুরূপ সরঞ্জামগুলিকে বলা হয় এপিআই সিমুলেটর, এপিআই মকিং টুলস, ওভার দ্য ওয়্যার টেস্ট ডাবলস। পরিষেবা ভার্চ্যুয়ালাইজেশন শুধুমাত্র নির্দিষ্ট নির্ভরশীল উপাদানগুলির আচরণ অনুকরণ করে যা বিকাশকারী বা পরীক্ষকদের তাদের শেষ-থেকে-শেষ লেনদেন সম্পূর্ণ করার জন্য অনুশীলন করতে হবে। পুরো সিস্টেমকে ভার্চ্যুয়ালাইজ করার পরিবর্তে, এটি উন্নয়ন এবং পরীক্ষার কাজ সম্পাদনের জন্য গুরুত্বপূর্ণ নির্ভরশীল আচরণের শুধুমাত্র নির্দিষ্ট টুকরোগুলিকে ভার্চ্যুয়ালাইজ করে। এটি যথেষ্ট অ্যাপ্লিকেশন লজিক সরবরাহ করে যাতে ডেভেলপার বা পরীক্ষকরা প্রকৃত পরিষেবাটি সম্পূর্ণ হওয়ার এবং সহজেই উপলব্ধ হওয়ার জন্য অপেক্ষা না করে তাদের যা প্রয়োজন তা পান। উদাহরণস্বরূপ, একটি সম্পূর্ণ ডাটাবেসকে ভার্চ্যুয়ালাইজ করার পরিবর্তে (এবং সমস্ত সম্পর্কিত পরীক্ষার ডেটা ম্যানেজমেন্টের পাশাপাশি প্রতিটি পরীক্ষার সেশনের জন্য ডাটাবেস সেট আপ করা), আপনি পর্যবেক্ষণ করেন যে অ্যাপ্লিকেশনটি ডাটাবেসের সাথে কীভাবে যোগাযোগ করে, তারপর আপনি সম্পর্কিত ডাটাবেস আচরণ অনুকরণ করেন (এসকিউএল প্রশ্নগুলি যা ডাটাবেসে পাঠানো হয়, সংশ্লিষ্ট ফলাফল সেটগুলি যা ফেরত দেওয়া হয় ইত্যাদি)। অ্যাপ্লিকেশন সার্ভিস ভার্চ্যুয়ালাইজেশনে একটি "ভার্চ্যুয়াল সম্পদ" তৈরি এবং স্থাপন করা হয় যা একটি বাস্তব উপাদানের আচরণ অনুকরণ করে যা পরীক্ষার অধীনে অ্যাপ্লিকেশনটি অনুশীলন করার জন্য প্রয়োজনীয়, কিন্তু উন্নয়ন এবং পরীক্ষার উদ্দেশ্যে অ্যাক্সেস করা কঠিন বা অসম্ভব। একটি ভার্চ্যুয়াল সম্পদ একটি নির্ভরশীল উপাদানকে বোঝায় অনুরোধগুলি শুনে এবং উপযুক্ত কার্য সম্পাদনের সাথে একটি উপযুক্ত প্রতিক্রিয়া ফেরত দিয়ে। একটি ডাটাবেসের জন্য, এটি একটি এসকিউএল বিবৃতি শোনার সাথে জড়িত হতে পারে, তারপর ডেটা উৎস সারি ফেরত দিতে পারে। একটি ওয়েব পরিষেবার জন্য, এর মধ্যে এইচটিটিপি, জেএমএস বা এমকিউ-এর মাধ্যমে একটি এক্সএমএল বার্তা শোনা, তারপর অন্য একটি এক্সএমএল বার্তা ফেরত দেওয়া অন্তর্ভুক্ত থাকতে পারে। ভার্চুয়াল সম্পদের কার্যকারিতা এবং কর্মক্ষমতা নির্ভরশীল উপাদানটির প্রকৃত কার্যকারিতা/কর্মক্ষমতা প্রতিফলিত করতে পারে, অথবা এটি পরীক্ষার অধীনে অ্যাপ্লিকেশনটি সেই পরিস্থিতিতে কীভাবে প্রতিক্রিয়া জানায় তা নির্ধারণ করতে ব্যতিক্রমী অবস্থার (যেমন চরম লোড বা ত্রুটি শর্ত) অনুকরণ করতে পারে। ভার্চ্যুয়াল সম্পদগুলি সাধারণত তৈরি করা হয়ঃ পরীক্ষার অধীনে অ্যাপ্লিকেশন থেকে সিস্টেমটি অনুশীলন করার সময় উপাদানগুলির মধ্যে সরাসরি যোগাযোগের রেকর্ডিং (এ. ইউ. টি) উপাদানগুলির মধ্যে ঐতিহাসিক যোগাযোগের প্রতিনিধিত্বকারী লগ সরবরাহ করা পরিষেবা ইন্টারফেসের নির্দিষ্টকরণগুলি বিশ্লেষণ করা (যেমন একটি ডব্লিউ. এস. ডি. এল) বিভিন্ন ইন্টারফেস নিয়ন্ত্রণ এবং ডেটা উত্স মানগুলির সাথে ম্যানুয়ালি আচরণের সংজ্ঞা দেওয়া সেগুলি তারপর নির্দিষ্ট ডেটা, কার্যকারিতা এবং প্রতিক্রিয়া সময়ের প্রতিনিধিত্ব করার জন্য আরও কনফিগার করা হয়। ভার্চুয়াল সম্পদ স্থানীয়ভাবে বা ক্লাউডে (সরকারী বা বেসরকারী) স্থাপন করা হয়। নির্ভরশীল উপাদানগুলির পরিবর্তে ভার্চুয়াল সম্পদগুলি ব্যবহার করার জন্য কনফিগার করা উন্নয়ন/পরীক্ষার পরিবেশের সাথে, ডেভেলপার বা পরীক্ষকরা নির্ভরশীল উপাদানগুলি সম্পূর্ণ বা সহজেই অ্যাক্সেসযোগ্য হওয়ার জন্য অপেক্ষা না করে তারা যে অ্যাপ্লিকেশনটিতে কাজ করছেন তা অনুশীলন করতে পারেন। শিল্প বিশ্লেষকরা জানিয়েছেন যে 'নির্ভরশীল সফ্টওয়্যার'-এর কারণে 'স্কিপিং' ইন্টিগ্রেশন টেস্টিংয়ের উল্লেখযোগ্য অভিজ্ঞতা এবং যুক্তিসঙ্গতভাবে পরিশীলিত পরীক্ষার ব্যবহার সহ আইটি শপগুলির জন্য পরিষেবা ভার্চ্যুয়ালাইজেশন সবচেয়ে উপযুক্ত। স্টাবিং এবং উপহাসের সাথে সম্পর্ক এই নিবন্ধের ভূমিকায় বর্ণিত পরীক্ষার পরিবেশ অ্যাক্সেস সীমাবদ্ধতার চারপাশে কাজ করার একটি বিকল্প পদ্ধতি হল দলের সদস্যদের জন্য পদ্ধতি স্টাব বা মক অবজেক্টগুলি বিকাশ করা যা নির্ভরশীল সংস্থানগুলির বিকল্প। 2000-এর দশকের গোড়ার দিকে পরিষেবা-ভিত্তিক স্থাপত্যের উত্থানের সাথে সাথে এই পদ্ধতির ঘাটতি স্পষ্ট হয়ে ওঠে। অসংখ্য নির্ভরশীল পরিষেবার উপর নির্ভরশীল যৌগিক অ্যাপ্লিকেশনগুলির বিস্তার এবং 2001 সালে অ্যাজাইল ম্যানিফেস্টো প্রকাশের পরে অ্যাজাইল সফ্টওয়্যার বিকাশের উত্থান, ডেভেলপার বা পরীক্ষকদের পক্ষে আধুনিক এন্টারপ্রাইজ অ্যাপ্লিকেশন বিকাশের জন্য উন্নয়ন এবং পরীক্ষার কাজগুলি সম্পূর্ণ করার জন্য প্রয়োজনীয় স্টাব বা মকগুলির সংখ্যা, সুযোগ এবং জটিলতা ম্যানুয়ালি বিকাশ করা ক্রমশ কঠিন করে তুলেছিল। স্টাবিং থেকে সার্ভিস ভার্চ্যুয়ালাইজেশনের বিবর্তনের প্রথম ধাপ ছিল 2002 সাল থেকে এস. ও. এ পরীক্ষার সরঞ্জামগুলিতে প্যাকেজ করা প্রযুক্তি। পরিষেবা ভার্চ্যুয়ালাইজেশনের প্রাথমিক বাস্তবায়নগুলি স্টাবের মতো সহজ অনুকরণগুলি বিকাশের প্রক্রিয়াটিকে স্বয়ংক্রিয় করার জন্য ডিজাইন করা হয়েছিল যাতে যৌগিক অ্যাপ্লিকেশনগুলি আরও দক্ষতার সাথে পরীক্ষা করা যায়। এন্টারপ্রাইজ সিস্টেমগুলি ক্রমবর্ধমান জটিল এবং বিতরণ অব্যাহত রাখার সাথে সাথে সফ্টওয়্যার সরঞ্জাম বিক্রেতারা আরও পরিবেশ-কেন্দ্রিক পরিষেবা ভার্চুয়ালাইজেশনে মনোনিবেশ স্থানান্তরিত করে। যদিও স্টাবগুলির ম্যানুয়াল বিকাশ এবং পরিচালনার মাধ্যমে স্টাবিং এখনও সম্পন্ন করা যেতে পারে, তবে যা "পরিষেবা ভার্চ্যুয়ালাইজেশন" নামে পরিচিত হয়ে উঠেছে তা উপলব্ধ বাণিজ্যিক অফ দ্য শেল্ফ (সিওটিএস) পরিষেবা ভার্চ্যুয়ালাইজেশন প্রযুক্তিগুলির মধ্যে একটি তাদের "পরিষেবা ভার্চ্যুয়ালাইজেশন সম্পদ"-এর বিকাশ এবং স্থাপনার জন্য একটি প্ল্যাটফর্ম হিসাবে ব্যবহার করে সম্পন্ন করা হয়। অ্যাজাইল এবং ডিভোপস অ্যাজাইল সফ্টওয়্যার ডেভেলপমেন্ট এবং ডিভোপসের ক্রমবর্ধমান জনপ্রিয়তা এইভাবে কাজ করে এমন সম্প্রদায়গুলিতে পরিষেবা ভার্চ্যুয়ালাইজেশন সরবরাহ করার জন্য একটি নতুন সরঞ্জামের চাহিদা তৈরি করেছে। ক্রমাগত ডেলিভারি এবং মেইনফ্রেম এবং মনোলিথ ডেভেলপমেন্ট থেকে আরও বিতরণকৃত মাইক্রোসার্ভিস-ভিত্তিক আর্কিটেকচারের দিকে সরে যাওয়ার মতো অনুশীলনগুলি পরিষেবা ভার্চ্যুয়ালাইজেশনের ক্ষমতার সাথে ভালভাবে খাপ খায়। অ্যাজিল এবং ডিভোপস দলগুলি হালকা ওজনের সরঞ্জামগুলির সাথে কাজ করতে পছন্দ করে যা কম সঞ্চিত ফোলা এবং কোনও জটিল লাইসেন্সিং বিধিনিষেধ নেই। আরও দেখুন এপিআই সিমুলেশন সরঞ্জামের তুলনা টেস্ট ডাবল ডিজিটাল টুইন রেফারেন্স সফ্টওয়্যার টেস্টিং গুণগত নিশ্চয়তা