JavaRush /جاوا بلاگ /Random-SD /حصو 2. اچو ته سافٽ ويئر آرڪيٽيڪچر بابت ٿورو ڳالهايون

حصو 2. اچو ته سافٽ ويئر آرڪيٽيڪچر بابت ٿورو ڳالهايون

گروپ ۾ شايع ٿيل
هي مواد ” انٽرپرائز ڊولپمينٽ جو تعارف “ سيريز جو حصو آهي. نيٽ ورڪ بابت پهريون حصو هتي آهي . حصو 2. اچو ته ٿورڙي ڳالهايون سافٽ ويئر آرڪيٽيڪچر بابت - 1سافٽ ويئر آرڪيٽيڪچر اهو ڍانچو آهي جنهن جي بنياد تي هڪ ايپليڪيشن ٺاهي وئي آهي ۽ پوري پروگرام جا ماڊل ۽ جزا پاڻ ۾ ملن ٿا. پروگرامر تمام گهڻي وقت تائين سٺي فن تعمير جي ڪوشش ڪري رهيا آهن، تنهنڪري اهو تعجب ناهي ته اسان هاڻي تمام گهڻي تعميراتي نمونن کي ڄاڻون ٿا. توھان کي انھن کي سمجھڻ جي ضرورت آھي: جڏھن توھان ويب ايپليڪيشن لکندا آھيو، فن تعمير جو مسئلو شديد ٿي ويندو آھي، ڇاڪاڻ⁠تہ ان ۾ باقاعده ايپليڪيشن جي ڀيٽ ۾ وڌيڪ اجزاء ۽ ماڊل آھن. هڪ آرڪيٽيڪچرل نمونو ڪجهه سافٽ ويئر ڊيزائن جي مسئلي کي حل ڪرڻ لاء اڳ ۾ ئي سوچڻ وارو طريقو آهي. توهان شايد اڳ ۾ ئي ڊزائن جي نمونن ۾ اچي چڪا آهيو جهڙوڪ فيڪٽري طريقو، خلاصو ڪارخانو، بلڊر، پروٽوٽائپ، سنگلٽن، ۽ شايد ٻيا. اهي صرف ڪوڊ لکڻ، ڪلاس ٺاهڻ، ۽ منصوبابندي ڪرڻ لاء استعمال ڪيا ويا آهن ته اهي ڪيئن لهه وچڙ ڪن ٿا. آرڪيٽيڪچرل نمونن کي تجريد جي اعلي سطح تي استعمال ڪيو ويندو آهي - جڏهن سرور، ڊيٽا ۽ منصوبي جي ٻين اجزاء سان ايپليڪيشن صارف جي رابطي جي منصوبابندي ڪرڻ. اچو ته ڪجهه ٽيمپليٽس تي هڪ تڪڙو نظر رکون ۽ انهن کي ڪيئن استعمال ڪجي.

ڪلائنٽ-سرور فن تعمير

نالي مان هڪ تاثر ملي ٿو ته هن موضوع سان هر شيء سادو ۽ صاف آهي. پر اچو ته ڪجهه نقطن کي واضح ڪريون ته جيئن جڏهن توهان مشروط بهار جو مطالعو ڪرڻ شروع ڪيو، توهان سمجهو ٿا ته اسان ڇا ڳالهائي رهيا آهيون. اچو ته چئو ته توهان هڪ چيٽ لکيو، ۽ توهان ۽ توهان جو دوست ان کي استعمال ڪرڻ شروع ڪيو. هتي هڪ سادي اختيار ممڪن آهي - توهان IP پتي استعمال ڪندي سڌو سنئون انٽرنيٽ ذريعي هڪ ٻئي ڏانهن پيغام موڪليو ٿا جيڪي توهان ڄاڻو ٿا: حصو 2. اچو ته ٿورڙي ڳالهايون سافٽ ويئر آرڪيٽيڪچر بابت - 2پهرين ۾، اهو لڳي ٿو ته سڀ ڪجهه ٺيڪ ڪم ڪري رهيو آهي، جيستائين توهان جو هڪ ٻيو دوست سوال سان ظاهر ٿئي ٿو: "ڇو ڊان. ڇا تون مون کي پنهنجي چيٽ ۾ شامل نه ڪندين؟ ۽ جڏهن توهان هڪ گڏيل دوست کي چيٽ ۾ شامل ڪرڻ جو فيصلو ڪيو ٿا، توهان کي هڪ تعميراتي مسئلو سان منهن ڏيڻو پوندو: هر چيٽ استعمال ڪندڙ کي صارفين جي تعداد بابت معلومات تازه ڪاري ڪرڻ جي ضرورت آهي، نئين صارف جو IP پتو شامل ڪريو. ۽ جڏهن پيغام موڪليو وڃي، اهو لازمي طور تي سڀني شرڪت ڪندڙن تائين پهچايو وڃي. اهي سڀ کان وڌيڪ واضح مسئلا آهن جيڪي پيدا ٿيندا. تمام گهڻيون مسئلا خود ڪوڊ ۾ لڪيل هوندا. انھن کان بچڻ لاء، توھان کي ھڪڙو سرور استعمال ڪرڻ جي ضرورت آھي جيڪو صارفين بابت سڀني معلومات کي ذخيرو ڪندو ۽ انھن جي پتا کي ڄاڻندو. پيغام صرف سرور ڏانهن موڪلڻ جي ضرورت پوندي. ۽ هو، موڙ ۾، پيغام موڪليندو سڀني وصول ڪندڙن ڏانهن. جڏهن توهان پنهنجي چيٽ ۾ سرور سائڊ شامل ڪرڻ جو فيصلو ڪيو ٿا، توهان هڪ ڪلائنٽ-سرور آرڪيٽيڪچر ٺاهڻ شروع ڪندا.

ڪلائنٽ-سرور فن تعمير جا اجزاء

اچو ته سمجهون ته هوءَ ڇا آهي. ڪلائنٽ-سرور آرڪيٽيڪچر هڪ ڊزائن جو نمونو آهي، ويب ايپليڪيشن ٺاهڻ جو بنياد. هي فن تعمير ٽن حصن تي مشتمل آهي: حصو 2. اچو ته ٿورڙي ڳالهايون سافٽ ويئر آرڪيٽيڪچر بابت - 3
  1. ڪلائنٽ - نالي مان اهو واضح ٿئي ٿو ته هي هڪ خدمت (ويب ايپليڪيشن) جو صارف آهي جيڪو ڪجهه معلومات حاصل ڪرڻ لاء سرور سان رابطو ڪري ٿو.

  2. سرور اھو جڳھ آھي جتي توھان جي ويب ايپليڪيشن يا ان جو سرور حصو واقع آھي. هو صارفين جي باري ۾ ضروري معلومات جو مالڪ آهي يا ان جي درخواست ڪري سگهي ٿو. انهي سان گڏ، جڏهن هڪ ڪلائنٽ سان رابطو ڪري ٿو، سرور ان کي گهربل معلومات واپس ڏئي ٿو.

  3. نيٽ ورڪ سادو آهي: اهو ڪلائنٽ ۽ سرور جي وچ ۾ معلومات جي تبادلي کي يقيني بڻائي ٿو.

سرور مختلف صارفين کان درخواستن جي وڏي تعداد تي عمل ڪري سگهي ٿو. اهو آهي، اتي ڪيترائي گراهڪ ٿي سگهن ٿا، ۽ جيڪڏهن انهن کي هڪ ٻئي سان معلومات مٽائڻ جي ضرورت آهي، اهو سرور ذريعي ڪرڻو پوندو. اهڙيء طرح، سرور هڪ وڌيڪ اضافي فنڪشن حاصل ڪري ٿو - ٽرئفڪ ڪنٽرول. جيڪڏهن اسان ڳالهائي رهيا آهيون ملٽي يوزر چيٽ بابت جيڪو اسان ٺاهيو آهي، سڄو پروگرام ڪوڊ ٻن ماڊلز تي مشتمل هوندو:
  • ڪلائنٽ - اختيار ڏيڻ لاءِ گرافڪ انٽرفيس تي مشتمل آهي، پيغام موڪلڻ/ وصول ڪرڻ؛

  • سرور سائڊ - هڪ ويب ايپليڪيشن جيڪا سرور تي ميزباني ڪئي وئي آهي ۽ صارفين کان پيغام وصول ڪري ٿي، انهن کي پروسيس ڪري ٿي، ۽ پوء انهن کي وصول ڪندڙن ڏانهن موڪلي ٿو.

حصو 2. اچو ته ٿورڙي ڳالهايون سافٽ ويئر آرڪيٽيڪچر بابت - 4جڏهن اسان انٽرنيٽ تي مفيد (يا ايترو مفيد نه) معلومات ڏسڻ چاهيون ٿا، اسان هڪ برائوزر کوليو، سرچ بار ۾ هڪ سوال داخل ڪيو، ۽ جواب ۾ اسان سرچ انجڻ کان معلومات حاصل ڪندا آهيون. هن سلسلي ۾، برائوزر اسان جي ڪلائنٽ آهي. اهو معلومات سان گڏ هڪ درخواست موڪلي ٿو جيڪو اسان ڳولي رهيا آهيون سرور ڏانهن. سرور درخواست تي عمل ڪري ٿو، سڀ کان وڌيڪ لاڳاپيل نتيجا ڳولي ٿو، انھن کي ھڪڙي فارميٽ ۾ پيڪيج ڪري ٿو جيڪو برائوزر (ڪلائنٽ) کي سمجھڻ لائق آھي ۽ انھن کي واپس موڪلي ٿو. اهڙين پيچيده خدمتن ۾ سرچ انجڻ ۾ ڪيترائي سرور ٿي سگهن ٿا. مثال طور، هڪ اختيار ڏيڻ وارو سرور، هڪ سرور معلومات جي ڳولا لاء، هڪ سرور هڪ جواب پيدا ڪرڻ لاء. پر ڪلائنٽ هن بابت ڪجھ به نه ڄاڻي ٿو: هن لاء، سرور ڪجهه متحد آهي. ڪلائنٽ صرف انٽري پوائنٽ جي باري ۾ ڄاڻي ٿو، اهو آهي، سرور جو پتو جنهن تي هن کي درخواست موڪلڻ جي ضرورت آهي. اچو ته ياد رکون ايپليڪيشن جيڪا اسان اڳئين حصي ۾ ڏٺي هئي - حقيقي وقت ۾ سڀني ملڪن ۾ سراسري هوا جي گرمي جي نگراني لاءِ. ان جو فن تعمير ڪجهه هن طرح نظر ايندو: حصو 2. اچو ته ٿورڙي ڳالهايون سافٽ ويئر آرڪيٽيڪچر بابت - 5اسان جي ايپليڪيشن سرور تي واقع آهي. اچو ته چوندا آهن، هر پنجن سيڪنڊن ۾ اهو مقامي هائيڊروميٽرولوجيڪل سينٽرن جي سرورز ڏانهن درخواستون موڪلي ٿو، انهن کان ڪنهن خاص ملڪ ۾ درجه حرارت بابت معلومات حاصل ڪري ٿو، ۽ ان معلومات کي محفوظ ڪري ٿو. جڏهن هڪ گراهڪ اسان سان رابطو ڪري ٿو "دنيا ۾ موجوده هوا جي درجه حرارت کي ڏسو" جي درخواست سان، اسان ملڪ جي ترتيب سان تازي ذخيرو معلومات واپس ڪندا آهيون. ان ڪري، اسان جي ايپليڪيشن ٻئي سرور آهي (جڏهن اهو صارف جي درخواستن تي عمل ڪري ٿو) ۽ هڪ ڪلائنٽ (جڏهن اهو ٻين سرورن کان معلومات حاصل ڪري ٿو).
اھم: سرور جو تصور ڪنھن مخصوص ڪمپيوٽر بابت نه آھي، پر نيٽ ورڪ سبسڪرائبرز جي وچ ۾ تعلق بابت .
هڪ سادي ڪلائنٽ-سرور آرڪيٽيڪچر تمام گهٽ استعمال ڪيو ويندو آهي ۽ صرف تمام سادي ايپليڪيشنن لاءِ. واقعي وڏي ۽ پيچيده منصوبن لاء، مختلف قسم جا فن تعمير استعمال ڪيا ويا آهن، جيڪي توهان مستقبل ۾ وڌيڪ واقف ٿي ويندا. ھاڻي اچو ته ھڪڙي نموني کي ڏسو جيڪو ھڪڙي ڪلائنٽ-سرور ماڊل سان بلڪل ملندڙ آھي.

ٽي-ٽيئر فن تعمير

هي هڪ تعميراتي نمونو آهي جيڪو هڪ ٽيون پليئر متعارف ڪرايو آهي: ڊيٽا گودام . جڏهن هن نموني کي استعمال ڪندي، ٽن سطحن کي عام طور تي تہه سڏيو ويندو آهي: حصو 2. اچو ته ٿورڙي ڳالهايون سافٽ ويئر آرڪيٽيڪچر بابت - 6
  1. ڪلائنٽ پرت يوزر انٽرفيس آهي. اهو هڪ ويب برائوزر ٿي سگهي ٿو جنهن ڏانهن HTML صفحا موڪليا وڃن، يا JavaFX استعمال ڪندي لکيل GUI ايپليڪيشن. بنيادي شيء اها آهي ته ان جي مدد سان صارف سرور ڏانهن درخواستون موڪلي سگهي ٿو ۽ ان جي جوابن تي عمل ڪري سگهي ٿو.

  2. منطق پرت سرور آهي جنهن تي درخواستون / جوابن تي عمل ڪيو ويندو آهي. اهو اڪثر ڪري پڻ سڏيو ويندو آهي سرور پرت. سڀئي منطقي عمل پڻ ھتي ٿين ٿا: رياضياتي حساب، ڊيٽا آپريشن، ٻين خدمتن ڏانھن ڪال يا ڊيٽا اسٽوريج.

  3. ڊيٽا پرت ڊيٽابيس سرور آهي: اسان جو سرور ان تائين رسائي ڪري ٿو. هي پرت تمام ضروري معلومات محفوظ ڪري ٿو جيڪا ايپليڪيشن آپريشن دوران استعمال ڪري ٿي.

اهڙيء طرح، اسان جو سرور ڊيٽا تائين رسائي جي سڀني ذميدارين کي فرض ڪري ٿو، بغير صارف کي سڌو سنئون رسائي جي اجازت ڏيڻ جي.

ٽي-ٽيئر فن تعمير جا فائدا

اهڙي فن تعمير کي استعمال ڪندي، اسان کي ڪيترائي فائدا ملن ٿا، جن ۾ شامل آهن:
  1. SQL انجيڪشن جي خلاف تحفظ پيدا ڪرڻ جي صلاحيت سرور تي حملو آهي جنهن ۾ SQL ڪوڊ منتقل ڪيو ويندو آهي، ۽ جڏهن اهو ڪوڊ عمل ڪيو ويندو آهي، حملو ڪندڙ اسان جي ڊيٽابيس کي متاثر ڪري سگهي ٿو.

  2. ڊيٽا جي حد بندي جنهن تي اسان صارف جي رسائي کي منظم ڪرڻ چاهيون ٿا.

  3. ڪلائنٽ ڏانهن موڪلڻ کان پهريان ڊيٽا کي تبديل ڪرڻ جي صلاحيت.

  4. Scalability - اسان جي ايپليڪيشن کي وڌائڻ جي صلاحيت ڪيترن ئي سرورن تي جيڪي ساڳيو ڊيٽابيس استعمال ڪندا.

  5. صارف جي ڪنيڪشن جي معيار لاءِ گھٽ گهربل. جڏهن سرور تي جواب پيدا ڪريون ٿا، اسان اڪثر ڊيٽابيس مان تمام گهڻيون مختلف معلومات وٺندا آهيون، ان کي فارميٽ ڪندا آهيون، صرف ان کي ڇڏي ڏيو جيڪو صارف کي گهربل هجي. انهي طريقي سان اسان معلومات جي مقدار کي گھٽائينداسين جيڪا اسان ڪلائنٽ جي جواب جي طور تي موڪليندا آهيون.

توهان کي ڪيترا ڀيرا استعمال ڪرڻ گهرجي آرڪيٽيڪچرل نمونن؟

جيڪڏھن توھان واقف آھيو، چئو، فئڪٽري ميٿڊ ڊيزائن جو نمونو ، توھان شايد حيران ڪيو ھوندو ته ان کي ڪڏھن استعمال ڪجي. ڪڏهن ڪڏهن اهو فيصلو ڪرڻ ڏکيو آهي ته ڇا ڪجي: نئين آپريٽر يا ڪارخاني جو طريقو استعمال ڪندي هڪ اعتراض ٺاهيو. پر وقت سان گڏ، سمجھ اچي ٿو. تعميراتي نمونن سان، شيون ٿورو مختلف آهن. انٽرپرائز فريم ورڪ پروگرامر لاءِ ٺاهيا ويا آهن انهن کي استعمال ڪرڻ لاءِ هڪ پروجيڪٽ ٺاهڻ لاءِ ڪجهه عام طور تي قبول ٿيل نمونن جي بنياد تي. تنهن ڪري، اسپرنگ فريم ورڪ کي سکڻ کان اڳ، توهان کي ضرور سمجهڻ جي ضرورت آهي ته ڪلائنٽ-سرور آرڪيٽيڪچر، ٽي ٽائر آرڪيٽيڪچر ۽ ايم وي سي آرڪيٽيڪچر ڇا آهن. پريشان نه ٿيو: اسان بعد ۾ MVC فن تعمير بابت ڳالهائينداسين. حصو 1. بهار ۽ JavaEE سکڻ کان اڳ اوھان کي ڇا ڄاڻڻ گھرجي حصو 3. HTTP/HTTPS پروٽوڪول حصو 4. Maven Basics Part 5. Servlets. هڪ سادي ويب ايپليڪيشن لکڻ حصو 6. سروليٽ ڪنٽينرز حصو 7. متعارف ڪرائڻ MVC (ماڊل-ويو-ڪنٽرولر) نمونو حصو 8. هڪ ننڍڙي اسپرنگ بوٽ ايپليڪيشن لکڻ
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION