مسئله چیست؟
مواقعی پیش می آید که یک کتابدار می خواهد یک نمایشی در وب سایت خودش را متصل کند به یک خدمات دهنده ی دیگر. مثال خیلی ساده بخواهم بزنم مثلا در وب سایت کتابخانه می خواهید آخرین پایان نامه های اضافه شده به ایرانداک را در بخشی از وب سایت نمایش دهید و این کار قرار نیست هر روز انجام شود بلکه قرار است بصورت اتوماتیک انجام شود. یا مثلا حرفه ای تر آن یک اتصالی می خواهید از کراس رف داشته باشید که اگر کاربر کتابخانه ی شما یک دی او آی DOI را در وب سایت شما سرچ کرد آنگاه بتوانید اطلاعات مقاله را از کراس رف در وب سایت خودتان با چیدمان ظاهری خود نمایش دهید. این ابزار ارتباطی شما با خدمات دهنده ی آنلاین خارجی( منظور خارج از وب سایت شماست) اصطلاحا میشه گفت API.
در ابتدا تعریف API را بگوییم :
API ازنظر فنی اختصاری برای عبارت «رابط برنامهنویسی اپلیکیشن» (Application Programming Interface) محسوب میشود. در برخی موارد شرکتهای بسیار بزرگ API-هایی برای مشتریان خود و یا کاربردهای داخلیشان ساختهاند.
عبارت API به طور معمول در زمینههای علم رایانه مشاهده میشود. اما معنی آن چیست؟ این واژه به یک ابزار یا کتابخانهای اشاره میکند که به توسعهدهندگان کمک میکند تا کدی بنویسند که با نرمافزارهای دیگر ارتباط برقرار میکند. این کدها از ابزارهای سطح پایین که برنامههای ویندوز و OS X استفاده میکنند کمک میگیرند تا از جنبههای زیرساختی سیستمعامل استفاده کنند. برخی از API ها نیز ابزارهایی هستند که امکانات اپلیکیشنهای روی گوشی را تأمین میکنند. به طور خلاصه API روشی برای برقراری ارتباط بین یک برنامه رایانهای با برنامههای رایانهای دیگر فراهم میسازد. اما API به خودی خود جذابیتی ندارد. آنچه اهمیت دارد کاربرد این ابزار است (منبع وبلاگ فرادرس)
مثال :
ما برای پلت فرم Lib.yabesh.ir نیاز به یک API از کراس رف داریم تا بتوانیم هنگامی که کاربر ما یک کلمه ی کلیدی در باکس جستجو وارد میکند از موتور جستجوی کراس رف استفاده کنیم و مقالات مد نظر او را نشان دهیم. همانطور که می بینید (در لینک مورد نظر سرچ بزنید) ما عناوین متادیتاها را بصورت فارسی داریم نمایش میدهیم در پشت این صحنه ما انگار کلمات کلیدی شما را به کراس رف میدهیم آنگاه یک JSON دریافت میکنیم و آن را به صورتی که مورد نیازمان است به کاربر نمایش میدهیم.( راستی اگر دوست داشتید لیب دات یابش دات آی آر را که یک موتور بی نظیر برای مقالات رایگان اینترنت است در وب سایت کتابخانه و به اساتید و دانشجویان و پژوهشگران معرفی کنید)
در کنار این میخواهیم از شاخص های التمتریکس هم در کنار مقاله ها در پلت فرم سای اکسپلور جهت جذاب شدن ماجرا و ایجاد خدمات ارزش افزوده بر روی پلت فرممان استفاده کنیم برای این کار نیازمند API های آلتمتریک، پلامکس و دایمنشن (هر سه پلت فرم های خارجی هستند که API دارند) هستیم:
در شکل برای آلتمتریک Altmetric و دایمنشن dimensions یک عدد درج شده است (روی شکل کلیک کنید و به صفحه ی مقاله بروید) . هنگامیکه کاربر صفحه را می خواهد لود کند یک پیام به سرورهای این دو سرویس دهنده می رود و اعداد مورد نیاز خود را میخواند برای پلامکس Plumx هم دقیقا همین اتفاق می افتد کافیست روی لوگو بروید با موس و میبینید یک پنجره باز می شود و اعداد و ارقام لازم را نشان میدهد.
برای اینکه شما هم ببینید این API ها را کافیست به لینک های زیر رجوع کنید:
- برای دایمنشن اینجا بروید (شاید کمی حرفه ای تر هم بگویند این یک ویجت است آری ولی کارکرد همان API را دارد که من مد نظرم است شرح بدهم)
- برای آلتمتریک از اینجا که ما از نوع اول آن که رایگان است و بدون رمز قابل استفاده است در وب سایت کار کرده ایم و اینجاست.
- و برای پلامکس هم این صفحه
با توجه به اینکه مخاطبان این مقاله ی آموزشی برنامه نویسان حرفه ای نیستند من سعی کردم خیلی ساده توضیح دهم بحث “رابط برنامهنویسی اپلیکیشن” را و در انتها باید ذکر کنم خیلی مواقع سرویس دهنده های مطرح در بحث اطلاعات دارای API ها غیر رایگان هستند یعنی برای استفاده کامل یا بخش های حرفه ای تر به مشتریان محصول خود ارائه میدهند (مثلا الزویر برای اسکوپوس و دیگر محصولاتش) و یا با هزینه باید از آنها استفاده شود من در انتها چند API کاربردی دیگر را هم نام میبرم و لینک میدهم:
۴. الزویر دارای هفت API برای اسکوپوس، سایول، ساینس دایرکت، اینجینیرینگ ویلیج و… است :
الف) صفحه ی اطلاعات برای توسعه دهندگان نرم افزاری
ب) صفحه ی تفاوت اطلاعات پیش فرض API با حالت داشتن دسترسی کامل
۵. کراس رف (برای خدمات تکست ماینینگ داده کاوی هم مورد استفاده است)
۶.ورلدکت
۷. گوگل بوک
۹. گوگل اسکالر هیچ API ای ندارد
۱۰. اینجا هم چند مورد معرفی شده است.
۱۱. و نکته ی اخر تقریبا من ندیدم هیچ سرویس دهنده ی ایرانی از این نوع خدمات بدهد و خیلی لازم است جاهایی مثل ایرانداک، وزارت بهداشت و کلی پایگاه هایی که دارد، مرکز علوم منطقه ای شیراز، مرکز جهاد دانشگاهی SID و…
۱۲. اگر عمری بود و توانستیم بصورت محدود و کوچک خدمات API های یابش را آرام آرام منتشر می کنیم
۱۳. وب آو ساینس از شرکت کلارویت
۱۴ . دانشگاه MIT هم چند مورد معرفی کرده است
شما هم در کامنت معرفی کنید من اینجا قرار دهم
مشخصات استناددهی به این مقاله | |
نویسنده(ها): | حسین حیدری |
عنوان مقاله: | API ها برای کتابداران |
عنوان مجله: | کتابدار ۲.۰ – (عنوان لاتین: Kitābdār-i 2.0) |
دوره مجله(Vol): | ۵ |
شماره مجله(Issue): | ۲ |
سال(Year): | ۱۳۹۸ |
شناسه دیجیتال(DOI): | |
لینک کوتاه: | http://lib2mag.ir/10243 |
ممنون از معرفی تون. متأسفانه معمولاً ما کتابدارها در طراحی وب سایت های سازمان و حتی صفحات کتابخانه ها دخالتی نداریم و بدتر از اون اینکه اغلب دانشی هم در این زمینه نداریم. یا اگر چیزی بلدیم اعتماد به نفس کافی برای اثبات توانمندی هامون در این زمینه در سازمان نداریم یا بهمون مجالی برای این کار داده نمیشه در حضور همکاران کامپیوتری مون.
یه اشکال دیگه هم اینه که ما کتابدارها کمتر با زبان های برنامه نویسی و حتی ساختار html و … آشنا هستیم.
توضیحاتتون خوب بود اما به نظرم برای کسی که با مفهوم API آشنایی قبلی نداره کافی نیست.
در تکمیل توضیحاتتون من این رو اضافه می کنم که فرض کنیم یک سرویسی از یک دیتابیس به کرات مورد استفاده ما یا کاربرانمونه. مثلاً جستجو در پابمد برای کاربران حوزه پزشکی.
ما می تونیم با استفاده از APIهایی که پابمد در اختیارمون میذاره و توی سایتش هست، بخشی از صفحه مون رو مربط کنیم به پابمد و چیزی شبیه صفحهجستجوی پابمد رو در سایت خودمون بگنجانیم که کاربرانمون بدون اینکه ملزم باشند مستقیما به سایت پابمد برن و توش جستجو کنن، همون امکانات رو در وبسایت کتابخانه ما در اختیار داشته باشن و به همون نتایج برسن.
یا فرض کنیم مایلیم آمار مقالات منتشر شده توسط اساتید و دانشجویان دانشگاهمون رو به صورت روزآمد در وبسیاتمون نمایش بدیم. برای این کار اسکوپوس APIی داره که به سادگی (البته به شرط تسلط به برنامه نویسی یا دست کم HTML و …) در گوشه ای از صفحه وبسایت دانشگاهمون نموداری از آمار مقالات منتشر شده با AFFILIATION دانشگاه رو نمایش بده و اطلاعاتش رو مستقیما و به صورت روزآمد از خود اسکوپوس بگیره.
بازم ممنون از توضیحاتتون
سلام و درود بسیار خوب اشاره کردید و البته من بیشترین مشکل را همانطور که شما هم اشاره کردید در اعتماد بنفس و دانش کم میدانم در حالیکه با دانستن حد مناسبی از سواد کامپیوتر و بدون نیاز به دانش برنامه نویسی میشود این خدمات را اضافه کرد در این حد که از همان مهندسان کامپیوتر دانشگاه یا سازمان خواست تا انجام دهند
جناب آقای حیدری متشکرم از شما، بسیار مطلب مفیدی بود. متاسفانه منابع فارسی تخصصی در این زمنیه بسیار کم هستند، ولی مقاله جنابعالی میتونه نقطه شروعی باشه برای افراد علاقه مندی مثل من که سر خط رو بگیرن و ادامه بدن.
تشکر که زحمت کسب اطلاعات و انتشار اون رو متقبل شدین
زنده باشید دوست گرامی