ارسال اطلاعات میان دو برنامه کاربردی


موقعیت های بسیاری پیش خواهد آمد که برنامه های شما احتیاج به برقراری ارتباط و استفاده از اطلاعات یکدیگر دارند. در اینجا منظور از هر «برنامه»، برنامه ی کاربردی است که هر کدام وظیفه مشخص و مستقلی را انجام می دهند. همان طور که می دانید برنامه های Client\Server کاملاً به یکدیگر وابسته اند و به کمک هم یک وظیفه ی مشخص را انجام می دهند. این نوع برنامه ها، به ارتباط و اشتراک اطلاعات کاملاً نیازمندند; به عبارت دیگر بدون ارتباط با هم به هدف خود نخواهند رسید. این گونه برنامه ها اکثراً در شبکه های کامپیوتری به کار گرفته می شوند و طبیعتاً از ارتباطات شبکه ای برای ارسال اطلاعات به یکدیگر استفاده می کنند. حالا موقعیتی را در نظر بگیرید که دو تا از برنامه های شما که هر یک «محصول» جداگانه ای هستند، احتیاج به تبادل اطلاعات و ارتباط با یکدیگر دارند. این نکته را هم در نظر بگیرید که این برنامه های کابردی هر دو در یک کامپیوتر مستقل نصب و استفاده می شوند. در این وضعیت شما چه راهکاری برای این مسئله ارائه می دهید؟

در این نوشته راه های معقولی که به ذهنم می رسد را ذکر می کنم.

  • استفاده از فایل : یکی از معمولی ترین و بدیهی ترین روش های ارتباط میان دو برنامه کابردی استفاده از فایل هاست. در این روش شما اطلاعاتی را که می خواهید به برنامه «گیرنده» بفرستید، در یک فایل مشخص و در یک مسیر از پیش مشخص شده قرار می دهید. این کار بوسیله برنامه «فرستنده» انجام می گیرد. سپس برنامه «گیرنده» با استفاده از الگوریتم از پیش تعیین شده (و قراردادی که میان این دو است) اطلاعات را از روی فایل مورد نظر خوانده و مورد استفاده قرار می دهد. در این روش شما باید نوع فایل را مشخص کنید. ساده ترین نوع، فایل متنی است که بسیاری از برنامه های ساده از آن استفاده می کنند. همین فایل های متنی ساده نیز می توانند دارای ساختار مشخص باشند. فایل های ini که بسیاری از برنامه ها برای ذخیره تنظیمات خود از آن بهره می برند، از این نوع اند. استفاده از فایل های نوع دار روش بهتری است که الگوریتم مشخص خود را دارند. استفاده از فایل های نوع دار به خاطر امنیت بیشتر توصیه می شود.
  • استفاده از حافظه : این روش سرعت بیشتری نسبت به روش های دیگر دارد اما الگوریتم آن مشکل تر از دیگر روش هاست. از این روش هنگامی استفاده می کنند که اولاً حجم اطلاعات بسیار کم و دوماً سرعت بر هر چیز دیگری ارجحیت داشته باشد. در این روش نیز باید قراردادی میان برنامه «فرستنده» و «گیرنده» وجود داشته باشد تا هر کدام با استفاده از الگوریتم مشخصی به حافظه ی اختصاص داده شده به دیگری دسترسی پیدا کند. به علت مشکل بودن کد نویسی و الگوریتم این روش و محدودیت حجم اطلاعات ارسالی، به ندرت از آن استفاده می شود و استفاده های خاص دارد. توجه کنید که این روش را با کپی کردن اطلاعات در حافظه ی «کلیپ برد» ویندوز اشتباه نگیرید. همان طور که می دانید حافظه ی کلیپ برد، یک حافظه ی موقتی و مشترک میان تمام برنامه های در حال اجراست. ممکن است قبل از استفاده ی برنامه «گیرنده» از اطلاعات، برنامه کاربردی دیگری اطاعات موجود را تغییر داده و یا حتی پاک کند.
  • استفاده از رجیستری : این روش تقریباً همانند روش استفاده از فایل، اطلاعات را بر روی دیسک سخت ذخیره می کند. این روش فقط در سیستم عامل ویندوز کاربرد دارد و نسبت به فایل ها دردسرهای کمتری دارد. رجیستری شامل داده های مختلف با انواع داده ای گوناگون است که برای ذخیره تنظیمات و اطلاعات ویندوز و برنامه های کاربردی مورد استفاده قرار می گیرد. در این روش دیگر شما نگران دسته بندی اطلاعات نخواهید بود، ذات رجیستری منظم است و داده های آن همگی دسته بندی شده و نوع دارند. شما فقط کافیست کلیدهای مورد نظر خود را در رجیستری تنظیم کنید و بر اساس قراردادی از پیش تعیین شده، میان برنامه های کاربردی خود ارتباط برقرار کنید. در این روش برنامه «فرستنده» کلیدهای مشخصی را در مسیر از پیش تعیین شده ای می سازد و برنامه «گیرنده» به هنگام نیاز این اطلاعات را می خواند و مورد استفاده قرار می دهد. این اطلاعات می توانند موقتی باشند و برنامه «گیرنده» پس از خواندن، آن ها را حذف نماید.
  • استفاده از بانک اطلاعاتی : این روش مناسب برنامه هایی است که از بانک اطلاعاتی برای ذخیره اطلاعات استفاده می کنند. در این روش ممکن است هر دو برنامه از یک بانک اطلاعاتی استفاده کنند، که در اینجا مشکلی نیست. هر دوی برنامه ها اطلاعات خود را از یک بانک می خوانند. اما اگر از بانک های مختلف استفاده می کنند، باید دسترسی هر یک از برنامه ها بر اساس قرارداد از پیش تعیین شده ای، به بانک اطلاعاتی یکدیگر میسر شود. این روش همان روش استفاده از فایل است که به طور جداگانه مورد بررسی قرار گرفت.

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

farasun.wordpress.com

این نوشته را تقدیم می کنم به دوستی که مرا مجبور به نوشتن این پست کرد!!

farasun.wordpress.com
Farasun Feed - Subcribeمشترک فراسان شوید

farasun.wordpress.com

مطالب مرتبط :

Advertisements