پروگرامنگ

آرام دہ - ابتدائیوں کے لئے فوری رہنما

30 اکتوبر 2021

اگر آپ ایک بنانا چاہتے ہیں۔ ایپلیکیشن پروگرام انٹرفیس (API) ویب ایپلیکیشنز کے لیے RESTful استعمال کیا جاتا ہے۔ ایپلیکیشن پروگرام انٹرفیس (API) کیا ہے؟ ایک ایپلیکیشن پروگرام انٹرفیس کسی بھی دو سافٹ ویئر ایپلی کیشنز کے درمیان ایک ثالث ہے۔ یہ دو سافٹ ویئر ایپلی کیشنز کو ایک دوسرے کے ساتھ محفوظ اور محفوظ طریقے سے بات چیت کرنے کے قابل بناتا ہے۔ روزمرہ کی زندگی میں عام API ایپلی کیشنز فیس بک کا استعمال کرتے ہیں، چیٹنگ ایپلی کیشنز کا استعمال کرتے ہوئے، یا موبائل فون پر موسم کی پیشن گوئی ایپ کا استعمال کرتے ہیں.

آئیے یہ سمجھنے کے لیے ایک سیدھی سی مثال دیکھتے ہیں کہ API دراصل کیا ہے؟ ایک ریستوراں کی مثال پر غور کریں۔ ہم ایک ریستوراں میں جاتے ہیں اور اپنی پسند کا کھانا کھاتے ہیں۔ ہم جو کرتے ہیں وہ یہ ہے کہ ہم مینو کارڈ کا مشاہدہ کرتے ہیں اور ویٹر کو مینو سے آپ کی منتخب کردہ اشیاء کے بارے میں بتاتے ہیں۔ پھر ویٹر آپ کے آرڈر کی اطلاع کچن ڈیپارٹمنٹ کو دیتا ہے، اور آپ کا کھانا تیار ہو جاتا ہے۔ کھانا تیار ہونے کے بعد، ویٹر اسے آپ کے لیے آپ کی میز پر پیش کرتا ہے۔ یہاں، ویٹر آپ اور کچن ڈیپارٹمنٹ کے درمیان انٹرفیس ہے۔ ایسا ہی ہوتا ہے جب دو نظام بات چیت کرتے ہیں۔

ایک ایپلیکیشن پروگرام انٹرفیس (API) کو چار بنیادی اقسام، OpenAPIs، Partner APIs، Internal APIs، اور Composite APIs میں درجہ بندی کیا گیا ہے۔ OepnAPIs تک ہر کسی کو رسائی حاصل کرنے کی اجازت ہے، کیونکہ وہ عوامی طور پر دستیاب ہیں۔ پارٹنر APIs میں، ایک مخصوص صارف کو اس تک رسائی کے لیے مناسب حق کی ضرورت ہوتی ہے، کیونکہ وہ عوامی استعمال کے لیے تیار نہیں کیے گئے ہیں۔ اندرونی APIs خاص طور پر کمپنی کے اندرونی استعمال کے لیے بنائے گئے ہیں۔ آخر میں، جامع APIs کا استعمال عام طور پر کمپنی کے آپریشنز اور کارکردگی کو تیز کرنے کے لیے کیا جاتا ہے۔

ایک اور API قسم ویب سروس APIs ہے۔ چار بنیادی ویب سروس APIs ہیں، SOAP، XML-RPC، JSON-RPC، اور REST۔ صابن کا مطلب ہے a سادہ آبجیکٹ ایکسیس پروٹوکول ، جو XML فارمیٹ کا استعمال کرتے ہوئے ڈیٹا منتقل کرتا ہے۔ SOAP API کا استعمال شامل ہے۔ ویب سروسز کی تعریف کی زبان (WSDL) اپنے انٹرفیس کی وضاحت کے لیے۔ ایک اور ویب سروس API ہے۔ XML-RPC . جیسا کہ اس کے نام سے پتہ چلتا ہے، اس نے ڈیٹا شیئرنگ کے لیے XML فارم استعمال کیا۔ XML-RPC API SOAP API سے زیادہ آسان اور قابل رسائی ہے۔

اگلی ویب سروس API ہے۔ JSON-RPC . یہ XML جیسا ہی API ہے، لیکن یہ ڈیٹا شیئرنگ کے لیے JSON فارمیٹ استعمال کرتا ہے۔ آخر میں، REST API مندرجہ بالا تینوں سے مختلف ہے۔ یہ تعمیراتی معیارات کا مجموعہ ہے۔ REST API کو RESTful API بھی کہا جاتا ہے۔ یہ عام طور پر استعمال ہونے والی ویب سروس APIs میں سے ایک ہے، کیونکہ اس کے لیے غیر معمولی طور پر کم بینڈوتھ کی ضرورت ہوتی ہے۔

اس مضمون میں، ہم RESTful ویب سروس کے بارے میں ایک فوری گائیڈ دیکھیں گے۔ یہ پوسٹ RESTful ویب سروس کے بارے میں سب کچھ جاننے میں آپ کی مدد کرے گی۔ ہم نے آسان مثالوں کے ساتھ RESTful ویب سروس کے تصورات کو زیادہ سیدھے طریقے سے بیان کیا ہے۔ شروع کرنے سے پہلے ایک بات یاد رکھیں آرام دہ کو سمجھیں۔ API یہ ہے کہ آپ کو جاوا پروگرامنگ زبان، HTML، CSS، AJAX، اور ٹیکسٹ ایڈیٹر کا بہتر علم ہونا چاہیے، کیونکہ RESTful ویب ایپلیکیشنز تیار کرنے کے لیے ایک ویب سروس ہے۔ تو آئیے اپنا RESTful API ٹیوٹوریل شروع کریں۔

فہرست کا خانہ

RESTful Web Service API کیا ہے؟

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

RESTful API ایک ویب سروس API ہے۔ اس میں آرکیٹیکچرل معیارات کا ایک مجموعہ شامل ہے اور مخصوص ڈیٹا تک رسائی اور استعمال کرنے کے لیے HTTP پروٹوکول کا استعمال کرتا ہے۔ REST کا مطلب ہے۔ نمائندہ ریاست کی منتقلی . RESTful API میں، شامل ہر جزو کو ایک وسیلہ سمجھا جاتا ہے۔ آپ استعمال کرکے ان وسائل تک رسائی حاصل کرسکتے ہیں۔ HTTP پروٹوکول طریقے

RESTful API میں ایک سرور اور ایک کلائنٹ شامل ہے۔ REST API کے کلائنٹس سرور کی طرف سے فراہم کردہ وسائل تک رسائی حاصل کر سکتے ہیں اور ان میں ہیرا پھیری کر سکتے ہیں۔ ہر وسیلہ کا الگ URI یا عالمی ID ہوتا ہے۔ URI یا عالمی ID کا استعمال کرتے ہوئے، ہم RESTful API میں موجود وسائل کی شناخت کر سکتے ہیں۔ URI کا مطلب ہے a یکساں وسائل کا شناخت کنندہ . آپ وسائل کی نمائندگی کے لیے REST API میں ٹیکسٹ، XML.JSON، یا JSON فارمیٹس استعمال کر سکتے ہیں۔

RESTful ویب سروس کو عام طور پر کلاؤڈ صارفین استعمال کرتے ہیں، جو انہیں ویب سروسز تک رسائی اور ان کا نظم کرنے کے قابل بناتے ہیں۔ REST API ایک مضبوط API بنانے کے لیے ایک انتہائی مطلوبہ انتخاب کے طور پر کام کرتا ہے۔ REST فن تعمیر کا استعمال کرتے ہوئے بنایا گیا API صارفین کو کلاؤڈ سروسز کے ساتھ انتظام کے ساتھ تعامل کرنے کی اجازت دیتا ہے۔ کچھ مشہور ویب سائٹس جو اپنے APIs بنانے کے لیے RESTful ویب سروس استعمال کرتی ہیں۔ ایمیزون ویب سروسز (AWS)، Twitter، LinkedIn، اور Google۔

RESTful Web Service API کا کام کرنا

ہم نے RESTful ویب سروس کی مختصر تفصیل دیکھی ہے۔ اب، ہمیں RESTful API کے کام کے بارے میں بتائیں۔ RESTful API کسی بھی دو ایپلی کیشنز کے درمیان ہر ایک ٹرانزیکشن کو متعدد چھوٹے ماڈیولز میں توڑ دیتا ہے۔ یہاں، لین دین کا مطلب ڈیٹا یا معلومات کا تبادلہ ہے۔ ہر ماڈیول لین دین کی ضروری معلومات رکھتا ہے۔ لہذا، ڈویلپرز کسی بھی ویب ایپلیکیشن کے لیے API بنانے میں آرام دہ اور لچکدار محسوس کرتے ہیں۔

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

RESTful ویب سروس API میں HTTP طریقے

RESTful ویب سروس API وسائل تک رسائی اور ہیرا پھیری کے لیے HTTP پروٹوکول کا استعمال کرتی ہے۔ RESTful ویب سروس میں چار بنیادی HTTP طریقے استعمال کیے جاتے ہیں، GET، PUT، POST، DELETE۔ آئیے ہم مختصراً ان HTTP طریقوں میں سے ہر ایک کو جانتے ہیں۔

    حاصل کریں:GET طریقہ صارفین کو RESTful API کے وسائل تک رسائی کے قابل بناتا ہے۔ لیکن، انہیں تبدیل یا ہیرا پھیری نہیں کیا جا سکتا۔ GET طریقہ استعمال کرتے ہوئے، آپ صرف وسائل پڑھ سکتے ہیں۔ڈالیں:HTTP PUT طریقہ آپ کو وسائل میں ترمیم کرنے یا ان کی حالتوں کو تبدیل کرنے کی اجازت دیتا ہے۔ یہ آپ کو ایک اور نیا وسیلہ بنانے کی بھی اجازت دیتا ہے۔پوسٹ:آپ نیا وسیلہ بنانے کے لیے POST طریقہ استعمال کر سکتے ہیں۔حذف کریں:HTTP DELETE طریقہ وسائل کو حذف کرنے کے لیے استعمال کیا جاتا ہے۔

RESTful ویب سروس API کئی ڈیٹا فارمیٹس کو سپورٹ کرتی ہے، جیسے application/xml, application/json, application/x-www-form-urlencoded, application.x-web+xml، اور multipart/form-data۔

RESTful API فن تعمیر کی خصوصیات اور رکاوٹیں۔

ڈاکٹر رائے فیلڈنگ RESTful ویب سروس API کے ڈویلپر ہیں۔ ذیل میں RESTful API فن تعمیر کی کچھ اہم خصوصیات اور رکاوٹیں ہیں۔

RESTful API کی خصوصیات

  1. RESTful API اختتامی صارفین کو اعلیٰ کارکردگی پیش کرتا ہے۔ جب کوئی صارف کسی بھی لنک پر کلک کرتا ہے، تو اسے فوری نتائج فراہم کیے جاتے ہیں۔ اور ڈویلپرز صارفین کو تمام خدمات فراہم کرتے ہیں۔
  2. RESTful API کی ایک اور خاصیت اسکیل ایبلٹی ہے۔ RESTful API صارفین کے بڑھنے یا کم ہونے کے باوجود باقاعدگی سے خدمات فراہم کرتا ہے۔
  3. RESTful API کا ایک یکساں انٹرفیس ہے۔ تمام وسائل کی شناخت ان کے متعلقہ URIs کا استعمال کرتے ہوئے کی جاتی ہے۔ لہذا، یہ یکساں انٹرفیس RESTful API کو آسان بنا دیتا ہے۔
  4. اگلی خاصیت ترمیمی قابلیت ہے۔ نظام میں کوئی بھی تبدیلی آسانی اور آرام سے ہونی چاہیے۔
  5. RESTful API فن تعمیر انتہائی پورٹیبل اور قابل اعتماد ہے۔

RESTful API کی تعمیراتی رکاوٹیں۔

کسی بھی RESTful ویب سروس API کے لیے، مندرجہ ذیل چھ آرکیٹیکچرل شرائط کا ہونا ضروری ہے۔

  1. RESTful ویب سروس API کے لیے پہلی تعمیراتی رکاوٹ یہ ہے کہ اسے یکساں انٹرفیس استعمال کرنا چاہیے۔ تمام RESTful API وسائل کی شناخت ان کے متعلقہ یونیفارم ریسورس آئیڈینٹیفائرز (URIs) کے ذریعے کی جانی چاہیے۔ ان تک رسائی صرف چار HTTP طریقوں، PUT، POST، GET، اور DELETE کے ذریعے کی جانی چاہیے۔
  2. RESTful API میں کلائنٹ اور سرور کی قطعی نمائندگی ہونی چاہیے۔ کلائنٹ یکساں انٹرفیس اور درخواست جمع کرنے کو سنبھالتا ہے۔ دوسری طرف، سرور سیکیورٹی، ڈیٹا تک رسائی، اور کام کے بوجھ کے انتظام کو منظم کرتا ہے۔ سرور تمام وسائل رکھتا ہے، اور کلائنٹ سرور سے وسائل کی درخواست کرتا ہے۔
  3. RESTful ویب سروس API کے لیے ایک اور تعمیراتی رکاوٹ اسٹیٹ لیس آپریشنز ہے۔ RESTful API میں کلائنٹ اور سرور کو اسٹیٹ لیس افعال کی پیروی کرنی چاہیے۔ تمام ریاستی انتظامی کارروائیاں کلائنٹ کی طرف سے کی جانی چاہئیں۔
  4. تمام RESTful ویب سروس API کو کیشنگ کرنا چاہیے۔ اگر یہ ظاہر کیا جاتا ہے کہ کیچنگ ممکن نہیں ہے، تو صرف کیچنگ نہیں کی جانی چاہیے۔
  5. کسی خاص ایپلیکیشن کے فن تعمیر میں سرور کو متعدد پرتوں پر مشتمل ہونا چاہیے۔ ایک پرت کو دوسری پرتوں کے بارے میں کوئی معلومات نہیں ہونی چاہئے، سوائے اس کی فوری پرت کے۔
  6. عام طور پر، سرور XML یا JSON فارمیٹ میں کلائنٹ کو وسائل کی مستحکم نمائندگی بھیجتا ہے۔ جب ضرورت ہو تو اسے کلائنٹ کو قابل عمل کوڈ بھی منتقل کرنا چاہئے۔

مزید حصے میں، ہم سیکھیں گے کہ HTTP طریقوں کا استعمال کرتے ہوئے ویب سروس کیسے تیار کی جاتی ہے۔ ہم صارف کا نظم و نسق بنانے کے لیے دو HTTP طریقے GET اور POST استعمال کریں گے۔ ذیل میں استعمال ہونے والی کچھ ضروری خصوصیات ہیں:

  1. خالی POST باڈی کے ساتھ HTTP GET طریقہ استعمال کرتے ہوئے، ہم صارف کے ناموں پر مشتمل ایک فہرست دکھائیں گے۔ یکساں وسائل کی شناخت کنندہ کے طور پر لیں۔ /صارف/سروس/صارفین .
  2. بعد میں، ہم ہر صارف کی تفصیلات کو فہرست میں شامل کریں گے۔ اس مقصد کے لیے، ہم POST باڈی میں JSON String کے ساتھ HTTP POST طریقہ استعمال کریں گے۔ URI کو بطور استعمال کریں۔ /صارف/سروس/اضافہ صارف .
  3. آخر میں، ہم HTTP GET طریقہ استعمال کرتے ہوئے علیحدہ صارفین کی تفصیلات ظاہر کریں گے۔ POST باڈی کو خالی رکھیں اور URI کو بطور استعمال کریں۔ /User/Service/getUser/:id .

آرام دہ ویب سروسز کے لیے ماحولیات کا سیٹ اپ

RESTful ویب سروس کے ساتھ کام کرنے کے لیے، ہم استعمال کریں گے۔ جرسی فریم ورک . یہ فریم ورک معیاری تفصیلات کو نافذ کرتا ہے، جسے JAX-RS 2.0 API کہتے ہیں۔ اس تصریح کا استعمال کرتے ہوئے، ہم آرام دہ ویب سروسز تیار کر سکتے ہیں۔ اس سے پہلے کہ ہم جرسی فریم ورک کی طرف بڑھیں، ہم آپ کے کمپیوٹر سسٹم پر Eclipse، Tomcat، اور JDK ماحول کو ترتیب دینا سیکھیں گے۔ ہم نے درست اور سیدھے اقدامات کے ساتھ سسٹم پر تینوں ماحول قائم کرنے کی وضاحت کی ہے۔

جاوا ڈویلپمنٹ کٹ (JDK) کو کیسے ترتیب دیا جائے؟

دی جاوا ڈویلپمنٹ کٹ (JDK) جاوا کوڈ کو چلانے کے لیے استعمال ہونے والے ضروری پیکجوں میں سے ایک ہے۔ جاوا میں JDK پیکیج صارفین کو جاوا پروگرام لکھنے کے قابل بناتا ہے۔ آپ کو جاوا ایس ای نامی اس پیکیج کو اس سے ڈاؤن لوڈ کرنا ہوگا۔ ویب سائٹ :

ڈاؤن لوڈ کرنے کے بعد، فراہم کردہ رہنما خطوط کی مدد سے انسٹال کریں۔ ایک بار کام کرنے کے بعد، آپ کو PATH اور JAVA_HOME ماحول کے متغیرات کو اس جگہ پر ٹھیک کرنا ہوگا جہاں 'java' اور 'javac' موجود ہیں۔ عام طور پر، 'java' java_install_dir/bin میں موجود ہوتا ہے، اور 'javac' 'java_install_dir' میں موجود ہوتا ہے۔

Windows XP، NT، یا 2000 سسٹمز پر PATH اور JAVA_HOME ماحول کے متغیرات کو ٹھیک کرنے کے لیے، 'My Computer' پر جائیں، اس پر رائٹ کلک کریں، اور 'Properties' پر کلک کریں۔ آپ کو 'ایڈوانسڈ ٹیب' نظر آئے گا۔ اس پر کلک کریں۔ اور بعد میں 'ماحولیاتی متغیرات' پر کلک کریں۔ PATH اور JAVA_HOME ماحولیاتی تغیرات کو سسٹم میں 'java' اور 'javac' مقام کے ساتھ تبدیل کریں، اور 'OK' بٹن پر کلک کریں۔ آپ کا ماحولیاتی متغیر سیٹ اپ ہو گیا ہے۔

لینکس اور سولاریس سسٹمز کے لیے، درج ذیل مراحل پر عمل کریں۔ غور کریں کہ آپ C شیل استعمال کرتے ہیں، اور آپ نے JavaSE فائل کو /usr/local/jdk1.7.9_75 مقام پر ڈاؤن لوڈ کیا ہے۔ درج ذیل کمانڈز کے ساتھ '.cshrc' فائل کو اپ ڈیٹ کریں:

|_+_|

Eclipse IDE کو کیسے ترتیب دیا جائے؟

پہلی چیز جس کی آپ کو پیروی کرنی ہے وہ یہ ہے کہ ایکلیپس کی تازہ ترین بائنریز اس کے آفیشل سے ڈاؤن لوڈ کریں۔ ویب سائٹ .

تازہ ترین Eclipse binaries ڈاؤن لوڈ کرنے کے بعد، انہیں اپنے سسٹم پر ایک مناسب جگہ پر رکھیں۔ غور کریں کہ ہم نے C:eclipse میں ونڈوز سسٹمز پر Eclipse بائنریز کا پتہ لگایا ہے۔ ہم لینکس یا یونکس سسٹم کے لیے /usr/local/eclipse لوکیشن پر ایکلیپس بائنریز کا پتہ لگائیں گے۔ اسے مناسب جگہ پر رکھنے کے بعد، PATH متغیر کو اس جگہ پر ٹھیک کریں جہاں آپ نے Eclipse بائنریز رکھی ہیں۔

Eclipse شروع کرنے کے لیے، eclipse.exe فائل پر ڈبل کلک کریں، یا آپ ونڈوز کمانڈ پرامپٹ پر درج ذیل کمانڈ کو ٹائپ کر سکتے ہیں۔

|_+_|

اگر آپ لینکس یا سولاریس سسٹم پر ایکلیپس استعمال کرتے ہیں تو اسے شروع کرنے کے لیے نیچے دی گئی کمانڈ کا استعمال کریں۔

|_+_|

اگر سب کچھ ٹھیک ہو جاتا ہے اور سیٹ اپ درست ہے، تو ایپلیکیشن شروع ہو جاتی ہے، اور کوڈ لکھنے کے لیے سکرین ظاہر ہوتی ہے۔

اپاچی ٹامکیٹ کو کیسے ترتیب دیا جائے؟

یہاں، ہم سمجھیں گے کہ اپاچی ٹامکیٹ کے لیے آپ کے سسٹم کا ماحول کیسے انسٹال اور سیٹ اپ کرنا ہے۔ سب سے پہلے، آپ کو اس پر تازہ ترین Tomcat ورژن ڈاؤن لوڈ کرنا ہوگا ویب سائٹ .

اس تازہ ترین Tomcat ورژن کو ڈاؤن لوڈ کرنے کے بعد، اسے اپنے سسٹم پر کسی مناسب جگہ پر رکھیں۔

آئیے غور کریں کہ ہم نے ٹامکیٹ اپاچی فائل کو ونڈوز سسٹم پر C:apache-tomcat-7.0.59 مقام پر رکھا ہے۔ ہم Tomcat Apache فائل کو /usr/local/apache-tomcat-7.0.59 مقام پر رکھیں گے۔ لینکس یا شمسی نظام۔ اس کے بعد، آپ کو CATALINA_HOME ماحول کے متغیر کو اس جگہ پر ٹھیک کرنا ہوگا جہاں آپ نے ڈاؤن لوڈ کردہ Tomcat Apache فائل رکھی ہے۔

آپ startup.bat فائل پر کلک کر کے اپنے ونڈوز سسٹم پر Tomcat ایپلیکیشن شروع کر سکتے ہیں۔ آپ Tomcat ایپلیکیشن شروع کرنے کے لیے درج ذیل کمانڈ بھی استعمال کر سکتے ہیں۔

|_+_|

یا

|_+_|

اگر آپ لینکس یا سولاریس سسٹم پر ٹامکیٹ ایپلی کیشن استعمال کر رہے ہیں، تو آپ کو اسے شروع کرنے کے لیے نیچے دی گئی کسی ایک کمانڈ پر عمل کرنا ہوگا۔

|_+_|

یا

|_+_|

جب سب کچھ ٹھیک ہو جاتا ہے تو، ایک اسکرین ظاہر ہوتی ہے جہاں آپ کوڈ لکھ سکتے ہیں اور اسے چلا سکتے ہیں۔ Tomcat کے ساتھ تمام پہلے سے طے شدہ ایپلی کیشنز ذیل میں ملاحظہ کرکے دستیاب ہوں گی۔ ویب سائٹ :

Tomcat کی ترتیب اور اس پر چلنے والے پروگراموں کے بارے میں مکمل معلومات پر دستیاب ہے۔ ویب سائٹ .

اگر آپ ونڈوز سسٹم پر ٹومکیٹ ایپلی کیشن کو روکنا چاہتے ہیں تو درج ذیل میں سے کوئی ایک کمانڈ ٹائپ کریں۔

|_+_|

یا

|_+_|

ٹامکیٹ ایپلیکیشن کو بند کرنے کے لیے آپ نیچے دی گئی دو میں سے کوئی ایک کمانڈ ٹائپ کر سکتے ہیں۔

|_+_|

یا

|_+_|

جرسی فریم ورک لائبریریوں کو کیسے ترتیب دیا جائے؟

JDK، Eclipse، اور Tomcat Apache کو ترتیب دینے کے بعد، اب آپ جرسی فریم ورک کو ترتیب دینے کے لیے جا سکتے ہیں۔ جرسی فریم ورک کو ڈاؤن لوڈ کرنے کے لیے ترتیب وار درج ذیل ہدایات پر عمل کریں۔

  1. سب سے پہلے، آپ کو آپریٹنگ سسٹم کا فیصلہ کرنا ہوگا، جیسے کہ ونڈوز یا یونکس، اس پر جرسی فریم ورک کو انسٹال کرنا ہے۔ اگر آپ ونڈوز سسٹم کا انتخاب کرتے ہیں، تو .zip فائل ڈاؤن لوڈ کریں، اور یونیکس سسٹم کے لیے، .tz فائل ڈاؤن لوڈ کریں۔
  2. اگلا مرحلہ ذیل میں سے تازہ ترین جرسی فریم ورک بائنریز کو ڈاؤن لوڈ کرنا ہے۔ ویب سائٹ .
  3. ونڈوز سسٹم پر .zip فائل ڈاؤن لوڈ کرنے کے بعد، آپ کو اسے ان زپ کرنے کی ضرورت ہے۔ فرض کریں کہ آپ نے jaxrs-ri-2.17.zip فائل ڈاؤن لوڈ کر لی ہے۔ اس فائل کو ان زپ کرنے کے بعد، یہ E:jaxrs-ri-2.17jaxrs-ri مقام پر ایک ڈائریکٹری ڈھانچہ فراہم کرتا ہے۔
  4. جرسی کی تمام لائبریریاں C:jaxrs-ri-2.17jaxrs-rilib ڈائریکٹری میں ہوں گی، اور انحصار C:jaxrs-ri-2.17jaxrs-riext میں موجود ہوں گے۔
  5. بعد میں، CLASSPATH متغیر کو اس جگہ پر ٹھیک کریں جہاں آپ کی جرسی لائبریریاں موجود ہیں، C:jaxrs-ri-2.17jaxrs-rilib ڈائریکٹری۔ یاد رکھیں کہ اگر آپ Eclipse ایپلی کیشن استعمال کرتے ہیں تو Jersey Framework کے لیے CLASSPATH متغیر کو ٹھیک کرنے کی ضرورت نہیں ہے۔

اب آپ جانتے ہیں کہ RESTful ویب سروس کے لیے ماحول کیسے ترتیب دیا جائے۔ مندرجہ بالا تمام مراحل پر عمل کریں، اور آپ جرسی کی مثال لکھنے کے لیے تیار ہو جائیں گے۔

آرام دہ پہلی مثال – جرسی (JAX-RS)

Java، Tomcat Apache، Eclipse، اور Jersey Framework کے ماحول کو ترتیب دینے کے بعد، آپ RESTful API کا استعمال کرتے ہوئے ویب ایپلیکیشنز بنانا شروع کر سکتے ہیں۔ آئیے RESTful API میں پروگرام لکھنے کے بارے میں درست خیال حاصل کرنے کے لیے جرسی فریم ورک میں ایک مثال دیکھیں۔ پروگرام کو کامیابی سے چلانے کے لیے آپ کو ترتیب وار درج ذیل مراحل پر عمل کرنا ہوگا۔

مرحلہ 1: جاوا پروجیکٹ بنائیں

Eclipse IDE کا استعمال کرتے ہوئے جاوا پروجیکٹ بنائیں۔ یہاں، ہم ایک ڈائنامک ویب پروجیکٹ بنائیں گے۔ ذیل میں کرنے کے اقدامات ہیں۔ ڈائنامک ویب تیار کریں۔ ایکلیپس IDE میں پروجیکٹ۔

  1. اپنے سسٹم سے ایکلیپس ایپلیکیشن شروع کریں۔ فائل آپشن پر کلک کریں، نیو پر کلک کریں اور نیا پروجیکٹ منتخب کریں۔
  2. بعد میں، وزرڈ کی فہرست سے وزرڈ ڈائنامک ویب پروجیکٹ کا انتخاب کریں۔
  3. وزرڈ کو منتخب کرنے کے بعد، اپنے پروجیکٹ کو مطلوبہ نام دیں، کہیں۔ فرسٹ ریسٹ کی مثال .
  4. جب آپ اپنے پروجیکٹ کا نام وزرڈ ونڈو میں محفوظ کرتے ہیں، تو پروجیکٹ ایکسپلورر پر جائیں، اور آپ کو وہاں اپنے پروجیکٹ کا نام نظر آئے گا۔

مرحلہ 2: ضروری لائبریریاں شامل کریں۔

پروجیکٹ بنانے اور اسے مخصوص نام کے ساتھ محفوظ کرنے کے بعد، آپ کو Jersey Framewoek کی لائبریریاں اور انحصار اپنے پروجیکٹ میں شامل کرنا ہوگا۔ ہم نے جرسی کے زپ فولڈر سے بنائے گئے پروجیکٹ کی WEB-INF/lib ڈائرکٹری میں کاپی کرنے کے لیے جار فائل کے نام درج کیے ہیں۔

  • jaxrs-ri-2.17jaxrs-riapi
  • jaxrs-ri-2.17jaxrs-riext
  • jaxrs-ri-2.17jaxrs-rilib

اپنے پروجیکٹ میں مذکورہ جار فائلوں کو شامل کرنے کے لیے، اپنے پروجیکٹ پر دائیں کلک کریں، فرسٹ ریسٹ کی مثال . Build Path کے آپشن پر کلک کریں اور پھر Configure Build Path پر جائیں۔ یہاں، آپ کو ونڈو نظر آئے گی جو جاوا بلڈ پاتھ دکھا رہی ہے۔ مزید برآں، آپ لائبریریوں کے مینو کے نیچے JARs کا بٹن دیکھیں گے۔ جار فائلوں کو WEB-INF/lib ڈائریکٹری میں شامل کریں۔

مرحلہ 3: سورس فائلیں بنائیں

ہم نے اپنا پروجیکٹ بنایا ہے، جس کا نام FirstRestExample ہے، Eclipse IDE میں۔ اب، ہمیں اس پروجیکٹ کے لیے سورس فائلز بنانا ہوں گی۔ سورس فائلز بنانے کے لیے، ہمیں پہلے ایک پیکج بنانے کی ضرورت ہوتی ہے، com.restexample کا کہنا ہے۔ پیکیج ایکسپلورر پر جائیں اور src آپشن پر دائیں کلک کریں۔ آپ کو نیا آپشن مل جائے گا۔ اس پر کلک کریں اور بعد میں پیکج آپشن پر کلک کریں۔

یہاں آپ کو com.restexample پیکیج کے تحت تین مختلف فائلیں بنانے کی ضرورت ہے۔ آئیے ہم فائلوں کا نام EmployeeService.java، Employe.java، اور EmployeeDao.java رکھیں۔ تین فائلوں میں، آپ نے com.restexmaple پیکیج کے تحت بنائی ہے، اور آپ کو کوڈ لکھنے کی ضرورت ہے۔ ہم سب سے پہلے Employee.java فائل میں کوڈ لکھیں گے۔

ملازم.جاوا

|_+_|

EmployeeDao.java

|_+_|

EmployeeService.java

|_+_|

مندرجہ بالا EmployeeService.java فائل میں، آپ کو یاد رکھنا چاہیے کہ ہم نے ویب سروس کے لیے راستے کی وضاحت کے لیے تشریح @Path کا استعمال کیا ہے۔ مزید برآں، ہم نے @Path تشریح کا استعمال کرتے ہوئے مخصوص ویب سروس کے طریقہ کار کے لیے ایک راستہ بھی قائم کیا ہے۔

مرحلہ 4: Web.xml فائل بنائیں

آخر میں، ہمیں Web.xml فائل بنانا ہے۔ Web.xml فائل کا بنیادی مقصد اس ایپلی کیشن کے لیے جرسی فریم ورک سرولیٹ کو تفویض کرنا ہے جسے تیار کیا جا رہا ہے۔

web.xml

|_+_|

مرحلہ 5: پروگرام مرتب کریں اور چلائیں۔

مذکورہ بالا چاروں فائلوں کو لکھنے کے بعد، آپ اب پروگرام چلانے کے لیے اشتہار مرتب کرنے کے لیے تیار ہیں۔ ہم نے مندرجہ بالا تمام پروگراموں کو لکھنے کے لیے Eclipse IDE استعمال کیا ہے۔ لہذا ہمیں مذکورہ ایپلی کیشن کو وار فائل میں ایکسپورٹ کرنے کی ضرورت ہے۔ بعد میں، ہمیں اس وار فائل کو Tomcat Apache ٹول میں کمپائل اور چلانا ہوگا۔

ہم ذیل میں دکھائیں گے کہ Eclipse IDE میں جنگ کی فائل کیسے بنائی جائے۔

  • Eclipse IDE پر، File کے آپشن پر جائیں، Export -> We -> War File پر کلک کریں۔ وہاں آپ کو اپنے پروجیکٹ کا انتخاب کرنا ہوگا۔ فرسٹ ریسٹ کی مثال اور ہدف فولڈر۔
  • بعد میں، آپ کو FirstRestExample.war فائل کو میں تلاش کرنا ہوگا۔ ٹامکیٹ انسٹالیشن ڈائرکٹری اختیارات webapps ڈائریکٹری . اور Tomcat ایپلی کیشن شروع کریں۔

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

|_+_|

Tomcat Apache میں کوڈ کی مندرجہ بالا لائن کو استعمال کرنے کے لیے، HTTP GET طریقہ استعمال کریں۔ یہاں آپ کی پہلی ویب سروس ایپلیکیشن تیار ہے۔

RESTful Web Service API میں پیغامات

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

اب، ہم RESTful ویب سروس API میں HTTP درخواست اور HTTP رسپانس کو دیکھتے ہیں۔

HTTP درخواست

کلائنٹ سرور کو HTTP درخواست بھیجتا ہے۔ یہ سرور سے وسائل کی درخواست کرتا ہے۔ HTTP درخواست، فعل، URI، HTTP ورژن، درخواست ہیڈر، اور درخواست کی باڈی میں پانچ بنیادی حصے شامل ہیں۔ درج ذیل ایک HTTP درخواست کی شکل ہے۔

پر سکون

آئیے ہم HTTP درخواست کے ہر حصے کو مختصراً بیان کرتے ہیں۔

    فعل:HTTP درخواست میں ایک فعل کا مطلب چار HTTP طریقے ہیں، GET، POST، PUT، اور DELETE۔یکساں وسائل کا شناخت کنندہ (URI):HTTP درخواست کا اگلا حصہ یکساں درخواست شناخت کنندہ (URI) ہے۔ URI ہر وسائل کی منفرد شناخت کرتا ہے۔HTTP ورژن:HTTP درخواست کا تیسرا حصہ ایک HTTP ورژن ہے۔ مثال کے طور پر، HTTP v1.1، جہاں v1.1 ایک ورژن ہے۔درخواست کا ہیڈر:درخواست ہیڈر میں پیغام کا میٹا ڈیٹا ہوتا ہے۔ درخواست ہیڈر میں میٹا ڈیٹا کلیدی قدر کے جوڑے میں موجود ہے۔ یہ معلومات جمع کر سکتا ہے، جیسے کلائنٹ کی قسم، کیشے کی ترتیبات، پیغام کی شکل وغیرہ۔درخواست کا باڈی:HTTP درخواست میں Request Body کا مطلب وسائل کی نمائندگی ہے۔

HTTP رسپانس

جب سرور کلائنٹ سے HTTP درخواست حاصل کرتا ہے، تو یہ کلائنٹ کو HTTP رسپانس کے ساتھ جواب دیتا ہے۔ ایک HTTP رسپانس میں چار اہم حصے شامل ہیں، رسپانس کوڈ، HTTP ورژن، رسپانس ہیڈر، اور رسپانس باڈی۔ ذیل میں ایک HTTP رسپانس فارمیٹ ہے۔

img 617dd1cb36593

آئیے ہم یہاں ہر HTTP رسپانس حصے پر بات کرتے ہیں۔

    رسپانس کوڈ:

رسپانس کوڈ کو اسٹیٹس بھی کہا جاتا ہے۔ جب کلائنٹ سرور سے وسائل کی درخواست کرتا ہے، تو رسپانس کوڈ اس کی حیثیت ظاہر کرتا ہے۔ اگر اسٹیٹس 404 ہے تو وسیلہ نہیں ملا۔ اگر جواب ٹھیک ہے تو اسٹیٹس 200 ہے۔

    HTTP ورژن:

HTTP رسپانس کا دوسرا حصہ HTTP ورژن ہے۔ مثال کے طور پر، HTTP v1.1، جہاں v1.1 ایک ورژن ہے۔

    رسپانس ہیڈر:

ہیڈر میں HTTP رسپانس پیغام کا میٹا ڈیٹا کلیدی قدر کے جوڑے کی شکل میں ہوتا ہے۔ اس میں سرور کی قسم، مواد کی لمبائی، جوابی ڈیٹا وغیرہ جیسی معلومات ہوسکتی ہیں۔

    رسپانس باڈی:

رسپانس باڈی میں وسائل کی نمائندگی شامل ہے۔

RESTful ویب سروس API کی مندرجہ بالا مثال میں، ہم نے ڈال دیا ہے۔ http://localhost:8080/FirstRestExample/rest/EmployeeService/employees .

POSTMAN میں، HTTP GET طریقہ استعمال کرتے ہوئے۔ جب GET طریقہ استعمال کرتے ہوئے درخواست بھیجی جائے گی، تو ہمیں مندرجہ ذیل ایک XML پیغام موصول ہوگا۔ XML جواب دیکھنے کے لیے، آپ کو پیش نظارہ بٹن پر کلک کرنا ہوگا۔

|_+_|

RESTful Web Service API میں وسائل

RESTful ویب سروس API میں، ہر مواد کو ایک وسیلہ سمجھا جاتا ہے۔ کلائنٹ وسائل کی درخواست کرتا ہے، اور سرور کلائنٹ کے ذریعہ درخواست کردہ ایک خاص وسائل تک رسائی فراہم کرتا ہے۔ رسائی دینے کے بعد، کلائنٹ وسائل میں ترمیم یا تبدیلی کر سکتا ہے۔ وسیلہ HTML صفحات، امیجز، ٹیکسٹ فائلز، یا بزنس ڈیٹا ہو سکتا ہے۔

REST فن تعمیر میں ہر وسائل کے لیے ایک منفرد نمبر ہوتا ہے۔ اس منفرد نمبر کو یونیفارم ریسورس آئیڈینٹیفائر (URI) کہا جاتا ہے۔ عام طور پر، REST فن تعمیر میں وسائل کی نمائندگی XML یا JSON فارمیٹ کے ذریعے کی جاتی ہے۔ آئیے اب REST فن تعمیر میں وسائل کی نمائندگی کو دیکھتے ہیں۔

REST فن تعمیر میں وسائل کی نمائندگی

REST فن تعمیر میں وسائل کی نمائندگی XML یا JSON فارمیٹس میں کی جاتی ہے۔ آپ REST وسائل کو ڈیٹا بیس میں ایک ہستی کے طور پر یا آبجیکٹ پر مبنی پروگرامنگ میں ایک آبجیکٹ کے طور پر علاج کر سکتے ہیں۔ سب سے پہلے، وسائل کی شناخت اس کے یونیفارم ریسورس آئیڈینٹیفائر (URI) کے ذریعے کی جاتی ہے۔ بعد میں، وسائل کی نمائندگی کے لیے معیاری فارمیٹ کا فیصلہ کیا جاتا ہے۔ جب کلائنٹ وسائل کی درخواست کرتا ہے، تو سرور کلائنٹ کے ذریعہ بیان کردہ فارم میں وسائل کو آگے بھیج دیتا ہے۔

ہماری اوپر کی آرام دہ مثال میں، ہمارے پاس ایک 'ملازم' بطور وسیلہ ہے۔ آئیے دیکھتے ہیں کہ XML فارم کا استعمال کرتے ہوئے 'ملازمین' کے وسائل کی نمائندگی کیسے کی جاتی ہے۔

|_+_|

اب، ہم JSON فارم میں اسی 'ملازمین' کے وسائل کی تصویر کشی کریں گے۔

|_+_|

REST فن تعمیر میں، آپ کسی بھی شکل میں وسائل کی نمائندگی کر سکتے ہیں۔ RESTful ویب سروس API میں ایسے معاملات ہیں جہاں ایک کلائنٹ XML فارم میں وسائل کی درخواست کرتا ہے جبکہ دوسرا کلائنٹ JSON فارم میں اسی وسائل کی درخواست کرتا ہے۔ وسائل کی نمائندگی میں واحد اہم چیز یہ ہے کہ اس کی نمائندگی اس شکل میں کی جائے کہ مؤکل اسے سمجھ سکے۔

جب وسائل کی نمائندگی کسی بھی شکل میں کی جاتی ہے، تو غور کرنے کے لیے کچھ شرائط ہیں۔ وسائل کی شکل قابل فہم، مکمل اور منسلک ہونا چاہیے۔ REST فن تعمیر میں کلائنٹ اور سرور کو وسائل کی نمائندگی کی شکل کو تیزی سے تسلیم کرنا چاہیے۔ وسائل کی نمائندگی کرنے کے لیے آپ جو بھی فارم منتخب کرتے ہیں، اسے وسائل کی مکمل معلومات فراہم کرنی چاہیے۔ وسائل کی نمائندگی کی شکل کو کسی دوسرے وسائل کے لنک کی اجازت دینی چاہیے۔

REST فن تعمیر میں وسائل کی نمائندگی کرنے کے لیے زیادہ تر ڈویلپر JSON یا XML فارم استعمال کرتے ہیں۔ JSON یا XML ڈیٹا میں ترمیم کرنے کے لیے آج بہت سے ٹولز دستیاب ہیں۔

RESTful Web Service API میں خطاب کرنا

REST فن تعمیر میں ایڈریس کا مطلب سرور پر موجود وسائل کا پتہ لگانا ہے۔ ہم جانتے ہیں کہ وسائل کی شناخت ان کے یونیفارم ریسورس آئیڈینٹیفائرز (URIs) سے ہوتی ہے۔ یکساں وسائل کے شناخت کنندہ کی شکل مندرجہ ذیل ہے:

:////

URI سرور پر ایک خاص وسائل کا پتہ لگاتا ہے۔ ہماری اوپر کی مثال میں، URI ہے۔

|_+_|

ہم نے مندرجہ بالا URI کے لیے HTTP GET طریقہ استعمال کیا۔

آپ سوچ رہے ہوں گے کہ URI کیسے تیار ہوتا ہے۔ REST فن تعمیر میں کسی بھی وسائل کے لیے URI بنانے کے لیے ہم آپ کی رہنمائی کریں گے۔

  1. جب آپ اپنی ویب سروسز میں وسائل کی وضاحت کرتے ہیں تو ہمیشہ جمع کا استعمال کریں۔ مندرجہ بالا RESTful ویب ایپلیکیشن کی مثال میں، ہم نے ایک وسیلہ 'صارفین' بنایا ہے۔
  2. آپ کو اس بات کو یقینی بنانا چاہیے کہ آپ کے وسائل کے نام میں کوئی وائٹ اسپیس یا خصوصی علامت نہیں ہونی چاہیے، جیسے %, $, @، وغیرہ۔ آپ وسائل کے نام میں ہائفن (-) یا انڈر سکور (_) استعمال کر سکتے ہیں۔ مثال کے طور پر، وسائل کا صحیح نام effective_employees ہے نہ کہ effective@employees۔
  3. RESTful ویب سروس میں، URIs کیس غیر حساس ہوتے ہیں۔ لیکن، URI کو چھوٹے کیس میں رکھنا ہمیشہ بہتر ہے۔
  4. اس بات کو یقینی بنائیں کہ آپ وسائل پر کارروائیوں کو انجام دینے کے لیے HTTP فعل یا طریقہ استعمال کرتے ہیں۔ مندرجہ بالا RESTful ایپلی کیشن میں، ہم نے HTTP GET طریقہ استعمال کیا۔
  5. URI کو عوامی طور پر شائع کیا جانا چاہئے، کیونکہ ویب سروسز عوامی خدمات ہیں۔

آئیے ملازم لانے کے لیے اچھے اور ناقص URI کی مثال دیکھیں۔

ناقص URI

|_+_|

اچھا URI

|_+_|

RESTful Web Service API میں Java(JAX-RS)

JAX-RS Jakarta RESTful Web Services کا مطلب ہے۔ اس سے پہلے، یہ RESTful ویب سروسز کے لیے Java API کے نام سے جانا جاتا تھا۔ JAX-RS ایک Java پر مبنی API ہے جو صارفین کو REST فن تعمیر کی بنیاد پر ویب سروسز بنانے کے قابل بناتا ہے۔ تازہ ترین JAX-RS ورژن 2.0 ہے، جو 2013 میں جاری کیا گیا تھا۔ یہ جاوا پر مبنی API جاوا SE 5 سے تشریحات کا استعمال کرتا ہے، جس سے ویب سروسز کی ترقی اور تعیناتی زیادہ قابل انتظام ہے۔

JAX-RS تفصیلات

ویب سروس کے وسائل کے بطور وسائل کی نقشہ سازی کے لیے درج ذیل کچھ عام طور پر استعمال شدہ تشریحات ہیں۔

    @GET:JAX-RS کی یہ تصریح وسائل کی بازیافت کے لیے استعمال ہوتی ہے۔@پاتھ:@Path کا مطلب ویب سروس میں شامل کلاس یا طریقہ کا راستہ ہے۔@DELETE:@DELETE وسیلہ ایک خاص وسیلہ کو حذف کر دیتا ہے۔@POST:JAX-RS میں مندرجہ بالا تفصیلات ایک نیا وسیلہ بناتی ہے۔@PUT:یہ JAX-RS تفصیلات موجودہ وسائل کو اپ ڈیٹ کرنے کے لیے استعمال کیا جاتا ہے۔استعمال کرتا ہے:@Consumes JAX-RS تفصیلات HTTP درخواست کی قسم کی نمائندگی کرتی ہے۔@HEAD:JAX-RS میں ایک اور HTTP طریقہ @HEAD ہے، جو اس بارے میں معلومات فراہم کرتا ہے کہ آیا یہ طریقہ دستیاب ہے یا نہیں۔@QueryParam:مندرجہ بالا تصریح استفسار کے پیرامیٹر کو یکجا کرنے کے لیے استعمال کی جاتی ہے، اور پیرامیٹر کو طریقہ پر منتقل کیا جاتا ہے۔@پیداوار:@Produces تصریح HTTP رسپانس کی قسم دکھاتی ہے۔@PathParam:مندرجہ بالا JAX-RS تصریح کو طریقہ کو پاس کیے گئے پیرامیٹر کے ساتھ پاتھ ویلیو کو ملانے کے لیے استعمال کیا جاتا ہے۔@CookieParam:@CookieParam طریقہ کو پاس کردہ پیرامیٹر کے ساتھ ایک کوکی کو جوڑتا ہے۔@MatrixParam:یہ JAX-RS تصریح HTTP میٹرکس پیرامیٹر کو ایک پیرامیٹر کے ساتھ جوڑتی ہے جو طریقہ کو پاس کیا جاتا ہے۔@FormParam:فارم کی قدر کو @FormParam کا استعمال کرتے ہوئے طریقہ کو پاس کردہ پیرامیٹر کے ساتھ ملایا جاتا ہے۔@HeaderParam:HTTP ہیڈر @HeaderParam کا استعمال کرتے ہوئے طریقہ کو پاس کردہ پیرامیٹر کے ساتھ پابند ہے۔@خیال، سیاق:@Context وسائل کے سیاق و سباق کا مطلب ہے۔@پہلے سے طے شدہ قیمت:مندرجہ بالا JAX-RS تفصیلات پہلے سے طے شدہ قدر کے ساتھ طریقہ کو پاس کردہ پیرامیٹر تفویض کرتی ہے۔

بے وطنی اور RESTful Web Service API کیشنگ

بے وطنی۔

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

فوائد:

RESTful ویب سروس API میں بے وطنی کے کچھ اہم فوائد ذیل میں ہیں۔

  • بے وطنی کی خاصیت کا استعمال کرتے ہوئے، ویب سروس ہر طریقہ کی درخواست پر انفرادی طور پر کارروائی کرتی ہے۔
  • سرور کلائنٹ کی حالت یا سابقہ ​​کارروائیوں کو نہیں رکھتا ہے۔ لہذا، یہ ایپلیکیشن ڈیزائن کو مزید آسان بناتا ہے۔
  • RESTful ویب سروسز عملی طور پر HTTP پروٹوکول پر عمل کرتی ہیں۔

Cons کے:

  • چونکہ سرور کلائنٹ کی حالت پر مشتمل نہیں ہے، ویب سروس کو کلائنٹ کی ہر درخواست سے مزید ڈیٹا کی ضرورت ہوتی ہے۔

کیشنگ

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

ایک کیش کنٹرول ہیڈر ہے جو پانچ اہم حصوں پر مشتمل ہے، پبلک، پرائیویٹ، زیادہ سے زیادہ عمر، نو-کیشے/نو-اسٹور، اور دوبارہ تصدیق کرنا ضروری ہے۔ آئیے ذیل میں ہر حصے کی تفصیل دیکھیں۔

    عوام:کوئی بھی جزو عوامی وسائل کو محفوظ کر سکتا ہے۔نجی:کسی کو بھی وسائل کو ذخیرہ کرنے کی اجازت نہیں ہے۔ صرف کلائنٹ اور سرور ہی وسائل کو کیش کر سکتے ہیں۔زیادہ سے زیادہ عمر:زیادہ سے زیادہ عمر کے عنصر کا حساب سیکنڈوں میں کیا جاتا ہے۔ اس کا مطلب یہ ہے کہ وسائل کی کیشنگ کتنے سیکنڈ تک درست ہے۔ ایک بار جب زیادہ سے زیادہ عمر کا وقت ختم ہوجاتا ہے، کلائنٹ کو دوبارہ وسائل کی درخواست کرنی ہوگی۔no-cache/no-store:کلائنٹ وسائل کو کیش نہیں کر سکتا۔دوبارہ تصدیق کرنا ضروری ہے:کیشنگ کے لیے زیادہ سے زیادہ عمر کا وقت ختم ہونے پر سرور کو وسائل کی دوبارہ تصدیق کرنی ہوگی۔

کلائنٹ کے کیشے کو ترتیب دینے کے لیے، سرور کے جواب میں درج ذیل ہیڈر شامل ہوتے ہیں:

    تاریخ:وسائل کی تخلیق کی تاریخ اور وقت کو تاریخ ہیڈر میں دکھایا گیا ہے۔کیش کنٹرول:کیش کنٹرول ہیڈر کیشنگ کی نگرانی کرتا ہے۔عمر:عمر کو سیکنڈوں میں دکھایا جاتا ہے۔ یہ وہ وقت ہے جب سرور سے وسائل موصول ہوتے ہیں۔آخری بار ترمیم شدہ:یہ ہیڈر تاریخ اور وقت دکھاتا ہے جب وسائل کو آخری بار اپ ڈیٹ کیا گیا تھا۔میعاد ختم:اس ہیڈر کا مطلب کیشنگ کی میعاد ختم ہونے کی تاریخ اور وقت ہے۔

RESTful API میں HTTP طریقے اور ان کے آپریشنز

پچھلے حصے میں، ہم نے HTTP کے طریقے اور ان کے استعمال کو دیکھا ہے۔ یہ طبقہ REST فن تعمیر میں HTTPS طریقوں، ان کے آپریشنز اور آپریشن کی قسم کا مشاہدہ کرے گا۔

    حاصل کریں:

مندرجہ بالا RESTful درخواست کی مثال میں GET HTTP طریقہ ملازمین کی فہرست حاصل کرنے کے لیے استعمال کیا جاتا ہے۔ ہم نے ذیل میں GET طریقہ کے لیے URI استعمال کیا:

|_+_|

HTTP GET طریقہ ملازمین کی فہرست حاصل کرتا ہے۔ لہذا، اس میں صرف پڑھنے کے لیے آپریشن کی قسم ہے۔

ہم ID 1 ملازم کی بازیافت کے لیے GET طریقہ بھی استعمال کر سکتے ہیں۔ Id 1 ملازم کی بازیافت کے لیے URI ہے،

|_+_|

یہ آپریشن بھی صرف پڑھنے کی قسم کا ہے۔

    پوسٹ:

ہماری آرام دہ درخواست کی مثال میں، ہم نے ID 2 والے ملازم کو داخل کرنے کے لیے HTTP POST طریقہ استعمال کیا ہے۔ ID 2 کے لیے ملازم داخل کرنے کا URI ہے،

|_+_|

مندرجہ بالا آپریشن کی قسم غیر ضعیف ہے۔

    حذف کریں:

ہم ID 1 والے ملازم کو حذف کرنے کے لیے HTTP DELETE طریقہ استعمال کر سکتے ہیں۔ ID 1 والے ملازم کو حذف کرنے کے لیے ذیل میں URI ہے۔

|_+_|

DELETE آپریشن idempotent قسم کا ہے۔

    سر:

REST فن تعمیر میں HEAD طریقہ HTTP ہیڈر کو واپس کرنے کے لیے استعمال کیا جاتا ہے۔ یہ HTTP باڈی فراہم نہیں کرتا ہے۔ ہمارے اوپر ملازم کی مثال کے لیے، ہم ذیل کا URI استعمال کر سکتے ہیں۔

|_+_|

یہ آپریشن صرف پڑھنے کی قسم کا ہے۔

    ڈالیں:

مندرجہ بالا REST ایمپلائی ایپلی کیشن میں، ہم ملازم کو ID 2 کے ساتھ اپ ڈیٹ کرنے کے لیے HTTP PUT طریقہ استعمال کر سکتے ہیں۔ ID 2 کے ساتھ ملازم کو اپ ڈیٹ کرنے کے لیے نیچے دیا گیا URI استعمال کریں۔

|_+_|
    اختیارات:

HTTP آپشنز کے طریقے آپ کو ویب سروس میں تعاون یافتہ تمام آپریشنز کی فہرست بنانے کے قابل بناتے ہیں۔ آپ اس آپریشن کے لیے درج ذیل URI استعمال کر سکتے ہیں۔

|_+_|

OPTIONS آپریشن صرف پڑھنے کی قسم کا ہے۔

مندرجہ بالا HTTP طریقوں اور ان کے آپریشنز سے، ہم یہ نتیجہ اخذ کر سکتے ہیں کہ GET آپریشن صرف پڑھنے کی قسم ہے۔ DELETE اور PUT آپریشنز ایک idempotent قسم کے ہوتے ہیں۔ ان دو آپریشنز کا نتیجہ ایک ہی رہتا ہے، چاہے وہ کئی بار کیے جائیں۔

نتیجہ

RESTful API ایک REST فن تعمیر پر مبنی API ہے جو ڈیٹا تک رسائی اور ترتیب دینے کے لیے HTTP طریقے استعمال کرتا ہے۔ REST فن تعمیر میں ہر ڈیٹا کو ایک وسیلہ سمجھا جاتا ہے۔ اگر آپ RESTful API سیکھنا چاہتے ہیں تو یہ پوسٹ آپ کے لیے ایک مکمل رہنما ہے۔

ہم نے RESTful ویب سروس API کیا ہے، یہ کیسے کام کرتا ہے، REST فن تعمیر میں استعمال ہونے والے HTTP طریقے، اور REST فن تعمیر کی خصوصیات اور رکاوٹوں کو دیکھا ہے۔ بعد میں، ہم نے RESTful API کے ماحول کے سیٹ اپ کو دکھایا ہے۔ RESTful API ماحول کے سیٹ اپ میں، ہم نے JDK ماحول، Tomcat Apache، Eclipse IDE، اور Jersey Framework ترتیب دیا ہے۔ آپ اس ٹیوٹوریل میں سادہ RESTful ایپلیکیشن کی مثال دیکھ سکتے ہیں۔

اس کے بعد، ہم نے RESTful ویب سروس API میں کئی عناصر کا احاطہ کیا ہے، جیسے پیغامات، بے وطنی، کیشنگ، وسائل اور ایڈریسنگ۔ ہم نے بھی بحث کی ہے۔ جاوا JAX-RS اور اس کی خصوصیات۔ آخر میں، ہم نے HTTP طریقوں اور URI اور آپریشن کی قسم کے ساتھ ان کے آپریشنز کو دیکھا ہے۔