ایده ارتباط بین نرم‌افزارها

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

درست مثل انسان‌ها که برای برقراری ارتباط با هم به یک زبان مشترک یا مترجم بین زبان‌ها نیاز دارند، نرم‌افزارها هم برای رد و بدل کردن داده‌ها و نتایج پردازش‌هایشان به یک زبان مشترک یا مترجم نیاز دارند.

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

راه حل‌ ارتباط نرم‌افزارها

از آنجا که نرم‌افزارها برای ذخیره اطلاعات خود از روش‌های مختلفی استفاده می‌کنند، دریافت و انتقال اطلاعات بین آن‌ها ساده نیست. یک روش که همه پلتفرم‌ها آن را پشتیبانی می‌کنند استفاده از فایل‌های متنی است. برای این فایل‌های متنی استانداردی مثل xml ایجاد شده که همه سیستم عامل‌ها و پلتفرم‌ها و زبان‌های برنامه‌نویسی از آن پشتیبانی می‌کنند و به توسعه‌دهندگان این امکان را می‌دهند تا داده‌ها را با استفاده از روش‌هایی مثل web service با یک خروجی xml با هم حرف بزنند.

یک پیاده سازی جدید برای ارتباط بین نرم‌افزارها: Zapier

این نوشته برای معرفی سرویس سایت Zapier است، این سرویس این‌طوری کار می‌کند که شما یک سرویس مبدا و یک سرویس مقصد را انتخاب می‌کنید و مشخص می‌کنید که می‌خواهید وقتی در مبدا فلان اتفاق افتاد، فلان کار در مقصد انجام شود و تمام!

مثلاً می‌خواهید وقتی یک فایل به dropbox تان اضافه می‌شود یک بکاپ از آن در skydrive هم قرار بگیرد، یا وقتی ایمیلی به یک حساب gmail شما می‌آید در evernote هم یک note جدید ایجاد شود و …

روش کار Zapier ساده است، سرویس مبدا، trigger، سرویس مقصد و action. سایت Zapier به هر کدام از این تعاریف که دو سرویس را به هم متصل می‌کند یک Zap می‌گوید. به عنوان مثال پروسه Zap مربوط به ارسال آیتم‌های یک فید rss به توییتر را ببینید:

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

Zapier در حال حاضر از 218 وب سرویس مختلف پشتیبانی می‌کند، کاربران بعد از عضویت می‌توانند خودشان هم Zap های جدیدی بین نرم‌افزارها ایجاد کنند.