2009-01-18 22 views
16

मैं सिर्फ निम्नलिखित वाक्य में आए:तीन के बीच अंतर

के रूप में उद्योग के लिए एक तीन स्तरीय मॉडल से n स्तरीय मॉडल के लिए ले जाया गया है, वस्तु संबंधपरक प्रतिबाधा बेमेल हो गया है अधिक प्रचलित

लेकिन मुझे तीन स्तर और एन-स्तरीय के बीच अंतर का संक्षिप्त स्पष्टीकरण नहीं मिल रहा है। मुझे पता है कि तीन स्तर क्या है, और मुझे लगता है कि एन-टियर सिर्फ एक या अधिक स्तर जोड़ता है। मुझे यकीन नहीं है कि ये अतिरिक्त स्तर क्या होंगे। अगर किसी के पास संक्षिप्त स्पष्टीकरण है या बस एक अच्छा लिंक है, तो इसकी बहुत सराहना की जाएगी।

उत्तर

9

उद्धरण इस codeproject पृष्ठ से मिलता है। यह वेब सेवाओं, जावास्क्रिप्ट, वर्कफ़्लो इत्यादि जैसी चीजों को शामिल करने के लिए एन-टियर समझाए जाने का एक बहुत अच्छा काम भी प्रतीत होता है। सभी चीजें जो 3-स्तरीय मॉडल में जरूरी नहीं है।

0

संदर्भ में वाक्य को देखे बिना, मुझे लगता है कि यह सेवाओं और मिडलवेयर में विस्फोट का जिक्र कर रहा है।

1

उस उद्धरण कहां से है? वे किस उद्योग का जिक्र कर रहे हैं? मुझे कल्पना करनी होगी कि SOA के साथ इसका कुछ संबंध है क्योंकि यह एकमात्र चीज है जो इस तरह के बयान के लिए समझ में आता है।

अधिकांश लोगों ने जो सुना है कि इस तरह के बयान को मानते हैं कि सेवा-उन्मुख डोमेन में प्रत्येक सेवा किसी भी तरह से अपना स्वयं का स्तर है। मैं असहमत हूं क्योंकि ज्यादातर समय इन अलग-अलग सेवाओं को तर्कसंगत रूप से सामान्य तीन स्तरों में प्रस्तुत किया जा सकता है (प्रस्तुति, तर्क, और डेटा)। लेकिन फिर, यह सब सुंदर व्यक्तिपरक है।

3

अरे मुझे 3 स्तर की परिभाषा भी नहीं मिल सकती है। कभी-कभी वे क्लाइंट पर जावास्क्रिप्ट छूटते हैं और कभी-कभी क्लाइंट पर क्लाइंट और क्लाइंट वेब ब्राउज़र को जावास्क्रिप्ट को एक और स्तर माना जाता है। तो यदि आप डेटाबेस = स्तरीय 3, वेब सर्वर = स्तरीय 2, क्लाइंट वेब ब्राउज़र = स्तर 1 मानते हैं तो एक एएसपी पृष्ठ डेटाबेस से बात कर सकता है और अन्य बार वेब सर्वर = स्तरीय 1, midware = tier 2, डेटाबेस = स्तर 3। यह वास्तव में निर्भर करता है कि परिभाषा/पुस्तक कौन लिख रहा है।

सामान्य एन-स्तरीय में मिडलवेयर परत को और अधिक विभाजित करने का संदर्भ मिलता है। लेकिन इसके अलावा मुझे लगातार परिभाषाएं नहीं दिखाई देती हैं।

7

एन-टियर का अर्थ है कोई संख्या - जब n = 3 तो यह एन-स्तरीय जैसा ही है।

3-स्तरीय के सामान्य परिभाषा प्रस्तुति, तर्क & डेटा (किसी भी क्रम में) है, और हाँ, एसओए नौसिखिया कभी कभी तर्क स्तरीय और कभी कभी दोनों तर्क & डेटा को भ्रमित क्योंकि कभी कभी यह डेटा स्तरीय में बैठता है सकते हैं, स्तरों।

पूरा विषय ... व्यक्तिपरक है। यदि आपको कुछ स्तरों की आवश्यकता है तो उसे एन-स्तरीय कॉल करें - यदि आप जानते हैं कि n = 7 तो इसे 7-स्तरीय, या एन-स्तरीय कॉल करें।

25

विकास में हम "जिम्मेदारी स्तर" अवशोषण के रूप में एक स्तर को समझते हैं।

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

इस तरह, तथाकथित, 3-स्तरीय मॉडल या एन-स्तरीय मॉडल उस अवधारणाओं के केवल अलग-अलग कार्यान्वयन हैं।

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

इस रूपक को पहली बार 3-स्तरीय मॉडल के साथ संपर्क किया गया, जहां तीन स्तरों की पहचान की गई। आम तौर पर इस स्तरों डेटाबेस अमूर्त परत, जो संचार और डेटाबेस से अधिक अमूर्त के प्रभारी हैं कर रहे हैं, व्यापार नियम लेयर, जो नियम है कि व्यापार प्रक्रिया और उपयोगकर्ता इंटरफेस स्तर जो उपयोगकर्ता के इंटरैक्शन का सार का वर्णन रखती है प्रणाली के साथ।

इस तरह, हमारे पास प्रत्येक परत की जिम्मेदारियों के लिए भूमिकाएं हैं, ताकि यदि उपयोगकर्ता को सिस्टम के साथ बातचीत करने की आवश्यकता हो तो वह एक परत के साथ संवाद करेगा, छेद प्रणाली में गड़बड़ नहीं करेगा।

एन-टियर विशिष्ट आवश्यकताओं को हल करने के लिए अधिक स्तरों का उपयोग करके पूर्व अवधारणा के विकास का प्रतिनिधित्व करता है। आम तौर पर उपयोगकर्ता इंटरफ़ेस परत और डेटाबेस अबास्ट्रक्शन परत को छूटा नहीं जाता है, क्योंकि उनकी भूमिकाएं बहुत स्पष्ट होती हैं जबकि व्यवसाय नियम परत को और परिष्कृत किया जाता है।

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

अंत में, क्या महत्वपूर्ण है विभिन्न परतों के बीच जिम्मेदारियों सार संक्षेप, और एक ही स्थान पर एक अर्थ देखने से सभी संबंधित संचालन को केंद्रीकृत करने की अवधारणा है।

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

+0

एक छोटा सुधार: कई "परतों" के साथ जिम्मेदारियों का स्तर हासिल किया जा सकता है। लेकिन जब इन परतों को विभिन्न प्रक्रियाओं में तैनात किया जाता है (विभिन्न भौतिक मशीनों में) इसे एक स्तर कहा जाता है। इस प्रकार, एक स्तर के लिए महत्वपूर्ण आवश्यकता यह है कि इसे एक अलग प्रक्रिया के रूप में तैनाती-सक्षम और तैनात किया जाना चाहिए। –

11

यदि हमने केक की परतों की तरह स्तरों को देखा; प्रत्येक परत में इसकी अपनी सामग्री होगी और यह स्वयं की चीजें करेगी। प्रत्येक एप्लिकेशन के स्तर केवल ऊपर के स्तर के साथ या उसके नीचे बातचीत करते हैं।

3-टियर का मतलब है कि केक में 3 परतें हैं। आम तौर पर यह नीचे एक डेटा है, फिर एक अनुप्रयोग तर्क स्तर (PHP/रूबी/आदि), और फिर शीर्ष पर एक प्रस्तुति स्तर (एचटीएमएल)

एन-स्तरीय आर्किटेक्चर होने का मतलब है कि आप इसे कई परत परतों को डिज़ाइन करते हैं । आपके पास परतों की संख्या इस बात पर निर्भर करेगी कि आप इसे कैसे बनाने का निर्णय लेते हैं।

ऐसा लगता है कि यह बड़े, या वेब अनुप्रयोगों के साथ बहुत अधिक समझ में आता है।

मैं आमतौर पर 5 स्तरीय एप्लिकेशन के साथ समाप्त होता हूं।प्रत्येक स्तर केवल ऊपर या नीचे के ऊपर से बातचीत कर सकता है। यह आपके आवेदन में शानदार विस्तार और मानकीकरण प्रदान कर सकता है।

ग्राहक टीयर

वेब ब्राउज़र


प्रस्तुति टीयर

एचटीएमएल प्रस्तुत - Coldfusion/फ़्लैश/रूबी/पीएचपी, आदि।


व्यापार तर्क टीयर

भागो प्रक्रियाओं और जरूरत के रूप में गणना - Coldfusion/फ़्लैश/रूबी/पीएचपी, आदि।


डाटा एकता टीयर

(मेरे विकास भाषा से क्वेरी, संग्रहित प्रक्रियाओं, आदि)


डाटा टीयर

(डाटाबेस - MySQL, आदि)

1

यह Wiki-book chapter on application architecture परतों, स्तरों के लिए एक सरल गाइड के बारे में है, और निर्णय लेने से क्या आप उपयोग करने की आवश्यकता अच्छा विचार हो सकता है।