ورود

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



soft-c
جمعه 29 فروردین 1393, 13:02 عصر
سلام
من می خوام یک برنامه اتوماسیون تحت شبکه بنویسم
چند تا سوال دارم :
1- کدام ورژن دلفی برای نوشتن این برنامه پایدار تر و بهینه تر هست ؟
2- روش هایی که باید برای نوشتن برنامه رعایت کنیم چیست ؟ برای سرعت بهتر ، کامپایل بهتر ، سربارگذاری کمتر در شبکه و ....
3- ابزارهایی که استفاده از اونها را توصیه می کنید و یا استفاده از اونها برای نوشتن این برنامه در شبکه الزامی است چیست ؟
و ... پ
تشکر

Mask
جمعه 29 فروردین 1393, 13:51 عصر
سلام دوست من.
نظر شخصیه من:


1- کدام ورژن دلفی برای نوشتن این برنامه پایدار تر و بهینه تر هست ؟

به نظرم زیاد نسخه فرقی نمیکنه. اما استفاده از نسخه های 2009 به بالا رو شخصا پیشنهاد میکنم.


2- روش هایی که باید برای نوشتن برنامه رعایت کنیم چیست ؟ برای سرعت بهتر ، کامپایل بهتر ، سربارگذاری کمتر در شبکه و ....

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


3- ابزارهایی که استفاده از اونها را توصیه می کنید و یا استفاده از اونها برای نوشتن این برنامه در شبکه الزامی است چیست ؟

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

soft-c
جمعه 29 فروردین 1393, 14:08 عصر
به نظرم زیاد نسخه فرقی نمیکنه. اما استفاده از نسخه های 2009 به بالا رو شخصا پیشنهاد میکنم.
نظر شما در مورد نسخه های جدید مثل xe 3 و 4 و ... چیه . ایا این نسخه ها را پیشنهاد می کنید ؟

بماند اینکه نگفتید منظورتون از شبکه دقیقا چیه؟لوکال یا اینترنت یا اینترانت؟
برنامه به صورت لوکال هست ولی تعداد کاربرانش زیاد هستند .در حال حاضر نزدیک 50 نفر ور در آینده بیشتر و بیشتر ...

یوسف زالی
جمعه 29 فروردین 1393, 15:19 عصر
سلام.
ببینید کاملا بستگی داره به حجم کارتون، نظر کارفرما، هزینه..
روشهای زیادی برای این کار وجود داره که یکی از اونها همین وب سرویس هست که البته خیلی هم روش خوبی هست.
اما اگر شبکه شما کاملا داخلی هست و از بیرون یعنی اینترنت نیازی به دسترسی ندارید، خود اس کیو ال سرور هم کار شما رو راه می ندازه.
توصیه من اینه که برنامه رو حتما لااقل روی سه لایه بنا کنید.
- لایه دی بی: می تونید این لایه رو با همون SP ها و View ها درست کنید.
- لایه دسترسی به داده: باید بصورت یک سرویس روی سرورتون راه اندازیش کنید.
- لایه یو آی: همون برنامه End-User شماست.

وجود لایه اول باعث بهینگی کارها در سمت سرور می شه، تا حدودی روی پردازش های اس کیو ال تاثیر مثبت تایمی داره، در راستای امنیت برنامه کمک شایانی می کنه، تغییراتی که لازمه در اسکریپت ها و کوئری هاتون رخ بدند بی نیاز از کامپایل مجدد برنامه خواهند بود، می تونید SP ها رو Encrypt کنید تا دیگران نتونن از محتویاتش با خبر بشن. و ...

وجود لایه میانی به شما این امکان رو می ده که بدون داشتن کانکشن استرینگ مستقیم برنامه رو بالا بیارید، کارکرد هر کلاینت رو لاگ کنید، کلاینت ها رو محدود کنید، دسترسی به داده رو قطع کنید، پیامی رو برای همه کلاینت ها بفرستید، تغییرات در داده ها رو به همه اطلاع رسانی کنید، به جای برنامه UI که با دلفی نوشته شده مثلا با برنامه نوشته شده با آندروید تعامل کنید، ...

وجود لایه آخر هم که معلومه دیگه.

در حقیقت وب سرویس هم یک نوع پیاده سازی این مدلی می شه. لایه میانی به جای سرویس، وب سرویسه.
برای پروتکل های انتقال داده هم می تونید از DCOM , Indy یا هر روش دیگه ای که بشه باهاش دیتا جابجا کرد استفاده کنید. حتی می تونید از روش مسخره ای مثل WebBrowser هم استفاده کنید!

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

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

soft-c
جمعه 29 فروردین 1393, 18:38 عصر
اطلاعات خیلی خوبی دادید . هم gold و هم you-see .
در مورد طراحی سه لایه :
خوب ببینید تا حالا هم من برنام هام را همین طوری می نوشتم . یعنی sp ها و ... را سمت sql می نوشتم .
بعد با استفاده از adodataset و تنظیم اون به عنوان stored procedure به اون sp متصل می شدم و با add کردن فیلد ها سمت دلفی از اونها استفاده می کردم .

لایه دسترسی به داده: باید بصورت یک سرویس روی سرورتون راه اندازیش کنید.
آیا روشی که من استفاده می کردم مطابق با گفته های شما هست ؟میشه بگین بدون connection یعنی چطوری؟
در مورد این مطلب میشه بیشتر توضیح بدید ؟
مقاله یا مطلبی در این مورد هست ؟

یوسف زالی
جمعه 29 فروردین 1393, 19:25 عصر
برنامه شما دو لایه بوده.
در مورد برنامه نویسی سه لایه در همین سایت جستجو کنید.
روش شما اشتباه نبوده.
در روشی که گفتم، لایه میانی با کانکشن استرینگ متصل می شه، شما هم با روش خودتون به لایه میانی.

soft-c
جمعه 29 فروردین 1393, 19:33 عصر
بسیار سپاسگذارم .
با استفاده از راهنمایی شما و مقاله آقای عشایری در مورد datasnap راه را پیدا کردم .
لطفا اگر باز هم نکات و راهنماییهایی از این دست دارید در مورد برنامه نویسی تحت شبکه ارائه دهید .

rezamahdizadeh
جمعه 12 اردیبهشت 1393, 16:33 عصر
...
- لایه دسترسی به داده: باید بصورت یک سرویس روی سرورتون راه اندازیش کنید.
...
وجود لایه میانی به شما این امکان رو می ده که بدون داشتن کانکشن استرینگ مستقیم برنامه رو بالا بیارید، کارکرد هر کلاینت رو لاگ کنید، کلاینت ها رو محدود کنید، دسترسی به داده رو قطع کنید، پیامی رو برای همه کلاینت ها بفرستید، تغییرات در داده ها رو به همه اطلاع رسانی کنید، به جای برنامه UI که با دلفی نوشته شده مثلا با برنامه نوشته شده با آندروید تعامل کنید، ...
...
در حقیقت وب سرویس هم یک نوع پیاده سازی این مدلی می شه. لایه میانی به جای سرویس، وب سرویسه.
...


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

disiba
دوشنبه 30 شهریور 1394, 21:01 عصر
چند ماه پیش بنا به نیاز و ساخت برنامه وب بیس و بی سوادی من در زمینه ASP و یا PHP مجبور به تحقیقات زیادی در این زمینه شدم.که بعد از کار و تحقیق زیاد در مورد Intraweb ، حس کردم چیزی نیست که بتونم روی پروژه تجاری روش حساب کنم . اینجا بود که با جستجوی زیاد با مجموعه ای آشنا شدم، که میتونم به جرات بگم دلفی از ASP و یا PHP دیگه کم نداره.

سلام دوست عزیر
این مجموعه رو معرفی میکنید ؟

Mask
دوشنبه 30 شهریور 1394, 23:42 عصر
سلام دوست عزیر
این مجموعه رو معرفی میکنید ؟
فریمورک UNIGUI. در بخش وب اموزش مقدماتی قرار دادم.