آؤٹ سورسنگ سے ترقی تک (حصہ 2)

В پچھلا مضمونمیں نے ولیم کی تخلیق کے پس منظر اور ساس سسٹم کے ذریعے اسے تقسیم کرنے کے فیصلے کے بارے میں بات کی۔ اس مضمون میں، میں اس بارے میں بات کروں گا کہ مجھے پروڈکٹ کو مقامی نہیں بلکہ عوامی بنانے کے لیے کیا کرنا پڑا۔ اس بارے میں کہ تقسیم کیسے شروع ہوئی اور انہیں کن مسائل کا سامنا کرنا پڑا۔

منصوبہ بندی

صارفین کے لیے موجودہ بیک اینڈ لینکس پر تھا۔ تقریباً ہر تنظیم کے پاس ونڈوز سرور ہوتے ہیں، جن کے بارے میں لینکس کے بارے میں کچھ نہیں کہا جا سکتا۔ ویلیم کی اہم طاقت NAT کے پیچھے سرورز اور نیٹ ورک کے آلات سے ریموٹ کنکشن ہے۔ لیکن یہ فعالیت اس حقیقت سے بہت مضبوطی سے منسلک تھی کہ روٹر کو Mikrotik ہونا پڑا۔ اور یہ ظاہر ہے کہ بہت سے لوگوں کو مطمئن نہیں کرے گا۔ میں نے سب سے پہلے عام دکانداروں سے راؤٹرز کے لیے سپورٹ شامل کرنے کے بارے میں سوچنا شروع کیا۔ لیکن میں سمجھ گیا کہ یہ معاون کمپنیوں کی فہرست کو بڑھانے کے لیے ایک نہ ختم ہونے والی دوڑ تھی۔ مزید یہ کہ، جو پہلے سے سپورٹ کر رہے ہیں ان میں NAT رولز کو ماڈل سے ماڈل میں تبدیل کرنے کے لیے کمانڈز کا ایک مختلف سیٹ ہو سکتا ہے۔ صورت حال سے نکلنے کا واحد راستہ وی پی این لگتا تھا۔

چونکہ ہم نے پروڈکٹ کو تقسیم کرنے کا فیصلہ کیا ہے، لیکن اوپن سورس کے طور پر نہیں، اس لیے جی پی ایل جیسے کھلے لائسنس کے ساتھ مختلف لائبریریوں کو شامل کرنا ناممکن ہو گیا۔ یہ عام طور پر ایک الگ موضوع ہے؛ پروڈکٹ بیچنے کا فیصلہ کرنے کے بعد، مجھے نصف لائبریریوں سے گزرنا پڑا کیونکہ وہ GPL تھے۔ جب انہوں نے اپنے لیے لکھا تو یہ معمول تھا۔ لیکن تقسیم کے لیے موزوں نہیں۔ پہلا وی پی این جو ذہن میں آتا ہے وہ اوپن وی پی این ہے۔ لیکن یہ GPL ہے۔ دوسرا آپشن جاپانی SoftEther VPN استعمال کرنا تھا۔ اس کے لائسنس نے اسے اپنی مصنوعات میں شامل کرنے کی اجازت دی۔ اسے اس طرح انٹیگریٹ کرنے کے بارے میں چند دنوں کے مختلف ٹیسٹوں کے بعد صارف کو کسی بھی چیز کو ترتیب دینے اور SoftEther VPN کے بارے میں جاننے کی ضرورت ہی نہ پڑے، ایک پروٹو ٹائپ حاصل کیا گیا۔ سب کچھ ویسا ہی تھا جیسا ہونا چاہیے تھا۔ لیکن کسی وجہ سے اس اسکیم نے پھر بھی ہمیں الجھا دیا، اور ہم نے آخرکار اسے ترک کر دیا۔ لیکن قدرتی طور پر انہوں نے ایک اور آپشن کے ساتھ آنے کے بعد انکار کر دیا۔ آخر میں، سب کچھ باقاعدہ TCP کنکشن پر کیا گیا۔ کچھ کنکشن ایک کوآرڈینیٹر کے ذریعے کام کرتے ہیں، کچھ براہ راست نیٹ ہول پنچنگ (NHP) ٹیکنالوجی کے ذریعے، جسے فری پاسکل میں بھی لاگو کیا گیا تھا۔ مجھے یہ کہنا ضروری ہے کہ میں نے پہلے کبھی NHP کے بارے میں نہیں سنا تھا۔ اور یہ میرے ذہن میں کبھی نہیں آیا کہ 2 نیٹ ورک ڈیوائسز کو جوڑنا ممکن تھا، یہ دونوں براہ راست NAT کے پیچھے ہیں۔ میں نے موضوع کا مطالعہ کیا، آپریشن کے اصول کو سمجھا اور لکھنے بیٹھ گیا۔ منصوبہ مکمل ہو گیا ہے، صارف پاس ورڈ درج کیے بغیر یا VPN سیٹ اپ کیے بغیر RDP، SSH یا Winbox کے ذریعے NAT کے پیچھے مطلوبہ ڈیوائس سے ایک کلک کے ساتھ جڑ جاتا ہے۔ مزید یہ کہ، ان میں سے زیادہ تر کنکشن ہمارے کوآرڈینیٹر سے گزر جاتے ہیں، جس کا پنگ پر اچھا اثر پڑتا ہے اور ان کنکشنز کی سروسنگ کی لاگت آتی ہے۔

سرور کے حصے کو لینکس سے ونڈوز میں منتقل کرنا

ونڈوز پر سوئچ کرتے وقت کئی مسائل تھے۔ پہلا یہ کہ ونڈوز میں بلٹ ان wmic آپ کو WQL سوالات کرنے کی اجازت نہیں دیتا ہے۔ اور ہمارے نظام میں سب کچھ پہلے ہی ان پر بنایا گیا تھا۔ اور کچھ اور بھی تھا لیکن اب میں بھول گیا ہوں کہ آخر انہوں نے اس کا استعمال کیوں چھوڑ دیا۔ ونڈوز ورژن کے درمیان ممکنہ طور پر فرق۔ اور دوسرا مسئلہ ملٹی تھریڈنگ کا ہے۔ ہمارے لیے "قابل قبول" لائسنس کے تحت تیسری پارٹی کی اچھی افادیت نہ ملنے پر، میں نے Lazarus IDE کو دوبارہ شروع کیا۔ اور میں نے ضروری افادیت لکھی۔ ان پٹ اشیاء کی مطلوبہ فہرست ہے اور کون سے مخصوص سوالات کرنے کی ضرورت ہے، اور جواب میں مجھے ڈیٹا موصول ہوتا ہے۔ اور یہ سب ملٹی تھریڈڈ موڈ میں۔ زبردست.

جب میں نے پی ایچ پی ونڈوز کے لیے پیتھریڈز ترتیب دیے، میں نے سوچا کہ سب کچھ فوراً شروع ہو جائے گا، لیکن ایسا نہیں تھا۔ ڈیبگنگ کے کچھ وقت کے بعد، میں نے محسوس کیا کہ pthreads کام کرتے نظر آتے ہیں، لیکن یہ ہمارے سسٹم پر کام نہیں کرتا ہے۔ یہ واضح ہو گیا کہ ونڈوز پر pthreads کے ساتھ کام کرنے میں کچھ خاصیت ہے۔ اور ایسا ہی تھا۔ میں نے دستاویزات کو پڑھا، اور وہاں لکھا گیا کہ ونڈوز کے لیے تھریڈز کی تعداد محدود ہے، اور جہاں تک مجھے یاد ہے، واضح طور پر۔ یہ ایک مسئلہ بن گیا۔ کیونکہ جب میں نے تھریڈز کی تعداد کو کم کرنا شروع کیا جس پر ایپلی کیشن چلتی تھی، اس نے کام بہت آہستہ کیا۔ میں نے IDE کو دوبارہ کھولا اور اسی یوٹیلیٹی میں اشیاء کی ملٹی تھریڈڈ پنگنگ کی فعالیت کو شامل کیا گیا۔ ٹھیک ہے، وہاں پہلے سے ہی بہت ساری پورٹ اسکیننگ بھی ہے۔ درحقیقت، اس کے بعد پی ایچ پی کے لیے تھریڈز کی ضرورت ختم ہو گئی، اور اب یہ استعمال نہیں ہو رہا۔ اس کے علاوہ، اس افادیت میں مزید کئی خصوصیات شامل کی گئیں اور یہ آج تک کام کر رہی ہے۔ اس کے بعد، ونڈوز کے لیے ایک انسٹالر جمع کیا گیا، جس میں اپاچی، پی ایچ پی، ماریا ڈی بی، خود پی ایچ پی ایپلی کیشن اور سسٹم کے ساتھ تعامل کے لیے یوٹیلیٹیز کا ایک سیٹ، فری پاسکل میں لکھا گیا۔ جہاں تک انسٹالر کا تعلق ہے، میں نے سوچا کہ میں اس مسئلے کو جلد حل کر لوں گا، کیونکہ... یہ ایک بہت عام چیز ہے اور تقریباً ہر سافٹ ویئر کے لیے ضروری ہے۔ یا تو میں غلط جگہ دیکھ رہا تھا، یا کچھ اور۔ لیکن مجھے مسلسل ایسی مصنوعات ملتی ہیں جو یا تو کافی لچکدار نہیں تھیں، یا مہنگی اور لچکدار بھی تھیں۔ اور پھر بھی، مجھے ایک مفت انسٹالر ملا جس میں کسی بھی خواہش کے لیے فراہم کرنا ممکن ہو گا۔ یہ InnoSetup ہے۔ میں اس کے بارے میں یہاں اس لیے لکھ رہا ہوں کہ اگر میں کسی کا وقت بچاتا ہوں تو مجھے اسے تلاش کرنا تھا۔

آپ کے کلائنٹ کے حق میں پلگ ان کا انکار

میں نے پہلے لکھا تھا کہ کلائنٹ کا حصہ ایک "پلگ ان" والا براؤزر تھا۔ تو ایسے اوقات تھے جب کروم کو اپ ڈیٹ کیا گیا تھا اور لے آؤٹ تھوڑا ٹیڑھا تھا، پھر ونڈوز کو اپ ڈیٹ کیا گیا اور کسٹم یوری اسکیم غائب ہوگئی۔ میں واقعی میں پروڈکٹ کے عوامی ورژن میں اس قسم کے سرپرائز نہیں رکھنا چاہتا تھا۔ مزید یہ کہ ہر ونڈوز اپ ڈیٹ کے بعد کسٹم یوری غائب ہونا شروع ہو گیا۔ مائیکروسافٹ نے مطلوبہ سیکشن میں اپنی تمام غیر شاخوں کو آسانی سے حذف کر دیا۔ نیز، گوگل کروم اب آپ کو کسٹم یوری سے کسی ایپلیکیشن کو کھولنے یا نہ کرنے کا انتخاب یاد رکھنے کی اجازت نہیں دیتا، اور جب بھی آپ کسی مانیٹرنگ آبجیکٹ پر کلک کرتے ہیں تو یہ سوال پوچھتا ہے۔ ٹھیک ہے، عام طور پر، صارف کے مقامی نظام کے ساتھ عام تعامل ضروری تھا، جو براؤزر فراہم نہیں کرتا ہے۔ اس اسکیم میں سب سے آسان آپشن صرف اپنا براؤزر بنانا ہے، جیسا کہ اب بہت سے لوگ الیکٹران کے ذریعے کر رہے ہیں۔ لیکن بہت سی چیزیں پہلے ہی فری پاسکل میں لکھی جا چکی تھیں، بشمول سرور کے حصے میں، اس لیے ہم نے فیصلہ کیا کہ کلائنٹ کو اسی زبان میں بنایا جائے، اور چڑیا گھر نہ بنایا جائے۔ بورڈ پر Chromium کے ساتھ ایک کلائنٹ کو اس طرح لکھا گیا تھا۔ اس کے بعد، اس نے مختلف پٹیاں حاصل کرنا شروع کر دیں۔

رہائی

آخر میں ہم نے سسٹم کے لیے ایک نام کا انتخاب کیا۔ ہم مسلسل مختلف آپشنز سے گزرتے رہے جب کہ مقامی ورژن سے SaaS میں تبدیل ہونے کا عمل جاری تھا۔ چونکہ ہم نے ابتدائی طور پر نہ صرف مقامی مارکیٹ میں داخل ہونے کا منصوبہ بنایا تھا، اس لیے نام کے انتخاب کا بنیادی معیار ".com" زون میں غیر مقیم یا بہت مہنگے ڈومین کی موجودگی تھی۔ کچھ فنکشنز/ماڈیولز کو ابھی تک مقامی ورژن سے ویلیم میں پورٹ نہیں کیا گیا ہے، لیکن ہم نے فیصلہ کیا ہے کہ ہم انہیں موجودہ فعالیت کے ساتھ جاری کریں گے اور باقی کو اپ ڈیٹ کے طور پر مکمل کریں گے۔ پہلے ہی ورژن میں ہیلپ ڈیسک، ویلیم کنیکٹر نہیں تھا، نوٹیفکیشن ٹرگرز اور بہت کچھ کے لیے حد کو تبدیل کرنا ناممکن تھا۔ ہم نے کوڈ سائن سرٹیفکیٹ خریدا اور کلائنٹ اور سرور پرزوں پر دستخط کئے۔ ہم نے پروڈکٹ کے لیے ایک ویب سائٹ لکھی، سافٹ ویئر، ٹریڈ مارک وغیرہ کے اندراج کے لیے طریقہ کار شروع کیا۔ عام طور پر، ہم شروع کرنے کے لئے تیار ہیں. کئے گئے کام سے اور اس حقیقت سے تھوڑی خوشی کہ شاید کوئی آپ کی پروڈکٹ استعمال کرے گا، حالانکہ ہمیں اس بارے میں کوئی شک نہیں تھا۔ اور پھر رک جاؤ۔ پارٹنر نے کہا کہ میسنجر کے ذریعے اطلاع کے بغیر مارکیٹ میں داخل ہونا ناممکن ہے۔ یہ بہت سی دوسری چیزوں کے بغیر ممکن ہے، لیکن اس کے بغیر نہیں۔ کچھ بحث کے بعد، ٹیلی گرام کے ساتھ انضمام شامل کیا گیا، جو ہمارے لیے موزوں تھا۔ تمام موجودہ انسٹنٹ میسنجرز میں سے، یہ واحد ہے جو اپنے APIs تک مفت اور بغیر کسی پیچیدہ منظوری کے طریقہ کار کے رسائی فراہم کرتا ہے۔ وہی واٹس ایپ ایسے فراہم کنندگان سے رابطہ کرنے کا مشورہ دیتا ہے جو اپنی خدمات استعمال کرنے کے لیے اچھے پیسے وصول کرتے ہیں؛ بغیر گسکیٹ کے رسائی کے لیے پوچھے گئے تمام خطوط کو نظر انداز کر دیا گیا تھا۔ ٹھیک ہے، وائبر... میں نہیں جانتا کہ اسے اب کون استعمال کرتا ہے، کیونکہ... اسپام اور اشتہارات چارٹ سے دور ہیں۔ دسمبر کے آخر میں، دوستوں کے درمیان اندرونی ٹیسٹ اور ٹیسٹ کے ایک سلسلے کے بعد، رجسٹریشن سب کے لیے کھول دیا گیا اور سافٹ ویئر کو ڈاؤن لوڈ کے لیے دستیاب کر دیا گیا۔

تقسیم کا آغاز

شروع سے ہی، ہم نے سمجھا کہ ہمیں سسٹم کے صارفین کے ایک چھوٹے سے بہاؤ کی ضرورت ہے تاکہ وہ پروڈکٹ کو جنگی موڈ میں جانچ سکیں اور کچھ پہلا تاثرات دے سکیں۔ VK پر کئی خریدی گئی پوسٹس نے پھل پیدا کیا۔ پہلی رجسٹریشن آچکی ہے۔

یہاں یہ کہنا ضروری ہے کہ جب آپ کی کمپنی کا کوئی مشہور نام نہ ہو تو مارکیٹ میں داخل ہونا، اور ساتھ ہی بغیر ایجنٹ کی نگرانی کی سہولت فراہم کرنا جس میں آپ کو اپنے سرورز اور ورک سٹیشنز سے اکاؤنٹس داخل کرنے کی ضرورت ہوتی ہے، بہت مشکل ہے۔ یہ بہت سے لوگوں کو خوفزدہ کرتا ہے۔ ہم شروع سے ہی سمجھ گئے تھے کہ اس کے ساتھ مسائل ہوں گے اور اس کے لیے تکنیکی اور اخلاقی طور پر تیار تھے۔ تمام ریموٹ کنکشنز، اس حقیقت کے باوجود کہ RDP اور SSH پہلے سے ہی ڈیفالٹ کے ذریعے انکرپٹ شدہ ہیں، اضافی طور پر AES معیار کا استعمال کرتے ہوئے ہمارے سافٹ ویئر کے ذریعے انکرپٹ کیے گئے ہیں۔ مقامی سرورز سے تمام ڈیٹا کو HTTPS کے ذریعے کلاؤڈ میں منتقل کیا جاتا ہے۔ اکاؤنٹس کو خفیہ کردہ شکل میں محفوظ کیا جاتا ہے۔ تمام سب سسٹمز کے لیے انکرپشن کیز تمام کلائنٹس کے لیے انفرادی ہیں۔ ریموٹ کنکشن کے لیے، سیشن انکرپشن کیز عام طور پر استعمال ہوتی ہیں۔

لوگوں کو پرسکون محسوس کرنے کے لیے ہم اس صورت حال میں جو کچھ کر سکتے ہیں وہ یہ ہے کہ زیادہ سے زیادہ کھلے رہیں، حفاظت پر کام کریں اور لوگوں کے سوالات کا جواب دیتے ہوئے کبھی نہ تھکیں۔

بہت سے لوگوں کے لیے، سافٹ ویئر کی سہولت اور فعالیت خوف سے کہیں زیادہ ہے، اور وہ رجسٹر ہوتے ہیں۔ کچھ افراد نے VK پر شائع شدہ پوسٹس میں لکھا کہ یہ سافٹ ویئر استعمال نہیں کیا جا سکتا کیونکہ یہ ان کے پاس ورڈز کا مجموعہ ہے اور عام طور پر بغیر نام والی کمپنی ہے۔ یہ کہنا ضروری ہے کہ ایک سے زیادہ لوگوں نے یہ رائے دی تھی۔ بہت سے لوگ صرف یہ نہیں سمجھتے ہیں کہ جب وہ کسی سرور پر دوسرے ملکیتی سافٹ ویئر انسٹال کرتے ہیں جو بطور سروس چلتا ہے، تو اس کے سسٹم میں مکمل حقوق بھی ہوتے ہیں اور انہیں کچھ غیر قانونی کرنے کے لیے اکاؤنٹس کی ضرورت نہیں ہوتی ہے (یہ واضح ہے کہ آپ اسے تبدیل کر سکتے ہیں۔ صارف جس سے سروس شروع کی گئی ہے، لیکن یہاں بھی، آپ کوئی بھی اکاؤنٹ درج کر سکتے ہیں)۔ درحقیقت لوگوں کا خوف سمجھ میں آتا ہے۔ سرور پر سافٹ ویئر انسٹال کرنا ایک عام سی بات ہے، لیکن اکاؤنٹ میں داخل ہونا قدرے خوفناک اور مباشرت ہے، کیونکہ آدھے لوگوں کے پاس تمام سروسز کے لیے ایک ہی پاس ورڈ ہوتا ہے، اور ٹیسٹ کے لیے بھی الگ اکاؤنٹ بنانا سستی ہے۔ لیکن اس وقت بہت بڑی تعداد میں خدمات ہیں جن پر لوگ اپنی اسناد وغیرہ کے ساتھ بھروسہ کرتے ہیں۔ اور ہم ان میں سے ایک بننے کی کوشش کرتے ہیں۔

بہت سارے تبصرے تھے جن میں کہا گیا تھا کہ ہم نے اسے کہیں سے چرایا ہے۔ اس نے ہمیں تھوڑا سا حیران کیا۔ ٹھیک ہے، ایک شخص کی رائے، لیکن اس طرح کے تبصرے مختلف لوگوں کی مختلف اشاعتوں میں دیکھنے کو ملے۔ پہلے تو وہ نہیں جانتے تھے کہ اس پر کیا ردعمل ظاہر کریں۔ یا تو دکھ کی بات یہ ہے کہ کچھ لوگوں کی یہ رائے ہے کہ روس میں کوئی بھی اپنے طور پر کچھ نہیں کر سکتا، بلکہ صرف چوری کر سکتا ہے، یا پھر اس بات پر خوش ہوں کہ وہ سمجھتے ہیں کہ یہ صرف چوری ہو سکتی ہے۔

اب ہم نے ای وی کوڈ سائن سرٹیفکیٹ حاصل کرنے کا طریقہ کار مکمل کر لیا ہے۔ اسے حاصل کرنے کے لیے، آپ کو چیک کی ایک سیریز سے گزرنا ہوگا اور کمپنی کے بارے میں دستاویزات کا ایک گروپ بھیجنا ہوگا، جن میں سے کچھ کو وکیل سے تصدیق شدہ ہونا چاہیے۔ وبا کے دوران ای وی کوڈ سائن سرٹیفکیٹ حاصل کرنا ایک مضمون کے لیے ایک الگ موضوع ہے۔ اس عمل میں ایک مہینہ لگا۔ اور یہ انتظار کا مہینہ نہیں تھا، بلکہ اضافی دستاویزات کی مسلسل درخواستوں کا تھا۔ ہوسکتا ہے کہ وبائی مرض کا اس سے کوئی لینا دینا نہیں تھا ، اور اس طریقہ کار میں سب کے لئے اتنا وقت لگا؟ بانٹیں.

کچھ کہتے ہیں کہ ہم اسے استعمال نہیں کریں گے کیونکہ کوئی FSTEC سرٹیفکیٹ نہیں ہے۔ ہمیں وضاحت کرنی ہوگی کہ ہم اسے حاصل نہیں کر سکتے اور نہ کریں گے کیونکہ یہ سرٹیفکیٹ حاصل کرنے کے لیے، خفیہ کاری GOST کے مطابق ہونی چاہیے، اور ہم سافٹ ویئر کو نہ صرف روس میں تقسیم کرنے اور AES استعمال کرنے کا ارادہ رکھتے ہیں۔

ان تمام تبصروں سے کچھ شک پیدا ہوتا ہے کہ کسی ایسے پروڈکٹ کی تشہیر ممکن ہے جس کے لیے آپ کو عوامی طور پر جانے بغیر اکاؤنٹس داخل کرنے کی ضرورت ہوتی ہے۔ حالانکہ ہم جانتے تھے کہ ایسے لوگ ہوں گے جو اس بارے میں انتہائی منفی رویہ رکھتے ہیں۔ رجسٹریشن کی تعداد ایک ہزار سے تجاوز کرنے کے بعد، ہم نے اس کے بارے میں سوچنا چھوڑ دیا۔ خاص طور پر اس کے بعد، ان لوگوں کی منفی کے علاوہ جنہوں نے مصنوعات کی کوشش نہیں کی تھی، بہت خوشگوار جائزے ظاہر ہونے لگے. یہ کہا جانا چاہئے کہ یہ مثبت جائزے مصنوعات کی ترقی کے لئے سب سے بڑا محرک ہیں۔

ملازمین کے لیے ریموٹ رسائی کی فعالیت شامل کرنا

گاہکوں کے اکثر کاموں میں سے ایک یہ ہے کہ "وانیا کو گھر سے اس کے کمپیوٹر تک رسائی دینا۔" ہم نے Mikrotik پر VPN اٹھایا اور صارفین کے لیے اکاؤنٹ بنائے۔ لیکن یہ ایک حقیقی مسئلہ ہے۔ صارفین ہدایات کو دیکھنے اور وی پی این کے ذریعے جڑنے کے لیے قدم بہ قدم ان پر عمل کرنے کے قابل نہیں ہیں۔ ونڈوز کے مختلف ورژن۔ ایک ونڈوز میں سب کچھ اچھی طرح سے جڑتا ہے، دوسری میں ایک مختلف پروٹوکول کی ضرورت ہوتی ہے۔ اور عام طور پر، یہ ہمیشہ نیٹ ورک کے سازوسامان کی تشکیل نو کے ساتھ منسلک ہوتا تھا، جو VPN سرور کے طور پر کام کرتا تھا، اور تمام ملازمین کو اس تک رسائی حاصل نہیں تھی اور یہ تکلیف دہ تھا۔

لیکن ہمارے پاس پہلے سے ہی سرورز اور نیٹ ورک کے آلات سے ریموٹ کنکشن موجود ہیں۔ کیوں نہ ایک ریڈی میڈ ٹرانسپورٹ استعمال کریں اور ایک الگ چھوٹی افادیت بنائیں جو آپ صارف کو کنیکٹ کرنے کے لیے آسانی سے دے سکتے ہیں۔ میں صرف اس بات کو یقینی بنانا چاہتا تھا کہ صارف نے وہاں کچھ بھی غلط درج نہیں کیا ہے۔ صرف ایک بٹن "کنیکٹ"۔ لیکن یہ افادیت کیسے سمجھے گی کہ اگر اس کے پاس صرف ایک بٹن ہے تو کہاں سے جڑنا ہے؟ ہمارے سرورز پر آن لائن مطلوبہ ایپلیکیشن بنانے کا ایک خیال تھا۔ سسٹم ایڈمنسٹریٹر "ڈاؤن لوڈ شارٹ کٹ" بٹن پر کلک کرتا ہے، اور آر ڈی پی کے ذریعے مطلوبہ سرور/کمپیوٹر سے منسلک ہونے کے لیے ہارڈ وائرڈ معلومات کے ساتھ انفرادی بائنری بنانے کے لیے ہمارے کلاؤڈ کو ایک کمانڈ بھیجا جاتا ہے۔ عام طور پر، یہ کیا جا سکتا ہے. لیکن اس میں کافی وقت لگتا ہے؛ منتظم کو پہلے انتظار کرنا پڑے گا جب تک کہ بائنری مرتب نہ ہو اور پھر ڈاؤن لوڈ ہو جائے۔ بلاشبہ، کنفگ کے ساتھ دوسری فائل کو شامل کرنا ممکن ہو گا، لیکن یہ پہلے سے ہی 2 فائلیں ہیں، اور سادگی کے لیے صارف کو ایک کی ضرورت ہے۔ ایک فائل، ایک بٹن اور کوئی انسٹالر نہیں۔ گوگل پر تھوڑا سا پڑھنے کے بعد، میں اس نتیجے پر پہنچا ہوں کہ اگر آپ مرتب کردہ ".exe" کے آخر میں کچھ معلومات شامل کرتے ہیں، تو یہ خراب نہیں ہوتا (اچھی طرح، تقریبا)۔ آپ کم از کم وہاں جنگ اور امن کو شامل کر سکتے ہیں، اور یہ پہلے کی طرح کام کرے گا۔ اس سے فائدہ نہ اٹھانا گناہ ہوگا۔ اب آپ ایپلیکیشن کو چلتے پھرتے، بالکل کلائنٹ میں ہی کھول سکتے ہیں، جس طرح سے اسے Veliam Connector کہا جاتا ہے، اور آخر میں اس سے جڑنے کے لیے ضروری معلومات شامل کر سکتے ہیں۔ اور درخواست خود جانتی ہے کہ اس کے ساتھ کیا کرنا ہے۔ میں نے کچھ اونچے قوسین میں "تقریبا ٹھیک" کیوں لکھا؟ کیونکہ آپ کو اس سہولت کے لیے ادائیگی کرنی پڑتی ہے کہ ایپلیکیشن اپنے ڈیجیٹل دستخط کھو دیتی ہے۔ لیکن اس مرحلے پر، ہم سمجھتے ہیں کہ اس طرح کی سہولت کی ادائیگی کے لیے یہ ایک چھوٹی سی قیمت ہے۔

تھرڈ پارٹی ماڈیول لائسنس

میں نے پہلے ہی اوپر لکھا ہے کہ پروڈکٹ کو عوامی طور پر دستیاب کرنے کا فیصلہ کرنے کے بعد، اور نہ صرف ہمارے اپنے استعمال کے لیے، ہمیں سخت محنت کرنی پڑی اور کچھ ایسے ماڈیولز کے متبادل تلاش کرنا پڑے جو خود کو ہماری پروڈکٹ میں شامل نہیں ہونے دیتے تھے۔ لیکن رہائی کے بعد اتفاقاً ایک بہت ہی ناخوشگوار چیز کا پتہ چلا۔ ویلیم سرور، جو کلائنٹ کی طرف تھا، ماریا ڈی بی ڈی بی ایم ایس شامل تھا۔ اور یہ GPL لائسنس یافتہ ہے۔ GPL لائسنس کا مطلب ہے کہ سافٹ ویئر اوپن سورس ہونا چاہیے، اور اگر ہماری پروڈکٹ میں MariaDB شامل ہے، جس کے پاس یہ لائسنس ہے، تو ہماری پروڈکٹ اس لائسنس کے تحت ہونی چاہیے۔ لیکن خوش قسمتی سے، اس لائسنس کا مقصد اوپن سورس ہے، عدالت میں غلطی سے غلطی کرنے والوں کو سزا دینا نہیں۔ اگر کاپی رائٹ کے حامل کے پاس کوئی دعویٰ ہے، تو وہ خلاف ورزی کرنے والے کو تحریری طور پر مطلع کرتا ہے اور اسے 30 دنوں کے اندر خلاف ورزی کو ختم کرنا ہوگا۔ ہمیں اپنی غلطی کا خود پتہ چلا اور ہمیں کوئی خط موصول نہیں ہوا اور فوری طور پر اس مسئلے کو حل کرنے کے طریقوں پر غور کرنا شروع کر دیا۔ حل واضح نکلا - SQLite پر سوئچ کریں۔ اس ڈیٹا بیس میں لائسنس کی کوئی پابندی نہیں ہے۔ زیادہ تر جدید براؤزرز SQLite اور دیگر پروگراموں کا ایک گروپ استعمال کرتے ہیں۔ مجھے انٹرنیٹ پر معلومات ملی کہ SQLite کو دنیا میں سب سے زیادہ پھیلایا جانے والا DBMS سمجھا جاتا ہے، خاص طور پر براؤزرز کی وجہ سے، لیکن میں نے ثبوت نہیں ڈھونڈا، اس لیے یہ غلط معلومات ہے۔ میں نے SQLite پر سوئچ کرنے کے خطرات کا مطالعہ شروع کیا۔

یہ ایک غیر معمولی کام بن جاتا ہے جب کلائنٹس کے پاس ماریا ڈی بی اور ڈیٹا کے ساتھ کئی سو سرورز انسٹال ہوتے ہیں۔ ماریا ڈی بی کی کچھ خصوصیات SQLite میں دستیاب نہیں ہیں۔ ٹھیک ہے، مثال کے طور پر، کوڈ میں ہم نے سوالات کا استعمال کیا جیسے

Select * FROM `table` WHERE `id`>1000 FOR UPDATE

یہ تعمیر نہ صرف میز سے انتخاب کرتی ہے بلکہ قطار کے ڈیٹا کو بھی مقفل کرتی ہے۔ اور کئی اور ڈیزائن بھی دوبارہ لکھنے پڑے۔ لیکن اس حقیقت کے علاوہ کہ ہمیں بہت سارے سوالات کو دوبارہ لکھنا پڑا، ہمیں ایک ایسا طریقہ کار بھی لانا پڑا جو کلائنٹ کے ویلیم سرور کو اپ ڈیٹ کرتے وقت، تمام ڈیٹا کو نئے DBMS میں پورٹ کر دے گا اور پرانے کو حذف کر دے گا۔ نیز، SQLite میں لین دین کام نہیں کرتا تھا اور یہ ایک حقیقی مسئلہ تھا۔ لیکن ورلڈ وائڈ ویب کی وسعت کو پڑھنے کے بعد، میں نے بغیر کسی پریشانی کے پایا کہ SQLite میں لین دین کو کنیکٹ کرتے وقت ایک سادہ کمانڈ پاس کر کے فعال کیا جا سکتا ہے۔

PRAGMA journal_mode=WAL;

نتیجے کے طور پر، کام مکمل ہو گیا اور اب کلائنٹ کا سرور حصہ SQLite پر چلتا ہے۔ ہم نے سسٹم کے آپریشن میں کوئی تبدیلی محسوس نہیں کی۔

نیا ہیلپ ڈیسک

ہیلپ ڈیسک سسٹم کو اندرونی ورژن سے SaaS ورژن میں پورٹ کرنا ضروری تھا، لیکن کچھ تبدیلیوں کے ساتھ۔ پہلا کام جو میں کرنا چاہتا تھا وہ تھا سسٹم میں صارف کی شفاف اجازت کے لحاظ سے کلائنٹ کے ڈومین کے ساتھ انضمام۔ اب، ہیلپ ڈیسک میں لاگ ان کرنے اور سسٹم میں درخواست چھوڑنے کے لیے، صارف صرف ڈیسک ٹاپ پر شارٹ کٹ پر کلک کرتا ہے اور براؤزر کھل جاتا ہے۔ صارف کوئی اسناد داخل نہیں کرتا ہے۔ Apache SSPI کے لیے ماڈیول، جو Veliam Server کا حصہ ہے، صارف کو ڈومین اکاؤنٹ کے تحت خود بخود اجازت دیتا ہے۔ جب صارف کارپوریٹ نیٹ ورک سے باہر ہوتا ہے تو سسٹم میں درخواست چھوڑنے کے لیے، وہ ایک بٹن پر کلک کرتا ہے اور اسے اپنے ای میل میں ایک لنک موصول ہوتا ہے جس کے ذریعے وہ پاس ورڈ کے بغیر ہیلپ ڈیسک سسٹم میں لاگ ان ہوتا ہے۔ اگر کوئی صارف کسی ڈومین میں غیر فعال یا حذف ہوجاتا ہے، تو ہیلپ ڈیسک اکاؤنٹ بھی کام کرنا چھوڑ دے گا۔ اس طرح، سسٹم ایڈمنسٹریٹر کو خود ڈومین اور ہیلپ ڈیسک دونوں میں اکاؤنٹس کی نگرانی کرنے کی ضرورت نہیں ہے۔ ایک ملازم چھوڑ دیتا ہے - وہ ڈومین میں اپنا اکاؤنٹ منقطع کر لیتا ہے اور بس، وہ سسٹم میں لاگ ان نہیں ہو گا نہ کارپوریٹ نیٹ ورک سے، نہ کسی لنک کے ذریعے۔ اس انضمام کے کام کرنے کے لیے، سسٹم ایڈمنسٹریٹر کو ایک GPO بنانے کی ضرورت ہے، جو انٹرانیٹ زون میں ایک اندرونی سائٹ شامل کرتا ہے۔ и ڈیسک ٹاپ پر تمام صارفین کو ایک شارٹ کٹ تقسیم کرتا ہے۔.

دوسری چیز جسے ہم ہیلپ ڈیسک سسٹمز کے لیے انتہائی ضروری سمجھتے ہیں، کم از کم اپنے لیے، درخواست دہندہ سے براہ راست ایک کلک میں رابطہ کرنا۔ مزید برآں، اگر سسٹم ایڈمنسٹریٹر کسی دوسرے نیٹ ورک پر ہے تو کنکشن کو پاس کرنا ضروری ہے۔ آؤٹ سورسنگ کے لیے یہ لازمی ہے، کل وقتی نظام کے منتظمین کے لیے یہ اکثر بہت ضروری بھی ہوتا ہے۔ پہلے ہی کئی پروڈکٹس موجود ہیں جو ریموٹ کنکشن کا بہترین کام کرتی ہیں۔ اور ہم نے ان کے لیے انضمام کرنے کا فیصلہ کیا۔ ہم نے اب VNC کے لیے مربوط کر لیا ہے، اور مستقبل میں ہم Radmin اور TeamViewer کو شامل کرنے کا ارادہ رکھتے ہیں۔ ریموٹ انفراسٹرکچر کنکشن کے لیے اپنے نیٹ ورک ٹرانسپورٹ کا استعمال کرتے ہوئے، ہم نے VNC کو NAT کے پیچھے دور دراز کے ورک سٹیشنوں سے کنیکٹ کیا۔ ریڈمین کے ساتھ بھی ایسا ہی ہوگا۔ اب، کسی صارف سے رابطہ قائم کرنے کے لیے، آپ کو درخواست میں ہی "درخواست گزار سے جڑیں" بٹن پر کلک کرنے کی ضرورت ہے۔ VNC کلائنٹ کھولتا ہے اور درخواست دہندہ سے جڑتا ہے، قطع نظر اس کے کہ آپ ایک ہی نیٹ ورک پر ہیں یا چپل میں گھر بیٹھے ہیں۔ سب سے پہلے، سسٹم ایڈمنسٹریٹر، GPO کا استعمال کرتے ہوئے، ہر ایک کے ورک سٹیشن پر VNC سرور انسٹال کرے۔

اب ہم خود نئے ہیلپ ڈیسک پر جا رہے ہیں اور ڈومین اور VNC کے ساتھ انضمام کا استعمال کر رہے ہیں۔ یہ ہمارے لیے بہت آسان ہے۔ اب ہم TeamViewer کی ادائیگی سے بچ سکتے ہیں، جسے ہم اپنی سپورٹ سروس چلانے کے لیے تین سال سے زیادہ عرصے سے استعمال کر رہے ہیں۔

ہم آگے کیا کرنے کی منصوبہ بندی کر رہے ہیں؟

جب ہم نے پروڈکٹ جاری کی، تو ہم نے کوئی ادا شدہ ٹیرف نہیں بنایا، لیکن مفت ٹیرف کو صرف 50 مانیٹرنگ اشیاء تک محدود رکھا۔ ہم نے سوچا کہ پانچ درجن نیٹ ورک ڈیوائسز اور سرورز ہر ایک کے لیے کافی ہونے چاہئیں۔ اور پھر حد بڑھانے کی درخواستیں آنے لگیں۔ یہ کہنا کہ ہمیں تھوڑا سا صدمہ ہوا ہے کچھ نہیں کہنا ہے۔ کیا وہ کمپنیاں جن کے پاس بہت سارے سرور ہیں واقعی ہمارے سافٹ ویئر میں دلچسپی رکھتے ہیں؟ ہم نے اس طرح کی درخواستیں کرنے والوں کے لیے مفت میں حد بڑھا دی۔ ان کی درخواست کے جواب میں، ہم نے کچھ سے پوچھا کہ انہیں اتنی ضرورت کیوں ہے، کیا واقعی ان کے پاس اتنی بڑی تعداد میں سرورز اور نیٹ ورک کا سامان موجود ہے؟ اور یہ پتہ چلا کہ سسٹم کے منتظمین نے سسٹم کو ان طریقوں سے استعمال کرنا شروع کر دیا جس کی ہم نے منصوبہ بندی نہیں کی تھی۔ سب کچھ آسان نکلا - ہمارے سافٹ ویئر نے نہ صرف سرورز بلکہ ورک سٹیشنوں کی بھی نگرانی شروع کر دی۔ لہذا حدود کو بڑھانے کی بہت سی درخواستیں ہیں۔ اب ہم نے پہلے ہی ادا شدہ ٹیرف متعارف کرائے ہیں اور حدود کو آزادانہ طور پر بڑھایا جا سکتا ہے۔

سرور تقریباً ہمیشہ RAID صف میں اسٹوریج سسٹم یا لوکل ڈسک کے ساتھ کام کرتے ہیں۔ اور ہم نے ابتدائی طور پر ان کے لیے پروڈکٹ بنایا۔ اور اس کام کے لیے SMART مانیٹرنگ دلچسپ نہیں تھی۔ لیکن اس حقیقت کو مدنظر رکھتے ہوئے کہ لوگوں نے ورک سٹیشنوں کی نگرانی کے لیے سافٹ ویئر کو ڈھال لیا ہے، سمارٹ مانیٹرنگ کے نفاذ کے لیے درخواستیں سامنے آئی ہیں۔ ہم اسے جلد نافذ کریں گے۔

ویلیم کنیکٹر کی آمد کے ساتھ، کارپوریٹ نیٹ ورک میں وی پی این سرور کو تعینات کرنا، یا آر ڈی جی ڈبلیو کرنا، یا صرف آر ڈی پی کے ذریعے جڑنے کے لیے ضروری مشینوں تک بندرگاہوں کو آگے بھیجنا غیر ضروری ہو گیا۔ بہت سے لوگ ہمارا سسٹم صرف ان ریموٹ کنکشنز کے لیے استعمال کرتے ہیں۔ Veliam Connector صرف Windows کے لیے دستیاب ہے، اور کچھ کمپنی کے صارفین MacOS چلانے والے ہوم لیپ ٹاپ سے کارپوریٹ نیٹ ورک پر ورک سٹیشن یا ٹرمینلز سے جڑتے ہیں۔ اور یہ پتہ چلتا ہے کہ سسٹم ایڈمنسٹریٹر، متعدد صارفین کی وجہ سے، اب بھی فارورڈنگ یا VPN کے مسئلے پر واپس آنے پر مجبور ہے۔ لہذا، اب ہم MacOS کے لیے Veliam Connector کا ایک ورژن تیار کر رہے ہیں۔ اپنی پسندیدہ ایپل ٹیکنالوجی کے صارفین کو ایک کلک میں کارپوریٹ انفراسٹرکچر سے جڑنے کا موقع بھی ملے گا۔

مجھے واقعی یہ حقیقت پسند ہے کہ، سسٹم کے صارفین کی ایک بڑی تعداد ہونے کی وجہ سے، آپ کو اس بارے میں اپنے دماغ کو ریک کرنے کی ضرورت نہیں ہے کہ لوگوں کو کیا ضرورت ہے اور کیا زیادہ آسان ہوگا۔ وہ خود اپنی خواہشات لکھتے ہیں، اس لیے مستقبل قریب کے لیے بہت سارے ترقیاتی منصوبے ہیں۔

متوازی طور پر، اب ہم اس نظام کا انگریزی میں ترجمہ کرنے اور اسے بیرون ملک تقسیم کرنے کا منصوبہ بنا رہے ہیں۔ ہم ابھی تک نہیں جانتے کہ ہم پروڈکٹ کو اپنے ملک سے باہر کیسے تقسیم کریں گے، ہم آپشنز تلاش کر رہے ہیں۔ شاید اس کے بارے میں بعد میں ایک الگ مضمون ہو گا۔ شاید جس نے یہ مضمون پڑھا ہے وہ مطلوبہ ویکٹر تجویز کر سکے گا، یا وہ خود جانتا ہے اور جانتا ہے کہ اسے کیسے کرنا ہے اور وہ اپنی خدمات پیش کرے گا۔ ہم آپ کی مدد کی تعریف کریں گے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں