PDA

View Full Version : احرای برنامه به روی اینترنت (پیشنهاد شما چیه؟)



jirjirakk
چهارشنبه 20 تیر 1386, 18:55 عصر
با این سوال من رکورد طولانی ترین سوال انجمن شکسته میشه
فقط امیدوارم این مدل سوال پرسیدن ها رسم نشه D:
__________________________________________________ _
سلام
دوستان برنامه ای قصد نوشتنش رو دارم که خوشبختانه با خوندن مقاله جناب حرفه ای درباره DataSnap ها و صحبت
ها و راهنمایی های سروش عزیز گفتم مسئله رو به صورت تاپیک عنوان کنم تا نظر اساتید صاحب نظر رو هم در این
باره بدونم اول قصد داشتم تمام متد ها و ... رو با Indy و از همون پایینه پایینش خودم بنویسم که مقداریش رو هم
انجام داده بودم که سروش عزیز به دادم رسید

صورت برنامه ای که توش گیر کردم به این صورت هستش که

برنامه برای یک مجموعه قراره نوشته بشه که چند صدتا کاربر دارن (شاید به دو سه هزار هم برسن)
کاربرای سیستم توی جاهای مختلف جغرافیایی پخش و پلا هستن
یه جورایی یک برنامه دیتابیسی بزرگ هستش (البته برای من) که روزانه ترنزکشن های زیادی خواهد داشت
پخش پیام ها به موقع بین کاربران هم بسیار مهم هستش که به صورت زیر باید انجامشون بدم
مثلا افراد A, B, C, D, E, F کاربرهای سیستم هستن
از ترکیب کاربر ها گروه تشکیل مشه :
..............گروه 1 تشکیل شده از A, B, C
..............گروه 2 تشکیل شده از C, D, E
..............گروه 2 تشکیل شده از B, D, E, F

فرضا الان از 6 تا کاربر چهار تاشون وصل سرور هستن A, B, C, D
کاربر A یک رکورد Insert می کنه اتفاق های زیر باید بیافته
..............چون B, C توی گروه 1 باهاش هم گروهن و الان آن لاین هم هستن
..............بعد از اینکه رکورد ثبت شد باید ID رکورد ثبت شده برای B, C ارسال بشه

کاربر D یک رکورد Insert می کنه اتفاقی که باید بیافته دقیقا مثل بالا هستش با این تفاوت که چون عضو دو تا گروه
هستش برای B, C, E, F باید شماره ID ارسال بشه (البته اگر وصل سرور شده باشن)

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

سوال ها :
-1> آیا DataSnap نیاز بالای من رو جوابگو هستش ؟
0> DataSnap، Asta, kbmMW, remObjects, dbOvernet اولویت رو به کدوم ابزارها می دین؟
1> توی DataSnap (یا هر کدوم از ابزار های بالا) آیا میشه ارتباط دو سویه داشت مثلا
وقتی A یک رکورد رو Insert می کنه سرور بر اساس اطلاعات دیتابیس B. C. D, E بگه که دیتای جدید رو از سرور دریافت کنن
2> کار بهتری هستش که بتونم انجامش بدم !؟

با تشکر از شما
جیرجیرک

vcldeveloper
پنج شنبه 21 تیر 1386, 03:17 صبح
-1> آیا DataSnap نیاز بالای من رو جوابگو هستش ؟
بله. البته قبل از اینکه از یک تکنولوژی خاص مثل DataSnap بپرسید، باید بپرسید آیا اصلا معماری سه لایه برای این پروژه مناسب هست یا نه. شما اطلاعات زیادی درباره پروژه ندادید، فقط به یکی از جنبه های پروژه اشاره کردید، با توجه به همون جنبه، میشه گفت که معماری سه لایه انتخاب خوبی برای این پروژه هست.

> DataSnap، Asta, kbmMW, remObjects, dbOvernet اولویت رو به کدوم ابزارها می دین؟
از بین اینهایی که نام بردی، با kbmMW و dbOvernet اصلا آشنایی ندارم. DataSnap که مشخصه چی هست. Asta ظاهرا چیز خوبیه، ولی شخصا ازش استفاده نکردم، در تبلیغاتش اشاره میشه که امکانات بیشتری از DataSnap داره. remObjects رو نمی دونم که اصلا راه حلی برای 3-Tier ارائه میده یا نه. هر کدوم را که انتخاب می کنید، به پشتیبانی و مطالبی که درباره آن تکنولوژی هم وجود داره، توجه کنید، که اگر وسط کار به مشکل برخوردید، بتونید از کسی یا جایی کمک بگیرید.

> توی DataSnap (یا هر کدوم از ابزار های بالا) آیا میشه ارتباط دو سویه داشت

توی DataSnap، بستگی به نوع کانکشنی که استفاده می کنید داره. تا جایی که یادم هست، اگه از کانکشن COM استفاده کنید، Application Server هم می تونه توابعی را در سمت Clients فراخوانی کنه.

مهدی کرامتی
پنج شنبه 21 تیر 1386, 07:26 صبح
بنظر من نباید طرز فکرت رو صرفا به دلفی و تکنولوژی های موجود در اون محدود کنی.

بهتره تحقیق کنی ببینی کلا چه تکنولوژی هایی برای انجام اون منظور خاص موجوده.

Asta در تبلیغاتش زیاده صحبت میکنه، اما باگ زیاده داره؛ همین قضیه درباره BrainPatchWroks هم صدق میکنه، DataSnap زیادی ناقص و کنده، kbmMW بدک نیست، RemObjects رو هم که اصلا حرفش رو نزن (برای اینکار اصلا مناسب نیست).

در مورد Remoting در Net. مطالعه کن، بعد صورت قضیه ات رو مجددا مرور کن.

jirjirakk
پنج شنبه 21 تیر 1386, 08:35 صبح
سلام جناب کشاورز :)
با تشکر از پاسخی که دادین
کلیت برنامه همون مطلب بالا هستش
چون بقیه کار یک دیتابیس هستش و مجموعا شاید ده جدول بیشتر وجود نداشته باشه

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

البته با خوندن اینجا
http://discuss.fogcreek.com/delphi/default.asp?cmd=show&ixPost=22&ixReplies=11
بین DataSnapو ابزار های دیگه دلشوره دارم D:

باز هم تشکر جناب کشاورز x:

jirjirakk
پنج شنبه 21 تیر 1386, 09:21 صبح
مرسی مهندس کرامتی جان :)
آف تاپیک : خیلی مخلصیم، هنوز محبت های سال های گذشتتون یادم نرفته ...
-----------------------------------------------------

در مورد Remoting در Net. مطالعه کن، بعد صورت قضیه ات رو مجددا مرور کن.
اول از همه می خواستم به روی همین کار رو شروع کنم یه دونه کتاب کامل هم ازش گیر آوردم درباره دات نت ریموتینگ اما یه جوون که دو سه روز باهاش کار کرده بود می گفت این تیکنولوژی رو نمی تونی روی اینترنت استفاده کنی ما هم گفتیم چشم و گذاشتیمش کنار
مرسی


Asta در تبلیغاتش زیاده صحبت میکنه
تبلیغاتشون من رو هم داشت خام می کرد، آخییییییییش


DataSnap زیادی ناقص و کنده
آهههههوم، مرسی


kbmMW بدک نیست
مرسی، یادمه یه زمانی هم به آقای مهدوی همین رو پیشنهاد دادین، یه فایل ZIP بود که پسورد می خواست

فعلا توی دلفی میشه -> kbmMW
دات نت -> ریموتینگ

تشکر جناب کرامتی
ارادت

FirstLine
پنج شنبه 21 تیر 1386, 12:06 عصر
با سلام
آیا با XML میشه؟
مثلا یه دیتابیس محلی برای هر کلاینت و تغییرات اعمال شده روی سرور یا هر کلاینت هم بصورت فایلهای XML به سرور ارسال یا دانلوود بشه.
با تشکر

jirjirakk
پنج شنبه 21 تیر 1386, 12:48 عصر
با سلام
kbmMW چیه؟
با تشکر

با اجازه از اساتید سایت :
kbmMW (http://www.components4programmers.com/) مجموعه ای هستش برای ساخت برنامه های چند لایه , به عنوان یک جایگزین برای Midas میشه ازش نام برد
که آقا مهدی کرامتی توی مجموعه های بالا از اون های دیگه بهتر می دوننش

vcldeveloper
شنبه 23 تیر 1386, 03:26 صبح
آیا با XML میشه؟
مثلا یه دیتابیس محلی برای هر کلاینت و تغییرات اعمال شده روی سرور یا هر کلاینت هم بصورت فایلهای XML به سرور ارسال یا دانلوود بشه.
SOAP میشه یه چیزی شبیه همین که شما گفتید، ولی بحث روی اینکه داده با چه فرمتی منتقل بشه نیست.