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