ڇا توھان پنھنجي ايپ کي Facebook سان ڳنڍڻ چاھيو ٿا ته جيئن اھو پاڻمرادو پوسٽون ٺاھي سگھي، يا انسٽاگرام تي ته جيئن توھان ڪجھ ھئش ٽيگ سان فوٽوز ٻيهر پوسٽ ڪري سگھو؟
توھان پڻ توھان جي ويب سائيٽ تي يوٽيوب وڊيوز شامل ڪرڻ چاھيو ٿا. ايپليڪيشن پروگرامنگ انٽرفيس توهان کي انهن سڀني ڪمن کي انجام ڏيڻ جي اجازت ڏين ٿا ۽ وڌيڪ (APIs).
مختلف ايپليڪيشنون هڪ ٻئي سان ”ڳالهائي“ سگهن ٿيون محفوظ ۽ معياري طريقي سان APIs جي مهرباني جيئن Instagram API، Facebook API، ۽ YouTube API.
ٻين لفظن ۾، هڪ پروگرام سافٽ ويئر جي ڪنهن ٻئي ٽڪرا مان خاصيتون يا ڊيٽا وٺي سگهي ٿو ۽ انهن کي پنهنجي خاصيتن يا صارف تجربو کي بهتر ڪرڻ لاء استعمال ڪري سگهي ٿو. پر ڪيئن ائپس اهي درخواستون ٺاهي سگهن ٿيون، انهن کي پروسيس ڪري سگهن ٿيون، ۽ انهن کي فيشن ۾ جواب ڏين ٿيون جيڪي ٻيا سمجهي سگهن ٿا؟
اهو منحصر آهي ته API ڪيئن ٺاهيو ويو. جڏهن API (ايپليڪيشن پروگرامنگ انٽرفيس) ڊزائينز تي بحث ڪندي، اهو معمول آهي ته SOAP بمقابله REST، ٻه سڀ کان نمايان API پيراڊمز جو مقابلو ڪرڻ.
جيئن ئي SOAP APIs (Simple Object Access Protocol) بڻجي ويو سون جو معيار جيئن فرم لاءِ Oracle، Sun، ۽ PayPal، اتي هڪ سال يا پوءِ گوگل، Amazon ۽ eBay کان REST APIs ڏانهن هڪ برابر ۽ مخالف جواب هو.
هن پوسٽ ۾، اسان SOAP APIs جو REST APIs سان مقابلو ڪنداسين ۽ ان جي ابتڙ ڪنداسين ته جيئن توهان فيصلو ڪري سگھوٿا ته توهان جي مقصدن لاءِ ڪهڙو بهترين آهي.
اسان API جي وضاحت ڪندي شروع ڪنداسين.
API ڇا آهي؟
ايپليڪيشن پروگرامنگ انٽرفيس جو حوالو ڏنو ويو آهي API. APIs بنيادي طور تي طريقن ۽ افعال جو مجموعو آھن جيڪي ايپس جي ترقي کي چالو ڪن ٿا. اهي مختلف پروگرامن، خدمتن، يا آپريٽنگ سسٽم جي معلومات ۽ افعال تائين رسائي حاصل ڪن ٿا.
اهي مختلف سافٽ ويئر سسٽم جي وچ ۾ هڪ قسم جي وچولي طور ڪم ڪن ٿا. اهي ٻه غير منسلڪ پروگرامن جي وچ ۾ "ڳالهائڻ" کي فعال ڪن ٿا.
اچو ته هڪ اسٽاڪ بروکر جو مثال وٺون جيڪو واپار ۽ مالي مارڪيٽن ۾ فعال طور تي ملوث آهي. خودڪار جو هڪ مجموعو واپاري الگورتھم هڪ API ذريعي تاجر جي پسنديده تجارتي بروکر پليٽ فارم سان ڳنڍيل ٿي سگهي ٿو. اهو توهان کي، واپار ڪندڙ، اليڪٽرانڪ ٽرانزيڪشن کي عمل ڪرڻ يا حقيقي وقت جي حوالن ۽ قيمت جي ڊيٽا کي ڏسڻ جي قابل بڻائي ٿو.
REST ڇا آهي؟
صحيح ”ويب خدمتون“ APIs ۾ شامل آهن REST (نمائندگي واري رياست جي منتقلي). REST APIs تي ٺهيل آهن URIs (Uniform Resource Identifiers، جن مان هڪ URL هڪ خاص قسم جو آهي)، HTTP پروٽوڪول، ۽ ناقابل يقين حد تائين برائوزر سان مطابقت رکندڙ JSON ڊيٽا فارميٽ.
SOAP پروٽوڪول، جيئن اسان اڳ ۾ ئي بيان ڪيو آهي، شايد شايد استعمال ڪيو وڃي. REST APIs ٺاھڻ ۽ وڌڻ ۾ آسان ٿي سگھن ٿا، پر اھي تمام وڏا ۽ مشڪل پڻ ٿي سگھن ٿا- اھو سڀ ان تي منحصر آھي ته اھي ڪيئن ٺاھيا، وڌايا ويا، ۽ انھن جو مقصد ڇا آھي.
وسيلن جي پابنديون، گھٽيل حفاظتي گهرجون، برائوزر ڪلائنٽ جي مطابقت، دريافت ڪرڻ، ڊيٽا جي صحت، ۽ اسڪاليبلٽي ڪجھ سبب آھن جن جي ڪري توھان چاھيو ٿا API ترقي ڪرڻ لاءِ RESTful- شيون جيڪي اصل ۾ ويب سروسز تي لاڳو ٿين ٿيون.
REST پيش ڪري ٿو وڌيڪ ہلڪو وزن اختيار. SOAP استعمال ڪرڻ ڏکيو هو ۽ ڪيترن ئي ڊولپرز لاءِ بوجھل هو. مثال طور، JavaScript سان SOAP استعمال ڪرڻ لاءِ سادو عملن کي مڪمل ڪرڻ لاءِ تمام گهڻو ڪوڊ لکڻ جي ضرورت آهي ڇو ته ضروري XML ڍانچي کي هر دفعي ٺاهيو وڃي.
REST (عام طور تي) ھڪڙو سڌو URL استعمال ڪري ٿو ھڪڙي XML درخواست جي جاءِ تي. جيتوڻيڪ اهڙا نادر حالتون آهن جڏهن توهان کي وڌيڪ تفصيل پيش ڪرڻ گهرجن، RESTful ويب سروسز جي اڪثريت صرف URL ٽيڪنڪ استعمال ڪندي آهي.
چار HTTP 1.1 فعل GET، POST، PUT، ۽ DELETE استعمال ڪري سگھجن ٿا REST ذريعي آپريشن ڪرڻ لاءِ. SOAP جي برعڪس، REST کي XML ۾ جواب ڏيڻ جي ضرورت ناهي.
REST تي ٻڌل ويب خدمتون جيڪي ڪمانڊ سيپريڊ ويليو (CSV)، JavaScript Object Notation (JSON)، ۽ Really Simple Syndication (RSS) فارميٽ ۾ ڊيٽا ڪڍن ٿيون (RSS).
مقصد اهو آهي ته توهان نتيجا حاصل ڪري سگهو ٿا جيڪي توهان کي گهربل آهن هڪ آسان پارس فارميٽ ۾ جيڪا توهان پنهنجي ايپليڪيشن لاءِ استعمال ڪري رهيا آهيو.
مضمونن جي
- REST سڀني کان مٿي سادگي تي زور ڏئي ٿو، HTTP پروٽوڪول جي ڪري.
- ويب REST لاءِ بھترين موزون آھي. اهو برائوزرن سان مطابقت رکي ٿو ڇو ته JSON ڊيٽا فارميٽ طور استعمال ڪيو ويندو آهي.
- REST پنهنجي شاندار اسپيبليبلٽي ۽ رفتار لاءِ مشهور آهي.
- ڪلائنٽ-سرور ڪنيڪشن ۽ آرڪيٽيڪچرز REST APIs پاران وڌيڪ رسائي لائق بڻيل آھن. جيڪڏھن اھو RESTful آھي، اھو ٺاھيو ويو آھي ھن ڪلائنٽ-سرور ماڊل کي استعمال ڪندي، ٻنھي پارٽين جي وچ ۾ گول سفرن سان گڏ ڊيٽا پي لوڊ ڪندي.
- REST APIs هڪ سولٽري معياري انٽرفيس استعمال ڪن ٿا. انهي ڳالهه کي يقيني بڻائڻ ته سڀئي ائپس هڪجهڙائي سان ڳنڍجن ٿيون ۽ هڪ ئي گيٽ وي ذريعي، انهي کي ترتيب ڏيو ته ڪيئن ايپليڪيشنون API سان رابطو ڪن ٿيون.
SOAP ڇا آهي؟
ان جو پنهنجو پروٽوڪول، جنهن کي SOAP (Simple Object Access Protocol) سڏيو ويندو آهي، REST کان ٿورو وڌيڪ پيچيده آهي، ڇاڪاڻ ته اهو وڌيڪ معيار بيان ڪري ٿو، جن ۾ سيڪيورٽي ۽ پيغام پهچائڻ سان لاڳاپيل آهن.
اهي موروثي ريتن رسمن سان گڏ ايندا آهن ٿوري اضافي مٿي. بهرحال، اهي ڪاروبار لاءِ فيصلا ڪندڙ عنصر ٿي سگهن ٿا جن کي وڌيڪ وسيع سيڪيورٽي، ٽرانزيڪشن، ۽ ACID (ايٽمي، تسلسل، اڪيلائي، استحڪام) تعميل صلاحيتن جي ضرورت آهي.
هن مقابلي جي خاطر، اهو نوٽ ڪرڻ ضروري آهي ته SOAP جا ڪيترائي فائدا اڪثر ڪري لاڳو نه ٿيندا آهن ويب سروسز ايپليڪيشنن تي، انهن کي وڌيڪ موزون بنائڻ لاءِ انٽرپرائز قسم جي منظرنامي لاءِ.
سيڪيورٽي جا اعليٰ درجا (جهڙوڪ جڏهن a موبائل ائپ بينڪ سان رابطو ڪري ٿو)، ميسيجنگ ايپس جن کي قابل اعتماد ڪميونيڪيشن جي ضرورت آهي، ورثي واري نظام سان لهه وچڙ ۾، يا ACID جي تعميل جي ضرورت آهي ڪجھ سبب آهن ته توهان هڪ SOAP API استعمال ڪندي ايپليڪيشن ڊزائين ڪرڻ چاهيندا.
SOAP پاران پيش ڪيل پيغام جون صلاحيتون مڪمل طور تي XML تي ٻڌل آهن. پراڻن انٽرنيٽ سان مطابقت رکندڙ ٽيڪنالاجيون جهڙوڪ ڊسٽريبيوٽڊ ڪمونيٽ آبجیکٹ ماڊل (DCOM) ۽ Common Object Request Broker Architecture کي SOAP سان تبديل ڪيو ويو جڏهن اهو پهريون ڀيرو Microsoft (CORBA) پاران ٺاهيو ويو هو.
بائنري مواصلات تي انحصار انهن سسٽم کي ناڪام ٿيڻ جو سبب بڻائيندو آهي. انٽرنيٽ تي، ايڪس ايم ايل ميسيجنگ جهڙوڪ SOAP پاران استعمال ٿيل ڪم بهتر.
مضمونن جي
- SOAP جي حفاظت خاص طور تي سخت آهي. WS-Security ھڪڙو تعمير ٿيل معيار آھي جيڪو SOAP اضافي انٽرپرائز-سطح جي حفاظتي صلاحيتون پيش ڪري ٿو جيڪڏھن ضرورت آھي SSL سپورٽ کان علاوه.
- قابل اعتماد پيغام رسائيندڙ ڪارڪردگي لاءِ ڪامياب / ٻيهر استدلال. ڇاڪاڻ ته REST ۾ معياري پيغام جي ميکانيزم جو فقدان آهي، اهو صرف ٻيهر ڪوشش ڪري سگهي ٿو جڏهن ڪميونيڪيشن ناڪام ٿئي. ايستائين جو SOAP وچولي استعمال ڪندي، SOAP پيش ڪري ٿو آخر کان آخر تائين انحصار جي ڪري ان جي تعمير ٿيل ڪامياب / ٻيهر ڪوشش منطق جي ڪري.
- SOAP اڳ ۾ ئي ACID معيار سان مطابقت رکي ٿو. ترتيب ڏيڻ سان ڪيئن ٽرانزيڪشن ڊيٽابيس سان لهه وچڙ ۾ اچي سگهن ٿا، ACID تعميل بي ضابطگين کي گھٽائي ٿو ۽ ڊيٽابيس جي استحڪام کي محفوظ ڪري ٿو. ڇاڪاڻ ته ACID ٻين ڊيٽا جي مطابقت واري ماڊل جي ڀيٽ ۾ وڌيڪ محتاط آهي، اهو اڪثر استعمال ڪيو ويندو آهي جڏهن حساس ٽرانزيڪشن کي منظم ڪرڻ، ڇا مالي يا ٻي صورت ۾.
- پروگرامرز لاءِ سمجھڻ آسان آھي ڇو ته SOAP مڪمل طور تي XML تي ٻڌل ڪميونيڪيشن آھي.
- XML ميسيجنگ پروٽوڪول HTTP پروٽوڪول ۾ اضافو آهي.
- هڪ ڪمپيوٽر کان ٻئي ڪمپيوٽر تائين ڪميونيڪيشن SOAP ميسيجنگ ذريعي ورهائي سگهجي ٿو.
- ڪلائنٽ-سرور فن تعمير پڻ لاڳو ٿي سگھي ٿو. هڪ SOAP پروٽوڪول پيغام ڪلائنٽ طرفان استعمال ڪري سگهجي ٿو ريموٽ پروسيس ڪال ڪال ڪرڻ لاءِ جيڪو سرور-سائڊ تي واقع آهي.
REST بمقابله SOAP فرق
1. تعمير
هڪ API جو مقصد بنيادي طور تي سرور تي ايپليڪيشن جي ڪاروباري منطق جي مخصوص حصن کي ڏيکارڻ آهي. جڏهن ته REST ساڳئي مقصد لاءِ URIs جو استعمال ڪري ٿو، SOAP ان لاءِ هڪ سروس انٽرفيس استعمال ڪري ٿو.
REST APIs ڊيٽا کان پوء ٺاهيا ويا آهن، جڏهن ته SOAP APIs ٺاهيا ويا آهن ڪارڪردگي کان پوء جيڪي API بيان ڪري ٿو. SOAP جي مقابلي ۾، جيڪو وڌيڪ ڪارڪردگي تي مبني آهي، REST هڪ وڌيڪ ڊيٽا تي هلندڙ ڊيزائن آهي.
2. کاش
ڊيٽا جنهن کي ڪيش ايبل طور نشان لڳايو ويو آهي انهن کي ٻيهر استعمال ڪري سگهجي ٿو برائوزرن کان سواءِ سرور کي نئين درخواست ڏيڻ جي. وقت ۽ ڪوشش بچائڻ هن جو هڪ فائدو آهي.
جوابن کي HTTP سطح تي ڪيش نه ڪيو ويندو ڇو ته SOAP سوال پوسٽ جي درخواستن ذريعي جمع ڪيا ويا آهن، جن کي HTTP معيار غير غير ضروري سمجهي ٿو. جيڪڏهن توهان ڪيشنگ کي ملازمت ڏيڻ چاهيو ٿا، توهان کي اڃا تائين لازمي ٽيڪنالاجي ٺاهڻ گهرجي جيئن REST APIs هن عمل ۾ شامل نه آهن.
3. وسيلا ۽ بينڊوڊٿ
SOAP پاران استعمال ڪيل لفافي طرز جي پيلي لوڊ منتقلي جي ڪري، اوور هيڊ ۾ معمولي واڌارو آهي، جيڪو اضافي بينڊوڊٿ جي ضرورت آهي. REST جي ٿلهي طبيعت انهن حالتن ۾ هڪ فائدو آهي ڇاڪاڻ ته اهو عام طور تي استعمال ڪيو ويندو آهي ويب خدمتن لاءِ.
4. سيڪيورٽي
WS-سيڪيورٽي، جيڪا SOAP سپورٽ ڪري ٿي ۽ ٽرانسپورٽ جي سطح تي SSL کان ٿورو وڌيڪ مڪمل آهي، گهربل آهي. ان سان گڏ انٽرپرائز-سطح جي حفاظتي قدمن کي شامل ڪرڻ پڻ ھڪڙو مناسب آھي.
SSL استعمال ڪندي آخر کان آخر تائين انڪرپشن SOAP ۽ REST ٻنهي جي مدد سان آهي، ۽ REST HTTPS استعمال ڪري سگھي ٿو، HTTP پروٽوڪول جو محفوظ قسم.
5. پيل لوڊ کي سنڀالڻ
انٽرنيٽ ذريعي منتقل ڪيل ڊيٽا کي پي لوڊ طور حوالو ڏنو ويو آهي. ھڪڙو پيل لوڊ جيڪو سمجھيو ويندو آھي ”ڀاري“ اضافي وسيلن جي ضرورت آھي. SOAP جي مقابلي ۾، جيڪو XML استعمال ڪري ٿو، REST اڪثر ڪري ٿو JSON ۽ HTTP استعمال ڪري ٿو پئلو لوڊ کي گهٽائڻ ۾ مدد لاءِ.
ٺاهيل ڪوڊ سان گڏ هڪ خاص ڪلائنٽ لائبريري عام طور تي ڪلائنٽ پاران استعمال ڪيو وڃي SOAP APIs تائين رسائي حاصل ڪرڻ لاءِ ڇاڪاڻ ته انهن جي انتهائي سخت رابطي واري معاهدي جي ڪري.
نتيجي طور، SOAP پيش ڪري ٿو گھٽ سطح جي خلاصي جي ڀيٽ ۾ REST ۽ وڌيڪ ويجهي سان ڳنڍيل آهي سرور سان.
جڏهن REST استعمال ڪرڻ لاء؟
- عوامي APIs ٺاهڻ: REST APIs کي ترجيح ڏني وڃي ٿي عوامي ويب سروسز جي تعمير لاءِ ڇاڪاڻ ته اھي SOAP APIs جي ڀيٽ ۾ استعمال ڪرڻ ۽ اپنائڻ لاءِ وڌيڪ آسان نظر اچن ٿيون. اضافي طور تي، SOAP ڪيترن ئي تعمير ٿيل حفاظتي قدمن کي پيش ڪري ٿو جيڪي REST وٽ نه آهن، جيتوڻيڪ اهي خاصيتون گهربل نه هونديون آهن جڏهن کليل ڊيٽا ۽ خدمتن سان ڪم ڪندي.
- موبائل ائپس جي تعمير: REST موبائيل ايپليڪيشنون ٺاهڻ لاءِ موزون آهي ڇاڪاڻ ته اهو ننڍڙو، اثرائتو، بي رياست ۽ ڪيش لائق آهي.
- نادر سرور وسيلن ۽ بينڊوڊٿ کي استعمال ڪندي: REST API لاءِ سڀ درخواستون بي رياست هجڻ گهرجن، جنهن جو مطلب آهي ته هر ڳالهه ٻولهه الڳ آهي ۽ هر درخواست ۽ جواب ۾ ان ڳالهه ٻولهه کي مڪمل ڪرڻ لاءِ ضروري ڊيٽا شامل آهي. سرور اڳئين درخواستن جا رڪارڊ محفوظ نه ڪندو آهي ڇاڪاڻ ته اهو هر هڪ کي تازي درخواست وانگر سمجهي ٿو. نتيجي طور، سرور کي تمام گهٽ ياداشت جي ضرورت آهي ۽ وڌيڪ جلدي هلندي آهي ڇو ته هڪ درخواست وڌيڪ عمل يا تاريخي ڊيٽا جي ٻيهر حاصل ڪرڻ جي ضرورت ناهي.
جڏهن SOAP استعمال ڪجي؟
- نجي APIs ٺاهڻ، خاص طور تي وڏن ڪاروبار لاء: SOAP ڪارپوريٽ ايپليڪيشنن لاءِ ڀرپور آهي ڇو ته اهو هڪ غير مرڪزي، ورهايل ماحول ۾ ڊيٽا جي وهڪري کي فعال ڪري ٿو ۽ ڪيترن ئي آن لائين سيڪيورٽي خاصيتون شامل آهن.
- HTTP کان سواء ٻيو ٽرانسپورٽ پروٽوڪول استعمال ڪندي هيٺئين پرت جي طور تي: SOAP هيٺئين پرت جي طور تي HTTP تي منحصر نه آهي. توهان جي ايپليڪيشن تي مدار رکندي، توهان استعمال ڪري سگهو ٿا SMTP (سادو ميل ٽرانسفر پروٽوڪول)، JMS (جاوا ميسيجنگ سروس)، يا ٻيو ٽرانسپورٽ پروٽوڪول.
- رياستي عملن سان ڪم ڪرڻ: REST APIs جي درخواستن جي ابتڙ، SOAP APIs جون درخواستون بيان ڪيل آھن، مطلب ته سرور ڪلائنٽ بابت معلومات محفوظ ڪري ٿو ۽ ان کي درخواستن يا عملن جي زنجير ۾ استعمال ڪري ٿو. جيتوڻيڪ اهو وڌيڪ سرور بينڊوڊٿ ۽ وسيلن کي استعمال ڪري ٿو، اهو معمولي يا ڳنڍيل عملن کي کڻڻ لاء اهم آهي، جهڙوڪ بينڪ جي منتقلي.
ٿڪل
REST ۽ SOAP APIs جي وچ ۾ مقابلو اهو ڪافي واضح ڪري ٿو ته REST SOAP کان افضل آهي. اڃا تائين، حالتون آهن جتي SOAP API گهربل آهي. ڪجهه مثالن ۾، ويب خدمتون ٺاهي وينديون آهن REST ۽ SOAP APIs کي گڏ ڪندي.
تنهن ڪري، استعمال ڪيس اهو طئي ڪندو ته ڪهڙو API انداز بهترين ڪم ڪندو.
جواب ڇڏي وڃو