بررسی نقش ، معماری و مکانیزم push notification در سیستم های تجارت الکترونیک مبتنی بر رویداد

از OCCC Wiki
پرش به ناوبری پرش به جستجو

چکیده

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

مقدمه

در سال 2013 ، مجله گارتنر پیش بینی کرد که درآمد حاصل از خدمات همراه به بیش از 102 تریلیون دلار خواهد رسید ، دارندگان تلفن های هوشمند از گوشی های خود نه تنها برای صحبت کردن ، بلکه برای وب گردی ، خرید و .. استفاده می کنند . آنها انتظار دارند که به اطلاعات مورد نظر خود در زمان های مناسبی دسترسی داشته باشند که این امر آنها را از کاربران سنتی تلفن همراه متمایز می سازد . رشد سریع تلفن های هوشمند و گسترش برنامه های کاربردی همراه ، منجر به بروز چالش های جدیدی گشته است . این برنامه ها منجر به بروز مشکلاتی نظیر تراکم و شلوغی شبکه ، خطا در ارتباطات شبکه و افزایش مصرف باترهای ابزارهای همراه شده است که همه اینها منجر به کاهش کاربری و افزایش هزینه ارائه سرویس به مشتریان می شود . ارسال اطلاعات به دستگاه های همراه از مهمترین قابلیت های وجود در سیستم های همراه می باشد که بطور گسترده ای در برنامه های کاربردی همراه پیاده سازی شده است . این روش به یکی از مهم ترین روش ها در بهبود کیفیت و سطح ارتباط بین افراد مبدل گشته است . همچنین تاثیر گذارترین روش در رساندن اطلاعات تبلیغاتی به مشتریان بالقوه بشمار می آید .تعداد زیادی از برنامه های کاربردی تجاری همراه مانند شبکه های اجتماعی مثل فیس بوک ، سیستم های پیام رسان مانند WeChat با استفاده از ابزار اطلاع رسانی تزریقی همراه پیاده سازی شده اند . برنامه های کاربردی همراه دیگری مانند سرویس های اطلاع رسانی وضعیت آب و هوا و یا خدمات مسافرتی همراه ، خدمات اطلاع رسانی تزریقی را جهت ارسال اطلاعات به موقع به کاربران پیاده سازی نموده اند . مهمترین ویژگی اطلاع رسانی تزریقی این است که سرویس دهنده بر مبنای وضعیت ، موقعیت ، حالت عاطفی و فضای کاربر ، اطلاعات مناسب را برای وی ارسال می دارد . با وجود اینکه مکانیزم اطلاع رسانی تزریقی همراه ، ساده به نظر می رسد ، اما پیاده سازی آن از پیچیدگی های زیادی برخوردار است . برای مثال باید از طریق سرویس دهندگان ثالث مانند Apple یا Google خدمات ارسال آگهی تهیه و بکار گیری گردد . همچنین این خدمات باید روی یک بستر امن پیاده سازی شوند و باید برای آنها مخاطرات امنیتی فراوانی را مد نظر قرار داد و همچنین لازم است با چالش های ناشی از متحرک بودن کاربران مواجه نمود .[5] با توجه به موارد اشاره شده ، اطلاع رسانی تزریقی از تظر مفهومی مکانیزمی است مبتنی بر رخداد که در آن سرویس دهندگان راه دور خبر رخداد وقایع را به برنامه های کاربردی سرویس گیرنده روی ابزار های همراه مانند تلفن های همراه ، تبلت ها و .... مخابره می نمایند . پیاده سازی این فرآیند با توجه به بافت سلولی بستر شبکه ، با چالش های زیر در قابلیت دریافت اطلاعات همراه است که مهم ترین آنها شامل موارد زیر می باشند :

  • قابلیت آدرس پذیری

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

  • قابلیت دسترس پذیری

اشاره به نحوه تعامل با ابزاری دارد که بصورت پویا موقعیت خود را در شبکه تغییر می دهد . بطور معمول فایروال های مربوط به اپراتور های شبکه ترافیک ارسالی از سمت شبکه های دیگر را مسدود می نمایند . جهت مقابله با مشکل آدرس دهی در چالش های دسترسی ، برنامه های کاربردی به صورت دوره ای وضعیت وقوع تغییرات و اتفاق های مختلف را از سرویس دهندگان استعلام می نمایند . با این وجود ، واکشی اطلاعات به این روش با مشکلات فراوانی همراه است که شامل پهنای باند ، مصرف ناکارآمد توان عملیاتی ، بی موقع بودن زمانی ، و مشکلات مقیاس پذیری می باشند . واکشی بیش از حد اطلاعات از سرویس دهندگان ، توان و پهنای باند بی مورد زیادی را مصرف می نماید . واکشی اطلاعات نیازمند توافق با سرویس دهنده می باشد چرا که سرویس دهنده لازم است جهت پاسخ گویی به درخواست هایی که اغلب مورد استفاده ندارند و صرفا جهت ادامه سلسله مکرر واکشی انجام می گیرند ، زیر ساخت مناسب را فراهم آورد. در فرآیند واکشی اطلاعات ، باید حد آستانه ای بین فرکانس واکشی و تغییرات اتفاق افتاده در نظر گرفته شود . در این شرایط اطلاع رسانی تزریقی ، جایگزین مناسبی برای اطلاع رسانی نسبت به تغییرات انجام شده می باشد . در این نوع اطلاع رسانی ، سرویس گیرنده بستر ارتباطی دائمی را با سرویس دهنده مهیا ساخته و بطور ضربانی پیام هایی را در دوره های زمانی مشخص جهت جلوگیری از استنباط اینکه ارتباط ایجاد شده به عنوان یک ارتباط بی کار می باشد ، ایجاد می نماید .[4] در این گزارش ابتدا به بیان مفاهیم مربوط به دو روش اصلی اطلاع رسانی یعنی روش های تزریق و واکشی پرداخته و جنبه های مختلف هر یک مورد بررسی قرار می گیرد . سپس نمونه هایی از مورد کاربرد آنها و همچنین آینده پیش روی این خدمت با ارائه یک سناریوی فرضی بررسی خواهد شد . سپس به بررسی فنی هر یک از تکنیک ها پرداخته شده و نهایتا به بررسی بستر ابری برای ارائه خدمات اطلاع رسانی پرداخته خواهد شد .

انواع مدل های اطلاع رسانی وقایع

مفهوم تزریق و واکشی

تزریق و واکشی دو مفهوم بسیار مهم در توصیف روش های پخشی در توزیع اطلاعات می باشند . مفهوم واکشی اطلاعات (Information Pull) به معنی این است که کاربر درخواستی را جهت دریافت بخش خاصی از اطلاعات ایجاد می کند . برای مثال کاربر درخواستی را به سمت سرویس دهنده ارسال می کند و سرویس دهنده پاسخ آن را باز پس می فرستد . تزریق اطلاعات (Push Information) به معنی این است که سرویس دهنده بدون درخواست کاربر اطلاعات ناشی از بروز رخ دادهای مختلف مربوط به سیستم را به سمت سرویس گیرنده مخابره می نماید . حالت واکشی اطلاعات کاربر گرا بوده و این سرویس گیرنده است که درخواست اخذ اطلاعات را صادر می کند و سرویس دهنده تنها به درخواست های وارده از سمت کاربران پاسخ داده و اطلاعات مورد درخواست را به کاربر مربوطه ارسال می دارد حال آنکه در روش تزریق اطلاعات تامین کننده گرا بوده و تامین کننده اطلاعات ، بدون آنکه درخواستی بر این مبنا از سمت کاربران دریافت کرده باشد ، اطلاعات را به سمت ایشان ارسال می دارد . در این حالت ، کاربر دریافت کننده نقش انفعالی داشته ولی در حالت واکشی اطلاعات کاربر نقش فعال دارد . [1] پیاده سازی های متنوعی از خدمت تزرریق وجود دارد . مانند پیام لحظه ای یا کنفرانس های همزامن ، پست الکترونیک به این شکل که پروتکل SMTP می تواند به عنوان یک پروتکل تزریقی قلمداد گردد . تزریق پست الکترونیکی ، فرآیند تحویل آن را به انجام می رساند به شکلی که توانایی تزریق پست الکترونیک در اولین زمان ممکن به سمت سرویس گیرنده را مهیا می سازد . سپس نیازمند سرویس گیرنده جهت گردآوری دستی پست های الکترونیک می باشد . تکنولوژی Push عموما در تلفن های همراه استفاده می شود . زمانی که یک پست الکترونیکی به صندوق پستی یک کاربر می رسد ، بدون اینکه کاربر نیازمند انجام کاری باشد ، به گوشی همراه کاربر تزریق می گردد . و این اتفاق از طریق یک پیام به اطلاع کاربر رسانیده می شود . برنامه های کاربردی زیادی از مکانیزم تزریق اطلاعات جهت تشریح معاملات کالاها ، لیست قیمت ها ، گپ و گفتگوهای آنلاین ، مزایده ها و حراجی ها ، نتیجه مسابقات ورزشی جهت شرط بندی و .. استفاده می کنند . تکنولوژی دیگر تزریق می تواند در ابزارهای تزریق اطلاعات یافت شود که عموما برمبنای سرویس دهنده پیاده سازی می گردند . داده ها به طور مستقیم از سرویس دهنده و به صورت پویا به سمت صفحه وب ارسال می گردد . ارتباط واکشی بطور گسترده و مکرر در وب مورد استفاده قرار می گیرد . از آنجایی که این روش بسیار پرکاربرد و پیاده سازی آن آسان می باشد ، و همچنین برای تعداد زیاد مشترکین نیز مقیاس پذیر می باشد و امکان فعالیت Offline را نیز مهیا می سازد با استقبال زیادی روبرو شده است . بسیاریی از برنامه های کاربردی که از HTTP استفاده می کنند ، داده های بروز شده را در دوره های زمانی از پیش تعیین شده ای که به آن زمان تازه سازی می گویند از سرویس دهنده واکشی نموده و بروز می نمایند . به منظور دستیابی به سطح قابل قبولی از دقت در اطلاعات ، لازم است که فرکانس واکشی بالا در نظر گرفته شود و به صورت ایده آلی بر مبنای نرخ انتشار پیام ها تعیین گردد تا از دست نرفتن اطلاعات را تضمین نماید . نمونه هایی از مثال هایی که از روش واکشی استفاده می کنند سرویس گیرندگان پست الکترونیکی مانند OutLook ، Thunderbird ، Windows Live Desktop ، Apple Mail و .... را نام برد . تمامی این سرویس ها پست های الکترونیکی را در یک دوره زمانی مشخص واکشی کی نمایند .

از کدام روش باید استفاده نمود ؟

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

روش تزریق آگهی ذخیره شده

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

روزش تزریقی آگهی زنده

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

سناریو خدمت

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