PDA

View Full Version : سوال: برنامه شبکه ای با 10 کلاینت وبی باشه یا اپلیکیشن؟



ar.mahdian
چهارشنبه 24 اسفند 1390, 12:25 عصر
سلام
برای برنامه ای که قراره تحت شبکه اجرا بشه و حدود 10 کلاینت داره و از بانک اس کیوال 2005 با 7-8 جدول استفاده میکنه٬ چه تکنولوژی پیشنهاد میکنید؟
ای اس پی یا اپلیکیشن ویندوز؟
برای اینکه:

کل مراحل تولید نرم افزار زمان کمتری نیاز داشته باشه و
طراحی بانک اون پیچیدگی زیادی نداشته باشه و
تغییر در آن راحت تر باشه و
نگهداری آن بهتر و آسان تر باشه و
مطمئن تر باشه
ممنون

ar.mahdian
پنج شنبه 25 اسفند 1390, 22:08 عصر
لطفا اگر کسی از دوستان تجربه همچین برنامه ای داره راهنمایی کنه
ممنون

nice_boy_a
چهارشنبه 02 فروردین 1391, 21:53 عصر
سلام.
بستگی به شبکه داره،
اگه کلاینت ها دور از هم هستن،بهتره که برنامه ASP باشه که همه کلاینت ها از طریق اینترنت بهش دسترسی دارن.
و اگه کلاینت ها نزدیک هم هستن، مثلا همه در یک ساختمون باشن، Application بهتره



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

barnamenevisforme
چهارشنبه 02 فروردین 1391, 22:03 عصر
اگه کلاینت ها دور از هم هستن،بهتره که برنامه ASP باشه که همه کلاینت ها از طریق اینترنت بهش دسترسی دارن.
و اگه کلاینت ها نزدیک هم هستن، مثلا همه در یک ساختمون باشن، Application بهتره


سلام
با عرض تبریک سال نو
دوست عزیز توی یکی از topic ها خوندم که اگه تعداد clientها بیشتر از ده تا باشن،اونوقت به جای workgroup باید از domain استفاده کرد،اونوقت تنظیماتی که واسه وصل شدن application روی server و همچنین sql server باید انجام بدیم متفاوته؟

طراحی بانک اون پیچیدگی زیادی نداشته باشه و
طراحی بانک برای هر دو مورد فرق چندانی نداره

تغییر در آن راحت تر باشه
معمولا تغییر دادن برنامه های تحت web راحتتره،چون شما فقط برنامه رو باید روی سیستم اصلی به روز کنید،ولی در حالت application باید برنامه کاربردی روی همه سیستم ها به روز بشن

ar.mahdian
چهارشنبه 02 فروردین 1391, 23:28 عصر
سلام
سال نو همه عزیزان مبارک باشه
با تشکر از دوستان محترم که زحمت کشیدند


اگه کلاینت ها دور از هم هستن،بهتره که برنامه ASP باشه که همه کلاینت ها از طریق اینترنت بهش دسترسی دارن.
و اگه کلاینت ها نزدیک هم هستن، مثلا همه در یک ساختمون باشن، Application بهتره
در این مورد خاص داخل یک ساختمان هست


(بستگی به روش برنامه نویسی داره)

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

barnamenevisforme
پنج شنبه 03 فروردین 1391, 15:33 عصر
سلام
اگه مد نظرتون application باشه برنامتون رو به طور معمول دنبال کنید و تا قبل از اینکه database رو روی سرور قرار ندادید همه چیز به صورت معمول پیش خواهد رفت.

مثلا اگه همزمان دو نفر بخوان داده های یه جدول رو تغییر بدن چه کاری صورت بگیره؟
تقریبا نیازی به صورت دادن هیچ کاری نیست،چون ado.net که مرسوم ارتباط با پایگاه داده برای زبان های برنامه نویسی visual studio.net است این مشکل رو حل کرده.در واقع اگر N نفر در آن واحد بخوان یه ریکورد رو تغییر بدن،یه کپی از ریکور مورد نظر بهشون فرستاده میشه،ولی هر کدوم زودتر کار ویرایش رو انجام داد،موقعی که بقیه بخوان تغییرات رو اعمال کنن با یه خطا مواجه میشن و علتش هم اینه که کپی که در اختیار اونا هست دیگه معتبر نیست و دوباره باید نسخه خودشون رو به روز کنن.

ar.mahdian
پنج شنبه 03 فروردین 1391, 15:36 عصر
ممنون
در مورد این موضوع میشه کمی بیشتر توضیح بدید
یا یه نمونه برنامه
یا اصلا اسم این خاصیت رو به انگلیسی بگید
ممنون میشم

barnamenevisforme
پنج شنبه 03 فروردین 1391, 16:18 عصر
خواهش میکنم
دوست عزیز اول اینکه من نمیدونم شما به چه زبان برنامه نویسی میخواهید کار کنید.
اگه با visual syudio کار میکنید توی یه همچین مسیری خیلی از برنامه های نمونه هست که به کارتون میاد.
Microsoft Visual Studio 9.0\Samples\1033\VBSamples\VB Samples\Data Samples حالا اگه c یا C#‎ اونا هم همینطورن
یه برنامه نمونه میذارم،البته باید sql server نصب باشه.
دو بار همین برنامه رو اجرا کنید،توی یکی یه مقدار مثلا quantity رو یه مقدار و توی دیگری مقدار دیگه بده،اولی رو برای ذخیره قبول میکنه ولی دومی رو خطا میده که باید دستور save رو توی یه try catch قرار داد و اونو مدیریت کرد.
موفق باشید.

ar.mahdian
پنج شنبه 03 فروردین 1391, 18:07 عصر
زنده باشی
دستت درد نکنه
من با #C و VS 2008 و sql 2005 express معمولا برنامه مینویسم و بسته به مورد asp رو هم اضافه میکنم
ممنون برنامه رو دیدم
فقط یه سوال
از اونجا که من هیچ وقت از کنترل های موجود در قسمت data از toolbox استفاده نمیکنم و همیشه با استفاده از کدنویسی جریان داده برنامه رو کنترل میکنم٬ لطفا یه مثال ساده به این روش بفرمایید ممنون میشم.
در حد اینکه این نوع کنترل جریان داده چه نام دارد یا 2-3 خط کد که نشون بده چطور میشه این روش رو پیاده سازی کرد.
ممنون

ar.mahdian
پنج شنبه 03 فروردین 1391, 18:13 عصر
خودم یه لینک پیدا کردم که فکر کنم درست بشه؟
http://msdn.microsoft.com/en-us/library/cs6hb8k4%28v=vs.80%29.aspx

barnamenevisforme
شنبه 05 فروردین 1391, 08:43 صبح
سلام
دوست عزیز فکر کنم لینک ناقصه
البته بهترین روش برای کنترل خطاهای اینچنینی استفاده از تراکنش (transaction) هست.
اگه شما در موقع به روز کردن یه record دچار مشکل بشید،میتونید تمام عملیات بروزرسانی رو به وضعیت اول برگردونید.

p.yazdkhasti
شنبه 12 فروردین 1391, 23:25 عصر
سلام
تعداد کاربران معمولا در تحت وب بودن یک نرم افزار تاثیری ندارد و درخواست مشتری و محیطی که قرار است نرم افزار در آن استفاده شود به همراه موارد دیگری در تحت وب بودن و یا نبودن نرم افزار تاثیر گذار است. تعداد کاربران معمولا در طراحی نرم افزار از نظر Performance و یا تضمین صحت داده ها تاثیر گذار است. پیشنهاد اینجانب این است که در صورتی که با مفاهیم ASP.NET آشنا هستید و یا آشنایی شما در حوزه Windows Application و ASP.NET تقریبا یکسان است معماری تحت وب را انتخاب نمایید. دلیل این موضوع نیز بسیار ساده است زیرا شرایطی را در نظر بگیرید که نرم افزار را با استفاده از تکنولوژی های Windows Application آماده نمودید و سپس آن را بر روی دستگاه کاربران نصب نمودید. در نصب اولیه نرم افزار باید نسخه .Net نصب شده بر روی دستگاه کاربران و موارد دیگری را به منظور عملکرد صحیح نرم افزار در نظر بگیرید و قبل از استفاده از نرم افزار حداقل باید نسخه .Net صحیح بر روی دستگاه کاربر نصب گردد. علاوه بر این به دلیل درخواست های جدید مشتری و یا مشکلات گزارش شده در نرم افزار شما مجبور خواهید بود نسخه های جدید را بر روی دستگاه کاربران نصب نمایید که این موضوع با افزایش تعداد کاربران بسیار زمان بر خواهد بود و معمولا مشکلات دیگری نیز ممکن است در هنگام به روزرسانی رخ دهد. در صورتی که این موارد را با نارضایتی کاربران به دلیل وقفه در کار آن ها در نظر بگیرید نرم افزار تحت وب برای شروع راه حل بسیار مناسبتری خواهد بود. البته این نکته را در نظر داشته باشید که درخواست مشتری در انتخاب این موضوع نیز بسیار تاثیر گذار است.

ar.mahdian
یک شنبه 13 فروردین 1391, 12:38 عصر
کاملا موافقم
و شاید بشه گفت بکی از مهمترین دلایلی که برنامه به صورت وبی نوشته میشه این هست که کلاینت ها آزادتر هستند و تغییر خاصی در آنها لازم نیست.
اما با روش clickonce نیز میتوان این مشکل رو تا حدودی برای اپلیکیشن ها حل کرد.
در مورد برنامه های تحت وب یک مشکلی که وجود داره این هست که بعضی اوقات تنظیم کردن iis برای برنامه مشکل میشه و هر کاری که میکنی مشکل حل نمیشه.
اگر دوستان نظری دارند بفرمایند تا به یه نتیجه نهایی برسیم
ممنون

ar.mahdian
یک شنبه 13 فروردین 1391, 12:41 عصر
سلام
دوست عزیز فکر کنم لینک ناقصه
البته بهترین روش برای کنترل خطاهای اینچنینی استفاده از تراکنش (transaction) هست.
اگه شما در موقع به روز کردن یه record دچار مشکل بشید،میتونید تمام عملیات بروزرسانی رو به وضعیت اول برگردونید.

عنوان لینک هست Introduction to Data Concurrency in ADO.NET البته در دات نت 2.0
چه چیزی ناقص هست؟

barnamenevisforme
پنج شنبه 17 فروردین 1391, 23:08 عصر
سلام
عذر خواهی میکنم
فکر کنم تنظیمات msdn online رو سیستم من به هم ریخته که به server مربوطه وصل نمیشه.

در مورد برنامه های تحت وب یک مشکلی که وجود داره این هست که بعضی اوقات تنظیم کردن iis برای برنامه مشکل میشه و هر کاری که میکنی مشکل حل نمیشه.

اگه ممکنه بیشتر توضیح بدید.

ar.mahdian
جمعه 18 فروردین 1391, 11:15 صبح
منظور من تنظیم کردن پرمیژن ها و دات نت و ... بود.