PDA

View Full Version : برنامه های delphi2005.net در اینترنت چگونه کار میکنند



sanaiy
شنبه 29 مهر 1385, 17:50 عصر
اول اینکه آیا برنامه ای که با دلفی 2005 برای اجرا در شبکه اینترنت نوشته میشه ، تحت اینترنت اکسپلورر و مرورگرهای وب اجرا میشن ویا اینکه بصورت یک برنامه مستقل مثل سایر برنامه های اجرایی تک کاربره اجرا میشن؟


دوم اینکه سروری که برای برنامه های کاربردی تحت وب در اینترنت(فرضا یک برنامه حسابداری) در نظر گرفته میشود و برنامه ها از روی آن اجرا میشود یک کامپیوتر در مرکز ISP خودمون هستش یا اینکه در دیتا سنترهای فرضا آمریکا یا کانادا هستش؟



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

mzjahromi
یک شنبه 30 مهر 1385, 06:51 صبح
همه موارد بستگی به خودتون داره
میتونید برنامه هاتون رو web based بنویسید یا Application (پیشنهاد من برای موردی که گفتید وب هست)
نوع Host هم بسته به شرایط خودتون میتونید انتخاب کنید

sanaiy
دوشنبه 01 آبان 1385, 15:37 عصر
همه موارد بستگی به خودتون داره
میتونید برنامه هاتون رو web based بنویسید یا Application (پیشنهاد من برای موردی که گفتید وب هست)
نوع Host هم بسته به شرایط خودتون میتونید انتخاب کنید

ممنون از پاسخ شما

یه سئوال دیگه:
دلفی 7 و سایر دلفی ها هم همین خواسیت رو در اینترنت (بیشتر منظورم Applicationهستش)داره یا اینکه فقط باید از دلفی دات نت استفاده کنیم؟



منتظر جواب شما هستم

mzjahromi
دوشنبه 01 آبان 1385, 16:48 عصر
برای Application میتونی از دلفی 7 یا حتی پائین تر هم استفاده کنی
ولی خوب ممکنه با یه سری مشکلات مواجه بشی

sanaiy
دوشنبه 01 آبان 1385, 22:23 عصر
میتونی بیشتر توضیح بدی؟

بطور کلی میتونی بگی چه مراحلی رو باید انجام بدم؟

mzjahromi
سه شنبه 02 آبان 1385, 10:30 صبح
ذخیره پایگاه SQL در اینترنت و اتصال با دلفی 7 (http://barnamenevis.org/forum/showthread.php?t=54091&highlight=%C7%26%231740%3B%E4%CA%D1%E4%CA)
دیتابیس و ارتباط از طریق اینترنت (http://barnamenevis.org/forum/showthread.php?t=53404&highlight=%C7%26%231740%3B%E4%CA%D1%E4%CA)
[جستجو کنی اطلاعات بیشتر هم هست

sanaiy
پنج شنبه 04 آبان 1385, 23:47 عصر
با عرض معذرت یه سوال دیگه:

وقتی Application رو در فضائی در اینترنت قرار داشته باشه، درهنگام اجرا اول دانلود میشه و در استیشن اجرا میشه ویا مستقیما در همون فضا اجرامیشه؟

adelmobasheri
جمعه 05 آبان 1385, 00:10 صبح
aplication ها در اینترنت اجرا نمی شوند و این اصطلاح به برنامه های محلی یا تحت LAN گفته می شه.
ولی نرم افزارهایی که برای سرور نوشته می شه روی سرور اینترنتی مربوط به سایت شما اجرا میشه مثل جستجویی که شما در سایت گوگل انجام می دهید جستجو را سرورهای گوگل انجام می دهند و نتیجه را به شما گزارش می دهند

soroush_vs
جمعه 05 آبان 1385, 08:17 صبح
برنامه های چند لایه یه راه حل مطلوب هستند که در دات نت ایجاد شدند که البته در دلفی 6و 7 هم هستند.یعنی حداقل 2 تا اپلیکیشن و یک دیتابیس وجود داره.Application سرور در سرور وب اجرا میشه و Application کلاینت در کامپوتری که حسابدار میخاد با اون به اینتر نت وصل بشه و دیتابیس هم در همان وب سرور قرار داده میشه.
اینجوری نتنها از تمام استان بلکه از تمام دنیا میتونه حسابداری رو انجام بده
من این برنامه رو نوشته ام.

sanaiy
جمعه 05 آبان 1385, 11:47 صبح
برنامه های چند لایه یه راه حل مطلوب هستند که در دات نت ایجاد شدند که البته در دلفی 6و 7 هم هستند.یعنی حداقل 2 تا اپلیکیشن و یک دیتابیس وجود داره.Application سرور در سرور وب اجرا میشه و Application کلاینت در کامپوتری که حسابدار میخاد با اون به اینتر نت وصل بشه و دیتابیس هم در همان وب سرور قرار داده میشه.
اینجوری نتنها از تمام استان بلکه از تمام دنیا میتونه حسابداری رو انجام بده
من این برنامه رو نوشته ام.

سروش جان شما دقیقا خواسته من رو متوجه شدی و زدی به هدف

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

منتظرت هستم

soroush_vs
شنبه 06 آبان 1385, 08:23 صبح
این برنامه ها به این شکل هسنتد که شما میرید و SQL SERVER v و برنامهی سرورتون رو در کامپیوتر سرور(که حالا ممکنه یه شبکهی معمولی باشه یا اینترنت)فرقی نمیکنه , نصب میکنید و در کامپیوتر کلاینت برنامه ی حسابداری ای که باید حسابدار با اون کار کنه نصب میشه
بعد در کامپوننت هایی که در دلفی در اختیارتون هست میتونید یه پنجره درست کنید و در اون آدس آی پی یا دامین سرورتون رو از کاربر بگیرید و به اون سرور متصل بشید
البته این برنامه ها نوشتنشون یه ذره پیچیده است اما اگه تلاش کنی از پسش حتما بر میاید
در توسعه گر دلفی 6 انتشارات Sams جلد آبی کتاب 1100 صفحه ای قسمتی رو به این مورد اختصاص داده شده
موفق باشید

sanaiy
شنبه 06 آبان 1385, 17:20 عصر
آقا سروش ممنون که جواب دادی

*این ارتباط توسط آی پی به منظور ارتباط با دیتابیس سرور هستش یا ارتباط و اجرای Application که روی سرور هست؟

*شما فقط با این کتاب که معرفی کردی این کار رو انجام دادی؟(منظورم اینه که اطلاعاتش در این مورد کافیه)

اگه وقتش رو داری لطف کن و یه خورده دیگه هم توضیح بده

خیلی ممنون

soroush_vs
شنبه 06 آبان 1385, 18:03 عصر
ببین کتاب اطلاعات خوبی داره من از Help دلفی هم کمک گرفتم بغیر از کتاب.
در ضمن درست فهمیدی از IP برای اتصال استفاده میشه.
توضیح بیشتر : برنامه سه لایه
کلاینت --------> برنامه سرور (در کامپیوتر سرور) ---------> دیتابیس ( در کامپیوتر سرور)
|
|
/ \
این اتصال با استفاده از IP یا DNS SERVER
البته اون کتاب ترجمه هست باید بهش خیلی دقت کنی و یه نفر راهنماییت کنه تا زود راه بیفتی اما در کل آسونه فقط اولش سخته
موفق باشید

sanaiy
یک شنبه 07 آبان 1385, 16:15 عصر
سروش جان بازم ازت ممنونم

کتاب رو تهیه میکنم و کار رو شروع میکنم ولی اگه به مشکلی بر خوردم امیدوارم بتونم از راهنماییت استفاده کنم

فقط یه سوال دیگه:برنامه سرور، یک برنامه مستقل هستش(یعنی اینکه از روی سرور قابل اجرا و استفاده هستش) یا اینکه فقط بوسیله برنامه کلاینت بکار برده میشه؟
ممنون

mzjahromi
یک شنبه 07 آبان 1385, 18:28 عصر
فقط یه سوال دیگه:برنامه سرور، یک برنامه مستقل هستش(یعنی اینکه از روی سرور قابل اجرا و استفاده هستش) یا اینکه فقط بوسیله برنامه کلاینت بکار برده میشه؟
برنامه سرور فقط سرویس میده. با خودش نمیتونی کاری انجام بدی ولی اگر این قصد رو داشته باشی میتونی به نسخه از کلاینت رو روی سرور هم نصب کنی و ...

soroush_vs
یک شنبه 07 آبان 1385, 23:45 عصر
باشه هر کمکی خواستید در خدمتم ID یاهوم هم همینه soroush_vs همین طور Email soroush_vs@yahoo.com

Identifier
دوشنبه 08 آبان 1385, 08:40 صبح
اول اینکه آیا برنامه ای که با دلفی 2005 برای اجرا در شبکه اینترنت نوشته میشه ، تحت اینترنت اکسپلورر و مرورگرهای وب اجرا میشن ویا اینکه بصورت یک برنامه مستقل مثل سایر برنامه های اجرایی تک کاربره اجرا میشن؟ با استفاده از Delphi 2005 شما می توانید هم برنامه های مبتنی بر وب طراحی و پیاده سازی کنید و هم Application های Win Based و هر دو ی آنها امکان برقراری ارتباط Remote را دارند و اینکه برای برقراری اینگونه ارتباط از چه تکنولوژی و ابزارهایی استفاده کنید بستگی به شرایط و معیار های پروژه شما دارد و اینکه مستقیماً بدون بررسی و صرفاً منباب آشنا بودن و تخصص داشتن در یک تکنولوژی بیان شود از فلان تکنولوژی و یا ابزار استفاده کن ، کاملاً اشتباه بوده و باعث بوجود آمدن مشکلات زیادی هم در مرحله Impelemtaion و هم Maintenace خواهد شد.


دوم اینکه سروری که برای برنامه های کاربردی تحت وب در اینترنت(فرضا یک برنامه حسابداری) در نظر گرفته میشود و برنامه ها از روی آن اجرا میشود یک کامپیوتر در مرکز ISP خودمون هستش یا اینکه در دیتا سنترهای فرضا آمریکا یا کانادا هستش؟
این امر در دو حالت فوق امکان پذیر است ، اما تکنولوژی ارتباطی استفاده شده در این میان نیز مهم است ، به عنوان مثال زمانی که شما یک Stand Alone Web Appplication در اختیار دارید تنها کافی است کامپیوتر میزبان [موجود در ISP و یا Data Center] دارای IP Valid و یا معتبر باشد [خصوصیات IP Valid را به طور کامل در بخش شبکه شرح داده ام ] و کلاینت ها هیچ نیازی به داشتن IP معتبر ندارند . اما زمانی که شما به صورت Distributed کار کرده اید و برنامه شما توزیع شده است نسبت به طراحی شما این امر متفاوت است.
نکته مهمی که اینجا قابل ذکر است می توان از تکنولوژی های کمکی برای مرتفع کردن مشکلات شبکه نیز استفاده کرد نظیر VPN.


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

متاسفانه مشکلاتی که در نرم افزاریهای تولید داخل با آن مواجه هستیم همین عدم اطلاع برنامه نویسان از تکنولوژی های مختلف [جدید ، قدیم] است و خیلی از مواقع این مورد مشاهده شده که برنامه نویس به علت عدم آگاهی و یا نداشتن اطلاعات کافی در مورد یک تکنولوژزی از آن در برنامه خود استفاده کرده این در حالی است که راه حل های مناسب تر و مطمئن تری نیز وجود داشته است.
به عنوان مثال شما برای یک برنامه تحت شبکه میتونید از راه های زیر استفاده کنید.

1- Tow Tire Application = Application Client + DBMS
2- Three Tire Application = Application Client + Application Server + DBMS

حال اگر راه حل اول را انتخاب کنیم چندین سوال به وجود می آید :
1- از چه نوع DBMS استفاده شود ؟
2- چگونه ارتباط را بین DBMS و نرم افزار برقرار کنم ؟
و N سوال دیگر که در صورت وجود وقت کافی توضیحات بیشتری ارائه خواهم کرد.

اما راه حل دوم ، در این راه حل انتخاب کمی پیچیده تر می شود ؛ از کدام تکنولوژی برای برقراری ارتباط بین Application Cient و Application Server استفاده کنیم ؟
آیا جواب قطعی Dcom است ؟
آیا هیچ تا به حال مزایا و معایب آن را مورد آزمایش قرار داده اید ؟
آیا تا کنون نحوه Authetication این سیستم را بررسی کرده اید ؟


و یا اینکه خود با استفاده از ابزارهای TCP این ارتباط را برقرار کنیم .و یا اینکه از Web Service استفاده کنیم.

جواب این سوال ها را تنها با بررسی در مورد این تکنولوژی ها می توان بدست آورد و با توجه به نیاز ها میتوان بهترین گزینه را انتحاب نمود .


وقتی Application رو در فضائی در اینترنت قرار داشته باشه، درهنگام اجرا اول دانلود میشه و در استیشن اجرا میشه ویا مستقیما در همون فضا اجرامیشه؟ این مورد باز به ساختارت بر میگرده اما در شرایطی میتونه تنها DBMS در اینترنت قرار داشته باشه . و در مواردی هم کل Application و یا بخشی از آن.


aplication ها در اینترنت اجرا نمی شوند و این اصطلاح به برنامه های محلی یا تحت LAN گفته می شه. ترجیحا در مورد مطالب ارسالی خود کمی تحقیق به عمل آورید.


برنامه های چند لایه یه راه حل مطلوب هستند که در دات نت ایجاد شدند که البته در دلفی 6و 7 هم هستند.یعنی حداقل 2 تا اپلیکیشن و یک دیتابیس وجود داره.Application سرور در سرور وب اجرا میشه و Application کلاینت در کامپوتری که حسابدار میخاد با اون به اینتر نت وصل بشه و دیتابیس هم در همان وب سرور قرار داده میشه.
اینجوری نتنها از تمام استان بلکه از تمام دنیا میتونه حسابداری رو انجام بده
من این برنامه رو نوشته ام. همانطوری که قبلا به آن اشاره کرد ه ام ؛ به این نکته توجه کن که نوشتن یک برنامه ملاک بر تایید و تعمیم دادن آن تکنولوژی برای تمامی برنامه های مطرح شده نیست. شاید تکنولوژی پیشنهاد شده گزینه خوبی باشد اما کاملاً اشتباه است که سریعاً و صریحاً و بدون بررسی مورد استفاده قرار گیرد.


این برنامه ها به این شکل هسنتد که شما میرید و SQL SERVER v و برنامهی سرورتون رو در کامپیوتر سرور(که حالا ممکنه یه شبکهی معمولی باشه یا اینترنت)فرقی نمیکنه , نصب میکنید و در کامپیوتر کلاینت برنامه ی حسابداری ای که باید حسابدار با اون کار کنه نصب میشه این قاطعیتت برام جالبه، برنامه های به ظاهر تحت شبکه شاید ظاهراً در اینترت هم اجرا شوند اما نمیدانم تا چه حد درگیر برنامه های تحت اینترنت بودید؟ آیا تا کنون در برنامه های تحت شبکه خود به Reliabilty آن فکر کرده اید و یا اینکه تا چه حد TCP مشکلات Packet Lost را مرتفع خواهد کرد ؟
در برنامه هایی که قرار است تحت اینترنت بارگزاری شوند مسائل امنیتی بسیار با اهمیت است . مسائل امنیتی صرفاً به معنی نفوذ به برنامه نیست بلکه به امنیت برقراری ارتباط ، امنیت صحت دریافت اطلاعات و ...... نیز مربوطه می شود.

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


بدرود

soroush_vs
دوشنبه 08 آبان 1385, 09:07 صبح
اطلاعات آقا حامد هم خوبه اما این بنده خدا الانه باید مطالعه کنه تا این مطالب رو بگیره
درسته از یه RDBMS میشه استفاده کرد اما نه از DBMS
--------------------
در ضمن DCOM گزینه ای خوبی نیست اما TCP IP ....

sanaiy
چهارشنبه 10 آبان 1385, 16:26 عصر
باشه هر کمکی خواستید در خدمتم ID یاهوم هم همینه soroush_vs همین طور Email soroush_vs@yahoo.com

ممنون سروش جان

sanaiy
چهارشنبه 10 آبان 1385, 16:41 عصر
آقای Zolghadri مثل همیشه توضیحات شما کامل و آموزنده بود ولی با این سوالها و راه حلهایی که مطرح کردی کلی سئوال و ابهام تو ذهنم به وجود اومد

آقا سروش هم راست میگه چون من تجربه زیادی تو زمینه برنامه نویسی تحت اینترنت ندارم

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

موفق باشی