Distributed Objects Everywhere
ڈسٹری بیوٹڈ آبجیکٹس ایوری ویئر (ڈی او ای) ایک طویل عرصے سے چلنے والا سن مائیکرو سسٹمز پروجیکٹ تھا جس کا مقصد 'بیک اینڈ' میں کوربا سسٹم اور یوزر انٹرفیس کے طور پر اوپن اسٹیپ پر مبنی ایک تقسیم شدہ کمپیوٹنگ ماحول کی تعمیر کرنا تھا۔ سب سے پہلے 1990 میں شروع ہوا اور اس کے فورا بعد اعلان کیا گیا، یہ 1995 میں این ای او کے طور پر جاری ہونے سے پہلے کئی سالوں تک وانپ ویئر رہا۔ اسے 1996 میں چھوڑنے سے پہلے (اوپن اسٹیپ کے ساتھ) صرف ایک مختصر مدت کے لیے فروخت کیا گیا تھا۔ اس کی جگہ وہ ہے جو آج انٹرپرائز جاوا بین کے نام سے جانا جاتا ہے۔ پس منظر 1990 کی دہائی کے اوائل میں کمپیوٹنگ میں 'اگلی بڑی چیز' مین فریموں اور منی کمپیوٹرز کے ذریعہ فراہم کردہ ڈیٹا کو ڈسپلے اور ترمیم کرنے کے لیے ڈیسک ٹاپ مائیکرو کمپیوٹرز کا استعمال کرنا تھا۔ اگرچہ اس طرح کی رسائی کے کئی طریقے پہلے سے موجود تھے، لیکن محنت کی تقسیم بالکل یکساں نہیں تھی۔ مثال کے طور پر، ایس کیو ایل کے لیے ورک سٹیشن کو بڑے ڈیٹا سیٹ ڈاؤن لوڈ کرنے اور پھر انہیں مقامی طور پر پروسیس کرنے کی ضرورت ہوتی ہے، جبکہ ٹرمینل ایمولیٹرز کے استعمال نے تمام کام سرور پر چھوڑ دیا اور کوئی جی یو آئی فراہم نہیں کیا۔ ایسا لگتا تھا کہ فرائض کی مناسب تقسیم اشیاء کا ایک کوآپریٹو سیٹ ہونا ہوگا، ورک سٹیشن سرور پر پروسیسنگ کے ساتھ ڈسپلے اور صارف کے تعامل کا ذمہ دار ہوگا۔ اس طرح کے حل کی راہ میں پلیٹ فارمز کے درمیان آپریٹنگ سسٹم اور پروگرامنگ زبانوں میں بڑے پیمانے پر فرق تھا۔ اگرچہ ایسا نظام بنانا ممکن ہو سکتا ہے جو ورک سٹیشن اور سرور کے کسی ایک امتزاج پر کام کرے، لیکن وہی حل کسی دوسرے نظام پر کام نہیں کرے گا۔ عجیب بات یہ ہے کہ ایک ہی پلیٹ فارم پر کسی بھی دو پروگرامنگ زبانوں کے درمیان فرق تقریبا اتنا ہی زبردست تھا۔ طریقہ کار کالز میں پیرامیٹرز کو منتقل کرنے کے لیے ہر زبان کی اپنی شکل ہوتی تھی، فائل فارمیٹس جو انہوں نے تیار کیے وہ اکثر بالکل مختلف ہوتے تھے۔ عام طور پر، کسی پروگرام کے مختلف حصوں کو مختلف زبانوں میں لکھنا ہمیشہ ممکن نہیں ہوتا تھا، حالانکہ ایسا کرنے کا اکثر حقیقی فائدہ ہوتا ہے۔ منی کمپیوٹرز اور مین فریموں پر مسئلہ اتنا شدید نہیں تھا جہاں وینڈر اکثر اپنی لائبریریوں کے لیے معیارات متعین کرتا تھا، لیکن مائیکرو کمپیوٹرز پر پروگرامنگ سسٹم عام طور پر مختلف قسم کی تھرڈ پارٹی کمپنیوں کے ذریعے فراہم کیے جاتے تھے جن کی معیاری کاری میں کوئی دلچسپی نہیں ہوتی تھی۔ اس کے باوجود، اس مسئلے کو 1990 کی دہائی کے اوائل میں مختلف مشترکہ لائبریری سسٹم کے تعارف کے ذریعے حل کیا جا رہا تھا۔ ان کا اصل مقصد چھوٹے پلیٹ فارمز پر وسائل کے استعمال کو آسان بنانا تھا، جس میں جی یو آئی جیسے مشترکہ وسائل کا استعمال کرتے ہوئے متعدد پروگراموں کو میموری میں ایک علیحدہ کاپی لوڈ کرنے کے بجائے کوڈ کی ایک کاپی شیئر کرنے کی اجازت دی گئی تھی۔ بہت سے پروگراموں سے کال کرنے کے قابل ہونے کے ضمنی اثر کے طور پر، ان نظاموں نے انٹرفیس ڈیفینیشن لینگویج، یا آئی ڈی ایل کا استعمال کرتے ہوئے انہیں کال کرنے کا ایک معیاری طریقہ بھی بیان کیا، تاکہ پلیٹ فارم پر موجود کسی بھی زبان کو لائبریری کے اندر کوڈ کو سمجھنے کی اجازت دی جا سکے۔ پردے کے پیچھے ریموٹ پروسیجر کالز کو سپورٹ کرنے کے لیے ان سسٹمز کو بڑھانا ایک قدرتی ارتقاء کے طور پر دیکھا گیا، جو کلائنٹ/سرور پروگرامنگ کے مسئلے کا حل فراہم کرتا ہے۔ اس وقت اس طرح کے نظام کی فراہمی کے لیے کئی بڑے منصوبے تھے، جن میں آئی بی ایم کا سسٹم آبجیکٹ ماڈل (ایس او ایم/ڈی ایس او ایم)، نیکسٹ کا پورٹیبل ڈسٹری بیوٹڈ آبجیکٹ، مائیکروسافٹ کا کمپونینٹ آبجیکٹ ماڈل (کام/ڈی سی او ایم) اور بہت سے کوربا ذائقے شامل ہیں۔ بیک آفس سپورٹ کے لحاظ سے خود کو مستقبل کے آئی بی ایم کے طور پر قائم کرنے کی کوشش کرتے ہوئے سن نے محسوس کیا کہ انہیں اس مارکیٹ پر بھی حملہ کرنا پڑے گا۔ اسپرنگ، ڈی او ای، اوپن اسٹیپ، این ای او سن کا حل ان کے اسپرنگ آپریٹنگ سسٹم میں کام پر مبنی تھا، جس نے تقریبا تمام پروگرامنگ کاموں کے لیے باہمی مواصلاتی اشیاء کا استعمال کیا۔ سولرس جیسے 'روایتی' یونکس کے تحت کام کرنے کے لیے اس میں ترمیم کرنا اتنا مشکل نہیں تھا، حالانکہ یونکس یہ فرض کرتا ہے کہ تمام پروگرام مقامی طور پر چلتے ہیں، اور ریموٹ رسائی کے لیے ایک انٹرفیس شامل کرنا پڑتا ہے۔ اس کے لیے، ڈی او ای نے ایک آبجیکٹ ریکویسٹ بروکر (او آر بی) شامل کیا جو بیک آفس سرورز پر چلتا تھا، ڈی او ای کی درخواستوں کو سنتا تھا اور انہیں ہینڈل کرنے کے لیے مناسب پروگرام کے حوالے کرتا تھا۔ ترقی کے دوران، کوربا صنعت میں ایک اہم مقبول لفظ بن گیا۔ اس سے تاخیر ہوئی جب کہ او آر بی کو کوربا سپورٹ کے لیے دوبارہ تیار کیا گیا۔ کوربا ماڈل کے تحت، مختلف اشیاء، جیسے ڈی او ای یا ایس او ایم، ایک مشترکہ انٹرفیس کا اشتراک کرکے تعامل کر سکیں گے۔ سن کے لیے ایک بڑا مسئلہ یہ ہے کہ ان کے پاس کوئی مربوط ڈیسک ٹاپ آبجیکٹ پروگرامنگ حل نہیں تھا۔ اگرچہ کچھ پلیٹ فارمز پر سی + + آبجیکٹ لائبریریاں عام ہو رہی تھیں، لیکن ان کا اپنا سن او ایس (جسے بعد میں سولارس کے نام سے جانا گیا) آپریٹنگ سسٹم اور اس سے وابستہ سن ویو اور ایکس ونڈو سسٹم 'پلین سی' پر مبنی تھے، جبکہ ان کا نیا این ای ڈبلیو ایس ونڈو ماحول پوسٹ اسکرپٹ کی نیٹ ورک ایکسٹینسیبل آبجیکٹ پر مبنی بولی پر مبنی تھا۔ ایک جامع اور لچکدار آبجیکٹ پروگرامنگ حل فراہم کرنے کے لیے، سن نے NeXT کا رخ کیا اور دونوں نے اوپن اسٹیپ تیار کیا۔ خیال یہ تھا کہ اوپن اسٹیپ پروگرام سن سرورز پر ڈی او ای آبجیکٹ کو کال کریں، جو سن مشینوں پر بیک آفس سے فرنٹ آفس حل فراہم کریں۔ اوپن اسٹیپ کو 1993 تک ریلیز نہیں کیا گیا تھا، جس کی وجہ سے اس منصوبے میں مزید تاخیر ہوئی۔ جب تک ڈی او ای، جسے اب این ای او کے نام سے جانا جاتا ہے، 1995 میں ریلیز ہوا، سن پہلے ہی اپنی اگلی بڑی چیز کے طور پر جاوا میں منتقل ہو چکا تھا۔ جاوا اب کلائنٹ سائیڈ ایپلی کیشنز کے لیے پسند کا GUI تھا، اور سن کے اوپن اسٹیپ منصوبوں کو خاموشی سے چھوڑ دیا گیا (لائٹ ہاؤس ڈیزائن دیکھیں)۔ این ای او کو "جو" فریم ورک کے تعارف کے ساتھ جاوا سسٹم کے طور پر دوبارہ پوزیشن دی گئی، لیکن اس کا بہت کم استعمال ہوا۔ این ای او اور جو کے اجزاء کو بالآخر انٹرپرائز جاوا بینز میں شامل کر لیا گیا۔ اگرچہ تقسیم شدہ اشیاء، اور خاص طور پر کوربا، 1990 کی دہائی کے اوائل میں "اگلی بڑی چیز" تھیں، لیکن دہائی کے دوسرے نصف تک ان میں دلچسپی بنیادی طور پر غائب ہو گئی تھی۔ مکمل طور پر سرور پر چلنے والی ویب پر مبنی ایپلی کیشنز نئی "اگلی بڑی چیز" بن گئیں، اور کلائنٹ کی طرف ایک طاقتور ڈسپلے سسٹم کی ضرورت ختم ہو گئی، جس کی جگہ بڑی حد تک ایچ ٹی ایم ایل اور جاوا اسکرپٹ ("براؤزر یوزر انٹرفیس") پر مبنی ہلکے وزن والے جی یو آئیز نے لے لی۔ حوالہ جات بیرونی روابط کامن آبجیکٹ ریکویسٹ بروکر آرکیٹیکچر آبجیکٹ پر مبنی پروگرامنگ ایپلی کیشن پروگرامنگ انٹرفیس سن مائیکرو سسٹمز سافٹ ویئر ویپر ویئر