CodeGym /جاوا بلاگ /Random-SD /حصو 2. اچو ته سافٽ ويئر آرڪيٽيڪچر بابت ڪجھ ڳالهايون
John Squirrels
سطح
San Francisco

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. ڊيٽا پرت ڊيٽابيس سرور آهي: اسان جو سرور ان سان رابطو ڪري ٿو. هي پرت ايپليڪيشن کي هلائڻ لاءِ ضروري معلومات رکي ٿي.

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

ٽن سطحن جي فن تعمير جا فائدا

هن طرح هڪ فن تعمير اسان کي ڪيترائي فائدا ڏئي ٿو، جنهن ۾ شامل آهن:
  1. SQL انجيڪشن جي خلاف حفاظت ڪرڻ جي صلاحيت (اهو هڪ سرور تي حملو آهي؛ ان ۾ SQL ڪوڊ موڪلڻ شامل آهي، جڏهن عمل ڪيو وڃي ٿو، هڪ حملي ڪندڙ کي اسان جي ڊيٽابيس کي متاثر ڪرڻ جي اجازت ڏئي ٿو).

  2. ڊيٽا جي علحدگي جنهن کي اسان صارف جي رسائي کي ڪنٽرول ڪرڻ چاهيون ٿا.

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

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

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

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

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