صفحه 1 از 5 123 ... آخرآخر
نمایش نتایج 1 تا 40 از 163

نام تاپیک: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

  1. #1

    سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    سلام دوستان عزیز،
    پیش از آغاز فعالیت ، تاپیک "آغاز پیاده سازی طرح ارتقاء سطح علمی - ذکر جزییات" را مطالعه نمایید ،
    در یکسری مباحث قصد داریم تا بر روی معماری چندلایه و مطالب مرتبط با آن گفتگو و تبادل نظر کنیم تا در نهایت با روش های پیاده سازی این مغماری آشنا شویم،
    لطفا" در هر مرحله از بحث، تنها بر روی سوال طرخ شده گفتگو نمایید و همچنین از Copy/Paste کردن مقالات دیگر سایت ها خودداری کرده و در صورت لزوم تنها به معرفی لینک بسنده نمایید،
    در قدم اول بحث خود را با بررسی مزایای به کار گیری این معماری آغاز می کنیم؛

    قدم اول:
    1) مزایای بهره گیری از معماری چند لایه چیست؟ و در صورت عدم پیاده سازی این معماری چه مشکلاتی به وجود خواهد آمد؟

    قدم دوم:
    1) در معماری 3 لایه برنامه به چه بخش هایی تقسیم می شود و هر یک چه وظیفه ای را بر عهده دارند و چگونه با یکدیگر ارتباط برقرار می کنند؟
    قدم سوم: کار بر روی یک مثال عملی

    مرحله فعال: قدم سوم

    پ.ن : مطالبی که از سوی بنده مطرح میشود ، جهت به چالش کشیدن بحث میباشد و بعضا" ممکن است ساده یا با جواب مشخص و معلوم به نظر بیایند ، این بدان خاطر است که قصد بر این است تا این گفتگوها برای افرادی با سطح علمی پایین تر نیز مفید واقع شود و ممکن است این مطالب در ذهن آنها نیز مطرح گردد ، همچنین جهت این است که تمام جوانب نظر شخص شرکت کننده در گفتگو مورد بررسی قرار گیرد،
    I've just started tweeting!
    @Alireza_Maddah

  2. #2
    کاربر تازه وارد آواتار آریوس1985
    تاریخ عضویت
    آذر 1386
    محل زندگی
    شهری دیو پرور و فاسد پرست
    پست
    72

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    فکر می کنم مثل هر تخصص دیگری، استفاده از استاندارد های تعریف شده باعث سهولت فهم برای هر کسی یا حتی خود فرد (در صورت رجوع به کد بعد از مدت زمان زیاد) می شود.
    احتمال استفاده از راه های ناکارآمد هم رو هم میتونه کاهش بده.

  3. #3
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    قدم اول:
    1) مزایای بهره گیری از معماری چند لایه چیست؟ و در صورت عدم پیاده سازی این معماری چه مشکلاتی به وجود خواهد آمد؟
    استفاده از معماری چند لایه، برنامه نویسی رو شی گراتر، کد نویسی رو کمتر، اشکال زدایی رو راحتتر و قابلیت استفاده مجدد کد رو فراهم میکنه و به روند تولید نرم افزار سرعت میده.
    هدف از معماری چند لایه، شکستن ساختار یک نرم افزار در حال تولید به قطعات کوچکتر است که هر کدام عهده دار وظایف خاصی هستند. بی شک،عدم استفاده از این معماری در تولید نرم افزار، امتیازات بالا رو به همراه نخواهد داشت!

  4. #4
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    لایه بندی امکان انجام کار گروهی ، و استفاده مجدد را فراهم میکند فرض کنید یک پروژه Windapp رو که لایه بندی هم شده بخواهیم ببریم و WebBase کنیم درصد زیادی از کدها مخصوصا لایه DAL و BL رو که تقریبا میشود کامل برد در پروژه بعدی . در ضمن شکل برنامه نویسی یک Tem خاص پیدا میکند که در صورت انجام یک پروژه با یک گروه برای کارهای بعدی هماهنگ تر میشود عمل کرد . زمان رو هم کم میکنه

  5. #5

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    استفاده از معماری چند لایه، برنامه نویسی رو شی گراتر، کد نویسی رو کمتر، اشکال زدایی رو راحتتر و قابلیت استفاده مجدد کد رو فراهم میکنه و به روند تولید نرم افزار سرعت میده.
    هدف از معماری چند لایه، شکستن ساختار یک نرم افزار در حال تولید به قطعات کوچکتر است که هر کدام عهده دار وظایف خاصی هستند. بی شک،عدم استفاده از این معماری در تولید نرم افزار، امتیازات بالا رو به همراه نخواهد داشت!
    بدون نقص بود!

    لایه بندی امکان انجام کار گروهی ، و استفاده مجدد را فراهم میکند فرض کنید یک پروژه Windapp رو که لایه بندی هم شده بخواهیم ببریم و WebBase کنیم درصد زیادی از کدها مخصوصا لایه DAL و BL رو که تقریبا میشود کامل برد در پروژه بعدی . در ضمن شکل برنامه نویسی یک Tem خاص پیدا میکند که در صورت انجام یک پروژه با یک گروه برای کارهای بعدی هماهنگ تر میشود عمل کرد . زمان رو هم کم میکنه
    دقيقاً حتي احتياجي به جابه جايي DAL و BLL نيست و ميشه همون View كار رو به Web App تغيير داد كه با اين تغيير ساختار يه سري متدهايي هم بايد به DAL يا BLL اضافه بشه ولي در كل پيكربندي و استخوان بندي يا ساختار كار همون هستش. بهترين تعريف رو جناب hdv212 ارائه دادن.

  6. #6
    کاربر دائمی آواتار mohsen_zelzela00
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    internet && .net
    پست
    755

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    یک سوال از دوستان داشتم که آیا امنیت نرم افزار بالا میرود

  7. #7
    VIP آواتار Sajjad.Aghapour
    تاریخ عضویت
    مهر 1386
    محل زندگی
    اهل کاشانم .. روزگارم بد نیست
    پست
    1,265

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    فکر نکنم در امنیت نرم افزار تاثیری داشته باشه.چون شما می تونی همه کارهایی که در چند لایه می خواهی انجام بدی در یک لایه هم می تونی اون رو انجام بدی.....
    همین الان یه مثال اومد تو ذهنم (البته نمی دونم تا چقدر می تونه مطلب رو برسونه)......
    فرض کنید شما یک چند قطعه فلزی دارید که می خواهید اونها رو به هم وصل کنید.حالا شما می تونید اونها رو به هم جوش بدید یا اینکه اونها رو پیچ و مهره کنید.
    به نظر شما اگه یکی از قطعه ها اشتباهی جاسازی داده شد یا اینکه قطعه ای پس از چند روز فرسوده شد توی کدوم روش می تونی راحت تر قطعه رو تعویض کنی؟
    خوب مطمئنا اون که پیچ و مهره شده.در حالی که استحکام هر کدوم می تونه مثل هم باشه.....
    هدف معماری چند لایه هم همین هست.همان طور که حامد جان توضیح دادن : "هدف از معماری چند لایه، شکستن ساختار یک نرم افزار در حال تولید به قطعات کوچکتر است که هر کدام عهده دار وظایف خاصی هستند.بی شک،عدم استفاده از این معماری در تولید نرم افزار، امتیازات بالا رو به همراه نخواهد داشت"....
    در این صورت شما قدرت به روزرسانی بیشتر،باگ گیری سریعتر،سردرگمی کمتر و مزایای دیگه ای رو به پروژه ات اضافه کردی.......
    Close your eyes, take a deep breath, click your heels three times, and say, "There's no better thing than Inversion of Control and Dependency Injection, generic specialization, the decorator pattern, chains of responsibilities, and extensible software."

  8. #8
    کاربر تازه وارد آواتار hosseinsinohe
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    WWW
    پست
    72

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    نقل قول نوشته شده توسط sajjadlove مشاهده تاپیک
    فکر نکنم در امنیت نرم افزار تاثیری داشته باشه.چون شما می تونی همه کارهایی که در چند لایه می خواهی انجام بدی در یک لایه هم می تونی اون رو انجام بدی.....
    همین الان یه مثال اومد تو ذهنم (البته نمی دونم تا چقدر می تونه مطلب رو برسونه)......
    فرض کنید شما یک چند قطعه فلزی دارید که می خواهید اونها رو به هم وصل کنید.حالا شما می تونید اونها رو به هم جوش بدید یا اینکه اونها رو پیچ و مهره کنید.
    به نظر شما اگه یکی از قطعه ها اشتباهی جاسازی داده شد یا اینکه قطعه ای پس از چند روز فرسوده شد توی کدوم روش می تونی راحت تر قطعه رو تعویض کنی؟
    خوب مطمئنا اون که پیچ و مهره شده.در حالی که استحکام هر کدوم می تونه مثل هم باشه.....
    هدف معماری چند لایه هم همین هست.همان طور که حامد جان توضیح دادن : "هدف از معماری چند لایه، شکستن ساختار یک نرم افزار در حال تولید به قطعات کوچکتر است که هر کدام عهده دار وظایف خاصی هستند.بی شک،عدم استفاده از این معماری در تولید نرم افزار، امتیازات بالا رو به همراه نخواهد داشت"....
    در این صورت شما قدرت به روزرسانی بیشتر،باگ گیری سریعتر،سردرگمی کمتر و مزایای دیگه ای رو به پروژه ات اضافه کردی.......

    آفرين!!!
    دقيقا همينه!
    شكستن يك برنامه به قسمت هاي كوچكتر و سپس پيچ و مهره كردن اين قسمت هاي جدا.در اين حالت در صورت نياز به تغيير فقط بخش مورد نظر رو تغيير مي ديم.


    اما سوال اينجاست كه چه روش ها و قوانيني وجود داره تا ما بتونيم يك برنامه بانك اطلاعاتي خودمون رو به صورت چند لايه پياده سازي كنيم.سپس از يك لايه در لايه ديگه استفاده كنيم!!!

  9. #9

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    با سلام به دوستان و تبریک سال جدید ....
    1) مزایای بهره گیری از معماری چند لایه چیست؟ و در صورت عدم پیاده سازی این معماری چه مشکلاتی به وجود خواهد آمد؟
    فکر کنم یکی از مزایای استفاده از معماری چند لایه این باشه که میشه هر لایه رو در یک سیستم گذاشت و این باعث میشه در برنامه های گسترده و بزرگ ؛ سرعت و کارایی رو بهتر کنه و حال اگه همین چند لایه در یک سرور باشه بار زیادی رو روی سرور اعمال می کنه و تقسیم برنامه به چند لایه و انتقال لایه ها به سرور های مجزا امکان استفاده کاربران بیشتری رو از برنامه فراهم می کنه ...
    خواستن ، توانتستن است !!!

  10. #10

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    amin_alexi بهترین پاسخ رو داد.
    هر چند که این مورد ممکنه به ندرت اتفاق بیفته که لایه ها رو بر روی سیستم های مختلف قرار بدید، اما در کل وقتی که مشکلی برای یکی از سیستم ها به وجود بیاد، لایه ی موجود بر روی اون سیستم می تونه به سیستم دیگه ای منتقل بشه.

    موفق باشید.

  11. #11
    VIP
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    نقل قول نوشته شده توسط sajjadlove مشاهده تاپیک
    فکر نکنم در امنیت نرم افزار تاثیری داشته باشه.چون شما می تونی همه کارهایی که در چند لایه می خواهی انجام بدی در یک لایه هم می تونی اون رو انجام بدی.....
    .
    همچین هم بی تاثیر نیست , مخصوصا زمانی که هر لایه روی سیستم جداگانه ای قرار بگیره.

    نظر شخصی بنده اینه که oop خودش رو درمعماری nلایه نشون میده و کاربر راحتر حسش میکنه.

  12. #12

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    در مورد امنيت تعجب كردم كه دوستان ميگن تاثيري نداره!

    ضمنا يه سوال : اگه قرار باشه همه لايه ها تو يك pc باشن اين نوع پروژه اي چه خاصيتي داره ؟
    چون معماري لايه اي بيشترين كاربردشون تو برنامه هاي توزيع شده هست

  13. #13
    کاربر دائمی آواتار mohsen_zelzela00
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    internet && .net
    پست
    755

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    من هم وقتی دوست عزیزمان گفتند که در امنیت تاثیر نداره یه خورده تعجب کردم چون در یک مقاله خونده بودم که امنیت برنامه رو بالا میبره(مقاله به زبان لاتین بود)

  14. #14
    VIP
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    نقل قول نوشته شده توسط dj_mesmol مشاهده تاپیک
    ضمنا يه سوال : اگه قرار باشه همه لايه ها تو يك pc باشن اين نوع پروژه اي چه خاصيتي داره ؟
    معماری n لایه نمیگه که هر لایه در یک pc نصب بشه , ماهیت بعضی از نرم افزار ها اینه که هر لایه در یک pc قرار بگیره و بعضی دیگه در این که همه لایه ها در یک pc قرار بگیرن .
    خاصیتش هم در بازنویسی و ویرایش و سرعت کار و در نتیجه هزینه هستش.

    چون معماري لايه اي بيشترين كاربردشون تو برنامه هاي توزيع شده هست
    متوجه نشدم!!! خوب همه برنامه ها قرار توزیع بشن.

  15. #15
    VIP
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    نقل قول نوشته شده توسط mohsen_zelzela00 مشاهده تاپیک
    من هم وقتی دوست عزیزمان گفتند که در امنیت تاثیر نداره یه خورده تعجب کردم چون در یک مقاله خونده بودم که امنیت برنامه رو بالا میبره(مقاله به زبان لاتین بود)
    البته معمولا وقتی از تاثیر امنیت در کنار معماری nلایه صحبت میکنیم , منظور امنیت داده ها هست.

  16. #16

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    نقل قول نوشته شده توسط majid325 مشاهده تاپیک
    معماری n لایه نمیگه که هر لایه در یک pc نصب بشه , ماهیت بعضی از نرم افزار ها اینه که هر لایه در یک pc قرار بگیره و بعضی دیگه در این که همه لایه ها در یک pc قرار بگیرن .
    خاصیتش هم در بازنویسی و ویرایش و سرعت کار و در نتیجه هزینه هستش.



    متوجه نشدم!!! خوب همه برنامه ها قرار توزیع بشن.
    منظورم Distributed Application هست

  17. #17
    کاربر دائمی آواتار mohsen_zelzela00
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    internet && .net
    پست
    755

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    نقل قول نوشته شده توسط majid325 مشاهده تاپیک
    البته معمولا وقتی از تاثیر امنیت در کنار معماری nلایه صحبت میکنیم , منظور امنیت داده ها هست.
    دوست عزیز دقیقاً منظور من از امنیت امنیت داده هاست

  18. #18
    VIP
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    نقل قول نوشته شده توسط dj_mesmol مشاهده تاپیک
    منظورم Distributed Application هست
    اگه منظورتون Software Engineering of Distributed Systems هست:

    دقیقا(از منظر Software Engineering of Distributed Systems) این معماری در مقابله با مشکلاتی که در عدم استفاده از این معماری به وجود میاد , بر پا شده, این همون مسئله ای هست که شما هم بهش شاره کردین ولی به Location هر لایه ربطی نداره .

  19. #19

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    این معماری در مقابله با مشکلاتی که در عدم استفاده از این معماری به وجود میاد , بر پا شده
    تعريف شما از Distributed Systems اينه ؟

    ولی به Location هر لایه ربطی نداره .
    ميشه بيشتر توضيح بديد
    يعني تو برنامه هاي توزيع شده لوكيشن هر لايه مساله نيست ؟ و همه لايه ها در يك pc ن

  20. #20
    VIP
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    نقل قول نوشته شده توسط dj_mesmol مشاهده تاپیک
    تعريف شما از Distributed Systems اينه ؟
    من فقط سعی کردم در یک خط رابطه این معماری و Distributed Systems رو توضیح بدم , نه اینکه Distributed Systems رو تعریف کنم.

    ميشه بيشتر توضيح بديد
    يعني تو برنامه هاي توزيع شده لوكيشن هر لايه مساله نيست ؟ و همه لايه ها در يك pc ن
    قبلا یه اشاره ی کردم.
    وقتی میگیم Distributed Systems , یعنی داریم درباره سیستم های توزیع شده ی غیر متمرکز صحبت میکنیم , حالا این غیر متمرکز بودن, همون زمان که یک سیستم رو به n لایه تقسیم میکنیم به وجود میاد و اینکه یک سیستم nلایه در یک pc پیاده سازی بشه یا چند pc , تناقضی در Distributed Systems بودن سیستم ما ایجاد نمیکنه , مسئله پیاده سازی Distributed Systems در چند pc یا یک pc اول از همه به ماهیت یک سیستم ربط داره و در درجه دوم به میزان سرمایه گزاری...
    در آخر ذات nLayer به صورت Distributed Systems و همین یکی از مزایای nلایه هست.

  21. #21
    کاربر تازه وارد آواتار hosseinsinohe
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    WWW
    پست
    72

    در امنيت هم تاثير دارد

    بدون شك برنامه نويسي چند لايه در امنيت داده ها و سيستم و همچنين قابليت اطمينان سيستم تاثير به سزايي دارد.

    يك برنامه مثلا 3 لايه را در نظز بگيريد.فرض كنيد به دليل بزرگ بودن سيستم و دلايلي ديگر هر بخش آن بر روي يك سيستم قرار بگيرد.مثلا DL بر روي يك سرور BL بر روي يك يا چند سرور ديگر و لايه سوم (لايه نمايش)بر روي كامپيوتر هاي كلاينت نصب گردد.در هنگام اجراي اين نرم افزار برنامه اي كه بر روي سيستم هاي كاربران نهايي شروع به انجام كار مي نمايد هيچ اطلاعي از ساختار لايه DL ندارد و فقط فرامين مربوطه را از لايه BL در خواست مي نمايد.در اين حالت به دليل اينكه برنامه به صورت مستقيم با لايه مربوط به داده ها در رابطه نيست به همين دليل امنيت بالا مي رود و سيستم ها براي دسترسي به داده ها بايد از يك لايه مياني عبور كرده تا به داده ها دسترسي پيدا كنند.
    اين فقط جزيي از موارد امنيت اين نوع برنامه نويسي مي باشد.

    موفق باشيد

    آخرین ویرایش به وسیله hosseinsinohe : شنبه 08 فروردین 1388 در 12:29 عصر

  22. #22

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    از شرکت دوستان در بحث سپاسگزارم،
    می توان تکات مهم بحث را اینطور خلاصه کرد:
    1)در معماری چند لایه، برنامه به قسمت های کوچکتری تقسیم می شود که هریک وظیفه ی خاصی را بر عهده دارند، بدین معنا که هر Task(وظیفه) در لایه ی مخصوص به خود انجام می شود،
    2)اگر لایه ها به طور فیزیکی از یکدیگر مجزا شده باشند، به هر یک از آن ها یک Tier گفته می شود و هر یک از این Tier ها می توانند بر روی یک سرور مجزا قرار گیرند(Distributed Applications)، (در یک Solution، برای هر Tier، یک پروژه جدید ایجاد می گردد)
    3)در صورتی که لایه ها به طور منطقی از یکدیگر مجزا شده باشند، به هر یک از آنها یک Layer گفته می شود و عموما" تمامی لایه ها در یک پروژه قرار خواهد گرفت،
    4)نگهداری(Maintenance) آسانتر می گردد، بدین صورت که با بهره گیری از یک سری استاندارد ها و فریم ورک ها و نیز برتامه نویسی شیء گرا این امر محقق می گردد،
    5)امکان اضافه کردن یک لایه به لایه های موجود و یا تعویض یک لایه با یک لایه ی دیگر وجود دارد،
    6)کار گروهی نیز بسیار منظم تر خواهد شد،
    7)با بهره گیری از قوانین برنامه نویسی شیء گرا می توان هر تغییری در عملکرد برنامه را در کمترین زمان و با پایین ترین میزان تاثیر منفی در کارکرد سایر قسمت ها، اعمال نمود،
    8)با به کار گیری مکانیزم های موجود، اشکال زدایی(Debugging) پروژه بسیار راحت تر خواهد بود و در حقیقت موجب ارتقاء Manageability سیستم می گردد،
    9)امنیت(Security) نیز ارتقاء می یابد،
    10)...

    حال به سراغ مرحله ی دوم بحث می رویم و کار خود را با بحث بر روی معماری 3 لایه آغاز می کنیم؛
    لطفا" پست اول تاپیک را مطالعه نمایید،
    در ضمن لطفا" در هر مرحله از بحث تنها بر روی موضوع مطرح شده در همان مرحله متمرکز شوید تا بحث از مسیر اصلی خود منحرف نگردد،
    I've just started tweeting!
    @Alireza_Maddah

  23. #23
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    در برنامه نویس دات ارگ
    پست
    39

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier Architecture)

    در معماری 3 لایه برنامه به چه بخش هایی تقسیم می شود و هر یک چه وظیفه ای را بر عهده دارند و چگونه با یکدیگر ارتباط برقرار می کنند؟

    در معماری 3 لایه برنامه دارای بخش های زیر می باشد :

    1) Presentation Layer لایه نمایش
    2) Business Logic Layer لایه منطق
    3) Data Access Layer لایه دسترسی به داده

    در لایه دسترسی به داده هرگونه عملیات خواندن درج بروز رسانی و حذف داده های پایگاه داده را بر عهده می گیرد

    در لایه منطق که از لایه داده استفاده می شود . و می تواند هر کدام از عملیات درج و یا بروزرسانی و .. را از لایه داده انتخاب کند . ولی هیچ اطلاعی از نحوی پیاده سازی آن ندارد.
    نکته مهم در لایه منطق این است که گردش کار برنامه در این لایه انجام میشود .
    یعنی این لایه با در دست داشتن عملیات درج بروز رسانی و .. می تواند یک گردش کار را بوجود بیاورد.

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

  24. #24
    کاربر تازه وارد آواتار hosseinsinohe
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    WWW
    پست
    72

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    تشكر مي كنم از دوست عزيزمون iroonidotnet

    در يك برنامه 3 لايه،لايه داده (Data Layer) مي تواند يك يا چند Stored Proceture باشد كه حاوي دستورات Sql مي باشند و در زمان لازم اجرا مي شوند.وقتي كه از Stored Proceture ها استفاده مي كنيم باعت مي شود كه ديگر لازم نباشد دستورات Sql خود را توسط برنامه حاوي رابط كاربر به بانك اطلاعات بفرستيم و اين باعث مي شود كه برنامه ما در لايه هاي منطقي و نمايش اطلاعي از اين دستورات و ساختار آنها نداشته باشند.در ضمن استفاده از Stored Proceture باعث افزايش سرعت برنامه مي شوند.

    لايه منطقي مي تواند يك سرويس وب (Web Service) باشد.در اين لايه قوانين تجاري و محاسبات برنامه قرار مي گيرند و همانطور دوست عزيزمون iroonidotnet گفتند اين لايه كه يك لايه مياني نيز مي باشد با لايه داده و نمايش در ارتباط است و مثلا داده ها را از لايه داده دريافت كرده و به لايه نمايش ارسال مي كند.تغييراتي كه در لايه نمايش بر روي داده ها انجام مي گيرد توسط لايه منطقي به لايه داده فرستاده مي شود.

    لايه نمايش هم مي تواند يك برنامه Windows Application و يا Web Application باشد كه به عنوان يك رابط كاربر قرار گرفته و كاربر نهايي با آن در تعامل مي باشد.
    آخرین ویرایش به وسیله hosseinsinohe : چهارشنبه 12 فروردین 1388 در 17:09 عصر دلیل: اشتباه تايپي

  25. #25
    VIP آواتار Sajjad.Aghapour
    تاریخ عضویت
    مهر 1386
    محل زندگی
    اهل کاشانم .. روزگارم بد نیست
    پست
    1,265

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    جناب مداح ببخشید.چند وقتی نبودم ،مجبور شدم یه flashback بزنم......
    mohsen_zelzela00
    من هم وقتی دوست عزیزمان گفتند که در امنیت تاثیر نداره یه خورده تعجب کردم چون در یک مقاله خونده بودم که امنیت برنامه رو بالا میبره(مقاله به زبان لاتین بود)
    ممنون میشم مقاله رو بذارید یا اینکه لینکش رو بدید...
    majid325
    اینکه یک سیستم nلایه در یک pc پیاده سازی بشه یا چند pc , تناقضی در Distributed Systems بودن سیستم ما ایجاد نمیکنه
    میشه یه توضیحی بدید.....

    در فلسفه ایجاد N'Tier امنیت در برابر ویژگی های دیگه چه جایگاهی داره؟ یک برنامه ای که فقط در یک لایه پیاده سازی شده و در سطح کیفی بسیار خوبی از همه لحاظ هم قرار داره با همون برنامه که در چند لایه پیاده سازی شده،چند درصد از لحاظ امنیت فرق داره؟
    چه تدابیری در چندلایه وجود داره که نمیشه در مورد اونها در یک لایه بحث کرد؟(از لحاظ امنیت)
    Close your eyes, take a deep breath, click your heels three times, and say, "There's no better thing than Inversion of Control and Dependency Injection, generic specialization, the decorator pattern, chains of responsibilities, and extensible software."

  26. #26

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    جناب مداح ببخشید.چند وقتی نبودم ،مجبور شدم یه flashback بزنم ...
    نقل قول:
    mohsen_zelzela00
    من هم وقتی دوست عزیزمان گفتند که در امنیت تاثیر نداره یه خورده تعجب کردم چون در یک مقاله خونده بودم که امنیت برنامه رو بالا میبره(مقاله به زبان لاتین بود)
    ممنون میشم مقاله رو بذارید یا اینکه لینکش رو بدید...
    فکر میکنم مساله امنیت بهتر در معماری چند لایه بدیهی باشه !!
    استنباط خودم رو در مورد امنیت چند لایه با یک مثال توضیح می دم
    یکی از روشهایی که معمولا برای دسترسی به اطلاعات (برای خرابکاری یا دزدی !) مورد استفاده قرار میگیره شناسایی سروری که اطلاعات در اون قرار داره ...
    حال در معماری 3Tier شما برای دسترسی به اطلاعات باید اول Computer که لایه BLL در اون قرار داره شناسایی کنید و بعد بتونید به اون نفوذ کنید تا بتونید از طریق اون لایه DAL رو شناسایی کنید و بعد از طریق لایه DAL بتونید محل اطلاعات رو شناسایی کنید !!!
    حال در معماری بدون استفاده از nTier که یک Client و یک Server داره شناسایی کامپیوتر Server که اطلاعات در اون قرار داره به مراتب راحتتره و در یک مرحله انجام میشه ... (البته نه به این راحتی که من نوشتم!!!)
    پس من خودم نتیجه می گیرم که معماری nTier به امنیت سیستم کمک بسزایی می کند ...
    (مگه اینکه دوستان گفته های من رو نقض کنند )
    آخرین ویرایش به وسیله amin_alexi : یک شنبه 16 فروردین 1388 در 14:25 عصر
    خواستن ، توانتستن است !!!

  27. #27
    VIP
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    نقل قول نوشته شده توسط sajjadlove مشاهده تاپیک
    میشه یه توضیحی بدید.....
    نسبت به تعریف آقای مداح:
    شما اون nلایه رو nTier بخونی , درست میشه.

  28. #28

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    دوستان عزیز، لطفا" بحث را از قدم دوم ادامه دهید،/
    I've just started tweeting!
    @Alireza_Maddah

  29. #29

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    حالا یه مقدار در مورد چگونگی ارتباط لایه ها بحث کنیم (در مورد نحوه تقسم بندی و وظیفه هر بخش یه مقداری توضیح داده شد )
    نحوه برقراری و دسترسی لایه ها به هم :
    هر لایه می تواند تنها به کلاسها ،متد ها و Property های یک لایه پایین تر از خودش دسترسی داشته باشه ... به عنوان مثال لایه UI تنها می تواند به لایه BLL دسترسی داشته باشد و مجاز نیست از کلاسها ،متد ها و Property های لایه DAL استفاده کند (به نوعی مجاز نیستیم یک لایه رو دور بزنیم تا به لایه دیگه برسیم) و همچنین لایه DAL نمی تواند به کلاسها ،متد ها و Property های لایه BLL دسترسی داشته باشد (دسترسی به لایه بالاتر مجاز نیست ) .
    فکر کنم با توجه به ماهیت هر لایه ما محدودیت در فرستادن اطلاعات بین لایه ها داریم مثلا اگه یک لایه Web Service باشه ما نمی تونیم هر نوع دادهای رو به لایه دیگه بفرستیم یا بگیریم مگر اینکه نوع داده ای که می خوایم انتقال بدیم رو به ساختار مجاز برای اون لایه تبدیل کنیم
    خواستن ، توانتستن است !!!

  30. #30
    VIP
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    نقل قول نوشته شده توسط amin_alexi مشاهده تاپیک
    به نوعی مجاز نیستیم یک لایه رو دور بزنیم تا به لایه دیگه برسیم
    در این مورد من شک دارم! از نظر کلی جمله شما صحیح است ولی بعضا موارد خاص هم وجود دارد تا این شبه قانون رو نقض کنیم.
    من خودم تا حالا این کار رو انجام نداده ام(نقض کردن شبه قانون ذکر شده)

  31. #31

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    در این مورد من شک دارم! از نظر کلی جمله شما صحیح است ولی بعضا موارد خاص هم وجود دارد تا این شبه قانون رو نقض کنیم.
    من خودم تا حالا این کار رو انجام نداده ام(نقض کردن شبه قانون ذکر شده)
    من فکر می کنم تحت هیچ عنوان مجاز به دور زدن نیستیم (دور زدن ممنوع !! )
    از دوستان آیا کسی هست که بگه آیا میشه دور زد ؟! اگه آره به چه صورت ؟! آیا این کار مجازه !؟
    خواستن ، توانتستن است !!!

  32. #32

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    آیا این کار مجازه !؟
    مجاز بودن یا نبودن، مهم نیست.
    مهم اینه که ما لایه هامون رو طوری طراحی کنیم که نشه اساسا دورشون زد.

  33. #33
    VIP
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    نقل قول نوشته شده توسط anubis_ir مشاهده تاپیک
    من اين سؤال رو صفحه قبل پرسيدم ولي حذف شد. چطوري اينكار رو بكنيم؟ مثالي؟ كار عملي؟
    با این دید که هر لایه یک پروژه(فضای نام) هست و برای کا با هر فضای نام باید آن را در پروژه (لایه) مورد نظر using کرد , میشه .

    در مورد مثال و کار عملی:
    فکر میکنم این تاپیک داره مسیر و هدف خاصی رو دنبال میکنه .

  34. #34

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    با این دید که هر لایه یک پروژه(فضای نام) هست و برای کا با هر فضای نام باید آن را در پروژه (لایه) مورد نظر using کرد , میشه .
    یعنی با این کار، دستری به DAL از طریق PL دیگه امکان پذیر نیست؟؟؟

  35. #35

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    یعنی با این کار، دستری به DAL از طریق PL دیگه امکان پذیر نیست؟؟؟
    یکی از هداف برنامه نویسی چند لایه این است که لایه ی Presentation به طور مستقیم با لایه ی Data Access ارتباط نداشته باشد، پس در یک برنامه چندلایه که به طور صحیح پیاده سازی شده باشد، لایه ی Presention/UI به لایه ی Data Access دسترسی ندارد،
    از ویژگی های برنامه چند لایه صحیح به زبان ساده این است که لایه ی UI "نمی داند Data از کجا آمده است." و از منبع داده اطلاعی ندارد، بدین معنا که تاکید میکنم در یک برنامه چند لایه صحیح، اگر دیتابیس ما به طور مثال از SQL Server به Oracle تغییر پیدا کند، نباید لایه ی UI تحت تاثیر قرار بگیرد،
    اگر دقت کنید، به لایه ی Business Logics، لایه ی میانی(Middle-Tier/Layer) هم گفته می شود و در معماری 3 لایه واسطی است میان 2 لایه ی UI و DA.
    خلاصه:
    1)لایه UI توسط لایه BL(یا Middle-Tier) با لایه ی DAL ارتباط برقرار می کند.
    2)لایه UI دسترسی مستقیم به دیتابیس و لایه DAL ندارد.
    3)تغییر دیتابیس و منبع داده بر روی لایه UI تاثیری ندارد.
    4)...
    دوستان لطفا" عجله نکنید و اجازه دهید ابتدا یکسری مفاهیم روشن شود، پس از آن مثال عملی هم خواهیم داشت ،/
    I've just started tweeting!
    @Alireza_Maddah

  36. #36

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    نکات ذکر شده، کاملا درسته و هیچ شکی درش نیست؛ لکن در مورد کار تیمی چیکار میشه کرد...
    به این معنی که من مثلا طراح DAL یا BLL هستم، حالا چطور می تونم دسترسی طراح UI رو به لایه ی DAL از اساس قطع کنم نه اینکه خود فرد از اون لایه استفاده نکنه به خاطر رعایت اصول معماری؟؟؟

  37. #37
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    در برنامه نویس دات ارگ
    پست
    39

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    نکات ذکر شده، کاملا درسته و هیچ شکی درش نیست؛ لکن در مورد کار تیمی چیکار میشه کرد...
    به این معنی که من مثلا طراح DAL یا BLL هستم، حالا چطور می تونم دسترسی طراح UI رو به لایه ی DAL از اساس قطع کنم نه اینکه خود فرد از اون لایه استفاده نکنه به خاطر رعایت اصول معماری؟؟؟
    در نظر بگیرید که ما می خوایم یک پروژه رو بر اساس اصول شروع کنیم . اگر میخوایم همه کار هامون بر اساس اصول باشه . قبل از اینکه بشینیم کد بنویسیم . باید در باره پروژه و همه ابعاد اون خوب صحبت کنیم . و برای کار گروهی باید کار ها رو بشکنیم. یکی از جنبه های صحبت های ما میتونه در باره توابع اصلی لایه های DAL و BLL باشه
    اگر قرار باشه سه لایه رو سه نفر جداگانه انجام بدن . بهتر است همون اول بیایم امضای توابع رو با یک یکپارچگی خاص در درون لایه ها و کلاس هاشون قرار بدیم . بعد بیایم پیاده سازی این توابع رو در اختیار افراد قرار بدیم . این توابع ، توابعی هستند که کار ها و اهداف اصلی رو انجام میدن . حالا شاید یک برنامه نویس برای رسید به هدف این تابع از توابعی کمکی که خودش بوجود میاره استفاده کنه. به نظر بنده با این کار براحتی میشه برنامه ها با معماری چند لایه رو در اختیار چندین نفر گذاشت . و نگران سرعت کار اونها و عقب یا چلو بود لایه ای از لایه ی دیگر نبود. یکی از مزیت های این روش اینه که از همون اول دید بسیار خوبی از پروژه به شما میده

  38. #38

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    سوال من در این مورد نبود، نکاتی رو که شما ذکر کردین، مراحل پیاده سازی یه پروژه به صورت اصولی و منطقیه، اما سوالی که من دارم در مورد تظمین امنیت DAL هستش...

    با تشکر

  39. #39
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    در برنامه نویس دات ارگ
    پست
    39

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    دوست عزیز میشه سوالتون رو یکم واضح تر مطرح کنید. ممنون از سوالتون

  40. #40

    نقل قول: سناریو 4 - معماری چندلایه(N-Tier/N-Layer Architecture)

    چطور میشه امنیت DAL رو تضمین کرد یعنی از UI اساسا نشه به DAL دسترسی پیدا کرد؟

    راه حل شما چیه؟

    آیا صرفا اینکه ما خودمون نریم سراغش، تضمینی به ما میده؟ (نه)

    پ ن: اگر از بحث دارم خارج می شم، تذکر بدین...
    با تشکر

صفحه 1 از 5 123 ... آخرآخر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •