N Tier (मल्टी-टीयर), 3-Tier, 2-Tier Architecture with EXAMPLE

विषय - सूची:

Anonim

N-Tier क्या है?

एक एन-टीयर आवेदन कार्यक्रम एक है कि एक वितरित नेटवर्क में तीन या अधिक अलग कंप्यूटर के बीच वितरित किया जाता है है।

N-tier का सबसे सामान्य रूप 3-स्तरीय अनुप्रयोग है, और इसे तीन श्रेणियों में वर्गीकृत किया गया है।

  • उपयोगकर्ता के कंप्यूटर में उपयोगकर्ता इंटरफ़ेस प्रोग्रामिंग
  • एक अधिक केंद्रीकृत कंप्यूटर में व्यावसायिक तर्क, और
  • किसी डेटाबेस का प्रबंधन करने वाले कंप्यूटर में आवश्यक डेटा।

यह आर्किटेक्चर मॉडल सॉफ्टवेयर डेवलपर्स को अधिकतम लचीलापन के साथ पुन: प्रयोज्य एप्लिकेशन / सिस्टम बनाने के लिए प्रदान करता है।

में एन स्तरीय, "एन" - स्तरों या परतों के एक नंबर करने के लिए की तरह इस्तेमाल किया जा रहा संदर्भित करता है 2 स्तरीय, 3-स्तरीय या 4 स्तरीय, आदि । इसे " मल्टी-टीयर आर्किटेक्चर" भी कहा जाता है ।

एन-टियर आर्किटेक्चर एक उद्योग-सिद्ध सॉफ़्टवेयर आर्किटेक्चर मॉडल है। यह स्केलेबिलिटी, सुरक्षा, गलती सहिष्णुता, पुन: प्रयोज्य और रखरखाव के लिए समाधान प्रदान करके उद्यम स्तर के क्लाइंट-सर्वर अनुप्रयोगों का समर्थन करने के लिए उपयुक्त है। यह डेवलपर्स को लचीला और पुन: प्रयोज्य अनुप्रयोग बनाने में मदद करता है।

इस ट्यूटोरियल में, आप सीखेंगे-

  • N-Tier क्या है?
  • एन-टियर आर्किटेक्चर
  • एन-टियर आर्किटेक्चर के प्रकार
    • 3-टियर आर्किटेक्चर
    • 2-टियर आर्किटेक्चर
    • सिंगल टियर या 1-टियर आर्किटेक्चर
  • मल्टी-टीयर आर्किटेक्चर के फायदे और नुकसान
  • एन-टीयर आर्किटेक्चर टिप्स एंड डेवलपमेंट

एन-टियर आर्किटेक्चर

एन-टियर सिस्टम का एक आरेखीय चित्रण यहाँ प्रस्तुत करता है - प्रस्तुति, अनुप्रयोग और डेटाबेस लेयर्स।

एन टियर आर्किटेक्चर डायग्राम

इन तीन परतों को आवश्यकताओं के आधार पर आगे अलग-अलग उप-परतों में विभाजित किया जा सकता है।

इस वास्तुकला को लागू करने वाले कुछ लोकप्रिय स्थल हैं

  • MakeMyTrip.com
  • बिक्री बल उद्यम आवेदन
  • भारतीय रेलवे - IRCTC
  • Amazon.com, आदि।

कुछ सामान्य शब्दों को याद रखना, ताकि अवधारणा को अधिक स्पष्ट रूप से समझ सकें।

  • डिस्ट्रिब्यूटेड नेटवर्क: यह एक नेटवर्क आर्किटेक्चर है, जहां नेटवर्क कंप्यूटर पर स्थित घटक केवल संदेशों को पास करके अपने कार्यों का समन्वय और संचार करते हैं। यह विभिन्न प्रणालियों का एक संग्रह है जो विभिन्न नोड्स पर स्थित है, लेकिन उपयोगकर्ता को एकल सिस्टम के रूप में दिखाई देता है।
    • यह एक एकल डेटा संचार नेटवर्क प्रदान करता है जिसे अलग-अलग नेटवर्क द्वारा अलग-अलग प्रबंधित किया जा सकता है।
    • डिस्ट्रिब्यूटेड नेटवर्क का एक उदाहरण- जहाँ एक तरफ अलग-अलग क्लाइंट लैन आर्किटेक्चर से जुड़े होते हैं और दूसरी तरफ वे सर्विस नोड वाले सर्वर के रैक के साथ हाई-स्पीड स्विच से जुड़े होते हैं।
  • क्लाइंट-सर्वर आर्किटेक्चर: यह एक आर्किटेक्चर मॉडल है जहां क्लाइंट (एक प्रोग्राम) एक सर्वर (दूसरे प्रोग्राम) से एक सेवा का अनुरोध करता है अर्थात यह इंटरनेट पर या एक इंट्रानेट के माध्यम से प्रदान की जाने वाली अनुरोध-प्रतिक्रिया सेवा है।

    इस मॉडल में, क्लाइंट प्रोग्राम / कोड के एक सेट के रूप में काम करेगा जो नेटवर्क पर कार्रवाई के एक सेट को निष्पादित करता है। जबकि सर्वर , दूसरे हाथ पर, एक अन्य कार्यक्रम, के रूप में अनुरोध जो क्लाइंट सिस्टम के लिए परिणाम सेट भेजता है का एक सेट है।

    • इसमें, क्लाइंट कंप्यूटर एक सर्वर से किसी सेवा या संसाधन का अनुरोध करने के लिए एक अंतिम उपयोगकर्ता को एक इंटरफ़ेस प्रदान करता है और दूसरी ओर सर्वर फिर अनुरोध को संसाधित करता है और अंतिम उपयोगकर्ता को परिणाम प्रदर्शित करता है।
    • क्लाइंट-सर्वर मॉडल का उदाहरण- एटीएम मशीन। एक बैंक बड़े ग्राहक डेटाबेस के भीतर एप्लिकेशन को संसाधित करने के लिए सर्वर है और एटीएम मशीन कुछ सरल अनुप्रयोग प्रसंस्करण के साथ उपयोगकर्ता इंटरफ़ेस वाला ग्राहक है।
  • प्लेटफ़ॉर्म: कंप्यूटर विज्ञान या सॉफ्टवेयर उद्योग में, एक प्लेटफ़ॉर्म एक प्रणाली है जिस पर एप्लिकेशन प्रोग्राम चला सकते हैं। इसमें हार्डवेयर और सॉफ्टवेयर का एक संयोजन होता है, जिसमें प्रोसेसर / माइक्रोप्रोसेसरों के लिए एक अंतर्निहित निर्देश होता है कि वे विशिष्ट ऑपरेशन कर सकें।
    • अधिक सरल शब्दों में, प्लेटफ़ॉर्म एक प्रणाली या एक आधार है जहाँ कोई भी अनुप्रयोग चला सकता है और किसी विशिष्ट कार्य को प्राप्त करने के लिए निष्पादित कर सकता है।
    • प्लेटफ़ॉर्म का एक उदाहरण - विंडोज 2000 या मैक ओएस एक्स के साथ 2 अलग-अलग प्लेटफ़ॉर्म के उदाहरणों से भरी हुई एक निजी मशीन।
  • डेटाबेस: यह एक संगठित तरीके से जानकारी का एक संग्रह है ताकि इसे आसानी से एक्सेस, प्रबंधित और अपडेट किया जा सके।
    • डेटाबेस के उदाहरण - MySQL, SQL सर्वर और Oracle डेटाबेस कुछ सामान्य Db हैं।

एन-टियर आर्किटेक्चर के प्रकार

एन-टियर आर्किटेक्चर के विभिन्न प्रकार हैं, जैसे 3-टियर आर्किटेक्चर, 2-टियर आर्किटेक्चर और 1- टियर आर्किटेक्चर।

सबसे पहले, हम 3-स्तरीय आर्किटेक्चर देखेंगे, जो बहुत महत्वपूर्ण है।

3-टियर आर्किटेक्चर

नीचे दिए गए आरेख को देखकर, आप आसानी से पहचान सकते हैं कि 3-स्तरीय वास्तुकला में तीन अलग - अलग परतें हैं।

  • प्रेजेंटेशन लेयर
  • व्यापार तर्क परत
  • डेटाबेस लेयर

3 टियर आर्किटेक्चर आरेख

यहां हमने इन तीनों परतों को समझने के लिए छात्र के रूप का एक सरल उदाहरण लिया है। इसमें एक छात्र के बारे में जानकारी होती है जैसे - नाम, पता, ईमेल और चित्र।

उपयोगकर्ता इंटरफ़ेस परत या प्रस्तुति परत

प्रेजेंटेशन लेयर

private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e){// Object of the Property layerclsStudent objproperty=new clsStudent();// Object of the business layerclsStudentInfo objbs=new clsStudentInfo();// Object of the dataset in which we receive the data sent by the business layerDataSet ds=new DataSet();// here we are placing the value in the property using the object of the//property layerobjproperty.id=int.Parse(DataGridl.SelectedItem.Cells[1].Text.ToString());// In this following code we are calling a function from the business layer and// passing the object of the property layer which will carry the ID till the database.ds=objbs.GetAllStudentBsIDWise(objproperty);// What ever the data has been returned by the above function into the dataset//is being populate through the presentation laye.txtId.Text=ds.Tables[0].Rows[0][0].ToString();txtFname.Text=ds.Tables[0].Rows[0][1].ToString();txtAddress.Text=ds.Tables[0].Rows[0][2].ToString();txtemail.Text=ds.Tables[0].Rows[0][3].ToString();

कोड स्पष्टीकरण

  • उपरोक्त कोड अनुप्रयोगों के फ्रंट एंड व्यू के मूल डिजाइन को परिभाषित करने के साथ-साथ अन्य परतों के कार्यों को भी बुलाता है ताकि उन्हें एक दूसरे के साथ एकीकृत किया जा सके।

व्यवसाय पहुंच परत -

यह व्यावसायिक परत का कार्य है जो डेटा को एप्लिकेशन लेयर से स्वीकार करता है और इसे डेटा लेयर में भेजता है।

  • व्यावसायिक तर्क क्लाइंट लेयर और डेटा एक्सेस लेयर के बीच एक इंटरफेस के रूप में कार्य करता है
  • सभी व्यावसायिक तर्क - जैसे डेटा का सत्यापन, गणना, डेटा प्रविष्टि / संशोधन व्यावसायिक तर्क परत के तहत लिखे गए हैं।
  • यह क्लाइंट और डेटा लेयर के बीच संचार को तेज और आसान बनाता है
  • एक उचित वर्कफ़्लो गतिविधि को परिभाषित करता है जो किसी कार्य को पूरा करने के लिए आवश्यक है।
// this is the function of the business layer which accepts the data from the//application layer and passes it to the data layer.public class clsStudentInfo{public DataSet GetAllStudentBsIDWise(clsStudent obj){DataSet ds=new DataSet();ds=objdt.getdata_dtIDWise(obj);// Calling of Data layer functionreturn ds;}}

कोड की व्याख्या

कोड व्यावसायिक परत के फ़ंक्शन का उपयोग कर रहा है, जो एप्लिकेशन लेयर के लिए डेटा को स्वीकार करेगा और इसे डेटा लेयर में पास करेगा। बिजनेस लेयर कोड प्रेजेंटेशन लेयर और डेटा लेयर में परिभाषित फंक्शन्स के बीच मध्यस्थ के रूप में कार्य करता है और फंक्शन्स को वाइस-सेवर्स कहता है।

डेटा एक्सेस लेयर

यह डेटा लेयर फंक्शन है, जो बिजनेस लेयर से डेटा प्राप्त करता है और डेटाबेस में आवश्यक ऑपरेशन करता है।

// this is the datalayer function which is receiving the data from the business//layer and performing the required operation into the databasepublic class clsStudentData // Data layer class{// object of property layer classpublic DataSet getdata_dtIDUise(clsStudent obj){DataSet ds;string sql;sql="select * from student where Studentld=" +obj.id+ "order by Studentld;ds=new DataSet();//this is the datalayer function which accepts the sql query and performs the//corresponding operationds=objdt.ExecuteSql(sql);return ds;}}

कोड की व्याख्या

कोड ऊपर डेटासेट परत में परिभाषित करता है पूरे अनुरोध को स्वीकार करता है: सिस्टम द्वारा अनुरोध किया गया और डेटाबेस में आवश्यक संचालन करता है।

2-स्तरीय वास्तुकला:

यह क्लाइंट-सर्वर आर्किटेक्चर की तरह है, जहां क्लाइंट और सर्वर के बीच कम्युनिकेशन होता है।

इस प्रकार के सॉफ्टवेयर आर्किटेक्चर में, प्रेजेंटेशन लेयर या यूजर इंटरफेस लेयर क्लाइंट साइड पर चलता है जबकि डेटासेट लेयर एग्जीक्यूट और सर्वर साइड पर स्टोर होता है।

क्लाइंट और सर्वर के बीच कोई व्यावसायिक तर्क परत या तत्काल परत नहीं है।

एकल स्तरीय या 1-स्तरीय वास्तुकला:

यह सबसे सरल है क्योंकि यह पर्सनल कंप्यूटर पर एप्लिकेशन को चलाने के बराबर है। किसी एप्लिकेशन को चलाने के लिए सभी आवश्यक घटक एक ही एप्लिकेशन या सर्वर पर हैं।

प्रेजेंटेशन लेयर, बिजनेस लॉजिक लेयर, और डेटा लेयर सभी एक मशीन पर स्थित हैं।

मल्टी-टीयर आर्किटेक्चर के फायदे और नुकसान

लाभ

नुकसान

  • अनुमापकता
  • प्रयास में वृद्धि
  • डेटा अखंडता
  • जटिलता में वृद्धि
  • पुनर्प्रयोग
  • कम वितरण
  • बेहतर सुरक्षा
  • बेहतर उपलब्धता

इसलिए, यह एक कार्यक्रम का एक हिस्सा है जो वास्तविक दुनिया की व्यावसायिक समस्याओं को हल करता है और यह निर्धारित करता है कि पूरा कार्य करने के लिए डेटा को कैसे अपडेट, बनाया, संग्रहीत या परिवर्तित किया जा सकता है।

एन-टीयर आर्किटेक्चर टिप्स एंड डेवलपमेंट

सॉफ्टवेयर पेशेवरों को ध्यान में रखते हुए आर्किटेक्चर की सभी परतों पर पूर्ण नियंत्रण होना चाहिए, एन-टियर आर्किटेक्चर पर टिप्स नीचे दिए गए हैं।

  1. साबुन XML जैसी तकनीक का उपयोग करके परतों को यथासंभव दूसरी परत से अलग करने का प्रयास करें।
  2. व्यावसायिक तर्क परत और संबंधपरक डेटाबेस परत (डेटा परत) के बीच मानचित्रण उत्पन्न करने के लिए कुछ स्वचालित उपकरणों का उपयोग करें। उपकरण जो इन मानचित्रण तकनीकों को बनाने में मदद कर सकते हैं वे हैं - एंटिटी फ्रेमवर्क और .Net के लिए हाइबरनेट।
  3. क्लाइंट प्रस्तोता परत में, सभी ग्राहकों के लिए एक अलग लाइब्रेरी में जितना संभव हो सके एक सामान्य कोड डालें। यह सभी प्रकार के ग्राहकों के लिए कोड पुन: प्रयोज्य को अधिकतम करेगा।
  4. प्रदर्शन को गति देने के लिए कैश परत को मौजूदा परत में जोड़ा जा सकता है।

सारांश:

एन-टियर आर्किटेक्चर एक छत के नीचे एक एप्लिकेशन के सभी घटकों (व्यावसायिक परत, प्रस्तुति परत और डेटाबेस परत) को प्रबंधित करने में मदद करता है।

अनुप्रयोग जो स्थानीय क्षेत्र नेटवर्क पर उपयोगकर्ताओं की कम संख्या को एन-टियर आर्किटेक्चर से लाभान्वित कर सकते हैं।

इस तरह के वास्तुशिल्प डिजाइन को बनाए रखने, स्केलिंग और इंटरनेट पर एक एप्लिकेशन को कुशलतापूर्वक लागू करने का पता लगाता है।