এন-টিয়ার আর্কিটেকচার কী?


193

আমি সম্প্রতি বেশ কয়েকটি বিকাশকারী জব পোস্টিং দেখেছি যার মধ্যে এমন একটি বাক্য অন্তর্ভুক্ত রয়েছে যা এরকম কমবেশি পড়বে: "এন-টিয়ার আর্কিটেকচারের সাথে অবশ্যই অভিজ্ঞতা থাকতে হবে", বা "এন-টিয়ার অ্যাপ্লিকেশন বিকাশ করতে সক্ষম হতে হবে"।

এটি আমাকে জিজ্ঞাসা করতে পরিচালিত করে, এন-টিয়ার আর্কিটেকচার কী? এটির সাথে অভিজ্ঞতা কীভাবে পাওয়া যায়?


2
আকর্ষণীয় বিষয় যে এই অন্যান্য পোস্টটি এন-টিয়ার আর্কিটেকচারটি কী তা জিজ্ঞাসা করছে তবে উত্তরগুলি সম্পূর্ণ আলাদা। stackoverflow.com/questions/7271165/… । মনে হচ্ছে সফ্টওয়্যারটির জন্য এন-টিয়ার আর্কিটেকচার এবং হার্ডওয়্যারের জন্য এন-টিয়ার আর্কিটেকচার রয়েছে।
নোরেমাক

উত্তর:


247

উইকিপিডিয়া :

সফটওয়্যার ইঞ্জিনিয়ারিংয়ে, মাল্টি-টায়ার আর্কিটেকচার (প্রায়শই এন-টায়ার আর্কিটেকচার হিসাবে পরিচিত) হ'ল একটি ক্লায়েন্ট-সার্ভার আর্কিটেকচার, যাতে উপস্থাপনা, অ্যাপ্লিকেশন প্রসেসিং এবং ডেটা ম্যানেজমেন্ট যৌক্তিকভাবে পৃথক প্রক্রিয়া হয়। উদাহরণস্বরূপ, একটি অ্যাপ্লিকেশন যা মিডলওয়্যারটি পরিষেবা এবং ব্যবহারকারী এবং ডাটাবেসের মধ্যে ডেটা অনুরোধের পরিষেবা ব্যবহার করে মাল্টি-টায়ার আর্কিটেকচার নিয়োগ করে। "মাল্টি-টায়ার আর্কিটেকচার" এর সর্বাধিক বিস্তৃত ব্যবহার তিন স্তরের আর্কিটেকচারকে বোঝায়।

এটি "বিতরণযোগ্য" হিসাবে গণ্য হওয়া বিতর্কযোগ্য তবে আমার মতে এটি কমপক্ষে প্রক্রিয়া সীমানা অতিক্রম করতে হবে। অন্যথায় এটি স্তর বলা হয়। তবে, এটি শারীরিকভাবে আলাদা মেশিনে থাকার দরকার নেই। যদিও আমি এটির প্রস্তাব দিচ্ছি না, আপনি একই বাক্সে লজিক্যাল স্তর এবং ডাটাবেস হোস্ট করতে পারেন

বিকল্প পাঠ

সম্পাদনা : একটি অর্থ হ'ল উপস্থাপনা স্তর এবং লজিক স্তর (কখনও কখনও বিজনেস লজিক স্তর বলা হয়) কখনও কখনও অবিশ্বাস্য, ধীর এবং / বা নিরাপত্তাহীন নেটওয়ার্কের মাধ্যমে "তারের پار" মেশিনের সীমানা অতিক্রম করতে হয়। এটি সরল ডেস্কটপ অ্যাপ্লিকেশন থেকে খুব আলাদা যেখানে ডেটা ফাইল বা ওয়েব অ্যাপ্লিকেশন হিসাবে একই মেশিনে থাকে যেখানে আপনি সরাসরি ডাটাবেস হিট করতে পারেন।

এন-টায়ার প্রোগ্রামিংয়ের জন্য, আপনাকে "ডেটাসেট" নামক কোনও প্রকারের পরিবহণযোগ্য ফর্মের মধ্যে ডেটা প্যাকেজ করতে হবে এবং সেগুলি তারের উপর দিয়ে উড়িয়ে দেওয়া উচিত। .NET এর ডেটাসেট ক্লাস বা এসওএপি- র মতো ওয়েব সার্ভিসেস প্রোটোকল তারের উপর দিয়ে বস্তু উড়ানোর জন্য এমন কয়েকটি প্রচেষ্টা attempts


6
"3-স্তর" এবং "এন-টিয়ার" এর মধ্যে কি পার্থক্য রয়েছে?
চক্রত

7
এটি কীভাবে আপনি "স্তর" (যৌক্তিক, শারীরিক ইত্যাদি) গণনা করেন তার উপর নির্ভর করে তবে অ্যাপ্লিকেশন লেখার জন্য আপনি সহজেই 3 টিরও বেশি প্রক্রিয়া জড়িত থাকতে পারেন। ইউআই, ইউআই প্ল্যাটফর্ম (যেমন এক্লিপস আরসিপি), ওয়েব সার্ভিসেস, বিএলএল, ডএল, ডাটাবেস, প্রমাণীকরণ পরিষেবা, রিপোর্টিং পরিষেবাদি, বিশ্লেষণামূলক পরিষেবাগুলি ...
ইউজিন ইয়োকোটা

6
@ চাচার্ট: আমার সময়ে (আমি বৃদ্ধ) আরও বেশি যে 2-স্তর (ক্লায়েন্ট-সার্ভার) স্বয়ংক্রিয়ভাবে এন-টিয়ারের কথা উল্লেখ করেছে।
এডুয়ার্ডো মোল্টেনি

@ ইউজিনইওকোটা - বলা হয় যে স্তরগুলি আর্কিটেকচারের শারীরিক বিভাগগুলির প্রতিনিধিত্ব করতে হয় (যা আরও প্যাটিশন দেওয়া যেতে পারে না যেমন একটি ক্লাস্টারের মধ্যে) এবং স্তরগুলি অ্যাপ্লিকেশন উপাদানগুলির যৌক্তিক গোষ্ঠীকরণকে বোঝায় ।
ইলিরান মালকা

আমাকে এমন কিছু বলা হয়েছে যা দেখতে দেখতে খুব অনুরূপ তবে স্তরগুলির সাথে উপস্থাপনা স্তর - পরিষেবা স্তর - সংহতকরণ / ডেটা স্তর। আপনি কি জানেন যে উপরে বর্ণিত স্থাপত্যের মতো একই জিনিসটির জন্য এইগুলি কেবল আলাদা শব্দ বা কিছু আলাদা? আমার জ্ঞান যতদূর যায়, এগুলি একই মনে হয় তবে আমি নিশ্চিত করতে চাই।
ক্লেলিআরিয়ানা

20

এটি কীভাবে আপনি মূল ব্যবসায়ের যুক্তি এবং ডেটা অ্যাক্সেস ( উইকিপিডিয়া ) থেকে উপস্থাপনা স্তরকে আলাদা করেন তার উপর ভিত্তি করে

  • 3-স্তর মানে উপস্থাপনা স্তর + উপাদান স্তর + ডেটা অ্যাক্সেস স্তর।
  • এন-টায়ার তখন হয় যখন অতিরিক্ত স্তরগুলি এগুলির বাইরে যুক্ত করা হয় সাধারণত অতিরিক্ত মডিউলারিটি, কনফিগারেশন বা অন্যান্য সিস্টেমের সাথে ইন্টারঅ্যাপেরিবিলিটির জন্য।

12
প্রকৃতপক্ষে যদি এই স্তরগুলির মধ্যে কোনও একটি রিমোট পার্টি দ্বারা হোস্ট করা হয়, উদাহরণস্বরূপ কোনও পেমেন্ট প্রসেসর, সেই স্তরটি এতটা "অপ্রয়োজনীয়" নাও হতে পারে
জাক

1
হুম। 'স্তর' এবং 'পরিষেবাগুলির' মধ্যে একটি বিশাল পার্থক্য রয়েছে। এন-টিয়ার সাধারণত প্রদত্ত স্তরের জন্য এটি বোঝাতে ব্যবহৃত হয় যে নীচের স্তরের পরিষেবাগুলি অ্যাক্সেস করার জন্য এটির যে কোনও কিছু অবশ্যই এর মধ্য দিয়ে যেতে হবে। যদি তারা সমান্তরাল হয় তবে আমি তাদের স্তরগুলির পরিবর্তে পরিষেবাগুলি বলব।
ডাক

সাধারণ MCV (3-স্তরীয় আর্কিটেকচার) নির্মাণের সময় কেউ MCV কে ডাবল ডেক ইন্টারফেসের সাথে বাস্তবায়নের সিদ্ধান্ত নিতে পারে, যেমন কোনও একটি কোডের একটি লাইনও পরিবর্তন না করেই কোনও নির্দিষ্ট স্তরের প্রতিস্থাপন করতে পারে। আমরা প্রায়শই এর সুবিধাগুলি দেখতে পাই, উদাহরণস্বরূপ এমন পরিস্থিতিতে যেখানে আপনি একাধিক ডাটাবেস ব্যবহার করতে সক্ষম হতে চান (সেক্ষেত্রে আপনার নিয়ন্ত্রণ এবং ডেটা-স্তরগুলির মধ্যে ডাবল ইন্টারফেস রয়েছে)। আপনি যখন এটিকে ভিউ-লেয়ারে রাখবেন (উপস্থাপনা), তারপরে আপনি
ইউএসএফ

15

এটি একটি বাজওয়ার্ড যা উদাহরণস্বরূপ, জাভাস্ক্রিপ্ট - এএসপি.নেট - মিডলওয়্যার - ডেটাবেস স্তর সহ সাধারণ ওয়েব আর্কিটেকচারের মতো জিনিসগুলিকে বোঝায়। এই প্রতিটি জিনিস একটি "স্তর"।


4

এন-টিয়ার ডেটা অ্যাপ্লিকেশনগুলি এমন ডেটা অ্যাপ্লিকেশন যা একাধিক স্তরে বিভক্ত হয়। এটিকে "বিতরণ অ্যাপ্লিকেশন" এবং "মাল্টিটায়ার অ্যাপ্লিকেশনগুলি" বলা হয়, "এন-টিয়ার অ্যাপ্লিকেশনগুলি ক্লায়েন্ট এবং সার্ভারের মধ্যে বিতরণকারীকে আলাদা আলাদা স্তরগুলিতে পৃথক প্রক্রিয়াকরণ করে। আপনি যখন ডেটা অ্যাক্সেস করে এমন অ্যাপ্লিকেশনগুলি বিকাশ করেন, তখন অ্যাপ্লিকেশনটি তৈরি করা বিভিন্ন স্তরের মধ্যে আপনার স্পষ্ট বিচ্ছেদ হওয়া উচিত।

একটি সাধারণ এন-টিয়ার অ্যাপ্লিকেশনটিতে উপস্থাপনা স্তর, একটি মাঝারি স্তর এবং একটি ডেটা স্তর অন্তর্ভুক্ত থাকে। এন-টিয়ার অ্যাপ্লিকেশনটিতে বিভিন্ন স্তরগুলি পৃথক করার সহজতম উপায় হ'ল আপনি যে অ্যাপ্লিকেশনটিতে অন্তর্ভুক্ত করতে চান তার প্রতিটি স্তরের জন্য আলাদা প্রকল্প তৈরি করা। উদাহরণস্বরূপ, উপস্থাপনা স্তরটি একটি উইন্ডোজ ফর্ম অ্যাপ্লিকেশন হতে পারে, যেখানে ডেটা অ্যাক্সেস লজিক মাঝারি স্তরে অবস্থিত একটি শ্রেণিকালীন গ্রন্থাগার হতে পারে। অতিরিক্তভাবে, উপস্থাপনা স্তরটি কোনও পরিষেবা যেমন কোনও পরিষেবার মাধ্যমে মধ্য স্তরের ডেটা অ্যাক্সেস লজিকের সাথে যোগাযোগ করতে পারে। অ্যাপ্লিকেশন উপাদানগুলিকে পৃথক স্তরে পৃথক করা অ্যাপ্লিকেশনটির রক্ষণাবেক্ষণযোগ্যতা এবং স্কেলিবিলিটি বাড়ে। এটি এমন নতুন প্রযুক্তিগুলিকে আরও সহজভাবে গ্রহণের মাধ্যমে সক্ষম করে যা পুরো সমাধানটিকে নতুন করে ডিজাইন করার প্রয়োজন ছাড়াই একটি মাত্রায় প্রয়োগ করা যেতে পারে। এছাড়াও,

মাইক্রোসফ্ট ওয়েবসাইট থেকে নেওয়া ।


4

যদি আমি প্রশ্নটি বুঝতে পারি তবে আমার কাছে মনে হয় যে প্রশ্নকর্তা সত্যই জিজ্ঞাসা করছেন "ঠিক আছে, তাই 3-স্তর ভালভাবে বোঝা গেছে, তবে মনে হয় 4-স্তরের চারপাশে হাইপ, বিভ্রান্তি এবং অনিশ্চয়তার মিশ্রণ রয়েছে বা জেনারালাইজ করুন, এন-টিয়ার আর্কিটেকচারের অর্থ। সুতরাং ... এন-টায়ারের এমন একটি সংজ্ঞা যা বিস্তৃতভাবে বোঝা যায় এবং একমত হয়? "

এটি আসলে একটি মোটামুটি গভীর প্রশ্ন, এবং কেন, আমাকে আরও গভীর থেকে যেতে হবে তা ব্যাখ্যা করার জন্য। আমার সাথে সহ্য করুন।

ক্লাসিক 3-স্তরের আর্কিটেকচার: ডাটাবেস, "ব্যবসায়িক যুক্তি" এবং উপস্থাপনা, উদ্বেগের বিচ্ছিন্নতার নীতিকে কীভাবে সম্মান করা যায় তা স্পষ্ট করার একটি ভাল উপায়। কোনটি বলতে চাই, যদি আমি কীভাবে "ব্যবসায়" গ্রাহকদের সেবা প্রদান করতে চায় তা পরিবর্তন করতে চাই, কীভাবে এটি করা যায় তা নির্ধারণ করার জন্য আমাকে পুরো সিস্টেমের মধ্যে নজর দেওয়া উচিত নয় এবং বিশেষত, ব্যবসায়ের সমস্যাগুলি ছড়িয়ে দেওয়া উচিত নয় কোড মাধ্যমে উইলি-নিলি।

এখন, এই মডেল কয়েক দশক ধরে ভাল পরিবেশন করেছে এবং এটি ক্লাসিক 'ক্লায়েন্ট-সার্ভার' মডেল। ক্লাউড অফারিংয়ে দ্রুত এগিয়ে যাওয়া, যেখানে ওয়েব ব্রাউজারগুলি ব্যবহারকারীদের একটি বিস্তৃত এবং শারীরিকভাবে বিতরণকৃত সেটগুলির জন্য ইউজার ইন্টারফেস এবং সাধারণত একটি বিষয়বস্তু বিতরণ পরিষেবা যুক্ত করতে থাকে যা ক্লাসিক 3-স্তরের আর্কিটেকচারের অংশ নয় (এবং যা তাদের নিজস্বভাবে পরিচালনা করা দরকার)।

পরিষেবাগুলি, মাইক্রো-পরিষেবাগুলি, কীভাবে ডেটা এবং গণনা বিতরণ করা হয় ইত্যাদি বিষয়ে ধারণাটি সাধারণীকরণ করে। কোনও কিছু 'স্তর' কিনা তা মূলত স্তরের পিছনে (বা নীচে) পরিষেবাগুলিতে একটি ইন্টারফেস এবং মোতায়েনের মডেল সরবরাহ করে কিনা তা বেশিরভাগ ক্ষেত্রেই নেমে আসে। সুতরাং একটি সামগ্রী বিতরণ নেটওয়ার্ক একটি স্তর হবে, কিন্তু একটি প্রমাণীকরণ পরিষেবা হবে না would

এখন, এই ধারণাটি মাথায় রেখে এন-টিয়ার আর্কিটেকচারের উদাহরণগুলির অন্যান্য বিবরণ পড়ুন এবং আপনি বিষয়টি বুঝতে শুরু করবেন। অন্যান্য দৃষ্টিকোণগুলির মধ্যে বিক্রেতা-ভিত্তিক পদ্ধতিগুলি (যেমন এনজিআইএনএক্স), সামগ্রী-সচেতন লোড ব্যালেন্সারস, ডেটা বিচ্ছিন্নতা এবং সুরক্ষা পরিষেবাদি (যেমন আইবিএম ডেটাপাওয়ার) অন্তর্ভুক্ত রয়েছে, যার সবকটিই কোনও প্রদত্ত স্থাপত্য, স্থাপনা এবং ব্যবহারের ক্ষেত্রে মূল্য যুক্ত করতে পারে বা নাও পারে


3

এটি আমার বোঝা যায় যে এন-টিয়ার পৃথক শারীরিক মেশিন ব্যবহার করে ব্যবসায়ের যুক্তি, ক্লায়েন্টের অ্যাক্সেস এবং একে অপরের থেকে ডেটা পৃথক করে। তত্ত্বটি হ'ল এগুলির মধ্যে একটির অপরটির থেকে স্বাধীনভাবে আপডেট করা যেতে পারে।


3

এন-টিয়ার ডেটা অ্যাপ্লিকেশনগুলি এমন ডেটা অ্যাপ্লিকেশন যা একাধিক স্তরে বিভক্ত হয়। এটিকে "বিতরণ অ্যাপ্লিকেশন" এবং "মাল্টিটায়ার অ্যাপ্লিকেশনগুলি" বলা হয়, "এন-টিয়ার অ্যাপ্লিকেশনগুলি ক্লায়েন্ট এবং সার্ভারের মধ্যে বিতরণকারীকে আলাদা আলাদা স্তরগুলিতে পৃথক প্রক্রিয়াকরণ করে। আপনি যখন ডেটা অ্যাক্সেস করে এমন অ্যাপ্লিকেশনগুলি বিকাশ করেন, তখন অ্যাপ্লিকেশনটি তৈরি করা বিভিন্ন স্তরের মধ্যে আপনার স্পষ্ট বিচ্ছেদ হওয়া উচিত।

এবং এইভাবে http://msdn.microsoft.com/en-us/library/bb384398.aspx এ


3

সাধারণ MCV (3-স্তরীয় আর্কিটেকচার) নির্মাণের সময় কেউ MCV কে ডাবল ডেক ইন্টারফেসের সাথে বাস্তবায়নের সিদ্ধান্ত নিতে পারে, যেমন কোনও একটি কোডের একটি লাইনও পরিবর্তন না করেই কোনও নির্দিষ্ট স্তরের প্রতিস্থাপন করতে পারে।

আমরা প্রায়শই এর সুবিধাগুলি দেখতে পাই , উদাহরণস্বরূপ এমন পরিস্থিতিতে যেখানে আপনি একাধিক ডাটাবেস ব্যবহার করতে সক্ষম হতে চান (সেক্ষেত্রে আপনার নিয়ন্ত্রণ এবং ডেটা-স্তরগুলির মধ্যে ডাবল ইন্টারফেস রয়েছে)।

আপনি যখন এটি ভিউ-স্তর (উপস্থাপনা) এ রাখেন, তারপরে আপনি ইউএসএফ ইন্টারফেসটিকে অন্য একটি মেশিনের সাথে প্রতিস্থাপন করতে পারবেন (রিয়েল !!) এবং এর মাধ্যমে রিয়েল ইনপুটটি স্বয়ংক্রিয়ভাবে প্রয়োগ করতে পারবেন (!!!) - এবং এর ফলে আপনি হাজার হাজার ক্লান্তিকর ব্যবহারযোগ্যতা পরীক্ষা চালাতে পারেন কোনও ব্যবহারকারী ছাড়াই বার বার আলতো চাপুন এবং পুনরায় আলতো চাপুন এবং একই জিনিসগুলি বারবার পুনরায় আলতো চাপুন।

কেউ কেউ 1 বা 2 ডাবল-ইন্টারফেসের সাথে 4-টিয়ার বা 5-স্তরের আর্কিটেকচার হিসাবে এই জাতীয় 3-স্তরের আর্কিটেকচার বর্ণনা করে, ডাবল ইন্টারফেসকে স্পষ্টভাবে বোঝায়।

অন্যান্য ক্ষেত্রে এই সত্যটি অন্তর্ভুক্ত থাকে (তবে সীমাবদ্ধ নয়) আপনি - আধা বা সম্পূর্ণরূপে প্রতিলিপি করা ডাটাবেস-সিস্টেমের ক্ষেত্রে ব্যবহারিকভাবে একটি "মাস্টার" হিসাবে ডেটাবেসকে বিবেচনা করতে সক্ষম হবেন এবং এর ফলে আপনার একটি স্তর হবে মাস্টার এবং দাস ডেটাবেস এর আরও একটি সমন্বয়ে গঠিত।

মোবাইল উদাহরণ

সুতরাং, মাল্টি-টিয়ার - বা এন-টিয়ার - এর কয়েকটি ব্যাখ্যা রয়েছে, তবে আমি অবশ্যই তিনটি স্তরের + অতিরিক্ত স্তরগুলিতে আটকে থাকব যাতে পাতলা ইন্টারফেস-ডিস্কের সমন্বিত অতিরিক্ত স্তরগুলির সাথে স্তরে স্তরের পরিবর্তনগুলি সক্রিয় করতে হবে, এবং শর্তাবলী পরীক্ষণ (বিশেষত মোবাইল ডিভাইসগুলিতে ব্যবহৃত), এখন আপনি নিয়ন্ত্রণকারী যুক্তি একটি বাস্তব ব্যবহারকারী ট্যাপিং থেকে পৃথক করতে পারে না এমন পদ্ধতিতে ট্যাপিং ব্যবহারকারীদের অনুকরণের মাধ্যমে আসল সফ্টওয়্যারটিতে ব্যবহারকারী পরীক্ষা চালাতে পারেন । এটি বাস্তব ব্যবহারকারী পরীক্ষাগুলি সিমুলেট করার ক্ষেত্রে প্রায় পরামিতি , যাতে আপনি ব্যবহারকারী ওটিএর কাছ থেকে সমস্ত ইনপুট রেকর্ড করতে পারেন এবং তারপরে রিগ্রেশন টেস্টগুলি করার সময় একই ইনপুটটি পুনরায় ব্যবহার করতে পারেন।


2

আমরা যখন টিয়ারের কথা বলি, তখন আমরা সাধারণত শারীরিক প্রক্রিয়াগুলি নিয়ে কথা বলি (বিভিন্ন মেমরির স্থান রয়েছে)।

সুতরাং, যদি কোনও প্রয়োগের স্তরগুলি বিভিন্ন প্রক্রিয়াগুলিতে স্থাপন করা হয় তবে সেই বিভিন্ন প্রক্রিয়াগুলি বিভিন্ন স্তরের হবে।

উদাহরণস্বরূপ, একটি তিন-স্তরের অ্যাপ্লিকেশনে, ব্যবসায়িক স্তর মেইনফ্রেমস (পৃথক প্রক্রিয়া) সাথে কথা বলে এবং রিপোর্টিং সার্ভিসে (পৃথক প্রক্রিয়া) সাথে কথা বলে, তবে সেই আবেদনটি 5 স্তরের হবে t

সুতরাং, জেনেরিক নামটি এন-টিয়ার।


2

থেকে https://docs.microsoft.com/en-us/azure/architecture/guide/architecture-styles/n-tier

একটি N- স্তর স্থাপত্য একটি ভাগ আবেদন টায়ার মধ্যে লজিক্যাল টায়ার এবং শারীরিক স্তরে প্রধানত এবং তাদের সাব অংশে বিভক্ত করা হয়। এখানে চিত্র বর্ণনা লিখুন

স্তরগুলি দায়িত্ব পৃথক করার এবং নির্ভরতা পরিচালনা করার একটি উপায়। প্রতিটি স্তর একটি নির্দিষ্ট দায়িত্ব আছে। একটি উচ্চতর স্তর নিম্ন স্তরে পরিষেবাগুলি ব্যবহার করতে পারে তবে অন্য উপায়ে নয়।

স্তরগুলি শারীরিকভাবে পৃথক করা হয়, পৃথক মেশিনে চলছে। একটি স্তর সরাসরি অন্য স্তরে কল করতে পারে, বা অ্যাসিঙ্ক্রোনাস মেসেজিং (বার্তার সারি) ব্যবহার করতে পারে। যদিও প্রতিটি স্তর তার নিজস্ব স্তরে হোস্ট করা যেতে পারে, এটি প্রয়োজন হয় না। বেশ কয়েকটি স্তর একই স্তরে হোস্ট করা হতে পারে। শারীরিকভাবে স্তরগুলি পৃথক করে স্কেলাবিলিটি এবং স্থিতিস্থাপকতা উন্নত করে, তবে অতিরিক্ত নেটওয়ার্ক যোগাযোগ থেকে বিলম্বও যোগ করে।

একটি traditionalতিহ্যগত তিন-স্তরের অ্যাপ্লিকেশনটিতে উপস্থাপনা স্তর, একটি মাঝারি স্তর এবং একটি ডাটাবেস স্তর রয়েছে। মাঝারি স্তরটি .চ্ছিক। আরও জটিল অ্যাপ্লিকেশনগুলিতে তিন স্তরের বেশি থাকতে পারে। উপরের চিত্রটি দুটি মাঝারি স্তর সহ একটি অ্যাপ্লিকেশন দেখায়, কার্যকারিতার বিভিন্ন ক্ষেত্রকে আবদ্ধ করে।

একটি এন-টিয়ার অ্যাপ্লিকেশনটিতে একটি বদ্ধ স্তর আর্কিটেকচার বা একটি খোলা স্তর আর্কিটেকচার থাকতে পারে:

In a closed layer architecture, a layer can only call the next layer immediately down.
In an open layer architecture, a layer can call any of the layers below it.

একটি বদ্ধ স্তর স্থাপত্য স্তরগুলির মধ্যে নির্ভরতা সীমাবদ্ধ করে। তবে, যদি এটি একটি স্তর পরবর্তী স্তরটিতে কেবল অনুরোধগুলি পাস করে তবে এটি অপ্রয়োজনীয় নেটওয়ার্ক ট্র্যাফিক তৈরি করতে পারে।


1

একটি এন-টিয়ার অ্যাপ্লিকেশন হ'ল এমন একটি অ্যাপ্লিকেশন যা এতে আরও তিনটি উপাদান জড়িত। সেই উপাদানগুলি কী কী?

  • ক্যাশে
  • অ্যাসিক্রোনাস আচরণের জন্য বার্তার সারি
  • ভারসাম্যপূর্ণ লোড
  • বিপুল পরিমাণে ডেটা অনুসন্ধান করার জন্য সার্ভারগুলি অনুসন্ধান করুন
  • বিপুল পরিমাণে ডেটা প্রক্রিয়াকরণের সাথে যুক্ত উপাদানগুলি
  • ভিন্ন ভিন্ন প্রযুক্তি চালিত উপাদানগুলি সাধারণত ওয়েব পরিষেবাদি ইত্যাদি নামে পরিচিত

ইনস্টাগ্রাম, ফেসবুক, উবার, এয়ারবিএনবির মতো বড় আকারের শিল্প পরিষেবা, পোকেমন গোয়ের মতো অনলাইন বিশাল মাল্টিপ্লেয়ার গেমস, অভিনব বৈশিষ্ট্যযুক্ত অ্যাপ্লিকেশনগুলি এন-টায়ার অ্যাপ্লিকেশন like


0

মার্টিন ফোলার স্পষ্টভাবে প্রদর্শন করছেন:

সফ্টওয়্যার ডিজাইনাররা একটি জটিল সফ্টওয়্যার সিস্টেম ছিন্ন করার জন্য লেয়ারিং অন্যতম সাধারণ কৌশল। আপনি এটি মেশিন আর্কিটেকচারে দেখেন, যেখানে অপারেটিং সিস্টেম কল সহ একটি প্রোগ্রামিং ভাষা থেকে স্তরগুলি ডিভাইস ড্রাইভার এবং সিপিইউ নির্দেশিকা সেটগুলিতে এবং চিপের অভ্যন্তরে লজিক গেটগুলিতে নেমে আসে। নেটওয়ার্কিংয়ে টিসিপি-র শীর্ষে এফটিপি স্তরযুক্ত রয়েছে, যা আইপি-র শীর্ষে রয়েছে, যা ইথারনেটের শীর্ষে রয়েছে।

স্তরগুলির ক্ষেত্রে কোনও সিস্টেমের কথা চিন্তা করার সময়, আপনি সফ্টওয়্যারটিতে মূল কেকের কোনও আকারে সজ্জিত প্রধান উপ-সিস্টেমগুলি কল্পনা করেন, যেখানে প্রতিটি স্তর নীচের স্তরে থাকে। এই স্কিমে উচ্চতর স্তর নিম্ন স্তরের দ্বারা সংজ্ঞায়িত বিভিন্ন পরিষেবা ব্যবহার করে তবে নিম্ন স্তর উচ্চতর স্তর সম্পর্কে অজানা। তদুপরি, প্রতিটি স্তর সাধারণত নীচের স্তরগুলি উপরের স্তরগুলি থেকে গোপন করে, সুতরাং স্তর 4 স্তর 3 এর পরিষেবাগুলি ব্যবহার করে, যা স্তর 2 এর পরিষেবাদি ব্যবহার করে, তবে স্তর 4 স্তর 2 সম্পর্কে অজানা ( , তবে বেশিরভাগটি — বা বরং বেশিরভাগটি বেশিরভাগ ক্ষেত্রে অস্বচ্ছ)

কোনও সিস্টেমকে স্তরগুলিতে ভাঙ্গার ফলে অনেকগুলি গুরুত্বপূর্ণ সুবিধা রয়েছে।

• আপনি অন্যান্য স্তরগুলির সম্পর্কে বেশি কিছু না জেনে একটি একক স্তরকে সুসংহত পুরো হিসাবে বুঝতে পারবেন। ইথারনেট কীভাবে কাজ করে তার বিশদ না জেনে আপনি কীভাবে টিসিপির শীর্ষে একটি এফটিপি পরিষেবা তৈরি করবেন তা বুঝতে পারবেন।

Same আপনি একই বেসিক পরিষেবার বিকল্প বাস্তবায়নের সাথে স্তরগুলি প্রতিস্থাপন করতে পারেন। একটি এফটিপি পরিষেবা ইথারনেট, পিপিপি বা তারের সংস্থাগুলি যা কিছু ব্যবহার করে তা ছাড়াই চলতে পারে।

• আপনি স্তরগুলির মধ্যে নির্ভরতা হ্রাস করুন। তারের সংস্থাগুলি যদি তার শারীরিক সংক্রমণ ব্যবস্থা পরিবর্তিত করে, যদি তারা আইপি কাজ করে, তবে আমাদের এফটিপি পরিষেবা পরিবর্তন করতে হবে না।

Ers স্তরগুলি মানকতার জন্য ভাল জায়গা করে। টিসিপি এবং আইপি স্ট্যান্ডার্ড কারণ তারা তাদের স্তরগুলি কীভাবে পরিচালনা করতে হবে তা নির্ধারণ করে।

• আপনার একবার স্তর তৈরি হয়ে গেলে আপনি এটি অনেকগুলি উচ্চ-স্তরের পরিষেবার জন্য ব্যবহার করতে পারেন। সুতরাং, টিসিপি / আইপি এফটিপি, টেলনেট, এসএসএইচ এবং এইচটিটিপি ব্যবহার করে। অন্যথায়, এই সমস্ত উচ্চ-স্তরের প্রোটোকলগুলিকে তাদের নিজস্ব নিম্ন-স্তরের প্রোটোকল লিখতে হবে। কাইল জিওফ্রে পাসারেলির লাইব্রেরি থেকে

স্তর স্থাপন একটি গুরুত্বপূর্ণ কৌশল, তবে ডাউনসাইড রয়েছে।

Ers স্তরগুলি কিছুকে encapsulate করে, তবে সমস্ত কিছু ভাল না। ফলস্বরূপ আপনি কখনও কখনও ক্যাসকেডিং পরিবর্তনগুলি পান। স্তরযুক্ত এন্টারপ্রাইজ অ্যাপ্লিকেশনটির এর সর্বোত্তম উদাহরণটি এমন একটি ক্ষেত্র যুক্ত করছে যা ইউআইতে প্রদর্শিত হতে হবে, অবশ্যই ডাটাবেসে থাকতে হবে এবং এইভাবে প্রতিটি স্তরের মধ্যে অবশ্যই যুক্ত করা উচিত।

। অতিরিক্ত স্তরগুলি কর্মক্ষমতা ক্ষতি করতে পারে। প্রতিটি স্তরে জিনিসগুলিকে সাধারণত একটি উপস্থাপনা থেকে অন্যটিতে রূপান্তর করা প্রয়োজন। তবে অন্তর্নিহিত ফাংশনের এনক্যাপসুলেশনটি আপনাকে প্রায়শই দক্ষতা লাভ দেয় যা ক্ষতিপূরণ দেওয়ার চেয়ে বেশি। এমন একটি স্তর যা লেনদেন নিয়ন্ত্রণ করে optim তবে স্তরযুক্ত আর্কিটেকচারের সবচেয়ে শক্ত অংশটি সিদ্ধান্ত করছে যে স্তরগুলি কী রাখবে এবং প্রতিটি স্তরের কী দায়বদ্ধ হওয়া উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.