PDA

View Full Version : برای یک سیستم اتوماسیون، کدامیک رو ترجیح میدید و چرا ؟ WinApplication or webApplication.



hdv212
پنج شنبه 18 بهمن 1386, 10:33 صبح
سلام به همه
من این تاپیک رو ایجاد کردم، چون به نظرم ضروری رسید که این موضوع به بحث گذاشته بشه، برای پیاده سازی یک سیستم اتوماسیون، WinApplication بهتره یا WebApplication ؟ و چرا ؟
من خودم شخصا WinApplication رو ترجیح میدم، به دلایل زیر :
1. با کوچکترین تغییری در صفحه ی وب، بایستی منتظر بمونیم تا کل صفحه لود بشه.
2. حتی اگه از Ajax ه استفاده بشه، پردازش Request ها بر عهده ی وب سرور مرکزی است، در نتیجه بار زیادی بر دوش سرور خواهد بود، در صورتی که در WinApplication بسیاری از عملیات (مانند تغییرات UI) بر عهده ی خود کلاینت است.
3. ما میدونیم که در برنامه های تحت وب، از Browser استفاده میشه، و دیگه اینکه زبانهای دیگه ای هم مثل HTML و JavaScript و ... نیز در آن استفاده میشه، و این، امکان استفاده از کدهای مخرب رو برای هکرها و نفوذگران فراهم میکنه، مخصوصا از طریق وجود حفره های امنیتی در Browser ها.
4. وجود پهنای باند پایین و همینطور کیفیت بسیار نامطلوب اینترنت در ایران.
نظر شما چیه ؟
از مدیران عزیز خواهش میکنم در صورت لزوم این تاپیک رو به بخشی منتقل کنن که امکان بیان نظرات بخشهای مختلف مثل VB.Net و یا Asp.Net و .... هم مهیا بشه.
موفق باشید.

SabaSabouhi
پنج شنبه 18 بهمن 1386, 11:28 صبح
با سلام
نظر شخصى من تلفیقى از این دو تا هست. چرا باید یه خط بکشیم و بگیم یا این یا اون؟

صبا صبوحى

silentrise
پنج شنبه 18 بهمن 1386, 12:17 عصر
سلام
من کوچکتر از نظر دادن هستم ولی..
اکر یک WinApplication باشه و پس از ورود Data . اطلاعات نیز توسط WebService به WebApplication منتقل بشه خیلی جذاب میتونه باشه !
یعنی همان نظر خانم صبوحی. تلفیق!
باسپاس

mahdi_negahi
پنج شنبه 18 بهمن 1386, 12:24 عصر
با سلام
نظر شخصى من تلفیقى از این دو تا هست. چرا باید یه خط بکشیم و بگیم یا این یا اون؟

صبا صبوحى
منم با ابن نظر موافقم

تلفیقی از web serviceبه نظر من عالی جواب میدهد

handinux
پنج شنبه 18 بهمن 1386, 12:37 عصر
سلام.من جاوا کار هستم ومعتقدم C# مال این حرفا نیست ولی در این مورد واقعا تلفیقی از این دو بسیار عالی است . من نمونه های زیادی در جاوا دیدم.موفق باشید

hdv212
پنج شنبه 18 بهمن 1386, 14:08 عصر
من جاوا کار هستم ومعتقدم C# مال این حرفا نیست
handinux عزیز طبق چه مستنداتی این حرفو میزنی ؟ نکنه به قدرت و انعطاف پذیری سی شارپ شک داری ؟

اکر یک WinApplication باشه و پس از ورود Data . اطلاعات نیز توسط WebService به WebApplication منتقل بشه خیلی جذاب میتونه باشه !
یعنی همان نظر خانم صبوحی
دوستان اینکه این دو موضوع با هم ترکیب بشن و یا اینکه اطلاعات طوری باشه که دسترس WebApplication قرار بگیره، مربوط به طراحی و قابلیت های نرم افزاره، سوال من اینه که در کل کدوم یکی باید Primary باشن، در ضمن رای هم بدید.

Alireza_Salehi
پنج شنبه 18 بهمن 1386, 14:12 عصر
سلام به همه
من این تاپیک رو ایجاد کردم، چون به نظرم ضروری رسید که این موضوع به بحث گذاشته بشه، برای پیاده سازی یک سیستم اتوماسیون، WinApplication بهتره یا WebApplication ؟ و چرا ؟
من خودم شخصا WinApplication رو ترجیح میدم، به دلایل زیر :
1. با کوچکترین تغییری در صفحه ی وب، بایستی منتظر بمونیم تا کل صفحه لود بشه.
2. حتی اگه از Ajax ه استفاده بشه، پردازش Request ها بر عهده ی وب سرور مرکزی است، در نتیجه بار زیادی بر دوش سرور خواهد بود، در صورتی که در WinApplication بسیاری از عملیات (مانند تغییرات UI) بر عهده ی خود کلاینت است.
3. ما میدونیم که در برنامه های تحت وب، از Browser استفاده میشه، و دیگه اینکه زبانهای دیگه ای هم مثل HTML و JavaScript و ... نیز در آن استفاده میشه، و این، امکان استفاده از کدهای مخرب رو برای هکرها و نفوذگران فراهم میکنه، مخصوصا از طریق وجود حفره های امنیتی در Browser ها.
4. وجود پهنای باند پایین و همینطور کیفیت بسیار نامطلوب اینترنت در ایران.
نظر شما چیه ؟
از مدیران عزیز خواهش میکنم در صورت لزوم این تاپیک رو به بخشی منتقل کنن که امکان بیان نظرات بخشهای مختلف مثل VB.Net و یا Asp.Net و .... هم مهیا بشه.
موفق باشید.

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

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

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

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

به طوری کلی به نظر من مزایای تحت وب بودن خیلی بیشتره!

Alireza_Salehi
پنج شنبه 18 بهمن 1386, 14:29 عصر
یه چیزی رو هم یادم رفت بگم: اگر فناوری هایی که در یک و نیم سال اخیر معرفی شده اند را بررسی کنید متوجه خواهید شد که تمایل و جهت گیری آینده به سمت برنامه های تحت وب یا حداقل وحدت این دو به سمت سیستم های تحت وب خواهد بود!

sajjad161
پنج شنبه 18 بهمن 1386, 14:49 عصر
سلام به همه
1- به نظر من نسبت به وسعت یا بهتر بگم سطح کاربری اتوماسیون این قضیه تعیین میشه.
2- امنیت امنیت امنیت
3- آینده آن اتوماسیون کجا خواهد بود.
4- شاید با یک WinApp که تحت شبکه هم هست بشه به همه اهداف رسید.
5- ابزارها و امکانات وب برای از دست دادن حیف به نظر میرسند و همینطور توسعه اتوماسیون

saeid.yavary
پنج شنبه 18 بهمن 1386, 17:19 عصر
وب انعطاف پذیری بیشتری رو داره

hdv212
پنج شنبه 18 بهمن 1386, 17:27 عصر
نکته سوم این که اگر از تحت وب بودن منظورتون تحت وب بودن کل برنامه است خوب امنیت و پردازش سمت سرور کمی موضوعیت پیدا میکنه ولی نه اونقدر که موجب نفی تحت وب بودن بشود.
arsp_2004 جان ممنون از توجهت، در یک سیستم اتوماسیون تحت وب حتی به صورت اینترانت، کامپیوتر سرور رو در نظر بگیر که هم نقش WebServer رو بازی میکنه و هم نقش Database Server رو، یعنی هم باید پردازشهای مربوط به تقاضای کاربران رو پاسخ بده و هم Database Processing رو انجام بده، در این حالت اگر فعالیت سازمان به نحوی باشه که کاربران درخواست های متعددی به دیتابیس داشته باشن، علاوه بر اینکه DatabaseEngine به طور جداگانه، Cost زیادی رو از سرور اشغال میکنه، وب سرور هم بایستی درخواستهای کاربران رو هم پاسخ بده، در این صورت اگر در طراحی دیتابیس، کم کاری یا بی دقتی شده باشه (از نظر نادیده گرفتن کارایی سیستم و نرم افزار)، فرضا اگر تمام کوئری ها به صورت Text فرستاده بشه و نه به صورت StoredProcedure، در این حالت تمامی کوئری های کاربران در حافظه سرور Cache میشه، و بعد از مدت کمی، کارایی سرور فوق العاده پایین میاد، در این حالت علاوه بر اینکه DatabaseProceesing بسیار کند میشه، عملیات پاسخدهی وب سرور هم با فقدان کارایی شدید مواجه میشه، که اگه این مشکل رو با WinApplication مقایسه کنی، چون در WinApplication، وب سروری وجود نداره، سیستم به اندازه ی WebApplication با کاهش کارایی مواجه نمیشه. بر میگردیم به همون WebApplication، حالا مشکل دوتاست :
1. کاهش عملکرد در پردازش داده های دیتابیس
2. کاهش عملکرد در پاسخگویی به WebRequest ها
که ترکیب این دو یعنی تاخیر و یا حتی اختلال در سیستم.
هدف من، نفی WebApplication نیست، منظورم شرایط فوق العاده حساس در طراحی نرم افزارهای تحت وبه که بایستی شرایط محیطی و سازمانی، دقیقتر مد نظر قرار بگیره، نظر خودم فقط ارجحیت WinApplication بود، و این به معنی نفی WebApplication وقابلیتهای اون نیست.

Alireza_Salehi
پنج شنبه 18 بهمن 1386, 18:21 عصر
arsp_2004 جان ممنون از توجهت، در یک سیستم اتوماسیون تحت وب حتی به صورت اینترانت، کامپیوتر سرور رو در نظر بگیر که هم نقش WebServer رو بازی میکنه و هم نقش Database Server رو، یعنی هم باید پردازشهای مربوط به تقاضای کاربران رو پاسخ بده و هم Database Processing رو انجام بده، در این حالت اگر فعالیت سازمان به نحوی باشه که کاربران درخواست های متعددی به دیتابیس داشته باشن، علاوه بر اینکه DatabaseEngine به طور جداگانه، Cost زیادی رو از سرور اشغال میکنه، وب سرور هم بایستی درخواستهای کاربران رو هم پاسخ بده، در این صورت اگر در طراحی دیتابیس، کم کاری یا بی دقتی شده باشه (از نظر نادیده گرفتن کارایی سیستم و نرم افزار)، فرضا اگر تمام کوئری ها به صورت Text فرستاده بشه و نه به صورت StoredProcedure، در این حالت تمامی کوئری های کاربران در حافظه سرور Cache میشه، و بعد از مدت کمی، کارایی سرور فوق العاده پایین میاد، در این حالت علاوه بر اینکه DatabaseProceesing بسیار کند میشه، عملیات پاسخدهی وب سرور هم با فقدان کارایی شدید مواجه میشه، که اگه این مشکل رو با WinApplication مقایسه کنی، چون در WinApplication، وب سروری وجود نداره، سیستم به اندازه ی WebApplication با کاهش کارایی مواجه نمیشه. بر میگردیم به همون WebApplication، حالا مشکل دوتاست :
1. کاهش عملکرد در پردازش داده های دیتابیس
2. کاهش عملکرد در پاسخگویی به WebRequest ها
که ترکیب این دو یعنی تاخیر و یا حتی اختلال در سیستم.
هدف من، نفی WebApplication نیست، منظورم شرایط فوق العاده حساس در طراحی نرم افزارهای تحت وبه که بایستی شرایط محیطی و سازمانی، دقیقتر مد نظر قرار بگیره، نظر خودم فقط ارجحیت WinApplication بود، و این به معنی نفی WebApplication وقابلیتهای اون نیست.
مشکلاتی که شما مطرح می کنید موضوعیت نداره، تحلیل صحیح ، طراحی دقیق و پیش بینی امکانات جواب این تردید هاست.


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


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

معمولا هم در سیستم هایی که پایداری سیستم (مثلا در مواقع قطع شبکه) مثل شعب بانک ها) اهمیت بالایی دارد مکانیزم هایی برای عملیات Offline در نظر گرفته می شود تا مشکلی در عملکرد سازمان بوجود نیاید.


به طور کلی همون طور که در اولین پست گفتم شرایط و امکانات تاثیر زیادی در انتخاب استراتژی دارند و نمی توان همه مشکلات را با یک فرمول حل کرد.

hdv212
پنج شنبه 18 بهمن 1386, 19:59 عصر
مشکلاتی که شما مطرح می کنید موضوعیت نداره، تحلیل صحیح ، طراحی دقیق و پیش بینی امکانات جواب این تردید هاست.
متاسفانه این موضوع، مشکلی هست که الان خیلی از شرکتهای بزرگ(حتی در خود ایران) دارن باهاش دست و پنجه نرم میکنن، پس نمیشه اونا رو نادیده گرفت، بالاخره در تحلیل و طراحی و توسعه ی نرم افزار، ممکنه کاستی هایی هم صورت بگیره و بالطبع این کاستی ممکنه در عملکرد اون برنامه تاثیر بذاره.


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

با توحه به صحبتهای بالا فکر نمیکنم هزینه ها بیشتر از اضافه کردن سرور اضافی برای پاسخگویی بهتر به WebRequest ها و همچنین پیاده سازی پیچیده ی High Availability باشه(هر چند این موضوعات ممکنه برای یک سیستم اتوماسیون WinApplication هم وجود داشته باشه، ولی در WebApplication کمبود آن بیشتر احساس میشود به علت Request های بیشتر)

Aidin
پنج شنبه 18 بهمن 1386, 22:32 عصر
فکر میکنم قبل از همه چیز باید یک معیاری برای این سوال در نظر گرفته بشه .
آیا این سوال مربوط به ایران و شرایط کنونی هست .
منظور از WebApplication سیستمی است که تحت اینترنت باشه ؟ یا اینترانت ؟
چه زیرساخت هایی حداقلی در نظر گرفته بشه ؟ کدوم سازمان با چه طیفی از کاربران ؟
من شخصا با توجه به رویکرد های اکثر شرکت های تاثیر گذار در زمینه نرم افزار فکر میکنم WebApplication از آینده بهتر و مطمئن تری برخورداره .
ولی در هر حال این مسائل تاثیر زیادی در تصمیم گیری داره

Behrouz_Rad
پنج شنبه 18 بهمن 1386, 22:36 عصر
@hdv212
تمام صحبت های arsp_2004 در پست 12 صحیح هستند.
+ آیا اختلالی در عملکرد سیستم این سایت با میانگین 200 کاربر آنلاین همزمان احساس می کنی؟

با توجه به صحبتهای بالا فکر نمیکنم هزینه ها بیشتر از اضافه کردن سرور اضافی برای پاسخگویی بهتر به WebRequest ها و همچنین پیاده سازی پیچیده ی High Availability باشه(هر چند این موضوعات ممکنه برای یک سیستم اتوماسیون WinApplication هم وجود داشته باشه، ولی در WebApplication کمبود آن بیشتر احساس میشود به علت Request های بیشتر)
اضافه کردن یک سرور جدا اگر چه بعید به نظر می رسه، اما این امکان اضافه می تونه برای برنامه های ویندوزی هم در نظر گرفته بشه!
ضمن اینکه این هزینه یک بار برای همیشه صرف میشه اما انحصاری بودن سیستم عامل و ابزارهایی که در کنار برنامه ی اصلی به وجودشون نیاز هست و بسیاری از پارامترهایی که یک برنامه ی ویندوزی برای اجرا به اونها وابسته است تکرار میشن. (هزینه ی مادی و زمانی)

در نهایت نمیشه به طور خاص و 100 درصد بستر مشخصی رو بدین منظور پیشنهاد کرد. این انتخاب باید با توجه به "نیازمندی های پروژه" صورت بگیره.

اگر مسئله رو جزئی تر مطرح می کردی و برخی از شرایطی که nirvana در پست قبلی گفت رو لحاظ می کردی، بهتر میشد قضاوت کرد.

موفق باشید.

sinpin
پنج شنبه 18 بهمن 1386, 23:08 عصر
پاسخ این سئوال خیلی وقته که در دنیای برنامه نویسی داده شده.
یک سیستم اتوماسیون web based حداقل به دلیل استقلال از زمان و مکان بهترین انتخابه. فرض کنید مدیر شما بخواد در مسافرت نامه های اداری خودش رو چک کنه.

Behrouz_Rad
جمعه 19 بهمن 1386, 08:31 صبح
یک سیستم اتوماسیون web based حداقل به دلیل استقلال از زمان و مکان بهترین انتخابه. فرض کنید مدیر شما بخواد در مسافرت نامه های اداری خودش رو چک کنه.
به نظرت این کار با یک Win App امکان پذیر نیست؟

hdv212
جمعه 19 بهمن 1386, 11:53 صبح
آیا اختلالی در عملکرد سیستم این سایت با میانگین 200 کاربر آنلاین همزمان احساس می کنی؟
Behrouz_Rad جان، این سایت که به زبان php هست، اصلا ساختار کارش فرق میکنه، منظورم نرم افزارهایی هست که الان به صورت Server Side دارن کار میکنن، البته من از php اطلاعی ندارم، قصد من Asp.Net هست.
خودتون قضاوت کنید، سروری که به درخواست های DataBase و Web پاسخ بده Busy تره یا سروری که به درخواستهای Database پاسخ بده ؟
ثانیا مشکلاتی که معمولا با برنامه های تحت وب همراه هستن رو من دپست 1 نوشتم، همچنین مشکلاتی رو که در سیستم های تحت وب بیشتر خودشونو نشون میدن، در پست 11، میتونید خودتون با دو سیستم یه تستی بکنید ببینید، کدوما در پاسخگویی ناتوان تر میشن.


یک سیستم اتوماسیون web based حداقل به دلیل استقلال از زمان و مکان بهترین انتخابه. فرض کنید مدیر شما بخواد در مسافرت نامه های اداری خودش رو چک کنه.
یعنی شما الان میخوای بری مشهد، توی قطار نامه هاتو چک میکنی ؟
دوستان فراموش نکنید که با توجه به زیرساخت های ارتباطی کشور خودمون داریم صحبت میکنیم، اینو من توی پست اول مشخص کردم، چه بسا اگه بستر ارتباطی مناسب فراهم بشه، بسیاری از مشکلاتی که فعلا با برنامه های تحت وب داریم، مثل سرعت، حل بشه، ولی کماکان امکان نفوذ از طریق کدهای مخرب وجود داره!

به نظرت این کار با یک Win App امکان پذیر نیست؟
استفاده از WebService ها در WinApplication هم حلاله!

Behrouz_Rad
جمعه 19 بهمن 1386, 12:05 عصر
قربان شکلت hdv212 جان!
در هر پستی که میدی منظور متفاوتی رو بیان می کنی!
تمامی "منظورهات" رو در همون پست اصلی قرار میدادی تا نیاز به حدس و گمان و بیان حالات مختلف برای انتخاب بستر مناسب وجود نداشته باشه!


ولی کماکان امکان نفوذ از طریق کدهای مخرب وجود داره!

خوب برنامت رو امن کن! روش های امن کردن برنامه رو یاد بگیر تا کسی نتونه به برنامه صدمه ای بزنه!
اگر اینجوری بخوای بگی، آسیب پذیری Win App که بیشتر هست! فایل EXE در اختیار کاربر هست و 1000 جور بلا می تونه سرش بیاره...

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

موفق باشید.

Masoud_TB
جمعه 19 بهمن 1386, 12:54 عصر
اصولا پیاده سازی یک سیستم کاملا به پارامترهایی که در اون هستند بستگی داره.
استفاده از ویندوز یا وب در حالتیکه نرم افزار درست طراحی بشه فقط و فقط بحث UI است. اینکه UI شما ویندوز باشه یا وب با توجه به End User هاتون تحت شرایط مختلف تغییر پذیر است و از هر دو می توان استفاده کرد.
در حالتیکه نرم افزار شما Distributed باشه (که به نظرم برای سیستم های بزرگ اتوماسیون بهترین راه حل است) شما مجبور به استفاده از هر دو خواهید بود.


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

hdv212
جمعه 19 بهمن 1386, 13:57 عصر
دوستان، داریم از هدف اصلی دور میشیم، شایدم خودم درست مقصودمو بیان نکردم، منظورم پیاده سازی یک سیستم اتوماسیون در شرایط متوسط هست، اینو من و هرکس دیگه ای میدونیم که بستگی به شرایط داره و اینکه تلفیقی از ایندو میتونه بهترین انتخاب باشه، ولی مبنا رو بر این بذارید که یک انتخاب بیشتر ندارید، حالا از این حرفا بگذریم، نتایجی که تا بحال از این بحث گرفته شده ایناس :
استفاده از WinApplication مشکلات زیر رو به همراه نداره :
1. با کوچکترین تغییری در صفحه ی وب، بایستی منتظر بمونیم تا کل صفحه لود بشه.
2. حتی اگه از Ajax ه استفاده بشه، پردازش Request ها بر عهده ی وب سرور مرکزی است، در نتیجه بار زیادی بر دوش سرور خواهد بود، در صورتی که در WinApplication بسیاری از عملیات (مانند تغییرات UI) بر عهده ی خود کلاینت است.
3. ما میدونیم که در برنامه های تحت وب، از Browser استفاده میشه، و دیگه اینکه زبانهای دیگه ای هم مثل HTML و JavaScript و ... نیز در آن استفاده میشه، و این، امکان استفاده از کدهای مخرب رو برای هکرها و نفوذگران فراهم میکنه، مخصوصا از طریق وجود حفره های امنیتی در Browser ها.
4. وجود پهنای باند پایین و همینطور کیفیت بسیار نامطلوب اینترنت در ایران.

در عوض پیاده سازی WebApplication قابلیتهای زیر رو میتونه داشته باشه :
1. در هر جا که دسترسی به اینترنت بود، میتونید به نرم افزار دسترسی داشته باشید.
2. نیاز به Browser خاصی نیست و با هر Browser استانداردی میشه از این سیستم استفاده کرد.
3. نیاز به پیکربندی کلاینت و همچنین نصب ابزارها و یا نرم افزارهای اضافی نداریم.

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

mahtab_18
جمعه 19 بهمن 1386, 14:55 عصر
شاید در ظاهر وب انطاف بیشتری داشته باشه ولی برای یک سیستم اتوماسیون WIN بیشتر به کار میاد .

Aidin
جمعه 19 بهمن 1386, 15:12 عصر
1. با کوچکترین تغییری در صفحه ی وب، بایستی منتظر بمونیم تا کل صفحه لود بشه.


فکر میکنم استفاده از Ajax رو جدی نگرفتی



2. حتی اگه از Ajax ه استفاده بشه، پردازش Request ها بر عهده ی وب سرور مرکزی است، در نتیجه بار زیادی بر دوش سرور خواهد بود، در صورتی که در WinApplication بسیاری از عملیات (مانند تغییرات UI) بر عهده ی خود کلاینت است.


با استفاده بجا و درست از JavaScript میتونی بسیاری از تغییرات UI رو در سمت کاربر انجام بدین



3. ما میدونیم که در برنامه های تحت وب، از Browser استفاده میشه، و دیگه اینکه زبانهای دیگه ای هم مثل HTML و JavaScript و ... نیز در آن استفاده میشه، و این، امکان استفاده از کدهای مخرب رو برای هکرها و نفوذگران فراهم میکنه، مخصوصا از طریق وجود حفره های امنیتی در Browser ها.


میشه با استفاده از یک مرورگر مطمئن تر اندکی این موضوع رو کمرنگ تر کرد



4. وجود پهنای باند پایین و همینطور کیفیت بسیار نامطلوب اینترنت در ایران.


پهنای باند پایین در هر دو روش تاثیر گذار خواهد بود (البته اگر برای WinApplication امکان دسترسی از همه جا رو بخواهیم فراهم کنیم)



در ضمن کسی اگه عجله داره برای کمک به شماست .

Javad_Mail
جمعه 19 بهمن 1386, 15:23 عصر
من نظرم WPF
به نظرم دیگه نباید بین Win و Web رو UI بخوایم بحث کنیم . چون تکنولوژی WPF می تونه این تفاوت را تا حد بسیار بالایی حذف کنه .

siavashr
جمعه 19 بهمن 1386, 15:35 عصر
دورود
من فکر میکنم تلفیق این 2 روش کار اشتباهی هست به دلایل اینکه مثلا الان نرم افزار (پالتاک) داره از هر 2 روش استفاده میکنه و در بعضی مواقع شما میتونید وارد مسنجر پالتاک بشید اما بیشتر قسمتها (مثلا قسمت view profile که در web server قرار دارند ) کار نمیکنه و شما میتونید ببینید که سرور web حالا یا هک شده یا bandwaid تمام کرده و یا هزارتا مشکل دیگه که معمولا برای وب سرورها پیش میاد .
این یه جورائی کلاس برنامه رو میاره پائین (شاید برای شما مهم نباشه اما برای من که خیلی مهمه)
در ضمن تا جائی که سواد کم میرسه معمولا browser ها با پورت 80 سرورهای وب کار میکنند حالا فکر کنید که سایت شما ف ی ل ت ر بشه پس دیگه هر چی که روی وب سرور گذاشتید قابل دسترسی نیست اما در windows application شما کافیه که با یه تغییر کوچیک
پورت رو عوض کنید و کارهاتون رو ادامه بدین.
از نظر امنیتی هم فکر کنم مشکل بزرگی بوجود میاد مثلا :
من اگر هکر باشم میرم سرور web رو هک میکنم به این ترتیب تقریبا 50 % از کل سیستم رو از کار انداختم .

امیدوارم که تونسته باشم نظرم رو توضیح بدم ( من یه مقداری زبان فارسیم خوب نیست ببخشید)

با سپاس

Behrouz_Rad
جمعه 19 بهمن 1386, 15:41 عصر
1. با کوچکترین تغییری در صفحه ی وب، بایستی منتظر بمونیم تا کل صفحه لود بشه.

نه اینطور نیست! علاوه بر اینکه می تونی از AJAX استفاده کنی، تکنیکی با نام Fragment Caching وجود داره که قسمت های دلخواهی رو میتونی Cache کنی و قسمت های Dynamic رو Cache نکنی.


2. حتی اگه از Ajax ه استفاده بشه، پردازش Request ها بر عهده ی وب سرور مرکزی است، در نتیجه بار زیادی بر دوش سرور خواهد بود، در صورتی که در WinApplication بسیاری از عملیات (مانند تغییرات UI) بر عهده ی خود کلاینت است.

شما همچنان اصرار بر وجود چیزی با عنوان "شرایط متوسط" داری. این شرایط متوسط باید تعریف بشه.
منظورت از Request چه نوع Request ای هست؟ مثال بزن تا راه حل منطقی برای کد نویسی بهینه رو بهت بگم.
مثلا ممکنه از روال های بیهوده ای که در چرخه ی حیات یک صفحه در یک برنامه ی وب اجرا میشن گله داشته باشی که من می تونم استفاده از ashx رو پیشنهاد کنم.

به همون میزان فشاری که به وب سرور برای پاسخ به درخواست میاد، همون فشار رو یک Win App هم می تونه وارد کنه. اما باز هم بستگی به نوع عملیاتی که انجام میدی داره.


3. ما میدونیم که در برنامه های تحت وب، از Browser استفاده میشه، و دیگه اینکه زبانهای دیگه ای هم مثل HTML و JavaScript و ... نیز در آن استفاده میشه، و این، امکان استفاده از کدهای مخرب رو برای هکرها و نفوذگران فراهم میکنه، مخصوصا از طریق وجود حفره های امنیتی در Browser ها.

وجود حفره ی امنیتی در مرورگر، سیستم کاربر رو هدف قرار میده نه وب سایت رو!!!
هرکسی می دونه که در هنگام مرور وب باید همیشه مرورگرش رو بروز نگه داره در غیر اینصورت نباید هرگز وارد اینترنت بشه.


4. وجود پهنای باند پایین و همینطور کیفیت بسیار نامطلوب اینترنت در ایران.

چه تعداد کاربر داری؟ چه مقدار Transfer ماهانه داری؟ اصلا منظورت از "پهنای باند پایین" چیه؟
پهنای باند رو یک Win App هم مصرف می کنه!
در مورد کیفیت نامطلوب اینترنت در ایران درست میگی. اما باز هم شرایط AJAX در این مورد کاملا با یک Win App برابری می کنه.

اگر اشکالات دیگه ای به ذهنت میرسه بگو تا در موردشون صحبت کنیم.

Behrouz_Rad
جمعه 19 بهمن 1386, 16:00 عصر
حالا فکر کنید که سایت شما ف ی ل ت ر بشه پس دیگه هر چی که روی وب سرور گذاشتید قابل دسترسی نیست اما در windows application شما کافیه که با یه تغییر کوچیک
پورت رو عوض کنید و کارهاتون رو ادامه بدین.

چه نوع اتوماسیونی میخوای درست کنی که نگران فیلتر شدنش هستی؟ :D
گیر بیخود ندید لطفا...


من اگر هکر باشم میرم سرور web رو هک میکنم به این ترتیب تقریبا 50 % از کل سیستم رو از کار انداختم .

دوست عزیزم!
همون طور که سرور یک Web App روی سیستمی قرار داره و تو سمت کلاینت اون هستی، سرور یک Win App هم روی سیستمی قرار داره که باز هم تو کلاینت اون هستی.
پس اگر هکر بتونه سرور Web App رو هک کنه، سرور Win App رو هم می تونه!

لطفا دلایل فنی بیان کن.

موفق باشید.

Behrouz_Rad
جمعه 19 بهمن 1386, 16:01 عصر
حالا فکر کنید که سایت شما ف ی ل ت ر بشه پس دیگه هر چی که روی وب سرور گذاشتید قابل دسترسی نیست اما در windows application شما کافیه که با یه تغییر کوچیک
پورت رو عوض کنید و کارهاتون رو ادامه بدین.

چه نوع اتوماسیونی میخوای درست کنی که نگران فیلتر شدنش هستی؟ :D
گیر بیخود ندید لطفا...


من اگر هکر باشم میرم سرور web رو هک میکنم به این ترتیب تقریبا 50 % از کل سیستم رو از کار انداختم .

دوست عزیزم!
همون طور که سرور یک Web App روی سیستمی قرار داره و تو سمت کلاینت اون هستی، سرور یک Win App هم روی سیستمی قرار داره که باز هم تو کلاینت اون هستی.
پس اگر هکر بتونه سرور Web App رو هک کنه، سرور Win App رو هم می تونه!

لطفا دلایل فنی بیان کن.

موفق باشید.

siavashr
جمعه 19 بهمن 1386, 16:10 عصر
چه نوع اتوماسیونی میخوای درست کنی که نگران فیلتر شدنش هستی؟ :D
گیر بیخود ندید لطفا...



دوست عزیزم!
همون طور که سرور یک Web App روی سیستمی قرار داره و تو سمت کلاینت اون هستی، سرور یک Win App هم روی سیستمی قرار داره که باز هم تو کلاینت اون هستی.
پس اگر هکر بتونه سرور Web App رو هک کنه، سرور Win App رو هم می تونه!


لطفا دلایل فنی بیان کن.

موفق باشید.

دورود
اقا دعوا نداریم که اصلا شما درست میگید اما :

در مورد "چه نوع اتوماسیونی میخوای درست کنی که نگران فیلتر شدنش هستی؟ :D
گیر بیخود ندید لطفا."
فکر کنم دوست عزیز وقتی که یه سیستم مینویسی باید حواست باشه که تحت هر شرایطی کار کنه !!!!!


در مورد "همون طور که سرور یک Web App روی سیستمی قرار داره و تو سمت کلاینت اون هستی، سرور یک Win App هم روی سیستمی قرار داره که باز هم تو کلاینت اون هستی.
پس اگر هکر بتونه سرور Web App رو هک کنه، سرور Win App رو هم می تونه!"
شما سرور وب رو روی یه هاستینگ دیگه راه میندازی و سرور winapplication رو هم توی خونه خودت . تا وقتی که من ندونم شما سرور رو چطوری نوشتی کاری نمیتونم بکنم (این به خاطر الگوریتم شما است ) اما وب سرور روی اینترنت زیاده که تقریبا همه از یک سری الگوریتم ثابت استفاده میکنند و خوب یک هکر مطلع میتونه الگوریتم اونها رو بکشه بیرون و نقاط ضعف رو استفاده کنه .

امیدوارم که منظورم رو درست بیان کرده باشم . اقا من دیگه نظراتم رو واسه خودم نگه میدارم :ناراحت:

با سپاس

Behrouz_Rad
جمعه 19 بهمن 1386, 16:26 عصر
شما سرور وب رو روی یه هاستینگ دیگه راه میندازی و سرور winapplication رو هم توی خونه خودت . تا وقتی که من ندونم شما سرور رو چطوری نوشتی کاری نمیتونم بکنم (این به خاطر الگوریتم شما است ) اما وب سرور روی اینترنت زیاده که تقریبا همه از یک سری الگوریتم ثابت استفاده میکنند و خوب یک هکر مطلع میتونه الگوریتم اونها رو بکشه بیرون و نقاط ضعف رو استفاده کنه .

دوست من! لطفا کمی در مورد حرف هایی که میزنی تحقیق کن :لبخندساده:
فکر می کنم پاسخی به این افاضات ندم بهتر باشه :چشمک:

اقا من دیگه نظراتم رو واسه خودم نگه میدارم
متشکرم.

Aidin
جمعه 19 بهمن 1386, 16:31 عصر
فکر میکنم این بحث داره از چارچوب خودش به شدت خارج میشه

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

بهتر اول مصداقی برای انجام کار در نظر گرفته بشه تا بر مبنای اون دوستان نظراتشون رو اعلام کنند

hdv212
جمعه 19 بهمن 1386, 19:47 عصر
منظورت از Request چه نوع Request ای هست؟ مثال بزن تا راه حل منطقی برای کد نویسی بهینه رو بهت بگم.
شما میتونی یک کلیک ساده بر روی یک Button رو یک Request در نظر بگیری.

به همون میزان فشاری که به وب سرور برای پاسخ به درخواست میاد، همون فشار رو یک Win App هم می تونه وارد کنه.

درسته، ولی به وب سرور فشار بیشتری وارد میشه چون علاوه بر پاسخ WebRequest ها بایستی DatabaseProcessing رو هم انجا م بده که هر کدوم از این دو مورد میتونه بار بسیار زیادی رو برروی سرور وارد کنه، اما در WinApplication درخواستی از نوع WebRequest وجود نداره.


وجود حفره ی امنیتی در مرورگر، سیستم کاربر رو هدف قرار میده نه وب سایت رو!!!
اولا تفوذ به سطح پایین ترین کلاینت هم میتونه خطرناک باشه،
ثانیا اگر اون کلاینت هک شده، شرایط حساسی داشته باشه، بر فرض مثال تمام اطلاعات حیاتی سازمان رو در خودش ذخیره کرده باشه چی ؟


چه تعداد کاربر داری؟ چه مقدار Transfer ماهانه داری؟ اصلا منظورت از "پهنای باند پایین" چیه؟
پهنای باند رو یک Win App هم مصرف می کنه!
در مورد کیفیت نامطلوب اینترنت در ایران درست میگی. اما باز هم شرایط AJAX در این مورد کاملا با یک Win App برابری می کنه.
تکنیکهایی مثل Ajax تا حدی میتونه کمک کنه تا زمانی که حجم Transfer داده ها پایین باشه، اما اگه حجم داده ها زیاد باشه چی ؟
در ضمن پهنای باند یه طرف قضیه س، مسئاله ی دیگه کیفیت نامطلوب اینترنت توی ایرانه، مثلا قطعی های بی موقع و مکرر که این موضوع سبب Lost شدن Package های داده ها در مسیر ارتباطی میشه، در صورتی که در سیستم شبکه ی WinApplication این مشکلات خیلی کمتر پیش میاد.

Aidin
جمعه 19 بهمن 1386, 20:01 عصر
دوستان، داریم از هدف اصلی دور میشیم، شایدم خودم درست مقصودمو بیان نکردم، منظورم پیاده سازی یک سیستم اتوماسیون در شرایط متوسط هست، اینو من و هرکس دیگه ای میدونیم که بستگی به شرایط داره و اینکه تلفیقی از ایندو میتونه بهترین انتخاب باشه، ولی مبنا رو بر این بذارید که یک انتخاب بیشتر ندارید، حالا از این حرفا بگذریم، نتایجی که تا بحال از این بحث گرفته شده ایناس :
استفاده از WinApplication مشکلات زیر رو به همراه نداره :
1. با کوچکترین تغییری در صفحه ی وب، بایستی منتظر بمونیم تا کل صفحه لود بشه.
2. حتی اگه از Ajax ه استفاده بشه، پردازش Request ها بر عهده ی وب سرور مرکزی است، در نتیجه بار زیادی بر دوش سرور خواهد بود، در صورتی که در WinApplication بسیاری از عملیات (مانند تغییرات UI) بر عهده ی خود کلاینت است.
3. ما میدونیم که در برنامه های تحت وب، از Browser استفاده میشه، و دیگه اینکه زبانهای دیگه ای هم مثل HTML و JavaScript و ... نیز در آن استفاده میشه، و این، امکان استفاده از کدهای مخرب رو برای هکرها و نفوذگران فراهم میکنه، مخصوصا از طریق وجود حفره های امنیتی در Browser ها.
4. وجود پهنای باند پایین و همینطور کیفیت بسیار نامطلوب اینترنت در ایران.

در عوض پیاده سازی WebApplication قابلیتهای زیر رو میتونه داشته باشه :
1. در هر جا که دسترسی به اینترنت بود، میتونید به نرم افزار دسترسی داشته باشید.
2. نیاز به Browser خاصی نیست و با هر Browser استانداردی میشه از این سیستم استفاده کرد.
3. نیاز به پیکربندی کلاینت و همچنین نصب ابزارها و یا نرم افزارهای اضافی نداریم.

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


شما میتونی یک کلیک ساده بر روی یک Button رو یک Request در نظر بگیری.


درسته، ولی به وب سرور فشار بیشتری وارد میشه چون علاوه بر پاسخ WebRequest ها بایستی DatabaseProcessing رو هم انجا م بده که هر کدوم از این دو مورد میتونه بار بسیار زیادی رو برروی سرور وارد کنه، اما در WinApplication درخواستی از نوع WebRequest وجود نداره.


اولا تفوذ به سطح پایین ترین کلاینت هم میتونه خطرناک باشه،
ثانیا اگر اون کلاینت هک شده، شرایط حساسی داشته باشه، بر فرض مثال تمام اطلاعات حیاتی سازمان رو در خودش ذخیره کرده باشه چی ؟


تکنیکهایی مثل Ajax تا حدی میتونه کمک کنه تا زمانی که حجم Transfer داده ها پایین باشه، اما اگه حجم داده ها زیاد باشه چی ؟
در ضمن پهنای باند یه طرف قضیه س، مسئاله ی دیگه کیفیت نامطلوب اینترنت توی ایرانه، مثلا قطعی های بی موقع و مکرر که این موضوع سبب Lost شدن Package های داده ها در مسیر ارتباطی میشه، در صورتی که در سیستم شبکه ی WinApplication این مشکلات خیلی کمتر پیش میاد.



این عدم دقت و توانایی برنامه نویس رو میرسونه که تمام اطلاعات حیاتی سازمان رو در یک کلاینت ذخیره کنه ؟ پس سرور برای چیه ؟ حفظ امنیت سرور پس چی میشه ؟؟؟؟

بر چه مبنایی میگی Ajax در حجم کم اطلاعات کار میکنه ؟؟؟
بر فرض اگه قرار باشه یک فایل 1MB رو به سرور ارسال کنید مگه فرقی میکنه که با WinApp باشه یا WebApp ؟؟

در ضمن قطعی و Lost شدن Package اگه قرار باشه اتفاق بیافته برای هردو روش ممکنه اتفاق بیافته.

به نظر میاد شما به هر روشی میخوای نتیجه بگیرین WebApp بهتر جواب میده.
اگر قرار باشه هر دلیل رو نقطه ضعف بدونیم از این ایراد ها هم میشه برای WebApp در نظر گرفت :

اگر کابر Framework مناسب نداشته باشه ؟
اگر اصلا سیستم عامل کاربر windows نباشه ؟
اگر نرم افزار هک بشه ؟
اگر ......

؟؟؟؟؟؟

hdv212
جمعه 19 بهمن 1386, 20:53 عصر
این عدم دقت و توانایی برنامه نویس رو میرسونه که تمام اطلاعات حیاتی سازمان رو در یک کلاینت ذخیره کنه ؟ پس سرور برای چیه ؟ حفظ امنیت سرور پس چی میشه ؟؟؟؟

بر چه مبنایی میگی Ajax در حجم کم اطلاعات کار میکنه ؟؟؟
بر فرض اگه قرار باشه یک فایل 1MB رو به سرور ارسال کنید مگه فرقی میکنه که با WinApp باشه یا WebApp ؟؟

در ضمن قطعی و Lost شدن Package اگه قرار باشه اتفاق بیافته برای هردو روش ممکنه اتفاق بیافته.

به نظر میاد شما به هر روشی میخوای نتیجه بگیرین WebApp بهتر جواب میده.
اگر قرار باشه هر دلیل رو نقطه ضعف بدونیم از این ایراد ها هم میشه برای WebApp در نظر گرفت :

اگر کابر Framework مناسب نداشته باشه ؟
اگر اصلا سیستم عامل کاربر windows نباشه ؟
اگر نرم افزار هک بشه ؟
اگر ......

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

قطع شدم و Lost شدن اطلاعات در هردو مورد وجود داره، منم همینو گفتم اما در وب به دلیل کیفیت نامطلوب ارتباطی، این مشکلات بیشتره، مگه تا حالا بهش برخورد نکردی ؟

شما بر اساس چه مستنداتی گفتین که WebApplication بهتر جواب میده ؟ تو چی بهتر جواب میده ؟
من فکر کنم در خطوط آخر شما باید WinApplication رو ذکر میکردی نه WebApplication رو!
مشکل Framework که با اومدن ویستا حل شده، در آینده ای نزدیک چنین مشکلی وجود نخواهد داشت.
فعلا که حدود فکر میکنم 90 درصد سیستم عاملهای دنیا ویندوزه، اگر هم نبود، با ابزارهایی میشه برنامه رو ReCompile کرد تا در سیستم عاملهای دیگه اجرا بشه، در این زمینه هم مشکلی نیست.

Aidin
جمعه 19 بهمن 1386, 21:10 عصر
من فکر میکنم شما از پایه دچار مشکل شدین .

نکنه منظور شما از WinApp برنامه هست که در یک شبکه لوکال اجرا میشه ؟؟؟ و بعد داری اون رو با یک WebApp که در بستر اینترنت اجرا میشه مقایسه میکنی ؟؟

و در ضمن من به عمرم نشنیدم برنامه ای رو که با .NET Framework نوشتن بشه در OS های دیگه هم کامپایل کرد؟

hdv212
جمعه 19 بهمن 1386, 23:03 عصر
من فکر میکنم شما از پایه دچار مشکل شدین .
نکنه منظور شما از WinApp برنامه هست که در یک شبکه لوکال اجرا میشه ؟؟؟ و بعد داری اون رو با یک WebApp که در بستر اینترنت اجرا میشه مقایسه میکنی ؟؟

Lan یا Wan مهم نیست، همینطور اینترنت و اینترانت، موضوعاتی رو که در پست اول نوشتم بررسی کنید و جواب بدید.


و در ضمن من به عمرم نشنیدم برنامه ای رو که با .NET Framework نوشتن بشه در OS های دیگه هم کامپایل کرد؟
برو به این لینک (http://soa.sys-con.com/read/393685.htm) و حالا ببین.

Mahdi.Kiani
جمعه 19 بهمن 1386, 23:05 عصر
دوستان فکر نمی کنین این بحث دیگه واقعا داره خسته کننده میشه؟
این که در چه زمانی و با چه زبانی و برای چه پلت فرمی و با چه معماری یک برنامه نوشته شود، بستگی به شرایط داره. و مقایسه این دو مورد (winapp و webApp) در این زمینه اصلا کار درستی نیست.
این که winapp ها ایمن تر هستند یا webapp ها، اینکه کدوم یکی انعطاف پذیر تر هستند. این که کدوم یکی در هر شرایطی بهترین عملکرد را از خودش نشون میده و .... همه و همه بسته به شرایط تعیین میشن. شرایطی از جمله برنامه نویس، کار فرما، زبان برنامه نویسی و .....
این دیگه برای هر کسی روشن است که هیچ برنامه ای نمی تونه 100 در صد ایمن باشه.. اصلا ایمن بودن یعنی چه؟
مگه برنامه های winapp هک نمیشن؟ مگه دست کاری توشون نمیشه؟ وقتی به عنوان مثال با یه برنامه کذایی میان و منوهای یک برنامه معتبر و قوی و کم نظیر در نوع خودش مثلا photoshop را فارسی می کنن و به نام خودشون ثبت می کنن و هزار موضوع دیگه که همگی اطلاع ازشون دارن، دیگه نمیشه انتظار داشت که هر چیزی 100 در صد ایمن باشه.. ایمن بودن یک مسئله نسبیتی هست
به عنوان یک مثال دیگه ، ممکنه خیلی مواقع خیلی از برنامه نویسان یک برنامه را بدون دقت و توجه به هیج اصولی بنویسن و اجرا بشه... این عمل در مواقعی که برنامه ارزش خیلی زیادی نداره هیچ اشکالی نداره
واقعا بعضی مواقع نیاز نیست که فلان pattern یا فلان معماری در برنامه پیاده سازی بشه چون خود برنامه ارزش اون چنانی نداره
بر عکس برای یک برنامه بزرگ و خیلی سنگین مسلما تمامی مراحل تولید نرم افزار باید به دقت و مر حله به مر حله تنظیم بشه...
این مثال برای این بود باز هم به این نکته اشاره کنم که انتخاب هر چیزی فقط در شرایط خاص اون مسئله امکان پذیر و اصولی هست.
مثال آخر اینکه خیلی از نمونه برنامه هایی که در مثلا بخش سی شارپ گذاشته میشه، از متغیر هایی مثل button1 ، button2 ، button3 و .... استفاده میشه.. هیچ ایرادی هم نداره چون برنامه صرفا یک برنامه آموزشی هست و هدفش چیز دیگه ایه و لزومی نداره که حتما از قواعد نامگذاری ... استفاده بشه . گر چه بهتره این طوری بشه ولی .....
موفق باشید

Mahdi.Kiani
شنبه 20 بهمن 1386, 00:36 صبح
شما میتونی ادعا کنی که WebSite ای که ساختی از لحاظ ایمنی هیچ مشکلی نداره ؟
مایکروسافت با اون بزرگی و قدرتش هنوز نتونسته جلوی هکرها رو بگیره.
اولین راه نفوذ هکرها از طریق وب و وجود حفرهای امنیتیه.



مگه میشه همچین ادعایی را برای برنامه های ویندوز بیس کرد؟ هر برنامه ای هر چه قدر هم که دقت توش به خرج داده بشه بلا خره ممکنه که یک حفره واسه نفوذ توش پیدا کرد.
وقتی به خود ویندوز نفوذ میشه، آیا نمیشه به برنامه هاییکه روی اون اجرا میشن نفوذ کرد؟
پس این همه بحث هایی که در بخش های مختلف من جمله همین سایت در مورد امنیت برنامه ها میشه واسه چیه؟ به ه معنیه؟ به این معنی که برنامه ها هر چه قدر هم که قوی نوشته بشن در معرض حمله خواهند بود. حالا این حمله می تونه سریال برنامه باشه یا ترکوندن برنامه یا .....
اتفاقا امنیت روی برنامه های وب در مواردی می تونه خیلی بهتر باشه. چون خیلی مواقع امنیت سرور ها از طریق سخت افزار کنترل میشه که قابلیت اعتماد بالاتری تسبت به امنیت های نرم افزاری داره
البته باز این به این معنی نیست ک برنامه های win ضعیف هستند وweb قوی و یا بر عکس
اینکه اساسا کاربرد آن ها می تونه خیلی متفاوت باشه و یا حتی در کنار هم استفاده بشن پس باز هم بر می گردیم سر همون خونه اول که شرایط برنامه چگونه هست؟ که توی همون چند تا پست اول هم بهش اشاره شد و کلی نمیشه در این مورد صحبت کرد

Alireza_Salehi
شنبه 20 بهمن 1386, 08:57 صبح
hdv212 (http://barnamenevis.org/forum/member.php?u=14084)
بی دلیل طولانی کردن این بحث هیچ فایده ای برای شما نداره چون:

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

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

3. برای هر کدام از مشکلاتی که مطرح می کنید مثال نقضی وجود دارد که هم اکنون با امنیت و سرعت مناسب با تعداد تراکنش های زیاد در حال کار هستند.

4. شما به جای مطرح کردن یک موضوع کلی بهتره هدف، شرایط مسئله و امکانات در دسترس رو تشریح کنید تا جواب منطقی بگیرید.


پایه ای ترین دانش برای یافتن جواب این سوالات اصول اولیه مهندسی نرم افزار است که در سوال های شما هیچ کدامش دیده نمی شود، نه کاربران هدف را مشخص کرده اید، نه نیازمندی ها، نه شرایط محیطی، نه امکانات و تخصص های تیمی که دارید را مشخص کرده اید و نه ....
همان طور که Behrouz_Rad (http://barnamenevis.org/forum/member.php?u=7945) گفتند بهتره یه کمی در مورد نرم افزار های موجود که برای شرایط مد نظر شما طراحی شده اند تحقیق کنید خواهید دید که طیف گسترده ای از فن آوری های تحت وب و تحت ویندوز تواما و بنا به نیاز استفاده شده اند.

فقط یک سری مطالب کلی و بی مفهوم مطرح می کنید و وقت دیگران را هدر می دهید!

hdv212
شنبه 20 بهمن 1386, 09:45 صبح
من که با کسی دعوا ندارم که، من ففط خواستم یه نظر سنجی انجام بدم و دلایل اعضا رو با توجه به انتخابی که میکنن رو بدونم، در آخر هم نتیجه گیری کنیم که چه تعداد WinApplication ترجیح میدن به این دلایل، و چه تعدادی WebAppplicatiom رو، متاسفانه بحث وارد مسائل حاشیه ای شد و .... .


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

Sayehzendeh
شنبه 20 بهمن 1386, 13:29 عصر
باید به صورت باز عمل کنیم یعنی تا UI همسان باشند ولی در UI تلفیقی از هر دو باشد

Alireza_Salehi
شنبه 20 بهمن 1386, 16:34 عصر
دست شما درد نکنه، مگه مجبورید که وقتتون رو اینجا هدر بدید! دیگه هیچوقت توی این فروم نظر نمیدم که وقت گرانبهاتونو هدر ندم!

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

هر چند در نظر سنجی شرکت کردم ولی اگر یک گزینه "هر دو" هم می گذاشتید بهتر می شد.
موفق باشید.

hdv212
شنبه 20 بهمن 1386, 17:45 عصر
به دل نگیرید قصد جسارت نداشتم منظورم این بود که اگر جهت گیری بحث بر اساس نیازها و امکانات باشه نتیجه بهتری خواهید گرفت، چون مسائلی مثل امنیت ، کارایی و ... روش حل یکسانی ندارند و بر اساس نیاز از راه حل های گوناگونی استفاده میشه!
arsp_2004 جان قصدم از مطرح کردن این مبحث چیزی نبود که الان هست، این بحث به هاشیه رفت، ناراحتی من هم از همینه، بگذریم از این که بعضیا کم لطفی کردن.

اساس کار سیستم های اتوماسیون WinApplication و WebApplication گذشته از ساختارشون یکی هست، یعنی اگه از نظر معماری سه لایه بررسی کنیم، هر دو لایه ی Bussinus Layer و Data Access Layer در هر دو مورد تقریبا روند مشابهی دارند، فقط چیزی که اینجا کمی ساختارش فرق میکنه، Presentation Layer هست که در WebApplication وظیفه ی پاسخگویی به این لایه، بر عهده ی وب سروره، و این بار پردازشی مضاعفی رو بر دوش سرور تحمیل میکنه.


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

Alireza_Salehi
یک شنبه 21 بهمن 1386, 09:32 صبح
اساس کار سیستم های اتوماسیون WinApplication و WebApplication گذشته از ساختارشون یکی هست، یعنی اگه از نظر معماری سه لایه بررسی کنیم، هر دو لایه ی Bussinus Layer و Data Access Layer در هر دو مورد تقریبا روند مشابهی دارند، فقط چیزی که اینجا کمی ساختارش فرق میکنه، Presentation Layer هست که در WebApplication وظیفه ی پاسخگویی به این لایه، بر عهده ی وب سروره، و این بار پردازشی مضاعفی رو بر دوش سرور تحمیل میکنه.
...
همون طور که خودتون هم اشاره می کنید ساختار اصلی برنامه و این که ماهیت یک برنامه چه چیزی باید باشد و چه هدفی دارد بعد از بررسی و تحلیل محیط بدست می آید و می توان در مرحله کاربرد روش های متفاوتی در پیش گرفت.
اگر برنامه صحیح طراحی شده باشه و قابلیت انعطاف داشته باشه شما بنا به نیازتون می تونید رابط تحت وب یا رابط ویندوزی براش در نظر بگیرید.
سیستم های این چنین از سطوح پایین اتوماسیون گرفته تا سطوح خیلی پیشرفته اون معمولا یک نرم افزار نیستند و تحت عنوان یک بسته نرم افزاری با ماژول ها افزودنی گوناگونی ارائه می شوند. همین الآن تقریبا در اکثر این بسته ها امکانات کاربری تحت وب وجود دارند. و به عنوان یک مزیت برای این بسته نرم افزاری در تبلیغات استفاده می شوند.
پیچیده ترین این سیستمهای اتوماسیون رو هم در صنایع نظامی، هوا فضا و خودرو سازی پیدا خواهید کرد چون از مرحله اتوماسیون فراتر رفته اند. مثلا بررسی محصولات IBM در این زمینه خالی از لطف نیست.


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

به هر حال ما در شرایطی هستیم که پیشرفت های تکنولوژیکی در حال انجام هستند و به زودی نیاز به نرم افزار های پیشرفته گسترش پیدا می کند.

این بحث هم که می صرفه یک سازمان یه سرور اضافه کنه یا نه به مهندسی بر نمی گرده به این برمی گرده که شما معنی مناقصه، ضابطه و ... را بدانید!:چشمک:

به نظر من برای این که بحث های غیر فنی باعث انحراف موضوع نشه روی این بحث کنیم که آنهایی که پیشرفته هستند الآن چه می کنند ، چه امکاناتی برای سیستم در نظر می گیرند. از طریق ارائه آمار و ارقام و ارائه امکانات سیستم های مدرن.

و بحث های غیر فنی که مثلا چرا یک ایده فنی و صحیح که مشکلات سازمانها رو کم خواهد کرد تبدیل به سیستم هایی می شوند هزینه ها و مشکلات رو افزایش می دهند ، یا مثلا یک پروژه 3 ماهه چرا یگ سال طول میکشه و .... رو انجام ندیم و این رو به توانایی ها و وجدان هر شخصی در گرفتن پروژه از یک سازمان واگذار کنیم!


خلاصه اینکه وضعیت ایدآل را درک کنیم و هر چقدر که شرایط اجازه داد به اون نزدیک بشیم!

اگر موافقید ادامه بدیم...

ir_programmer
یک شنبه 21 بهمن 1386, 10:12 صبح
Web مناسب تره
اتصال به اتوماسیون از طریق اینترنت هم الان یکی از ملزومات این سیستم شده که از طریق Web امکان پذیره (از طریق APP هم امکانش وجود داره اما منطقی و استاندارد نیست)
البته بعضی از بخش ها با APP بهتره.
گزینه هر دو رو هم اضافه کنید!