بخشی از مقاله


پروژه : اجزاي اضافي نسبت به فضاي 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)و بفهمد چطوري آن ميتواند قانوني اطلاعاتي كه شما ميريزيد به طرف آن (تنها برا استفاده محدود آن ) آن خود جاگير است

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید