PDA

View Full Version : افزایش ضریب اطمینان در برنامه های تحت وب



araelectronic@ymail.com
پنج شنبه 11 شهریور 1389, 02:09 صبح
با سلام
در یک برنامه فروشگاهی که تحت وب نوشته شده و روی شبکه محلی کار میکنه چطوری میشه در صورت از کار افتادن سرور عملیات فروش متوقف نشه و هر فروشنده تا بکار افتادن سرور کاشو بتونه ادامه بده؟
آیا نیاز هست که سرور کمکی داشته باشیم؟ یا کلا چنین برنامه هایی نباید تحت وب باشند؟

Alireza_Salehi
پنج شنبه 11 شهریور 1389, 02:38 صبح
چه تحت وب باشد چه تحت ویندوز، برنامه تحت شبکه نیاز به سرور دارد و اگر سرور از کار بیافتد همه چیز متوقف می شود.

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

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

milade
پنج شنبه 11 شهریور 1389, 08:37 صبح
استفاده از سرور بالانس توصیه میشه ... تا درصورت از کار افتادگی یکی از سرورها بقیه سرورها به حیاتشون ادامه داده و کلاینت رو بی پاسخ نگزارند .

araelectronic@ymail.com
پنج شنبه 11 شهریور 1389, 12:13 عصر
خیلی ممنون از جوابهاتون.
چنین برنامه ای که نیاز به ارتباط از راه دور داره و همچنین نتوقف نشدن عملیات خیلی اهمیت داره آیا بهتره که تحت وب نوشته بشه یا تحت ویندوز؟ البته تعداد کاربرها زیاده و بحث هزینه های نگهداری هم مطرح است.
آیا میشه برنامه تحت وب را هم بصورت توزیع شده درآورد؟ بطوریکه اگر سرور از کار افتاد کلاینت به تنهایی قادر به فعالیت باشه؟

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

araelectronic@ymail.com
شنبه 13 شهریور 1389, 19:40 عصر
از اساتید محترم کسی جواب سوالها رو نمیدن؟

milade
شنبه 13 شهریور 1389, 19:49 عصر
ببین عزیزم .
به نظر من اگه میتونی تحت ویندوز بهتره . چون قدرت بیشتری داری .
لود سرور میاد پایین و قدرتش بیشتره .
در مورد از کار افتادن سرور هم میتونی وقتی که DisConnect هست اطلاعات رو یه جا در سمت کلاینت نگه داری و با وصل شدن ارتباط اونها رو بفرستی برا سرور .

iman_ad
شنبه 13 شهریور 1389, 20:52 عصر
چرا سرور دیدیکتد نمی گیری معمولا 99 تا 100 درصد آپ هستند.

iman_ad
شنبه 13 شهریور 1389, 21:17 عصر
تحت وب یا تحت ویندوز بودن ربطی به صورت مساله ای که می گی نداره و کلا سرور یعنی کامپیوتری که همیشه آماده سرویس به شما پیشنهاد می کنم با یک متخصص شبکه مشورت کنید تا سرور مناسب انتخاب کنید. من به شما تحت وب پیشنهاد می کنم نیازی به نصب روی هر کلاینت نداره و آینده نگری هم می کنی که بتونی روی وب هم بزاریش من اول پستتو درست نخوندم چون دیدم تاپیک فروشگاه فک کردم می خوای روی وب بزاری

araelectronic@ymail.com
شنبه 13 شهریور 1389, 21:51 عصر
آقا ایمان ازنظر بحث آینده نگری و نگهداری و توسعه من با شما موافقم ولی مشکل تو قطع شدن سرور هست که تو این حالت کلاینتها از کار میفتن . چه راه کاری پیشنهاد می کنید؟
البته مشکل دیگه هم قیمت سرور هست .
--------------------
milade عزیز چطوری سمت کلاینت ذخیره کنم؟
وقتی برنامه تحت وب میشه از طرف سرور باید اجرا بشه .

milade
شنبه 13 شهریور 1389, 22:37 عصر
چه طوری سمت سرور ذخیره میکنی ؟
یه نمونه کوچکش رو بیار روی کلاینت ...
توی یه فایل ، بانک اطلاعاتی و ....

araelectronic@ymail.com
شنبه 13 شهریور 1389, 22:43 عصر
خود برنامه از کجا اجرا بشه؟

milade
شنبه 13 شهریور 1389, 23:02 عصر
کدوم برنامه ؟
اگه منظورت کلاینت هست که باید بتویسی و کلاینت نصبش کنه ...

araelectronic@ymail.com
یک شنبه 14 شهریور 1389, 01:44 صبح
سوال من در مورد برنامه های تحت وب هست.

araelectronic@ymail.com
یک شنبه 14 شهریور 1389, 14:23 عصر
از اساتید محترم کسی نظری نداره؟
چطوری میشه در برنامه های تحت وب از متوقف شدن کار کلاینت بهنگام از کار افتادن سرور جلوگیری کرد؟ چه راه حلهایی وجود داره؟

Alireza_Salehi
یک شنبه 14 شهریور 1389, 19:36 عصر
برنامه ای که به صورت Server-Side نوشته شده متکی به سرور است و باید تمهیدات لازم برای از کار نیافتادن سرور اندیشیده شود،
خطوط شبکه جایگزین،سرور پشتیبان، سرور بالانس، UPS و ...


اگر حتما می خواهید در صورت قطعی سرور کلاینت ها از کار نیافتند دیگر برنامه شما Server-side نخواهد بود هر کلاینتی باید برنامه را به همراه دیتابیس مستقلا نصب کند. در نهایت با توجه به پیکربندی سیستم باید یکی از حالت های Replication در SQL Server رو برای تبادل و همزمان سازی داده های کلاینت و سرور در نظر بگیرید که کاملترین حالتش Bidirectional Merge Replication میشه البته در این حالت باید موارد زیادی رو در نظر بگیرید که تناقض اطلاعاتی پیش نیاد. بنابراین یک بخش Conflict Resolution هم به برنامه تون اضافه می گردد.
http://msdn.microsoft.com/en-us/library/bb500346.aspx
البته به جای Replication می تونید از Sync Framework استفاده کنید. که بستگی به شرایط پروژه شما داره.
http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBcQFjAA&url=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Fsync%2Fbb887608.aspx&rct=j&q=ado.net%20sync&ei=uKmDTKvEDcWclgeY4PWXDg&usg=AFQjCNGkQ92CQexMpjrwqrbRStU5CeksYA&sig2=2x2qNF_q_5cRwuqBwofJwA&cad=rja

http://msdn.microsoft.com/library/dd937565%28SQL.105%29.aspx
http://msdn.microsoft.com/en-us/library/ms151790.aspx
http://msdn.microsoft.com/en-us/library/ms147929.aspx

در نهایت اگر قرار بشه هر سیستمی مستقلا عمل کنه Windows Application گزینه بهتری است و امکانات بیشتری نسبت به وب در اختیار شما می گذارد.

amordad
یک شنبه 14 شهریور 1389, 22:28 عصر
با سلام
دوست عزیز بنده یک سیستم مشابه آنچه که مورد نیاز شما میباشد را ریده ام و مطالعه کردم.
در این سیستم ها پایانه های فروش یک برنامه windows base دارند و در طول روز با آن کار میکنند و در زمان بستن گیشه خود به وب سرویس متصل شده و امار خود را به دان منتقل میکنند. هم سرعت بهتری دارد و هم ضریب اطمینان بالا.
موفق باشی.