JavaRush /جاوا بلاگ /Random-SD /REST جو جائزو. حصو 1: آرام ڇا آهي

REST جو جائزو. حصو 1: آرام ڇا آهي

گروپ ۾ شايع ٿيل
هيلو، اڄ اسان هڪ تمام دلچسپ مطالعو ڪنداسين، ۽ سڀ کان اهم، مزدور مارڪيٽ ۾ گهربل موضوع - REST. REST جو جائزو.  حصو 1: آرام ڇا آهي - 1اسان REST جي نظرثاني کي ٽن حصن ۾ ٽوڙينداسين:
  1. پهرئين حصي ۾، اسان REST جي تاريخ کي ڇهنداسين ۽ انهن اصولن کي بيان ڪنداسين جن تي REST ٻڌل آهي.

  2. سيڪنڊ ۾، اسان ڏسنداسين ته ڪئين رابطي ڪلائنٽ ۽ سرور جي وچ ۾ HTTP پروٽوڪول ذريعي ٿيندي آهي.

  3. ٽئين ۾، اسان هڪ ننڍڙي RESTful ايپليڪيشن لکنداسين، جنهن کي اسين پوسٽمن پروگرام استعمال ڪندي جانچ ڪنداسين.

مضمون جو مقصد هيٺين اصطلاحن کان واقف پڙهندڙ لاءِ آهي:
  • HTTP؛
  • URL ۽ URI؛
  • JSON ۽ ٿوري حد تائين XML؛
  • انحصار انجکشن.

حصو 1. REST ڇا آهي

REST، آئي ٽي دنيا ۾ ڪيترين ئي شين وانگر، نمائندگي واري رياست جي منتقلي جو مخفف آهي . هي ڪمپيوٽر نيٽ ورڪ ۾ ورهايل سسٽم جي اجزاء جي وچ ۾ رابطي جو هڪ تعميراتي انداز آهي. آسان لفظ ۾، REST هڪ سسٽم جي مختلف حصن جي وچ ۾ رابطي جي انداز (ڊيٽا ايڪسچينج) کي بيان ڪري ٿو، جن مان هر هڪ جسماني طور تي مختلف هنڌن تي واقع ٿي سگهي ٿو. هي آرڪيٽيڪچرل انداز نمائندگي ڪري ٿو مسلسل پابندين جو هڪ سيٽ جنهن تي غور ڪيو وڃي ٿو جڏهن تقسيم ٿيل نظام کي ڊزائين ڪيو وڃي. انهن پابندين کي ڪڏهن ڪڏهن سڏيو ويندو آهي REST اصول. انهن مان ڪيترائي نه آهن، صرف 6 ٽڪر. اسان ان جي باري ۾ ٿوري دير کان پوء ڳالهائي ويندي.
REST کي ذهن ۾ رکندي ايپليڪيشنون، يعني. جيڪي REST پاران لاڳو ڪيل پابندين جي ڀڃڪڙي نه ڪندا آھن تن کي RESTful چئبو آھي.

REST جي تاريخ

REST جو اصطلاح رائو فيلڊنگ پاران ٺهرايو ويو، جيڪو HTTP پروٽوڪول جي تخليق ڪندڙن مان هڪ آهي، پنهنجي ڊاڪٽريٽ جي مقالي ۾ 2000 ۾ "آرڪيٽيڪچرل اسٽائلز ۽ ڊيزائن آف نيٽورڪ بيسڊ سافٽ ويئر آرڪيٽيڪچرز" ۾. اسان اهو چئي سگهون ٿا ته اصطلاح REST اڃا نوجوان آهي، جيتوڻيڪ ان جو تصور ورلڊ وائڊ ويب جي بنياد تي آهي. اسان هن اصطلاح جي اصليت جي تاريخ ۾ اوندهه نه وينداسين. جيڪڏھن توھان چاھيو ٿا اصل ماخذن ۾، ھڪ نظر وٺو فيلڊنگ جي مقالي تي .

باقي پابنديون ۽ اصول

جيئن مٿي بيان ڪيو ويو آهي، REST وضاحت ڪري ٿو ته ڪيئن ورهايل سسٽم جا حصا هڪ ٻئي سان لهه وچڙ ۾ هجن. عام طور تي، اهو ٿئي ٿو درخواست-جواب ذريعي. جزو جيڪو درخواست موڪلي ٿو ڪلائنٽ سڏيو ويندو آهي ؛ اهو حصو جيڪو درخواست تي عمل ڪري ٿو ۽ ڪلائنٽ ڏانهن جواب موڪلي ٿو سرور سڏيو ويندو آهي . درخواستون ۽ جواب گهڻو ڪري موڪليا ويندا آهن HTTP (HyperText Transfer Protocol) ذريعي. عام طور تي، هڪ سرور ڪجهه قسم جي ويب ايپليڪيشن آهي. ڪلائنٽ صرف ڪجهه نه ٿي سگهي ٿو، پر تمام گهڻو. مثال طور، هڪ موبائل ايپليڪيشن جيڪا سرور کان ڊيٽا جي درخواست ڪري ٿي. يا هڪ برائوزر جيڪو ڊيٽا کي ڊائون لوڊ ڪرڻ لاءِ ويب پيج تان سرور ڏانهن درخواستون موڪلي ٿو. ايپليڪيشن A ايپليڪيشن B کان ڊيٽا جي درخواست ڪري سگهي ٿي. پوء A هڪ ڪلائنٽ آهي B جي سلسلي ۾، ۽ B هڪ سرور آهي A جي حوالي سان. ساڳئي وقت، A C، D، D، وغيره کان درخواستن تي عمل ڪري سگهي ٿو. انهي حالت ۾، ايپليڪيشن اي ٻئي سرور ۽ ڪلائنٽ آهي. اهو سڀ انحصار تي دارومدار. ھڪڙي شيء واضح آھي: جزو جيڪو درخواست موڪلي ٿو ڪلائنٽ آھي. اهو حصو جيڪو وصول ڪري ٿو، پروسيس ڪري ٿو ۽ درخواست جو جواب ڏئي ٿو سرور آهي. بهرحال، هر سسٽم نه آهي جنهن جا اجزاء درخواست جي جواب ذريعي گفتگو ڪن ٿا هڪ REST (يا RESTful) سسٽم آهي. هڪ سسٽم لاءِ RESTful سمجهيو وڃي، ان کي لازمي طور تي ڇهه باقي رڪاوٽون ”فٽ“ هجڻ گهرجن:

1. آرڪيٽيڪچر کي ڪلائنٽ-سرور ماڊل تي آڻڻ

هن حد جو بنياد ضرورتن جي فرق آهي. اهو ضروري آهي ته ڪلائنٽ انٽرفيس جي ضرورتن کي الڳ ڪرڻ لاء سرور جي ضرورتن کان جيڪو ڊيٽا کي ذخيرو ڪري ٿو. هي حد ڪلائنٽ ڪوڊ جي پورٽيبلٽي کي وڌائي ٿو ٻين پليٽ فارمن تي، ۽ سرور جي حصي جي سادگي کي بهتر بڻائي ٿو سسٽم جي اسپيبلٽي. "ڪلائنٽ" ۽ "سرور" جي وچ ۾ بلڪل فرق انهن کي هڪ ٻئي کان آزاديء سان ترقي ڪرڻ جي اجازت ڏئي ٿو.

2. حالت نه هجڻ

REST فن تعمير کي هيٺين شرطن کي پورو ڪرڻ جي ضرورت آهي. درخواستن جي وچ ۾، سرور کي ڪلائنٽ جي رياست بابت معلومات ذخيرو ڪرڻ جي ضرورت ناهي ۽ ان جي برعڪس. ڪلائنٽ کان سڀني درخواستن کي منظم ڪيو وڃي ته جيئن سرور درخواست کي مڪمل ڪرڻ لاء تمام ضروري معلومات حاصل ڪري. انهي طريقي سان، سرور ۽ ڪلائنٽ ٻئي ڪنهن به پيغام کي "سمجھي" سگھن ٿا، بغير اڳوڻي پيغامن تي ڀروسو ڪرڻ کان سواء.

3. ڪيش ڪرڻ

ڪلائنٽ سرور جي جوابن کي ڪيش ڪري سگھن ٿا. اهي، موڙ ۾، واضح طور تي يا واضح طور تي ڪئشبل يا غير محفوظ ڪرڻ جي طور تي نامزد ڪيا وڃن، انهي ڪري ته گراهڪ ايندڙ درخواستن جي جواب ۾ پراڻي يا غلط ڊيٽا حاصل نه ڪن. ڪيشنگ جو صحيح استعمال ڪجهه ڪلائنٽ-سرور جي رابطي کي ختم ڪرڻ ۾ مدد ڪري ٿو، مڪمل طور تي يا جزوي طور تي، سسٽم جي ڪارڪردگي ۽ وسعت کي وڌيڪ وڌائڻ.

4. انٽرفيس جي يونيفارم

REST فن تعمير جي بنيادي ضرورتن ۾ هڪ متحد، يونيفارم انٽرفيس شامل آهي. ڪلائنٽ کي هميشه اهو سمجهڻ گهرجي ته ڪهڙي فارميٽ ۾ آهي ۽ ڪهڙي پتي تي ان کي درخواست موڪلڻ جي ضرورت آهي، ۽ سرور، موڙ ۾، اهو پڻ سمجهڻ گهرجي ته ڪهڙي شڪل ۾ ان کي ڪلائنٽ جي درخواستن جو جواب ڏيڻ گهرجي. هي ڪلائنٽ-سرور رابطي لاءِ هڪ متحد فارميٽ آهي، جيڪو بيان ڪري ٿو ته ڇا، ڪٿي، ڪهڙي شڪل ۾ ۽ ڪيئن موڪلجي ۽ هڪ متحد انٽرفيس آهي.

5. پرت

پرت نيٽ ورڪ جي hierarchical جوڙجڪ ڏانهن اشارو. ڪڏهن ڪڏهن ڪلائنٽ سڌو سنئون سرور سان رابطو ڪري سگهي ٿو، ۽ ڪڏهن ڪڏهن اهو صرف وچولي نوڊ سان رابطو ڪري سگهي ٿو. وچولي سرورز جو استعمال لوڊ بيلنسنگ ۽ ورهايل ڪيشنگ ذريعي اسڪالبلٽي وڌائي سگھي ٿو. اچو ته هڪ مثال ڏيو. اچو ته تصور ڪريون هڪ موبائل ايپليڪيشن جيڪا سڄي دنيا ۾ مشهور آهي. ان جو لازمي حصو تصويرون لوڊ ڪرڻ آهي. جيئن ته لکين صارفين آهن، هڪ سرور اهڙي ڳري لوڊ برداشت نه ڪري سگهي. سسٽم کي تہن ۾ ورهائڻ سان اهو مسئلو حل ٿيندو. ڪلائنٽ وچولي نوڊ کان تصوير جي درخواست ڪندو، وچولي نوڊ سرور کان تصوير جي درخواست ڪندو جيڪا هن وقت گهٽ ۾ گهٽ لوڊ ٿيل آهي، ۽ تصوير کي ڪلائنٽ ڏانهن واپس آڻيندو. جيڪڏهن ڪيشنگ صحيح طريقي سان لاڳو ڪئي وئي آهي هتي هر سطح جي هر سطح تي، پوء سٺي سسٽم اسڪيلبلٽي حاصل ڪري سگهجي ٿي.

6. مطالبو تي ڪوڊ (اختياري پابندي)

ھن حد جو مطلب آھي ته ڪلائنٽ پنھنجي ڪارڪردگي کي وڌائي سگھي ٿو سرور کان ڪوڊ ڊائون لوڊ ڪندي ايپليٽ يا اسڪرپٽ جي صورت ۾.

REST جا فائدا

ايپليڪيشنون جيڪي مٿي ڏنل مڙني پابندين سان عمل ڪن ٿيون انهن ۾ هيٺيان فائدا آهن: اعتبار (ڪلائنٽ جي رياست جي معلومات کي ذخيرو ڪرڻ جي ضرورت ناهي، جيڪا گم ٿي سگهي ٿي)؛
  • ڪارڪردگي (ڪيش جي استعمال جي ڪري)؛
  • پيماني جي صلاحيت؛
  • رابطي جي نظام جي شفافيت؛
  • انٽرفيس جي سادگي؛
  • اجزاء جي پورائيزيشن؛
  • تبديليون ڪرڻ ۾ آساني؛
  • ترقي ڪرڻ جي صلاحيت، نئين گهرجن کي اپنائڻ.
حصو 2: ڪلائنٽ ۽ سرور جي وچ ۾ رابطو حصو 3: اسپرنگ بوٽ ۾ آرام واري خدمت ٺاهڻ
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION