گھڻائي جي باري ۾

بدقسمتي سان، هن اصطلاح ۾ هڪ سٺو روسي-ٻولي analogue نه آهي. وڪيپيڊيا ڏئي ٿو ترجمو "گهڻا ڪرنسي، گھڻا ڪرنسي." اهو ڪڏهن ڪڏهن سڏيو ويندو آهي "گهڻن ملڪيت." اهي اصطلاح ڪجهه پريشان ٿي سگهن ٿا، ڇاڪاڻ ته موضوع جو معاملو موروثي طور تي يا ته ڪرائي تي ڏيڻ يا مالڪ ڪرڻ سان لاڳاپيل ناهي. اهو سافٽ ويئر جي فن تعمير ۽ ان جي آپريشن جي تنظيم جو سوال آهي. ۽ بعد ۾ گهٽ اهم نه آهي.

اسان هڪ ئي وقت ۾ ملٽي ٽيننسي جي اسان جي سمجھ کي ترتيب ڏيڻ شروع ڪيو جيئن اسان 1C:Enterprise ۾ ڪم جي ڪلائوڊ (سروس) ماڊل لاءِ هڪ نقطو ڊزائين ڪرڻ شروع ڪيو. اهو ڪجهه سال اڳ هو. ۽ ان وقت کان وٺي اسان جي سمجھ ۾ مسلسل اضافو ٿيو آهي. اسان مسلسل ڳولي رهيا آهيون هن موضوع جي وڌيڪ ۽ وڌيڪ نوان پهلو (نفعو، نقصان، مشڪلات، خاصيتون، وغيره).

گھڻائي جي باري ۾

ڪڏهن ڪڏهن ڊولپر ملٽيٽيننسي کي تمام سادو موضوع سمجهندا آهن: ”ڪيترن ئي تنظيمن جي ڊيٽا کي هڪ ڊيٽابيس ۾ محفوظ ڪرڻ لاءِ، توهان کي سڀني ٽيبلن تي تنظيم جي سڃاڻپ ڪندڙ سان هڪ ڪالم شامل ڪرڻ ۽ ان تي فلٽر مقرر ڪرڻ جي ضرورت آهي. اسان، يقينن، هن وقت کان اسان جي مسئلي جو مطالعو پڻ شروع ڪيو. پر انهن جلدي محسوس ڪيو ته اهو صرف هڪ صاف ڪرڻ هو (پڻ، رستي جي ذريعي، آسان ناهي). عام طور تي، هي هڪ "سڄو ملڪ" آهي.

ڪثرت جو بنيادي خيال ڪجهه هن طرح بيان ڪري سگهجي ٿو. ھڪڙو عام ايپليڪيشن ھڪڙو گھر آھي جيڪو ھڪڙي خاندان کي رھڻ لاءِ ٺاھيو ويو آھي، جيڪو پنھنجي زيربناء (ديوار، ڇت، پاڻي جي فراهمي، گرمائش، وغيره) استعمال ڪري ٿو. هڪ گھڻائي واري درخواست هڪ اپارٽمنٽ بلڊنگ آهي. ان ۾، هر خاندان هڪ ئي بنيادي ڍانچي کي استعمال ڪري ٿو، پر بنيادي ڍانچي پاڻ کي سڄي گھر لاء لاڳو ڪيو ويندو آهي.

ڇا گھڻائي وارو طريقو سٺو يا خراب آهي؟ توھان ھن بابت بلڪل مختلف رايا ڳولي سگھو ٿا. لڳي ٿو ڪو به "سٺو يا خراب" ناهي. توهان کي حل ڪرڻ جي مخصوص ڪمن جي حوالي سان نفعو ۽ نقصان جو مقابلو ڪرڻ جي ضرورت آهي. پر هي هڪ الڳ موضوع آهي...

ان جي آسان ترين معنى ۾، ملٽي ٽيننسي جو مقصد "سماجي" انفراسٽرڪچر جي خرچن ذريعي ايپليڪيشن کي برقرار رکڻ جي قيمت کي گھٽائڻ آهي. اها ساڳي حرڪت آهي جيئن هڪ پيداوار جي حل کي استعمال ڪندي ايپليڪيشن جي قيمت کي گهٽائڻ (ممڪن طور تي ڪسٽمائيزيشن ۽ ترميم سان)، ان کي لکڻ جي بجاءِ ”آرڊر ڪرڻ لاءِ. صرف هڪ صورت ۾ ترقي سماجي آهي، ۽ ٻئي ۾ - استحصال.

ان کان علاوه، اسان ٻيهر ورجائيندا آهيون، وڪرو جي طريقي سان ڪا سڌي ڪڙي ناهي. ملٽي ٽيننسي آرڪيٽيڪچر هڪ ڪارپوريٽ يا ڊپارٽمينٽل آئي ٽي انفراسٽرڪچر ۾ پڻ استعمال ڪري سگهجي ٿو وڏي تعداد ۾ ساڳين شاخن ۽ ادارن جي انعقاد کي خودڪار ڪرڻ لاءِ.

اسان اهو چئي سگهون ٿا ته گهڻائي صرف ڊيٽا اسٽوريج کي منظم ڪرڻ جو معاملو ناهي. هي هڪ نمونو آهي ته ڪيئن ايپليڪيشن مڪمل طور تي هلندي آهي (بشمول ان جي فن تعمير جو هڪ اهم حصو، ان جي ترتيب واري ماڊل، ۽ ان جي سار سنڀال جي تنظيم).

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

1C:انٽرپرائز ۾، ملٽي ٽيننسي ماڊل ڪيترن ئي ٽيڪنالاجيز جي سطح تي لاڳو ڪيو ويو آهي. اهي 1C جا ميکانيزم آهن: انٽرپرائز پليٽ فارم، جي ميڪانيزم1C: پبلشنگ حل لاءِ ٽيڪنالاجي 1cFresh"۽"1C: حل ترقي ٽيڪنالاجي 1cFresh"، ميڪانيزم بي ايس پي (معياري سب سسٽم جون لائبريريون).

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

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

پليٽ فارم جي سطح تي، اسان بلڪل بنيادي ميڪانيزم تي عمل ڪيو. اهي توهان کي ايپليڪيشنون ٺاهڻ جي اجازت ڏين ٿيون جيڪي هڪ گھڻائي واري ماڊل ۾ هلن ٿيون. پر اهڙي نموني ۾ "رهڻ ۽ ڪم" ڪرڻ لاء ايپليڪيشنن لاء، توهان کي انهن جي "زندگي جي سرگرمين" کي منظم ڪرڻ لاء هڪ سسٽم هجڻ گهرجي. 1c تازو ٽيڪنالاجيون ۽ بي ايس پي جي سطح تي هڪ متحد ڪاروباري منطق پرت هن لاء ذميوار آهن. جيئن هڪ اپارٽمنٽ بلڊنگ ۾ انفراسٽرڪچر رهاڪن کي هر شيءِ فراهم ڪري ٿي جنهن جي انهن کي ضرورت آهي، تيئن 1cFresh ٽيڪنالاجيون اهي سڀ ڪجهه مهيا ڪن ٿيون جيڪي انهن کي گهربل ايپليڪيشنن لاءِ گهربل آهن جيڪي ملٽي ٽيننسي ماڊل ۾ هلن ٿيون. ۽ انهي ڪري ته ايپليڪيشنون هن انفراسٽرڪچر سان لهه وچڙ ڪري سگهن ٿيون (بغير اهم تبديلين جي)، لاڳاپيل "رابطا" انهن ۾ رکيل آهن BSP سب سسٽم جي صورت ۾.

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

نه گهٽ دلچسپ آهي ايپليڪيشنن کي منظم ڪرڻ لاءِ آرڪيٽيڪچر جيڪو ملٽي ٽيننسي موڊ ۾ ڪم ڪري رهيو آهي (جيڪو 1cFresh ۽ BSP ٽيڪنالاجيز ۾ لاڳو ٿئي ٿو). هتي، روايتي ترتيب ڏيڻ واري ماڊل جي مقابلي ۾، انتظامي عملن جي خودمختاري جي گهرج کي خاص طور تي وڌايو ويو آهي. اهڙا درجن وارا عمل آهن: نئين ڊيٽا جا علائقا ٺاهڻ ("اپارٽمينٽس")، ايپليڪيشنن کي اپڊيٽ ڪرڻ، ريگيوليٽري معلومات کي اپڊيٽ ڪرڻ، بيڪ اپ، وغيره. ۽ يقينا، قابل اعتماد ۽ دستيابي جي سطح لاء گهرجون وڌي رهيا آهن. مثال طور، ايپليڪيشنن ۽ ڪنٽرول سسٽم جي اجزاء جي وچ ۾ قابل اعتماد رابطي کي يقيني بڻائڻ لاء، اسان ضمانت واري ترسيل سان غير مطابقت واري ڪال سسٽم ٽيڪنالاجي کي لاڳو ڪيو.

هڪ تمام ذيلي نقطو ڊيٽا ۽ عمل کي سماجي ڪرڻ جو طريقو آهي. اهو سادو لڳي ٿو (جيڪڏهن اهو ڪنهن کي لڳي ٿو) صرف پهرين نظر ۾. سڀ کان وڏو چئلينج ڊيٽا جي مرڪزيت ۽ عمل ۽ غير مرڪزيت جي وچ ۾ توازن آهي. هڪ طرف، سينٽرلائيزيشن توهان کي قيمت گھٽائڻ جي اجازت ڏئي ٿي (ڊسڪ اسپيس، پروسيسر وسيلن، منتظم جي ڪوششون ...). ٻئي طرف، اهو "نوڪردار" جي آزادي کي محدود ڪري ٿو. اهو بلڪل ايپليڪيشن جي ”تقسيم“ جي لمحن مان هڪ آهي، جڏهن ڊولپر کي هڪ ئي وقت ۾ ايپليڪيشن بابت سوچڻ جي ضرورت آهي تنگ معنيٰ ۾ (هڪ ”اپارٽمينٽ“ جي خدمت ڪندي) ۽ وسيع معنيٰ ۾ (سڀني ”ڪراچي“ جي خدمت ڪرڻ هڪ ئي وقت) .

اهڙي ”مشڪل“ جي مثال طور، ڪو به ريگيوليٽري ۽ حوالي جي معلومات جو حوالو ڏئي سگهي ٿو. يقينن، گھر جي سڀني "نوڪريرن" کي عام ڪرڻ لاء ھڪڙو وڏو لالچ آھي. هي توهان کي ان کي هڪ ڪاپي ۾ ذخيرو ڪرڻ جي اجازت ڏئي ٿو ۽ ان کي هڪ ڀيرو سڀني لاء تازه ڪاري ڪري ٿو. پر اهو ٿئي ٿو ته ڪجهه رهاڪن کي خاص تبديلين جي ضرورت آهي. حيرت انگيز طور تي، عملي طور تي اهو ٿئي ٿو، حتي معلومات لاء جيڪو مقرر ڪيو ويو آهي ريگيوليٽر (سرڪاري ادارن). اهو هڪ ڏکيو سوال آهي: سماجي ڪرڻ يا نه ڪرڻ لاء؟ اهو، يقيناً، هر ڪنهن لاءِ معلومات کي عام ۽ انهن لاءِ پرائيويٽ بڻائڻ آهي، جيڪي اهو چاهين ٿا. ۽ اهو اڳ ۾ ئي هڪ تمام ڏکيو عمل ڪرڻ جي ڪري ٿي. پر اسان ان تي ڪم ڪري رهيا آهيون ...

هڪ ٻيو مثال باقاعده عملن جي عمل جي ڊيزائن آهي (هڪ شيڊول تي عمل ڪيو ويو، ڪنٽرول سسٽم طرفان شروع ڪيو ويو، وغيره). هڪ پاسي، اهي هر ڊيٽا جي علائقي لاء الڳ الڳ لاڳو ڪري سگھجن ٿيون. اهو آسان ۽ وڌيڪ آسان آهي. پر، ٻئي طرف، اهڙي سٺي گرينولرٽي سسٽم تي وڏي لوڊ ٺاهي ٿي. لوڊ کي گهٽائڻ لاء، توهان کي سماجي عملن کي لاڳو ڪرڻ جي ضرورت آهي. پر انهن کي وڌيڪ محتاط مطالعي جي ضرورت آهي.

يقينن، اهو هڪ تمام اهم سوال پيدا ڪري ٿو. ايپليڪيشن ڊولپرز کي ڪيئن يقيني بڻائي سگھي ٿو ملٽي ٽيننسي؟ ان لاءِ انهن کي ڇا ڪرڻو آهي؟ يقينن، اسان کي يقيني بڻائڻ جي ڪوشش ڪريون ٿا ته ٽيڪنالاجي ۽ انفراسٹرڪچر جي مسئلن جو بار ممڪن طور تي فراهم ڪيل ٽيڪنالاجي جي ڪلهن تي پوي ٿو، ۽ ايپليڪيشن ڊولپر صرف ڪاروباري منطق جي ڪمن جي لحاظ کان سوچي ٿو. پر جيئن ٻين اهم آرڪيٽيڪچرل مسئلن سان، ايپليڪيشن ڊولپرز کي ملٽي ٽيننسي ماڊل ۾ ڪم ڪرڻ جي باري ۾ ڪجهه سمجھڻ جي ضرورت آهي ۽ ايپليڪيشنن کي ترقي ڪرڻ وقت ڪجهه ڪوشش جي ضرورت پوندي. ڇو؟ ڇو ته اهڙا نقطا آهن ته ٽيڪنالاجي خودڪار طور تي مهيا نه ڪري سگهي ٿي بغير ڊيٽا جي سيمينٽڪس کي اڪائونٽ ۾ رکڻ کان سواء. مثال طور، انفارميشن سوشلائيزيشن جي حدن جي ساڳي تعريف. پر اسان ڪوشش ڪريون ٿا ته انهن مشڪلاتن کي ننڍو رکون. اهڙين ايپليڪيشنن تي عملدرآمد جا مثال اڳ ۾ ئي موجود آهن.

1C:Enterprise ۾ ملٽي ٽيننسي کي لاڳو ڪرڻ جي حوالي سان هڪ اهم نقطو اهو آهي ته اسان هڪ هائبرڊ ماڊل ٺاهي رهيا آهيون جنهن ۾ هڪ ايپليڪيشن ٻنهي ملٽي ٽيننسي موڊ ۽ نارمل موڊ ۾ ڪم ڪري سگهي ٿي. هي هڪ تمام ڏکيو ڪم آهي ۽ هڪ الڳ بحث جو موضوع آهي.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو