پروژه : اجزای اضافی نسبت به فضای 3_ tier در فضای
n_tier چه لایه هایی هستند ؟ به چه علت n_tier به وجود آمده ،
مزیت آن به 3_tier چیست ؟
مدل client/server
مدل client/server یک مفهوم برای شرح اطلاعات هست بین فر آیند های محاسباتی که طبقه بندی شده هستند چنانکه مصرف کننده های سرویس (کلاینت ها) و توسعهدهنده های سرویس (سرورها )
- 2 لایه
- 3 لایه
- چند لایه
معماری کلاینت / سرور 3 لایه :
- لایه نمایش
- لایه business
- لایه بانک اطلاعاتی
یک معماری سه لایه سیستمی است که یک تفکیک کلی را اجرا میکند بین سه قسمت زیر :
1ـ لایه client یا سطح استفاده کننده .2ـ لایه میانی یا منطق تجارت
3ـ لایه data storage tier
به کار برده شده برای استعمال وب و برنامه نویسی مخرب ،سه لایه منطبق معمولاً مشابه است با جدایی فیزیکی بین سه نوع دستگاه یا سه گروه :
1ـ browser یا استعمال GUI. 2ـ web server یا Application server .3ـ سرور بانک اطلاعاتی
اگر چه علاوه بر سرور اجرایی ،یک قسمت دیگر کد برنامه نویسی وجود دارد به طرف سه لایه منطقی .
این نوع قسمت های مشابه ( معماری سیستم فیزیکی )هست در یک سیستم Jsp/servlet قدیمی این اشیا ابزار معمولی هستند .
مثلاً : jsp ها یا سرولت ها مسئول هستند برای خلق کردن html یا wml یا مسئول javabeans برای سرولتهای منطقی تجاری javabeans یا مسئول جاوا برای افزایش دیتا .این اشیا را معمولاً JDBC استفاده میکند برای سوال بانک اطلاعاتی . در یک سیستم ejb سه لایه منطقی معمولاً ابزار تا حدی متقاوت هستند . jsp ها سرولت ها یا درخواست کلاینت جاوا مسئول هستند برای اینتر فیس کاربر . جلسه دانه ها یا دانههای وجودی که متدهای چه کسی تکمیل می کند منطق تجاری و قوانین تجاری دانه های هستی حوزه چه کسی اطلاعات را نشان می دهد . این میدان ها (Persisted) هستند (ذخیره و پس گرفتن ) هر یک از آن دو به وسیله ejb سرور (برای پافشاری container-managed ) یا به وسیله دانه های وجودی خودشان ( برای پافشاری bean-managed) به طوریکه شما میتوانید ببینید تعریف دقیق tier ها می تواند تغییر کند به طور گسترده که وابسته است به نیازهای خاص و انتخابهای طراح کاربردی. هر چند همه آنها تقسیمات کلی ذخیره را ادامه می دهند .اگر معماری شامل بیش از سه لایه منطقی شود برای مثال تغذیه اطلاعاتی گوناگون ،منابع اطلاعاتی معامله ای گوناگون،در خواستهای موکلی گوناگون سپس آن معمولاً نامیده میشود n-tierیا معماری distributed .
(Threetier) یک کمپانی توسعه مشاوره نرم افزاری است .
توسعه کاربردهای وب بیشتر بنابراین درخواست دسک تاپ قدیمی پیشنهاد میگردد . سود های خیلی زیاد برای هر دو توسعه دهنده های نرم افزار و درخواستهای مشابه کابرهارا.
برای توسعه دهنده نرم افزار ارزش آشکاری دارد پس اندازی ندارد تا توزیع کند تقاضاها را روی یک واسطه فیزیکی . به علاوه همه به روز شده ها چه در نگهداری یا همه ورژن های جدید فوراً در دسترس به کل هدف مشتری حاضر در زمان کاهش . یک اندوخته نیروی نفرات زیادی هست قطع نظر از در خواستی که اثر گذار هست روی یک اینترانت یا اینترنت عمومی .
برای کاربرد متقاضی سادگی دسترسی تقاضا نیرو بخش است نیازی نیست تا مجموعه اینتستال ها انجام شود وبه علاوه وقتی تکنولوژی جدید وب مثل DHTML و مشخصات مایکروسافت برای کنترل ها یactivex هستند با یک در خواست کاربر از عهده زیادی اینترفیس برمیاید و عملکردی که کاربرهای desktop کامپیوتر دارند میپذیرد.
کاربرد محدود براوسرهای وب برای مشکل های اجرایی مربوط به اصلاح صفحه ها ساکن از سرور های راه دور . به علاوه عملیات جدید نوعی جابجایی دکمه submit است قرار میگیرد روی بیشترسایتهای وب جاری دارای تاثیر روی یکدیگر .
تکنولوژیهای جدید پیشرفته وب قادرند هسته عملیات یک وب در خواستی برای ساختن در حد کامپیوتر موکل که شامل براوسر می شود .
وقتی رکورد جدیدی اطلاعات اساسی مورد نیاز است و نشان داده می شود نیاز نیست تا اصلاح شود صفحه HTML از سرور .تنها اطلاعات مشتری دوباره اصلاح و دوباره نقاشی می شود نه تمام صفحه . این تکنیکها درخواستهای وب را می دهد همان اجرا و ظاهر تکان نمی خورد همنطور که کلاینت سرور قدیمیتر نزدیک می شود .
در خواستهای وب میاید از راه دور از روزهای تک صفحه های HTML ساکن . سرورهای وب اجرا می کنند سرویسهایی به عنوان ترکیبهای سرد یا Asp های مایکروسافت هستند در حال توسعه توانایی دینامیکی ساخته شده صفحه های وب این صفحه های دینامیکی ساخته شدند با استفاده از سمت و سوی برنامه نویسی منطقی و اینترفیسینگ بانک اطلاعاتی .
نتیجه صفحه هایی هست که میتواند ترتیب بدهد روی نصب کردن تا منعکس کند زمان تجارت واقعی اطلاعاتی که توسط کاربر متقاضی بر درخواست میشود.
قبل از دسترسی سرورهای وب که توانستند صفحه های HTML را به صورت دینامیکی بسازند، تکنولوژی Defacto برای وب سایتهای دارای تأثیر روی هم. اینترفیس دروازه معمولی (CGI) بود. تعدادی محدودیت های تکنولوژی CGI به جای جدید منتقل شده و بیشتر سودمند برای زمان اجرا و محیط های پیشرفته.
درخواستهای وب ASP که فراهم میکند اطلاعات بانک اطلاعاتی بوسیلة درخواستهای طبیعی 3-tier هستند. اولین لایه معرف لایه ای هست که اجرا میکند در حد یک براسر وب . این لایه معمولاً یک ترکیبی از HTML و اصل کلاینت ساید مثل جاوا اسکریپت است.
دومین لایه اجرا میشود روی سرور وب زیر سرور اطلاعاتی اینترنت مایکروسافت (IIS).
پیش فرآیندهای IIS صفحه های ASP (صفحه های HTML که یک امتداد فایل 'ASP' دارند.) در طول پیش مرحلة صفحه های ASP، همة نوشته تهیه کردن سرور ساید (همچنین J script , VBScript) اجرا کردنی است. نوشته با صفحه های ASP شامل میشود منطق تجارت را که درخواستهای وب را هدایت میکند. برای درخواستهای بانک اطلاعاتی رانده شده، آن در حد نوشته تهیه کردن ASP هست که دسترسی های بانک اطلاعاتی رخ میدهد.
بانک اطلاعاتی که اغلب روی یک کامپیوتر جدا از IIS هست، شکلهای لایة سوم معماری 3-tier قرار گرفتن همة منطق تجارت به طرف صفحه های ASP بطوریکه نسخة برنامه نویسی ارائه میدهد یک تعداد مشکلات رو. خوشبختانه این مشکلات آسان رفع میشوند با استفاده از اجزاء برنامه نویسی.
از آن جائیکه این عصر اطلاعات فرض شده و از آن جائیکه تمام اطلاعات لازم است نگهداری شود لایه اطلاعاتی که در بالا توصیف شد معمولاً یک قسمت اساسی است توسعه یک سیستم بدون یک لایه اطلاعاتی امکان دارد اما من فکر میکنم برای استفادههای بیشتر لایه اطلاعاتی باید وجود داشته باشد پس این لایه چه هست ؟
اساساً آن هست سیستم مدیریتی بانک اطلاعاتی (DBMS) شما sql server ، access ، oracle ،MYSQL ، فایل های متن ساده هر چه شما دوست دارید.
این لایه به عنوان مجموعه و جامع میتواند باشد همان طور که محصولات باکیفیت بالا مثل sqlserver و oracle که شامل چیزهایی مثل query optimization وindexing و غیره همه راههای پایین ساده نگری فایل های متن ساده (موتوری که بتواند بخواند و جست و جو کند این فایلها را )
بعضی فرمتهای بیشتر معروف ساخته شده ،فایل های متن ساده شامل csv . xml و غیره توجه کنید چطوری این لایه تنها نامزد از پس ذخیره سازی و اصلاح اطلاعات برآمده است .دلواپسی درباره چگونگی برنامه ای که روی عمل یا تحویل این اطلاعات ندارد این همچنین باید شامل روش های ذخیره سازی شما باشد قرار ندهید منطق تجارت را اینجا مهم نیست چطوری امتحان کنید .
-تقدیم لایه منطقی
شما شاید با این لایه آشنا هستید آن عبارت است از اسناد استاندارد ما فرم های ویندوز و غیره ........... این لایه ای است که تهیه میکند یک اینترفیس را برای کاربر آخر در تقاضای شما .آن هست آن کارهایی با بازده لایه تجاری برای تغییر شکل دست درون چیزهای قابل استفاده و قابل خواندن به وسیله کاربر آخری آن باعث توجه من است که توسعه کاربردهای بیشتری برای وب با این لایه سخن گو مستقیم به دسترسی لایه اطلاعات ونه حتی اجرای لایه تجاری .
بعضی وقتها لایه تجاری جدا نگهداری نمی شود از دو لایه دیگر بعضی کاربرها سازگار نیستند با جدا سازی این لایه ها وآن مهم است که آنها جدا نگهداری شوند .
بیشتر توسعه دهنده ها به سادگی ازمیان بعضی sql در asp آنها انتقال به بانک اطلاعاتی گرفتن رکورد است و حلقه در asp آنها تا بازده نتیجه دهد این معمولاً یک ایده خیلی بد است .
لایة جانشین و منطق توزیع:
آن همچنین کوچک است، لایة جانشین مبهم. "proxy" در تعریف است یک شخص (شئ) مجاز انجام دادن عمل برای دیگری. این شئ در زمینة ما رجوع ره هر نوع کدی است که اجرای اعمالی برای چیز دیگری هست (client). قسمت کلیدی تعریف هست "act for another" . لایة جانشین "acting" بخاطر لایة منطقی توزیع شده (یا درخواستهای آخرین کاربر) هست تا تهیه کند دسترسیبه لایة بعدی، لایة تجارت. چرا هر کسی به این نیاز خواهد داشت، این آسان میکند نیاز ما را برای محاسبة توزیع. اساساً آن پایین می آید تا شما انتخاب کنید بعضی متدهای استاندارد ارتباطی بین این دو ماهیت را. آن هست «چطوری می شود مشتری صحبت کند با سرور از راه دور؟
این هست جایی که ما پیدا میکنیم نیاز برای دسترسی پروتکل شو واحد (SOAP) SOAP یک متد خیلی واحد برای انجام آن تدارک میبیند راهی که 2 ماشین دارند
"صحبت کردن" یا "ارتباط با دیگری" (CORBA، RMI، SOAP و ... همه اساساً سودمندند به اندازة عملیات .)
The client interface:
باید توجه داشته باشیم که کاربر آخر ارائه میکند (فرمهای ویندوز ، ...) که مستقیم متصل میشود به لایة تجارت. یک مثال خوب این خواهد بود که کاربر شما در سراسر شبکة منطقی (LAN) خواهد بود. همچنین توجه کنید که آن ادامه دارد بالا و روی لایة منطقی توزیع شده. این نامزد هست تا ثابت کند چطوری میتواند SOPA رو استفاده کند (یا بعضی انواع دیگر توزیع شده- محاسبة پروتکل پیامی) روی کلاینت منتقل کند با سرور و آن درخواستها را داشته باشد. درخواستها تغییر شکل پیدا کند درون بعضی چیزهای قابل خواندن و قابل استفاده برای آخرین کاربر.
The Business tire
این اساساً جایی هست که مغز کاربردی شما ساکن میشود. آن شامل چیزهایی شبیه قوانین تجاری، ساختن اطلاعات و ... می شود. برای مثال، اگر شما در حال ایجاد یک موتور جستجو هستید و شمات میخواهید تا اندازه / سنجیدن هر آیتم جور شدنی بر پایة بعضی معیار عادت قرار دهید این منطق رو در این لایه. این لایه هیچ چیزی دربارة HTML نمی داند، همینطور خروجی آن. نگرانی ندارد دربارة ADO یا SQL و آن هیچ کدی برای دسترسی دیتابیس یا شبیه آن نباید داشته باشد.
آن ابزار ها تعیین کننده هر لایه مشابهی هستند بالا یا زیر آن ما باید یک فهم خیلی اساسی برنامه نویسی شی گرا (oop ) را در این زمان کسب کنیم .
برای روشن کردن به مثال دیگری نگاه کنید مثلاً یک کاربرد خرید cart تفکر در شرایط اشیا اصلی . ما خلق کردیم یک شی را تا نمایش دهیم هر محصولی را برا ی فروش این شی تولیدی settersg getters خاصیت استاندارد دارد :getsize , setcolor , setsize, getcolor و غیره است آن یک واحد قو ابزاری هر محصول عمومی است از داخل آن تنها میداند چگونه برگرداند اطلاعات (getters)و بفهمد چطوری آن میتواند قانونی اطلاعاتی که شما میریزید به طرف آن (تنها برا استفاده محدود آن ) آن خود جاگیر است ( encapsulation) کلیدی اینجا هست تا encapsulate کند همه وابسته های منطقی را تا محصولات عمومی در حد این شی اگر شما سوال کنید آن را برای getprice آن بر خواهد گشت قیمت آیتم واحد آن تقدیم کند همچنین اگرشما آگاهی بدهید آن را به validate یا save آن brain هایی داردتا بتواند بکار بر داینرا بر گردونه هر اشتباهاتی و غیره .........
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 26 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلودمقاله پروژه : اجزای اضافی نسبت به فضای 3_ tier در فضای n_tier