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