Service virtualization
سافٹ ویئر انجینئرنگ میں، سروس ورچوئلائزیشن یا سروس ورچوئلائزیشن مختلف اجزاء پر مبنی ایپلی کیشنز جیسے اے پی آئی پر مبنی ایپلی کیشنز، کلاؤڈ پر مبنی ایپلی کیشنز اور سروس پر مبنی آرکیٹیکچرز میں مخصوص اجزاء کے رویے کی تقلید کرنے کا ایک طریقہ ہے۔ یہ سافٹ ویئر ڈویلپمنٹ اور کیو اے/ٹیسٹنگ ٹیموں کو انحصار نظام کے اجزاء تک رسائی فراہم کرنے کے لیے استعمال ہوتا ہے جو ٹیسٹ (اے یو ٹی) کے تحت کسی ایپلی کیشن کو استعمال کرنے کے لیے درکار ہوتے ہیں، لیکن ترقی اور جانچ کے مقاصد کے لیے دستیاب نہیں ہیں یا ان تک رسائی مشکل ہے۔ منحصر اجزاء "ورچوئلائزڈ" کے رویے کے ساتھ، جانچ اور ترقی اصل زندہ اجزاء تک رسائی کے بغیر آگے بڑھ سکتی ہے۔ سروس ورچوئلائزیشن کو دکانداروں، صنعت کے تجزیہ کاروں اور صنعت کی اشاعتوں کے ذریعہ مذاق اڑانے سے مختلف ہونے کے طور پر تسلیم کیا جاتا ہے۔ اے پی آئی تخروپن ٹولز کے موازنہ کے لیے یہاں دیکھیں۔ جائزہ سروس ورچوئلائزیشن ڈویلپمنٹ اور ٹیسٹنگ ٹیموں پر انحصار کی رکاوٹوں کو دور کرنے کے لیے سافٹ ویئر اجزاء کے رویے کی تقلید کرتی ہے۔ اس طرح کی رکاوٹیں پیچیدہ، باہمی انحصار والے ماحول میں واقع ہوتی ہیں جب ٹیسٹ کے تحت ایپلی کیشن سے منسلک کوئی جزو ہوتا ہے: ابھی تک مکمل نہیں ہوا اب بھی کسی تیسرے فریق یا پارٹنر کے زیر کنٹرول تیار ہوتا ہے جو صرف محدود صلاحیت میں یا تکلیف دہ اوقات میں ٹیسٹ کے لیے دستیاب ہوتا ہے۔ ٹیسٹ کے ماحول میں فراہمی یا ترتیب دینا مشکل ہوتا ہے۔ مختلف ٹیموں کے لیے مختلف ٹیسٹ ڈیٹا سیٹ اپ اور دیگر ضروریات کے ساتھ بیک وقت رسائی کی ضرورت ہوتی ہے۔ لوڈ اور پرفارمنس ٹیسٹنگ کے لیے استعمال کرنا محدود یا مہنگا ہوتا ہے۔ اگرچہ "سروس ورچوئلائزیشن" کی اصطلاح ویب سروسز کو ورچوئلائز کرنے پر تکنیک کی ابتدائی توجہ کی عکاسی کرتی ہے، سروس ورچوئلائزیشن جامع ایپلی کیشنز کے تمام پہلوؤں میں پھیلی ہوئی ہے: سروسز، ڈیٹا بیس، مین فریم، ای ایس بی، اور دیگر اجزاء جو عام میسجنگ پروٹوکول کا استعمال کرتے ہوئے بات چیت کرتے ہیں۔ اسی طرح کے دیگر ٹولز کو اے پی آئی سمیلیٹر، اے پی آئی کا مذاق اڑانے والے ٹولز، اوور دی وائر ٹیسٹ ڈبلز کہا جاتا ہے۔ سروس ورچوئلائزیشن صرف مخصوص منحصر اجزاء کے رویے کی تقلید کرتی ہے جسے ڈویلپرز یا ٹیسٹرز کو اپنے اختتامی لین دین کو مکمل کرنے کے لیے استعمال کرنے کی ضرورت ہوتی ہے۔ پورے نظام کو ورچوئلائز کرنے کے بجائے، یہ ترقی اور جانچ کے کاموں کو انجام دینے کے لیے اہم منحصر رویے کے صرف مخصوص ٹکڑوں کو ورچوئلائز کرتا ہے۔ یہ صرف کافی ایپلیکیشن منطق فراہم کرتا ہے تاکہ ڈویلپرز یا ٹیسٹرز اصل سروس کے مکمل ہونے اور آسانی سے دستیاب ہونے کا انتظار کیے بغیر اپنی ضرورت کی چیزیں حاصل کر سکیں۔ مثال کے طور پر، پورے ڈیٹا بیس کو ورچوئلائز کرنے کے بجائے (اور تمام متعلقہ ٹیسٹ ڈیٹا مینجمنٹ کے ساتھ ساتھ ہر ٹیسٹ سیشن کے لیے ڈیٹا بیس ترتیب دینے کے ساتھ)، آپ نگرانی کرتے ہیں کہ ایپلی کیشن ڈیٹا بیس کے ساتھ کس طرح تعامل کرتی ہے، پھر آپ متعلقہ ڈیٹا بیس کے رویے کی تقلید کرتے ہیں (ایس کیو ایل سوالات جو ڈیٹا بیس میں منتقل کیے جاتے ہیں، متعلقہ نتیجہ سیٹ جو واپس کیے جاتے ہیں، اور اسی طرح)۔ ایپلیکیشن سروس ورچوئلائزیشن میں ایک "ورچوئل اثاثہ" بنانا اور تعینات کرنا شامل ہے جو ایک حقیقی جزو کے رویے کی تقلید کرتا ہے جو ٹیسٹ کے تحت ایپلی کیشن کو استعمال کرنے کے لیے ضروری ہے، لیکن ترقی اور جانچ کے مقاصد کے لیے اس تک رسائی مشکل یا ناممکن ہے۔ درخواستوں کو سن کر اور مناسب کارکردگی کے ساتھ مناسب جواب واپس کر کے ایک ورچوئل اثاثہ ایک منحصر جزو کے لیے کھڑا ہوتا ہے۔ ڈیٹا بیس کے لیے، اس میں ایس کیو ایل کا بیان سننا، پھر ڈیٹا سورس کی قطاریں واپس کرنا شامل ہو سکتا ہے۔ ویب سروس کے لیے، اس میں ایچ ٹی ٹی پی، جے ایم ایس، یا ایم کیو پر ایکس ایم ایل پیغام سننا، پھر دوسرا ایکس ایم ایل پیغام واپس کرنا شامل ہو سکتا ہے۔ ورچوئل اثاثہ کی فعالیت اور کارکردگی منحصر جزو کی اصل فعالیت/کارکردگی کی عکاسی کر سکتی ہے، یا یہ غیر معمولی حالات (جیسے انتہائی بوجھ یا غلطی کے حالات) کی تقلید کر سکتی ہے تاکہ اس بات کا تعین کیا جا سکے کہ جانچ کے تحت ایپلی کیشن ان حالات میں کس طرح جواب دیتی ہے۔ ورچوئل اثاثے عام طور پر اس طرح بنائے جاتے ہیں: اجزاء کے درمیان براہ راست مواصلات کو ریکارڈ کرنا جیسا کہ سسٹم کو ٹیسٹ کے تحت ایپلی کیشن سے استعمال کیا جاتا ہے (اے یو ٹی) اجزاء کے درمیان تاریخی مواصلات کی نمائندگی کرنے والے لاگ فراہم کرنا سروس انٹرفیس کی خصوصیات کا تجزیہ کرنا (جیسے ڈبلیو ایس ڈی ایل) مختلف انٹرفیس کنٹرولز اور ڈیٹا سورس ویلیوز کے ساتھ دستی طور پر رویے کی وضاحت کرنا پھر انہیں مزید مخصوص ڈیٹا، فعالیت اور رسپانس ٹائمز کی نمائندگی کے لیے ترتیب دیا جاتا ہے۔ ورچوئل اثاثے مقامی طور پر یا کلاؤڈ (عوامی یا نجی) میں تعینات کیے جاتے ہیں۔ منحصر اجزاء کی جگہ ورچوئل اثاثوں کو استعمال کرنے کے لیے تشکیل شدہ ڈویلپمنٹ/ٹیسٹ ماحول کے ساتھ، ڈویلپرز یا ٹیسٹر اس ایپلی کیشن کو استعمال کر سکتے ہیں جس پر وہ کام کر رہے ہیں بغیر منحصر اجزاء کے مکمل ہونے یا آسانی سے قابل رسائی ہونے کا انتظار کیے۔ صنعت کے تجزیہ کاروں کا کہنا ہے کہ سروس ورچوئلائزیشن آئی ٹی شاپس کے لیے بہترین موزوں ہے جو 'انحصار سافٹ ویئر' کی وجہ سے 'سکپنگ' انضمام کی جانچ کے ساتھ اہم تجربہ رکھتے ہیں، اور معقول حد تک نفیس ٹیسٹ ہارنیس کے ساتھ۔ اس مضمون کے تعارف میں بیان کردہ ٹیسٹ کے ماحول تک رسائی کی رکاوٹوں کے ارد گرد کام کرنے کا ایک متبادل نقطہ نظر ٹیم کے ممبروں کے لیے طریقہ کار کے اسٹب یا فرضی اشیاء تیار کرنا ہے جو منحصر وسائل کا متبادل ہیں۔ اس نقطہ نظر کی کمی 2000 کی دہائی کے اوائل میں سروس پر مبنی فن تعمیر کے عروج کے ساتھ واضح ہو گئی۔ متعدد انحصار خدمات پر انحصار کرنے والی جامع ایپلی کیشنز کے پھیلاؤ کے ساتھ ساتھ 2001 میں ایجائل مینی فیسٹو کی اشاعت کے بعد ایجائل سافٹ ویئر ڈویلپمنٹ کے عروج نے ڈویلپرز یا ٹیسٹرز کے لیے جدید انٹرپرائز ایپلی کیشن ڈویلپمنٹ کے لیے ڈویلپمنٹ اور ٹیسٹنگ کے کاموں کو مکمل کرنے کے لیے درکار اسٹب یا موکس کی تعداد، دائرہ کار اور پیچیدگی کو دستی طور پر تیار کرنا تیزی سے مشکل بنا دیا۔ اسٹبنگ سے لے کر سروس ورچوئلائزیشن تک ارتقاء کا پہلا قدم 2002 سے ایس او اے ٹیسٹنگ ٹولز میں پیک کی گئی ٹیکنالوجی تھی۔ سروس ورچوئلائزیشن کے ابتدائی نفاذ کو سادہ اسٹب جیسی ایمولیشنز تیار کرنے کے عمل کو خودکار بنانے کے لیے ڈیزائن کیا گیا تھا تاکہ جامع ایپلی کیشنز کو زیادہ موثر طریقے سے آزمایا جا سکے۔ جیسے جیسے انٹرپرائز سسٹم تیزی سے پیچیدہ اور تقسیم ہوتے رہے، سافٹ ویئر ٹول وینڈرز نے توجہ کو مضطرب سے زیادہ ماحول پر مرکوز سروس ورچوئلائزیشن کی طرف منتقل کیا۔ اگرچہ اسٹبنگ اب بھی دستی ترقی اور اسٹبوں کے انتظام کے ذریعے مکمل کی جا سکتی ہے، لیکن جو "سروس ورچوئلائزیشن" کے نام سے جانا جاتا ہے وہ دستیاب تجارتی آف دی شیلف (سی او ٹی ایس) سروس ورچوئلائزیشن ٹیکنالوجیز میں سے ایک کو ان کے "سروس ورچوئلائزیشن اثاثوں" کی ترقی اور تعیناتی کے لیے ایک پلیٹ فارم کے طور پر استعمال کرکے مکمل کیا جاتا ہے۔ ایجائل اور ڈیو اوپس ایجائل سافٹ ویئر ڈویلپمنٹ اور ڈیو اوپس کی بڑھتی ہوئی مقبولیت نے اس طرح کام کرنے والی کمیونٹیز کو سروس ورچوئلائزیشن فراہم کرنے کے لیے ٹولز کے ایک نئے سیٹ کی مانگ پیدا کی ہے۔ مسلسل ترسیل اور مین فریم اور مونولتھ ڈویلپمنٹ سے زیادہ تقسیم شدہ مائیکرو سروس پر مبنی آرکیٹیکچرز کی طرف منتقل ہونے جیسے طریقے سروس ورچوئلائزیشن کی صلاحیتوں کے ساتھ اچھی طرح سے فٹ ہوتے ہیں۔ ایجائل اور ڈیو اوپس ٹیمیں ہلکے وزن والے ٹولز کے ساتھ کام کرنے کو ترجیح دیتی ہیں جن میں کم جمع ہونے والے پھول ہوتے ہیں اور لائسنسنگ کی کوئی پیچیدہ پابندیاں نہیں ہوتی ہیں۔ مزید دیکھیں اے پی آئی تخروپن ٹولز کا موازنہ ٹیسٹ ڈبل ڈیجیٹل جڑواں حوالہ جات سافٹ ویئر ٹیسٹنگ کوالٹی اشورینس