SlideShare a Scribd company logo
Applying event driven architecture to mobile computing
‫بکار‬‫گیری‬‫پردازش‬ ‫در‬ ‫رویدادگرا‬ ‫معماری‬‫موبایل‬‫ی‬
Applying Event-Driven Architecture to Mobile Computing
‫راهنما‬ ‫استاد‬:‫مرضی‬ ‫دکتر‬ ‫خانم‬
‫دهنده‬ ‫ارایه‬:‫ریزوندی‬ ‫مهدی‬
http://mRizvandi.com – info@mRizvandi.com
‫ماه‬ ‫دی‬1394
3
‫فهرست‬
‫مقدمه‬
‫و‬ ‫تعاریف‬‫ها‬‫آوری‬‫فن‬
‫های‬‫برنامه‬ ‫سناریو‬‫نمونه‬
‫معماری‬
‫معماری‬MetaXA
‫بکارگیری‬ ‫شیوه‬XMPP
‫معماری‬ ‫کلید‬ ‫اجزای‬MetaXA
‫دستاوردها‬
‫کارهای‬‫مرتبط‬
‫گیری‬ ‫نتیجه‬
‫بعدی‬ ‫کارهای‬
‫منابع‬
4
‫مقدمه‬
‫شده‬ ‫متناسب‬ ‫رویدادگرای‬ ‫معماری‬ ‫اهمیت‬:
‫موبایل‬ ‫های‬‫دستگاه‬ ‫شدن‬ ‫فراگیر‬(‫و‬ ‫ها‬‫تبلت‬ ،‫هوشمند‬ ‫های‬‫گوشی‬)...
‫موبایل‬ ‫های‬‫دستگاه‬ ‫روی‬ ‫مکانی‬ ‫و‬ ‫زمان‬ ‫هر‬ ‫در‬ ‫رویدادها‬ ‫تولید‬(‫و‬ ‫سنسورها‬ ،‫کاربر‬
)...
‫ها‬‫شرکت‬ ‫جاری‬ ‫امور‬ ‫در‬ ‫همراه‬ ‫های‬‫دستگاه‬ ‫از‬ ‫استفاده‬ ‫ادغام‬
‫اشیا‬ ‫اینترنت‬ ‫سمت‬ ‫به‬ ‫رفتن‬
‫است‬ ‫رویدادگرا‬ ‫معماری‬ ‫سازی‬‫پیاده‬ ‫و‬ ‫طراحی‬ ‫درگیر‬ ‫بزرگ‬ ‫چالش‬ ‫سه‬:
‫موبایل‬ ‫های‬‫دستگاه‬ ‫روی‬ ‫پیچیده‬ ‫رویداد‬ ‫پردازش‬
‫موبایل‬ ‫های‬‫دستگاه‬ ‫منابع‬ ‫محدودیت‬
‫کنند‬‫می‬ ‫اجرا‬ ‫موبایل‬ ‫های‬‫دستگاه‬ ‫که‬ ‫موبایل‬ ‫های‬‫فرم‬ ‫پلت‬ ‫بودن‬ ‫جنس‬ ‫هم‬ ‫عدم‬.
5
‫ها‬‫آوری‬‫فن‬ ‫و‬ ‫تعاریف‬...
‫رویداد‬ ‫پردازش‬(Event Processing:)
‫برای‬ ‫روشی‬‫پیگیری‬‫کردن‬ ‫تحلیل‬ ‫و‬(‫پردازش‬)‫اطالعات‬ ‫از‬ ‫جریانی‬(‫ها‬‫داده‬)‫دربا‬‫ره‬
‫اتفاق‬ ‫که‬ ‫چیزهایی‬(‫رویداد‬)‫از‬ ‫نتیجه‬ ‫استنتاج‬ ‫و‬ ‫افتند‬‫می‬‫ها‬‫آن‬.
‫پردازش‬‫پیچیده‬ ‫رویداد‬(CEP: Complex Event Processing:)
‫یک‬‫رویداد‬ ‫استنتاج‬ ‫جهت‬ ‫به‬ ‫را‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫هایی‬‫داده‬ ‫که‬ ‫است‬ ‫رویداد‬ ‫پردازش‬‫یا‬ ‫ها‬
‫کند‬‫می‬ ‫ترکیب‬ ،‫دهد‬‫می‬ ‫نمایش‬ ‫را‬ ‫تری‬‫پیچیده‬ ‫شرایط‬ ‫که‬ ‫الگوهایی‬.‫پردازش‬ ‫هدف‬
‫دار‬‫معنی‬ ‫رویدادهای‬ ‫شناسایی‬ ،‫پیچیده‬ ‫رویداد‬(‫تهدیدها‬ ‫یا‬ ‫ها‬‫فرصت‬ ‫مانند‬)‫پاسخ‬ ‫و‬‫به‬
‫است‬ ‫وقت‬ ‫اسرع‬ ‫در‬ ‫ها‬‫آن‬.
6
‫ها‬‫آوری‬‫فن‬ ‫و‬ ‫تعاریف‬...
‫سنسور‬(Sensor:)
‫یک‬‫خر‬ ‫یک‬ ‫و‬ ‫دارد‬ ‫را‬ ‫محیط‬ ‫در‬ ‫تغییری‬ ‫یا‬ ‫رویداد‬ ‫یک‬ ‫تشخیص‬ ‫توانایی‬ ‫که‬ ‫شی‬‫وجی‬
‫کند‬‫می‬ ‫فراهم‬ ‫متناسب‬.‫مانن‬ ‫کند‬ ‫ارایه‬ ‫را‬ ‫خروجی‬ ‫مختلف‬ ‫انواع‬ ‫است‬ ‫ممکن‬ ‫سنسور‬‫د‬
‫الکتریکی‬ ‫یا‬ ‫نوری‬ ‫خروجی‬.‫ایجاد‬ ‫را‬ ‫معینی‬ ‫ولتاژ‬ ‫یک‬ ،‫ترموکوپل‬ ‫مثال‬ ‫برای‬‫کند‬‫می‬
(‫خروجی‬)‫دما‬ ‫به‬ ‫پاسخ‬ ‫در‬(‫محیط‬.)
‫مانند‬ ،‫دارند‬ ‫مختلفی‬ ‫سنسورهای‬ ‫امروزی‬ ‫هوشمند‬ ‫های‬‫گوشی‬GPS،NFC‫و‬...
‫سست‬ ‫اتصال‬(Loose Coupling:)
‫دانش‬ ‫یا‬ ‫دانشی‬ ‫هیچ‬ ،‫آن‬ ‫سازنده‬ ‫اجزای‬ ‫از‬ ‫یک‬ ‫هر‬ ‫که‬ ‫است‬ ‫سست‬ ‫اتصال‬ ‫سیستمی‬
‫دارد‬ ‫دیگر‬ ‫شده‬ ‫جدا‬ ‫اجزا‬ ‫دیگر‬ ‫از‬ ‫ناچیزی‬.
7
‫ها‬‫آوری‬‫فن‬ ‫و‬ ‫تعاریف‬...
‫سرکشی‬(Polling:)
‫برای‬‫ت‬ ‫که‬ ‫است‬ ‫خارجی‬ ‫دستگاه‬ ‫وضعیت‬ ‫یا‬ ‫اتفاق‬ ،‫رویداد‬ ‫یک‬ ‫از‬ ‫یافتن‬ ‫آگاهی‬‫وسط‬
‫شود‬‫می‬ ‫اجرا‬ ‫زمان‬‫هم‬ ‫صورت‬ ‫به‬ ‫برنامه‬.‫ی‬ ‫کامپیوتر‬ ‫که‬ ‫است‬ ‫فرآیند‬ ‫یک‬ ‫سرکشی‬‫ا‬
‫وضعی‬ ‫کردن‬ ‫چک‬ ‫برای‬ ‫است‬ ‫خارجی‬ ‫دستگاه‬ ‫یک‬ ‫منتظر‬ ‫دستگاه‬ ‫کننده‬ ‫کنترل‬‫آن‬ ‫ت‬.
‫کابل‬ ‫توسط‬ ‫که‬ ‫چاپگر‬ ‫یک‬ ‫مثال‬LPT‫چاپگر‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫کامپیوتر‬ ،‫است‬ ‫متصل‬
‫منتظر‬ ،‫کند‬ ‫دریافت‬ ‫را‬ ‫بعدی‬ ‫کاراکتر‬‫ماند‬‫می‬.
‫بیاورید‬ ‫را‬ ‫خود‬ ‫دستگاه‬(BYOD: Bring Your Own Device:)
‫یک‬‫را‬ ‫خود‬ ‫شخصی‬ ‫های‬‫دستگاه‬ ‫دهد‬‫می‬ ‫اجازه‬ ‫کارمندان‬ ‫به‬ ‫که‬ ‫است‬ ‫سیاست‬(‫تاپ‬‫لپ‬،
‫و‬ ‫موبایل‬ ،‫تبلت‬)...‫بیاورند‬ ‫کار‬ ‫محل‬ ‫به‬.‫به‬ ‫دسترسی‬ ‫برای‬ ‫ها‬‫دستگاه‬ ‫آن‬ ‫از‬ ‫و‬
‫کنند‬ ‫استفاده‬ ‫شرکت‬ ‫های‬‫برنامه‬ ‫و‬ ‫خاص‬ ‫اطالعات‬.
8
‫ها‬‫آوری‬‫فن‬ ‫و‬ ‫تعاریف‬...
‫نشاندن‬ ‫حالت‬(Push Mode:)
‫نوعی‬‫مشتر‬ ‫به‬ ‫اطالعات‬ ‫فرستادن‬ ‫برای‬ ‫سرور‬ ‫آن‬ ‫در‬ ‫که‬ ‫اینترنتی‬ ‫ارتباطات‬ ‫از‬‫یک‬ ‫ی‬
‫نماید‬‫می‬ ‫ایجاد‬ ‫را‬ ‫ارتباط‬.‫این‬ ‫که‬‫در‬ ‫مدل‬‫انتشار‬ ‫مدل‬-‫دارد‬ ‫کاربرد‬ ‫اشتراک‬.‫برای‬
‫خود‬ ‫اطالعات‬ ‫سرور‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫هایی‬‫کانال‬ ،‫مشتری‬ ‫به‬ ‫سرور‬ ‫را‬ ‫اطالعات‬ ‫ارسال‬
‫دهد‬‫می‬ ‫قرار‬ ‫ها‬‫کانال‬ ‫آن‬ ‫در‬ ‫را‬.‫و‬ ‫کرده‬ ‫بررسی‬ ‫را‬ ‫خود‬ ‫نظر‬ ‫مورد‬ ‫های‬‫کانال‬ ‫مشتری‬
‫کند‬‫می‬ ‫دریافت‬ ‫را‬ ‫خود‬ ‫های‬‫پیام‬.
‫انتشار‬-‫اشتراک‬(Publish-Subscribe:)
‫انتشار‬ ،‫افزار‬‫نرم‬ ‫معماری‬ ‫در‬-‫پ‬ ‫فرستنده‬ ،‫است‬ ‫رسانی‬‫پیام‬ ‫الگوی‬ ‫یک‬ ‫اشتراک‬‫که‬ ‫ها‬‫یام‬
‫م‬ ‫که‬ ‫خاص‬ ‫گیرنده‬ ‫یک‬ ‫به‬ ‫مستقیم‬ ‫فرستادن‬ ‫برای‬ ‫را‬ ‫پیام‬ ،‫شود‬‫می‬ ‫نامیده‬ ‫ناشر‬‫شترک‬
‫کند‬‫نمی‬ ‫ریزی‬‫برنامه‬ ‫شود‬‫می‬ ‫نامیده‬.‫ب‬ ‫هایی‬‫کالس‬ ‫به‬ ‫را‬ ‫منتشرشده‬ ‫های‬‫پیام‬ ‫بلکه‬‫دون‬
‫کند‬‫می‬ ‫توصیف‬ ‫مشترکین‬ ‫از‬ ‫دانش‬.‫ا‬ ،‫پیام‬ ‫دریافت‬ ‫مشترکین‬ ،‫مشابه‬ ‫طور‬ ‫به‬‫یک‬ ‫ز‬
‫ف‬ ‫کننده‬ ‫منتشر‬ ‫خصوص‬ ‫در‬ ‫دانشی‬ ‫داشتن‬ ‫بدون‬ ‫که‬ ‫هستند‬ ‫هایی‬‫کالس‬ ‫یا‬ ‫کالس‬‫قط‬
‫کنند‬‫می‬ ‫دریافت‬ ‫را‬ ‫خود‬ ‫عالقه‬ ‫مورد‬ ‫های‬‫پیام‬.
9
‫ها‬‫آوری‬‫فن‬ ‫و‬ ‫تعاریف‬...
‫کاربردی‬ ‫نویسی‬‫برنامه‬ ‫رابط‬(API:)
‫ای‬‫مجموعه‬‫است‬ ‫کاربردی‬ ‫های‬‫برنامه‬ ‫ساخت‬ ‫برای‬ ‫ابزارها‬ ‫و‬ ‫ها‬‫پروتکل‬ ،‫ها‬‫روتین‬ ‫از‬.
‫ورود‬ ،‫عملکردها‬ ‫اساس‬ ‫بر‬ ‫افزاری‬‫نرم‬ ‫ترکیب‬ ‫یک‬ ‫کاربردی‬ ‫نویسی‬‫برنامه‬ ‫رابط‬،‫ها‬‫ی‬
‫سازی‬‫پیاده‬ ‫محیط‬ ‫از‬ ‫مستقل‬ ‫را‬ ‫وظایفی‬ ‫که‬ ،‫است‬ ‫درونی‬ ‫های‬‫داده‬ ‫انواع‬ ‫و‬ ‫ها‬‫خروجی‬
‫کند‬‫می‬ ‫معرفی‬.
XMPP:
‫مبنای‬ ‫بر‬ ‫گرا‬‫پیام‬ ‫افزارهای‬ ‫میان‬ ‫برای‬ ‫ارتباطی‬ ‫پروتکل‬ ‫یک‬XML‫است‬.‫انتقال‬ ‫که‬
‫بالدرنگ‬ ‫به‬ ‫نزدیک‬‫را‬ ‫ها‬‫داده‬‫شبکه‬ ‫چند‬ ‫یا‬ ‫دو‬ ‫بین‬‫کند‬‫می‬ ‫برقرار‬‫اصل‬ ‫در‬ ‫که‬Jabber
‫شود‬‫می‬ ‫نامیده‬.‫باز‬ ‫متن‬ ‫انجمن‬ ‫توسط‬ ‫ابتدا‬ ‫پروتکل‬ ‫این‬Jabber‫سال‬ ‫در‬1994‫ایجاد‬
‫شده‬.
10
‫ها‬‫آوری‬‫فن‬ ‫و‬ ‫تعاریف‬...
‫آوری‬‫فن‬ ‫از‬ ‫نمایی‬XMPP:
11
‫نمونه‬ ‫های‬‫برنامه‬ ‫سناریو‬
‫پیشنهادی‬ ‫معماری‬ ‫اساس‬ ‫بر‬ ‫سناریو‬ ‫دو‬:
‫ها‬‫آگهی‬ ‫توزیع‬(Notification Distribution)
‫کشف‬/‫دزدی‬ ‫تشخیص‬(Theft Detection)
12
‫اول‬ ‫سناریوی‬:‫توزیع‬‫ها‬‫آگهی‬
‫مطمئن‬ ‫توزیع‬ ‫برای‬ ‫برنامه‬‫ها‬‫آگهی‬
‫وجود‬ ‫گیرندگان‬ ‫گروه‬ ‫مختلف‬ ‫انواع‬ ،‫ها‬‫آگهی‬ ‫متفاوت‬ ‫انواع‬ ‫برای‬‫دارد‬
‫گیرندگان‬ ‫توسط‬ ‫وقت‬ ‫اسرع‬ ‫در‬ ‫ها‬‫آگهی‬ ‫دریافت‬
‫متفاوت‬ ‫تحویل‬ ‫زمان‬
‫بودن‬ ‫خاموش‬
‫شبکه‬ ‫ارتباط‬ ‫قطع‬
‫ها‬‫آگهی‬ ‫دریافت‬ ‫قطع‬
‫پیام‬ ‫گیرنده‬ ‫هویت‬ ‫تشخیص‬
‫پیام‬ ‫دریافت‬ ‫در‬ ‫محدودیت‬ ‫اعمال‬
‫خاص‬ ‫گیرنده‬ ‫برای‬ ‫پیام‬ ‫فرستادن‬
13
‫اول‬ ‫سناریوی‬:‫توزیع‬‫ها‬‫آگهی‬...
‫برنامه‬ ‫فنی‬ ‫مشخصات‬
‫سرکشی‬ ‫روش‬ ‫از‬ ‫استفاده‬ ‫عدم‬
‫انتشار‬ ‫مکانیزم‬ ‫از‬ ‫استفاده‬-‫اشتراک‬
‫غیرهمزمان‬ ‫تعامل‬
14
‫دوم‬ ‫سناریوی‬:‫کشف‬/‫دزدی‬ ‫تشخیص‬
‫کشف‬/‫شده‬ ‫دزدیده‬ ‫موبایل‬ ‫دستگاه‬ ‫تشخیص‬
‫استفاده‬BYOD‫کاربران‬
‫قانونی‬ ‫و‬ ‫اقتصادی‬ ‫مسائل‬
‫سریع‬ ‫کشف‬
‫امنیتی‬ ‫اقدامات‬(‫و‬ ‫اطالعات‬ ‫کلیه‬ ‫حذف‬ ،‫ای‬‫کارخانه‬ ‫مجدد‬ ‫تنظیم‬)...
‫موقعیت‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سریع‬ ‫کشف‬GPS‫دستگاه‬
‫منابع‬ ‫محدودیت‬ ‫دلیل‬ ‫به‬ ،‫موفقیت‬ ‫امکان‬ ‫عدم‬
‫سرور‬ ‫سمت‬ ‫در‬ ‫رویداد‬ ‫پیچیده‬ ‫پردازش‬
‫سرور‬ ‫به‬ ‫موبایل‬ ‫دستگاه‬ ‫دسترسی‬ ‫نیاز‬
‫موقعیت‬ ‫از‬ ‫گیری‬‫نتیجه‬ ‫عدم‬GPS‫شدن‬ ‫دزیده‬ ‫زمان‬ ‫در‬ ‫موبایل‬ ‫دستگاه‬
‫متادیتاها‬ ‫از‬ ‫استفاده‬(‫کد‬IMEI‫کارت‬ ‫سیم‬)
15
‫معماری‬MetaXA
‫معماری‬ ‫طراحی‬MetaXA(Metadata-processing XMPP-based
Architecture)
‫ترکیب‬CEP‫با‬EDA
‫پردازش‬ ‫مدل‬
‫کننده‬ ‫تولید‬/‫رویداد‬ ‫مشتری‬
‫واسط‬
‫رویداد‬ ‫شی‬
‫رویداد‬ ‫پردازشگر‬ ‫عامل‬
‫ارتباطی‬ ‫الگوهای‬
‫ناهمزمان‬ ‫تعامل‬
‫انتشار‬-‫اشتراک‬
‫نشاندن‬ ‫حالت‬
16
‫معماری‬MetaXA...
17
‫بکارگیری‬ ‫شیوه‬XMPP
‫از‬ ‫استفاده‬ ‫دالیل‬ ‫و‬ ‫موبایل‬ ‫های‬‫دستگاه‬ ‫های‬‫محدودیت‬XMPP
‫باطری‬ ‫کم‬ ‫عمر‬ ‫طول‬
‫آدرس‬ ‫ایستای‬ ‫غیر‬ ‫تعیین‬IP
‫شبکه‬ ‫باند‬ ‫پهنای‬ ‫محدودیت‬
‫نامتجانس‬ ‫های‬‫فرم‬ ‫پلت‬(‫همگون‬ ‫نا‬)
18
‫بکارگیری‬ ‫شیوه‬XMPP...
‫مزایای‬XMPP
‫جدید‬ ‫رویدادهای‬ ‫به‬ ‫سرکشی‬ ‫به‬ ‫نیاز‬ ‫عدم‬
‫انتشار‬ ‫مکانیزم‬ ‫توسط‬ ‫مقصد‬ ‫در‬ ‫رویدادها‬ ‫ناهمزمان‬ ‫دریافت‬-‫اشتراک‬
‫فعال‬ ‫از‬ ‫پس‬ ‫تا‬ ‫رویدادها‬ ‫سازی‬‫ذخیره‬(‫روشن‬/‫شبکه‬ ‫اتصال‬)‫مش‬ ‫همراه‬ ‫دستگاه‬ ‫شدن‬‫تری‬
‫از‬ ‫استفاده‬JID‫ایستا‬ ‫غیر‬ ‫آدرس‬ ‫تعیین‬ ‫جبران‬ ‫جهت‬ ‫در‬
‫در‬ ‫یکدست‬ ‫ارتباط‬ ‫الیه‬ ‫یک‬ ‫ایجاد‬MetaXA‫مختلف‬ ‫های‬‫فرم‬ ‫پلت‬ ‫از‬ ‫پشتیبانی‬ ‫و‬
‫مانند‬ ‫امنیت‬ ‫های‬‫مکانیزم‬ ‫از‬ ‫پشتیبانی‬TLS
‫و‬ ‫آفالین‬ ‫انباره‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سرویس‬ ‫کیفیت‬ ‫از‬ ‫پشتیبانی‬‫های‬‫استراتژی‬‫م‬‫دریافت‬ ‫ختلف‬
19
‫معماری‬
MetaXA
(‫دهنده‬‫سرویس‬)
‫سمت‬ ‫معماری‬‫دهنده‬‫سرویس‬:
‫اصلی‬ ‫معماری‬XMPP‫مبنای‬ ‫بر‬
‫دهنده‬‫سرویس‬ ‫معماری‬/‫سرویس‬
‫گیرنده‬(‫خدمتگذار‬/‫مشتری‬)‫است‬‫که‬
‫معماری‬ ‫مبنای‬MetaXA‫است‬.
•‫دهنده‬‫سرویس‬XMPP
•‫ها‬‫موجودیت‬:‫پویا‬ ‫و‬ ‫ایستا‬
•‫موبایل‬ ‫های‬‫دستگاه‬
•‫ها‬‫سرویس‬
•‫رویدادهای‬ ‫پردازشگر‬ ‫عامل‬
Metadata
•‫انتشار‬ ‫سرویس‬-‫اشتراک‬
•‫الیه‬‫سازی‬‫یکپارچه‬
19
20
‫معماری‬MetaXA(‫گیرنده‬ ‫سرویس‬)
MetaXA Application
Mobile Device Platforms
Windows Phone, iOS, Android, …
Sensors
GPS, NFC, …
21
‫معماری‬
MetaXA
(‫گیرنده‬ ‫سرویس‬)
•‫دهنده‬‫سرویس‬XMPP
•‫ها‬‫موجودیت‬:‫و‬ ‫ایستا‬
‫پویا‬
•‫موبایل‬ ‫های‬‫دستگاه‬
•‫ها‬‫سرویس‬
•‫پردازشگر‬ ‫عامل‬
‫رویدادهای‬Metadata
•‫انتشار‬ ‫سرویس‬-‫اشتر‬‫اک‬
•‫سازی‬‫یکپارچه‬ ‫الیه‬
22
‫دستاوردها‬
‫ویندوزف‬ ‫و‬ ‫اندروید‬ ‫های‬‫فرم‬ ‫پلت‬ ‫در‬ ‫خوبی‬ ‫به‬ ‫شده‬ ‫عنوان‬ ‫سناریوی‬ ‫دو‬ ‫هر‬‫ون‬
‫اند‬‫شده‬ ‫سازی‬‫پیاده‬.
‫انتش‬ ‫سرویس‬ ‫طریق‬ ‫از‬ ‫رویداد‬ ‫مشتری‬ ‫و‬ ‫رویداد‬ ‫کننده‬ ‫تولید‬ ‫ارتباط‬‫ار‬-
‫است‬ ‫گرفته‬ ‫صورت‬ ‫اشتراک‬.‫س‬ ‫اجزای‬ ‫بین‬ ‫را‬ ‫سست‬ ‫اتصال‬ ‫امکان‬ ‫که‬‫یستم‬
‫سازد‬‫می‬ ‫میسر‬.
‫شده‬ ‫طراحی‬ ‫سیستم‬‫پشتی‬ ‫را‬ ‫پذیری‬‫توسعه‬ ‫و‬ ‫پذیری‬‫مقیاس‬ ‫امکان‬ ‫دو‬‫بانی‬
‫کند‬‫می‬.
‫استفاده‬ ‫با‬ ‫نامتجانس‬ ‫های‬‫فرم‬ ‫پلت‬ ‫سازی‬ ‫همگون‬ ،‫سازی‬‫یکپارچه‬ ‫الیه‬‫از‬
‫دهد‬‫می‬ ‫را‬ ‫کاربردی‬ ‫نویسی‬‫برنامه‬ ‫رابط‬.‫های‬‫دستگاه‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫توان‬‫می‬
‫نمود‬ ‫متصل‬ ‫سیستم‬ ‫به‬ ‫را‬ ‫بزرگ‬ ‫یا‬ ‫ساده‬.
‫پیوس‬ ‫سرکشی‬ ‫حالت‬ ‫از‬ ‫استفاده‬ ‫عدم‬ ‫دلیل‬ ‫به‬ ،‫باطری‬ ‫پایین‬ ‫مصرف‬‫ته‬.
23
‫مرتبط‬ ‫کارهای‬
‫پروتکل‬ ‫از‬ ‫استفاده‬XMPP‫ابری‬ ‫بین‬ ‫پروتکل‬ ‫عنوان‬ ‫به‬
‫انتشار‬ ‫سرویس‬ ‫توسط‬ ‫مختلف‬ ‫ابرهای‬ ‫ناهمزمان‬ ‫اتصال‬-‫اشتراک‬
‫وقوع‬ ‫از‬ ‫پیش‬ ‫بحران‬ ‫مدیریت‬
‫مشترک‬ ‫ستاد‬ ‫نظامی‬ ‫امور‬
‫سنسورها‬ ‫سازی‬‫یکپارچه‬
‫ارتباط‬P2P‫انتشار‬ ‫سرویس‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سرور‬ ‫بدون‬-‫مبنای‬ ‫بر‬ ‫اشتراک‬XMPP
‫بیمار‬ ‫پزشکی‬ ‫وضعیت‬ ‫پایش‬
‫هوشمند‬ ‫گوشی‬ ‫به‬ ‫آن‬ ‫ارسال‬ ‫و‬ ‫سنسورها‬ ‫های‬‫داده‬ ‫آوری‬‫جمع‬
‫سنسورها‬ ‫تجانس‬ ‫عدم‬ ‫از‬ ‫پوشش‬
‫اجتماعی‬ ‫های‬‫شبکه‬ ‫در‬ ‫کاربر‬ ‫زندگی‬ ‫رویدادهای‬ ‫گذاری‬‫اشتراک‬ ‫به‬
‫دیگر‬ ‫فردی‬ ‫از‬ ‫فرد‬ ‫یک‬ ‫عالقه‬ ‫مورد‬ ‫رویدادهای‬ ‫دریافت‬(‫و‬ ‫دوستان‬ ،‫خانواده‬ ‫مانند‬)...
24
‫گیری‬‫نتیجه‬
‫رویدادگرا‬ ‫معماری‬ ‫از‬ ‫استفاده‬
‫پروتکل‬ ‫از‬ ‫استفاده‬XMPP
‫الیه‬ ‫روی‬ ‫سازی‬‫یکپارچه‬ ‫الیه‬XMPP(‫عنوان‬ ‫با‬API)
‫الیه‬ ‫در‬ ‫فرم‬‫پلت‬ ‫هر‬ ‫برای‬ ‫ویژه‬ ‫سازی‬‫پیاده‬API
‫سرویس‬ ‫از‬ ‫استفاده‬PubSub‫اجزا‬ ‫همه‬ ‫بین‬ ‫ارتباطی‬ ‫کانال‬ ‫یک‬ ‫ایجاد‬ ‫و‬EDA
‫از‬ ‫استفاده‬CEP‫در‬ ‫رویدادها‬ ‫پردازش‬ ‫برای‬EDA
‫از‬ ‫استفاده‬ ‫با‬ ‫متادیتاها‬ ‫پردازش‬Metadata EPA
‫رویداد‬ ‫پردازش‬ ‫موتور‬ ‫در‬ ‫قوانین‬ ‫تعریف‬ECA
25
‫بعدی‬ ‫کارهای‬
‫رویدادگرا‬ ‫معماری‬ ‫به‬ ‫معنایی‬ ‫پارامترهای‬ ‫نمودن‬ ‫اضافه‬
‫در‬ ‫پارامترها‬ ‫این‬CEP‫شد‬ ‫خواهند‬ ‫استفاده‬
‫آگهی‬ ‫انقضای‬ ‫تاریخ‬
‫مکانی‬ ‫موقعیت‬ ‫دقت‬GPS
26
‫تحقیق‬ ‫منابع‬
[1] XMPP-enabled SOA-driven middleware for remote patient monitoring system.
[2] Bridging the Devices with the Web Cloud: A Restful Management Architecture over XMPP.
[3] Using XMPP as a transport in Intercloud Protocols
[4] The Definitive Guide. OReilly Media Inc.
[5] XMPP for cloud computing in bioinformatics supporting discovery and invocation of asynchronous web services.
[6] A ProvenanceAware Remote Health Monitoring Middleware. In: IEEE International Conference on Pervasive Computing and Communications.
[7] Sensor Andrew: Large-scale campus-wide sensing and actuation. IBM Journal of Research and Development 55
[8] Lightweight Implementation for Low Power Operating System Contiki. In: International Conference on Ultra-Modern Telecommunications &
Workshops.
[9] event.Hub : An Event-Driven Information Hub for Mobile Devices.
[10] From Instant Messaging to Cloud Computing, an XMPP review.
[II] XMPP to the rescue: Enhancing post disaster management and joint task force work.
[12] Mobile XMPP and cloud service collaboration: An alliance for flexible disaster management.
[13] XMPP based Event Notification Middleware for Real-Time and Large Scale Health Care Integrated Arnbient Systems.
[14] Context-Aware and Personalized Event Filtering for Low-Overhead Continuous Remote Health Monitoring.
27
‫ارائه‬ ‫منابع‬
 Applying Event-Driven Architecture to Mobile Computing
 Stefan Nitz, Carsten Kleiner, Arne Koschel, Irina Astrova. IEEE 2013
 https://en.wikipedia.org/wiki/Complex_event_processing
 https://en.wikipedia.org/wiki/Sensor
 https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern
 https://en.wikipedia.org/wiki/Polling_(computer_science)
 https://en.wikipedia.org/wiki/Bring_your_own_device
 https://en.wikipedia.org/wiki/XMPP
 https://en.wikipedia.org/wiki/Loose_coupling
 https://en.wikipedia.org/wiki/Push_technology
 https://en.wikipedia.org/wiki/Application_programming_interface
‫پاسخ‬ ‫و‬ ‫پرسش‬
Applying event driven architecture to mobile computing

More Related Content

ODP
PDF
What is XMPP Protocol
PDF
توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
PDF
طرح رایانش ابری در صنعت برق خراسان
PDF
Openstack Rally
PDF
Internet of Things - Future & Opportunities * اینترنت اشیاء - فرصتهای پیش رو
PDF
گاهنامه چهارمحال و_بختیاری_دیماه
PDF
Security tools - ابزارهای امنیتی
What is XMPP Protocol
توسعه نرم‌افزارهای مقیاس‌پذیر بر اساس معماری ریزسرویسها (Microservices) و اجر...
طرح رایانش ابری در صنعت برق خراسان
Openstack Rally
Internet of Things - Future & Opportunities * اینترنت اشیاء - فرصتهای پیش رو
گاهنامه چهارمحال و_بختیاری_دیماه
Security tools - ابزارهای امنیتی

Similar to Applying event driven architecture to mobile computing (20)

PDF
Introduction to NFV and its Open ecosystem
PDF
how enable ceph dashboard
PDF
Chapter02 - network standard and osi model
PDF
آشنایی با رایانش ابری
PDF
the refrence of Oracle Database - The 0.4 release
PDF
PDF
how upgrade ceph
PDF
khazeni_taghizade
PDF
Software architecture002
PDF
IoT for Iran
PDF
رایانش ابری و کارآفرینی اینترنتی
PDF
Pdn tech-cloud management-softwares-ver2.0.1
PDF
A review of information dissemination protocols for vehicular ad hoc networks
PDF
Introduction to Cloud Computing and Openstack
PDF
Rbdmap ceph realease 0.2
PPSX
درس مهنسی اینترنت فصل 1شبکه
PDF
mosisan1
PDF
لحاظ کردن موارد امنیتی در طراحی سرویس‌های از نوع RESTFUL
PPSX
4 الگوها در اندروید
Introduction to NFV and its Open ecosystem
how enable ceph dashboard
Chapter02 - network standard and osi model
آشنایی با رایانش ابری
the refrence of Oracle Database - The 0.4 release
how upgrade ceph
khazeni_taghizade
Software architecture002
IoT for Iran
رایانش ابری و کارآفرینی اینترنتی
Pdn tech-cloud management-softwares-ver2.0.1
A review of information dissemination protocols for vehicular ad hoc networks
Introduction to Cloud Computing and Openstack
Rbdmap ceph realease 0.2
درس مهنسی اینترنت فصل 1شبکه
mosisan1
لحاظ کردن موارد امنیتی در طراحی سرویس‌های از نوع RESTFUL
4 الگوها در اندروید
Ad

Applying event driven architecture to mobile computing

  • 2. ‫بکار‬‫گیری‬‫پردازش‬ ‫در‬ ‫رویدادگرا‬ ‫معماری‬‫موبایل‬‫ی‬ Applying Event-Driven Architecture to Mobile Computing ‫راهنما‬ ‫استاد‬:‫مرضی‬ ‫دکتر‬ ‫خانم‬ ‫دهنده‬ ‫ارایه‬:‫ریزوندی‬ ‫مهدی‬ http://mRizvandi.com – info@mRizvandi.com ‫ماه‬ ‫دی‬1394
  • 3. 3 ‫فهرست‬ ‫مقدمه‬ ‫و‬ ‫تعاریف‬‫ها‬‫آوری‬‫فن‬ ‫های‬‫برنامه‬ ‫سناریو‬‫نمونه‬ ‫معماری‬ ‫معماری‬MetaXA ‫بکارگیری‬ ‫شیوه‬XMPP ‫معماری‬ ‫کلید‬ ‫اجزای‬MetaXA ‫دستاوردها‬ ‫کارهای‬‫مرتبط‬ ‫گیری‬ ‫نتیجه‬ ‫بعدی‬ ‫کارهای‬ ‫منابع‬
  • 4. 4 ‫مقدمه‬ ‫شده‬ ‫متناسب‬ ‫رویدادگرای‬ ‫معماری‬ ‫اهمیت‬: ‫موبایل‬ ‫های‬‫دستگاه‬ ‫شدن‬ ‫فراگیر‬(‫و‬ ‫ها‬‫تبلت‬ ،‫هوشمند‬ ‫های‬‫گوشی‬)... ‫موبایل‬ ‫های‬‫دستگاه‬ ‫روی‬ ‫مکانی‬ ‫و‬ ‫زمان‬ ‫هر‬ ‫در‬ ‫رویدادها‬ ‫تولید‬(‫و‬ ‫سنسورها‬ ،‫کاربر‬ )... ‫ها‬‫شرکت‬ ‫جاری‬ ‫امور‬ ‫در‬ ‫همراه‬ ‫های‬‫دستگاه‬ ‫از‬ ‫استفاده‬ ‫ادغام‬ ‫اشیا‬ ‫اینترنت‬ ‫سمت‬ ‫به‬ ‫رفتن‬ ‫است‬ ‫رویدادگرا‬ ‫معماری‬ ‫سازی‬‫پیاده‬ ‫و‬ ‫طراحی‬ ‫درگیر‬ ‫بزرگ‬ ‫چالش‬ ‫سه‬: ‫موبایل‬ ‫های‬‫دستگاه‬ ‫روی‬ ‫پیچیده‬ ‫رویداد‬ ‫پردازش‬ ‫موبایل‬ ‫های‬‫دستگاه‬ ‫منابع‬ ‫محدودیت‬ ‫کنند‬‫می‬ ‫اجرا‬ ‫موبایل‬ ‫های‬‫دستگاه‬ ‫که‬ ‫موبایل‬ ‫های‬‫فرم‬ ‫پلت‬ ‫بودن‬ ‫جنس‬ ‫هم‬ ‫عدم‬.
  • 5. 5 ‫ها‬‫آوری‬‫فن‬ ‫و‬ ‫تعاریف‬... ‫رویداد‬ ‫پردازش‬(Event Processing:) ‫برای‬ ‫روشی‬‫پیگیری‬‫کردن‬ ‫تحلیل‬ ‫و‬(‫پردازش‬)‫اطالعات‬ ‫از‬ ‫جریانی‬(‫ها‬‫داده‬)‫دربا‬‫ره‬ ‫اتفاق‬ ‫که‬ ‫چیزهایی‬(‫رویداد‬)‫از‬ ‫نتیجه‬ ‫استنتاج‬ ‫و‬ ‫افتند‬‫می‬‫ها‬‫آن‬. ‫پردازش‬‫پیچیده‬ ‫رویداد‬(CEP: Complex Event Processing:) ‫یک‬‫رویداد‬ ‫استنتاج‬ ‫جهت‬ ‫به‬ ‫را‬ ‫مختلف‬ ‫منابع‬ ‫از‬ ‫هایی‬‫داده‬ ‫که‬ ‫است‬ ‫رویداد‬ ‫پردازش‬‫یا‬ ‫ها‬ ‫کند‬‫می‬ ‫ترکیب‬ ،‫دهد‬‫می‬ ‫نمایش‬ ‫را‬ ‫تری‬‫پیچیده‬ ‫شرایط‬ ‫که‬ ‫الگوهایی‬.‫پردازش‬ ‫هدف‬ ‫دار‬‫معنی‬ ‫رویدادهای‬ ‫شناسایی‬ ،‫پیچیده‬ ‫رویداد‬(‫تهدیدها‬ ‫یا‬ ‫ها‬‫فرصت‬ ‫مانند‬)‫پاسخ‬ ‫و‬‫به‬ ‫است‬ ‫وقت‬ ‫اسرع‬ ‫در‬ ‫ها‬‫آن‬.
  • 6. 6 ‫ها‬‫آوری‬‫فن‬ ‫و‬ ‫تعاریف‬... ‫سنسور‬(Sensor:) ‫یک‬‫خر‬ ‫یک‬ ‫و‬ ‫دارد‬ ‫را‬ ‫محیط‬ ‫در‬ ‫تغییری‬ ‫یا‬ ‫رویداد‬ ‫یک‬ ‫تشخیص‬ ‫توانایی‬ ‫که‬ ‫شی‬‫وجی‬ ‫کند‬‫می‬ ‫فراهم‬ ‫متناسب‬.‫مانن‬ ‫کند‬ ‫ارایه‬ ‫را‬ ‫خروجی‬ ‫مختلف‬ ‫انواع‬ ‫است‬ ‫ممکن‬ ‫سنسور‬‫د‬ ‫الکتریکی‬ ‫یا‬ ‫نوری‬ ‫خروجی‬.‫ایجاد‬ ‫را‬ ‫معینی‬ ‫ولتاژ‬ ‫یک‬ ،‫ترموکوپل‬ ‫مثال‬ ‫برای‬‫کند‬‫می‬ (‫خروجی‬)‫دما‬ ‫به‬ ‫پاسخ‬ ‫در‬(‫محیط‬.) ‫مانند‬ ،‫دارند‬ ‫مختلفی‬ ‫سنسورهای‬ ‫امروزی‬ ‫هوشمند‬ ‫های‬‫گوشی‬GPS،NFC‫و‬... ‫سست‬ ‫اتصال‬(Loose Coupling:) ‫دانش‬ ‫یا‬ ‫دانشی‬ ‫هیچ‬ ،‫آن‬ ‫سازنده‬ ‫اجزای‬ ‫از‬ ‫یک‬ ‫هر‬ ‫که‬ ‫است‬ ‫سست‬ ‫اتصال‬ ‫سیستمی‬ ‫دارد‬ ‫دیگر‬ ‫شده‬ ‫جدا‬ ‫اجزا‬ ‫دیگر‬ ‫از‬ ‫ناچیزی‬.
  • 7. 7 ‫ها‬‫آوری‬‫فن‬ ‫و‬ ‫تعاریف‬... ‫سرکشی‬(Polling:) ‫برای‬‫ت‬ ‫که‬ ‫است‬ ‫خارجی‬ ‫دستگاه‬ ‫وضعیت‬ ‫یا‬ ‫اتفاق‬ ،‫رویداد‬ ‫یک‬ ‫از‬ ‫یافتن‬ ‫آگاهی‬‫وسط‬ ‫شود‬‫می‬ ‫اجرا‬ ‫زمان‬‫هم‬ ‫صورت‬ ‫به‬ ‫برنامه‬.‫ی‬ ‫کامپیوتر‬ ‫که‬ ‫است‬ ‫فرآیند‬ ‫یک‬ ‫سرکشی‬‫ا‬ ‫وضعی‬ ‫کردن‬ ‫چک‬ ‫برای‬ ‫است‬ ‫خارجی‬ ‫دستگاه‬ ‫یک‬ ‫منتظر‬ ‫دستگاه‬ ‫کننده‬ ‫کنترل‬‫آن‬ ‫ت‬. ‫کابل‬ ‫توسط‬ ‫که‬ ‫چاپگر‬ ‫یک‬ ‫مثال‬LPT‫چاپگر‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫کامپیوتر‬ ،‫است‬ ‫متصل‬ ‫منتظر‬ ،‫کند‬ ‫دریافت‬ ‫را‬ ‫بعدی‬ ‫کاراکتر‬‫ماند‬‫می‬. ‫بیاورید‬ ‫را‬ ‫خود‬ ‫دستگاه‬(BYOD: Bring Your Own Device:) ‫یک‬‫را‬ ‫خود‬ ‫شخصی‬ ‫های‬‫دستگاه‬ ‫دهد‬‫می‬ ‫اجازه‬ ‫کارمندان‬ ‫به‬ ‫که‬ ‫است‬ ‫سیاست‬(‫تاپ‬‫لپ‬، ‫و‬ ‫موبایل‬ ،‫تبلت‬)...‫بیاورند‬ ‫کار‬ ‫محل‬ ‫به‬.‫به‬ ‫دسترسی‬ ‫برای‬ ‫ها‬‫دستگاه‬ ‫آن‬ ‫از‬ ‫و‬ ‫کنند‬ ‫استفاده‬ ‫شرکت‬ ‫های‬‫برنامه‬ ‫و‬ ‫خاص‬ ‫اطالعات‬.
  • 8. 8 ‫ها‬‫آوری‬‫فن‬ ‫و‬ ‫تعاریف‬... ‫نشاندن‬ ‫حالت‬(Push Mode:) ‫نوعی‬‫مشتر‬ ‫به‬ ‫اطالعات‬ ‫فرستادن‬ ‫برای‬ ‫سرور‬ ‫آن‬ ‫در‬ ‫که‬ ‫اینترنتی‬ ‫ارتباطات‬ ‫از‬‫یک‬ ‫ی‬ ‫نماید‬‫می‬ ‫ایجاد‬ ‫را‬ ‫ارتباط‬.‫این‬ ‫که‬‫در‬ ‫مدل‬‫انتشار‬ ‫مدل‬-‫دارد‬ ‫کاربرد‬ ‫اشتراک‬.‫برای‬ ‫خود‬ ‫اطالعات‬ ‫سرور‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫هایی‬‫کانال‬ ،‫مشتری‬ ‫به‬ ‫سرور‬ ‫را‬ ‫اطالعات‬ ‫ارسال‬ ‫دهد‬‫می‬ ‫قرار‬ ‫ها‬‫کانال‬ ‫آن‬ ‫در‬ ‫را‬.‫و‬ ‫کرده‬ ‫بررسی‬ ‫را‬ ‫خود‬ ‫نظر‬ ‫مورد‬ ‫های‬‫کانال‬ ‫مشتری‬ ‫کند‬‫می‬ ‫دریافت‬ ‫را‬ ‫خود‬ ‫های‬‫پیام‬. ‫انتشار‬-‫اشتراک‬(Publish-Subscribe:) ‫انتشار‬ ،‫افزار‬‫نرم‬ ‫معماری‬ ‫در‬-‫پ‬ ‫فرستنده‬ ،‫است‬ ‫رسانی‬‫پیام‬ ‫الگوی‬ ‫یک‬ ‫اشتراک‬‫که‬ ‫ها‬‫یام‬ ‫م‬ ‫که‬ ‫خاص‬ ‫گیرنده‬ ‫یک‬ ‫به‬ ‫مستقیم‬ ‫فرستادن‬ ‫برای‬ ‫را‬ ‫پیام‬ ،‫شود‬‫می‬ ‫نامیده‬ ‫ناشر‬‫شترک‬ ‫کند‬‫نمی‬ ‫ریزی‬‫برنامه‬ ‫شود‬‫می‬ ‫نامیده‬.‫ب‬ ‫هایی‬‫کالس‬ ‫به‬ ‫را‬ ‫منتشرشده‬ ‫های‬‫پیام‬ ‫بلکه‬‫دون‬ ‫کند‬‫می‬ ‫توصیف‬ ‫مشترکین‬ ‫از‬ ‫دانش‬.‫ا‬ ،‫پیام‬ ‫دریافت‬ ‫مشترکین‬ ،‫مشابه‬ ‫طور‬ ‫به‬‫یک‬ ‫ز‬ ‫ف‬ ‫کننده‬ ‫منتشر‬ ‫خصوص‬ ‫در‬ ‫دانشی‬ ‫داشتن‬ ‫بدون‬ ‫که‬ ‫هستند‬ ‫هایی‬‫کالس‬ ‫یا‬ ‫کالس‬‫قط‬ ‫کنند‬‫می‬ ‫دریافت‬ ‫را‬ ‫خود‬ ‫عالقه‬ ‫مورد‬ ‫های‬‫پیام‬.
  • 9. 9 ‫ها‬‫آوری‬‫فن‬ ‫و‬ ‫تعاریف‬... ‫کاربردی‬ ‫نویسی‬‫برنامه‬ ‫رابط‬(API:) ‫ای‬‫مجموعه‬‫است‬ ‫کاربردی‬ ‫های‬‫برنامه‬ ‫ساخت‬ ‫برای‬ ‫ابزارها‬ ‫و‬ ‫ها‬‫پروتکل‬ ،‫ها‬‫روتین‬ ‫از‬. ‫ورود‬ ،‫عملکردها‬ ‫اساس‬ ‫بر‬ ‫افزاری‬‫نرم‬ ‫ترکیب‬ ‫یک‬ ‫کاربردی‬ ‫نویسی‬‫برنامه‬ ‫رابط‬،‫ها‬‫ی‬ ‫سازی‬‫پیاده‬ ‫محیط‬ ‫از‬ ‫مستقل‬ ‫را‬ ‫وظایفی‬ ‫که‬ ،‫است‬ ‫درونی‬ ‫های‬‫داده‬ ‫انواع‬ ‫و‬ ‫ها‬‫خروجی‬ ‫کند‬‫می‬ ‫معرفی‬. XMPP: ‫مبنای‬ ‫بر‬ ‫گرا‬‫پیام‬ ‫افزارهای‬ ‫میان‬ ‫برای‬ ‫ارتباطی‬ ‫پروتکل‬ ‫یک‬XML‫است‬.‫انتقال‬ ‫که‬ ‫بالدرنگ‬ ‫به‬ ‫نزدیک‬‫را‬ ‫ها‬‫داده‬‫شبکه‬ ‫چند‬ ‫یا‬ ‫دو‬ ‫بین‬‫کند‬‫می‬ ‫برقرار‬‫اصل‬ ‫در‬ ‫که‬Jabber ‫شود‬‫می‬ ‫نامیده‬.‫باز‬ ‫متن‬ ‫انجمن‬ ‫توسط‬ ‫ابتدا‬ ‫پروتکل‬ ‫این‬Jabber‫سال‬ ‫در‬1994‫ایجاد‬ ‫شده‬.
  • 11. 11 ‫نمونه‬ ‫های‬‫برنامه‬ ‫سناریو‬ ‫پیشنهادی‬ ‫معماری‬ ‫اساس‬ ‫بر‬ ‫سناریو‬ ‫دو‬: ‫ها‬‫آگهی‬ ‫توزیع‬(Notification Distribution) ‫کشف‬/‫دزدی‬ ‫تشخیص‬(Theft Detection)
  • 12. 12 ‫اول‬ ‫سناریوی‬:‫توزیع‬‫ها‬‫آگهی‬ ‫مطمئن‬ ‫توزیع‬ ‫برای‬ ‫برنامه‬‫ها‬‫آگهی‬ ‫وجود‬ ‫گیرندگان‬ ‫گروه‬ ‫مختلف‬ ‫انواع‬ ،‫ها‬‫آگهی‬ ‫متفاوت‬ ‫انواع‬ ‫برای‬‫دارد‬ ‫گیرندگان‬ ‫توسط‬ ‫وقت‬ ‫اسرع‬ ‫در‬ ‫ها‬‫آگهی‬ ‫دریافت‬ ‫متفاوت‬ ‫تحویل‬ ‫زمان‬ ‫بودن‬ ‫خاموش‬ ‫شبکه‬ ‫ارتباط‬ ‫قطع‬ ‫ها‬‫آگهی‬ ‫دریافت‬ ‫قطع‬ ‫پیام‬ ‫گیرنده‬ ‫هویت‬ ‫تشخیص‬ ‫پیام‬ ‫دریافت‬ ‫در‬ ‫محدودیت‬ ‫اعمال‬ ‫خاص‬ ‫گیرنده‬ ‫برای‬ ‫پیام‬ ‫فرستادن‬
  • 13. 13 ‫اول‬ ‫سناریوی‬:‫توزیع‬‫ها‬‫آگهی‬... ‫برنامه‬ ‫فنی‬ ‫مشخصات‬ ‫سرکشی‬ ‫روش‬ ‫از‬ ‫استفاده‬ ‫عدم‬ ‫انتشار‬ ‫مکانیزم‬ ‫از‬ ‫استفاده‬-‫اشتراک‬ ‫غیرهمزمان‬ ‫تعامل‬
  • 14. 14 ‫دوم‬ ‫سناریوی‬:‫کشف‬/‫دزدی‬ ‫تشخیص‬ ‫کشف‬/‫شده‬ ‫دزدیده‬ ‫موبایل‬ ‫دستگاه‬ ‫تشخیص‬ ‫استفاده‬BYOD‫کاربران‬ ‫قانونی‬ ‫و‬ ‫اقتصادی‬ ‫مسائل‬ ‫سریع‬ ‫کشف‬ ‫امنیتی‬ ‫اقدامات‬(‫و‬ ‫اطالعات‬ ‫کلیه‬ ‫حذف‬ ،‫ای‬‫کارخانه‬ ‫مجدد‬ ‫تنظیم‬)... ‫موقعیت‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سریع‬ ‫کشف‬GPS‫دستگاه‬ ‫منابع‬ ‫محدودیت‬ ‫دلیل‬ ‫به‬ ،‫موفقیت‬ ‫امکان‬ ‫عدم‬ ‫سرور‬ ‫سمت‬ ‫در‬ ‫رویداد‬ ‫پیچیده‬ ‫پردازش‬ ‫سرور‬ ‫به‬ ‫موبایل‬ ‫دستگاه‬ ‫دسترسی‬ ‫نیاز‬ ‫موقعیت‬ ‫از‬ ‫گیری‬‫نتیجه‬ ‫عدم‬GPS‫شدن‬ ‫دزیده‬ ‫زمان‬ ‫در‬ ‫موبایل‬ ‫دستگاه‬ ‫متادیتاها‬ ‫از‬ ‫استفاده‬(‫کد‬IMEI‫کارت‬ ‫سیم‬)
  • 15. 15 ‫معماری‬MetaXA ‫معماری‬ ‫طراحی‬MetaXA(Metadata-processing XMPP-based Architecture) ‫ترکیب‬CEP‫با‬EDA ‫پردازش‬ ‫مدل‬ ‫کننده‬ ‫تولید‬/‫رویداد‬ ‫مشتری‬ ‫واسط‬ ‫رویداد‬ ‫شی‬ ‫رویداد‬ ‫پردازشگر‬ ‫عامل‬ ‫ارتباطی‬ ‫الگوهای‬ ‫ناهمزمان‬ ‫تعامل‬ ‫انتشار‬-‫اشتراک‬ ‫نشاندن‬ ‫حالت‬
  • 17. 17 ‫بکارگیری‬ ‫شیوه‬XMPP ‫از‬ ‫استفاده‬ ‫دالیل‬ ‫و‬ ‫موبایل‬ ‫های‬‫دستگاه‬ ‫های‬‫محدودیت‬XMPP ‫باطری‬ ‫کم‬ ‫عمر‬ ‫طول‬ ‫آدرس‬ ‫ایستای‬ ‫غیر‬ ‫تعیین‬IP ‫شبکه‬ ‫باند‬ ‫پهنای‬ ‫محدودیت‬ ‫نامتجانس‬ ‫های‬‫فرم‬ ‫پلت‬(‫همگون‬ ‫نا‬)
  • 18. 18 ‫بکارگیری‬ ‫شیوه‬XMPP... ‫مزایای‬XMPP ‫جدید‬ ‫رویدادهای‬ ‫به‬ ‫سرکشی‬ ‫به‬ ‫نیاز‬ ‫عدم‬ ‫انتشار‬ ‫مکانیزم‬ ‫توسط‬ ‫مقصد‬ ‫در‬ ‫رویدادها‬ ‫ناهمزمان‬ ‫دریافت‬-‫اشتراک‬ ‫فعال‬ ‫از‬ ‫پس‬ ‫تا‬ ‫رویدادها‬ ‫سازی‬‫ذخیره‬(‫روشن‬/‫شبکه‬ ‫اتصال‬)‫مش‬ ‫همراه‬ ‫دستگاه‬ ‫شدن‬‫تری‬ ‫از‬ ‫استفاده‬JID‫ایستا‬ ‫غیر‬ ‫آدرس‬ ‫تعیین‬ ‫جبران‬ ‫جهت‬ ‫در‬ ‫در‬ ‫یکدست‬ ‫ارتباط‬ ‫الیه‬ ‫یک‬ ‫ایجاد‬MetaXA‫مختلف‬ ‫های‬‫فرم‬ ‫پلت‬ ‫از‬ ‫پشتیبانی‬ ‫و‬ ‫مانند‬ ‫امنیت‬ ‫های‬‫مکانیزم‬ ‫از‬ ‫پشتیبانی‬TLS ‫و‬ ‫آفالین‬ ‫انباره‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سرویس‬ ‫کیفیت‬ ‫از‬ ‫پشتیبانی‬‫های‬‫استراتژی‬‫م‬‫دریافت‬ ‫ختلف‬
  • 19. 19 ‫معماری‬ MetaXA (‫دهنده‬‫سرویس‬) ‫سمت‬ ‫معماری‬‫دهنده‬‫سرویس‬: ‫اصلی‬ ‫معماری‬XMPP‫مبنای‬ ‫بر‬ ‫دهنده‬‫سرویس‬ ‫معماری‬/‫سرویس‬ ‫گیرنده‬(‫خدمتگذار‬/‫مشتری‬)‫است‬‫که‬ ‫معماری‬ ‫مبنای‬MetaXA‫است‬. •‫دهنده‬‫سرویس‬XMPP •‫ها‬‫موجودیت‬:‫پویا‬ ‫و‬ ‫ایستا‬ •‫موبایل‬ ‫های‬‫دستگاه‬ •‫ها‬‫سرویس‬ •‫رویدادهای‬ ‫پردازشگر‬ ‫عامل‬ Metadata •‫انتشار‬ ‫سرویس‬-‫اشتراک‬ •‫الیه‬‫سازی‬‫یکپارچه‬ 19
  • 20. 20 ‫معماری‬MetaXA(‫گیرنده‬ ‫سرویس‬) MetaXA Application Mobile Device Platforms Windows Phone, iOS, Android, … Sensors GPS, NFC, …
  • 21. 21 ‫معماری‬ MetaXA (‫گیرنده‬ ‫سرویس‬) •‫دهنده‬‫سرویس‬XMPP •‫ها‬‫موجودیت‬:‫و‬ ‫ایستا‬ ‫پویا‬ •‫موبایل‬ ‫های‬‫دستگاه‬ •‫ها‬‫سرویس‬ •‫پردازشگر‬ ‫عامل‬ ‫رویدادهای‬Metadata •‫انتشار‬ ‫سرویس‬-‫اشتر‬‫اک‬ •‫سازی‬‫یکپارچه‬ ‫الیه‬
  • 22. 22 ‫دستاوردها‬ ‫ویندوزف‬ ‫و‬ ‫اندروید‬ ‫های‬‫فرم‬ ‫پلت‬ ‫در‬ ‫خوبی‬ ‫به‬ ‫شده‬ ‫عنوان‬ ‫سناریوی‬ ‫دو‬ ‫هر‬‫ون‬ ‫اند‬‫شده‬ ‫سازی‬‫پیاده‬. ‫انتش‬ ‫سرویس‬ ‫طریق‬ ‫از‬ ‫رویداد‬ ‫مشتری‬ ‫و‬ ‫رویداد‬ ‫کننده‬ ‫تولید‬ ‫ارتباط‬‫ار‬- ‫است‬ ‫گرفته‬ ‫صورت‬ ‫اشتراک‬.‫س‬ ‫اجزای‬ ‫بین‬ ‫را‬ ‫سست‬ ‫اتصال‬ ‫امکان‬ ‫که‬‫یستم‬ ‫سازد‬‫می‬ ‫میسر‬. ‫شده‬ ‫طراحی‬ ‫سیستم‬‫پشتی‬ ‫را‬ ‫پذیری‬‫توسعه‬ ‫و‬ ‫پذیری‬‫مقیاس‬ ‫امکان‬ ‫دو‬‫بانی‬ ‫کند‬‫می‬. ‫استفاده‬ ‫با‬ ‫نامتجانس‬ ‫های‬‫فرم‬ ‫پلت‬ ‫سازی‬ ‫همگون‬ ،‫سازی‬‫یکپارچه‬ ‫الیه‬‫از‬ ‫دهد‬‫می‬ ‫را‬ ‫کاربردی‬ ‫نویسی‬‫برنامه‬ ‫رابط‬.‫های‬‫دستگاه‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫توان‬‫می‬ ‫نمود‬ ‫متصل‬ ‫سیستم‬ ‫به‬ ‫را‬ ‫بزرگ‬ ‫یا‬ ‫ساده‬. ‫پیوس‬ ‫سرکشی‬ ‫حالت‬ ‫از‬ ‫استفاده‬ ‫عدم‬ ‫دلیل‬ ‫به‬ ،‫باطری‬ ‫پایین‬ ‫مصرف‬‫ته‬.
  • 23. 23 ‫مرتبط‬ ‫کارهای‬ ‫پروتکل‬ ‫از‬ ‫استفاده‬XMPP‫ابری‬ ‫بین‬ ‫پروتکل‬ ‫عنوان‬ ‫به‬ ‫انتشار‬ ‫سرویس‬ ‫توسط‬ ‫مختلف‬ ‫ابرهای‬ ‫ناهمزمان‬ ‫اتصال‬-‫اشتراک‬ ‫وقوع‬ ‫از‬ ‫پیش‬ ‫بحران‬ ‫مدیریت‬ ‫مشترک‬ ‫ستاد‬ ‫نظامی‬ ‫امور‬ ‫سنسورها‬ ‫سازی‬‫یکپارچه‬ ‫ارتباط‬P2P‫انتشار‬ ‫سرویس‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سرور‬ ‫بدون‬-‫مبنای‬ ‫بر‬ ‫اشتراک‬XMPP ‫بیمار‬ ‫پزشکی‬ ‫وضعیت‬ ‫پایش‬ ‫هوشمند‬ ‫گوشی‬ ‫به‬ ‫آن‬ ‫ارسال‬ ‫و‬ ‫سنسورها‬ ‫های‬‫داده‬ ‫آوری‬‫جمع‬ ‫سنسورها‬ ‫تجانس‬ ‫عدم‬ ‫از‬ ‫پوشش‬ ‫اجتماعی‬ ‫های‬‫شبکه‬ ‫در‬ ‫کاربر‬ ‫زندگی‬ ‫رویدادهای‬ ‫گذاری‬‫اشتراک‬ ‫به‬ ‫دیگر‬ ‫فردی‬ ‫از‬ ‫فرد‬ ‫یک‬ ‫عالقه‬ ‫مورد‬ ‫رویدادهای‬ ‫دریافت‬(‫و‬ ‫دوستان‬ ،‫خانواده‬ ‫مانند‬)...
  • 24. 24 ‫گیری‬‫نتیجه‬ ‫رویدادگرا‬ ‫معماری‬ ‫از‬ ‫استفاده‬ ‫پروتکل‬ ‫از‬ ‫استفاده‬XMPP ‫الیه‬ ‫روی‬ ‫سازی‬‫یکپارچه‬ ‫الیه‬XMPP(‫عنوان‬ ‫با‬API) ‫الیه‬ ‫در‬ ‫فرم‬‫پلت‬ ‫هر‬ ‫برای‬ ‫ویژه‬ ‫سازی‬‫پیاده‬API ‫سرویس‬ ‫از‬ ‫استفاده‬PubSub‫اجزا‬ ‫همه‬ ‫بین‬ ‫ارتباطی‬ ‫کانال‬ ‫یک‬ ‫ایجاد‬ ‫و‬EDA ‫از‬ ‫استفاده‬CEP‫در‬ ‫رویدادها‬ ‫پردازش‬ ‫برای‬EDA ‫از‬ ‫استفاده‬ ‫با‬ ‫متادیتاها‬ ‫پردازش‬Metadata EPA ‫رویداد‬ ‫پردازش‬ ‫موتور‬ ‫در‬ ‫قوانین‬ ‫تعریف‬ECA
  • 25. 25 ‫بعدی‬ ‫کارهای‬ ‫رویدادگرا‬ ‫معماری‬ ‫به‬ ‫معنایی‬ ‫پارامترهای‬ ‫نمودن‬ ‫اضافه‬ ‫در‬ ‫پارامترها‬ ‫این‬CEP‫شد‬ ‫خواهند‬ ‫استفاده‬ ‫آگهی‬ ‫انقضای‬ ‫تاریخ‬ ‫مکانی‬ ‫موقعیت‬ ‫دقت‬GPS
  • 26. 26 ‫تحقیق‬ ‫منابع‬ [1] XMPP-enabled SOA-driven middleware for remote patient monitoring system. [2] Bridging the Devices with the Web Cloud: A Restful Management Architecture over XMPP. [3] Using XMPP as a transport in Intercloud Protocols [4] The Definitive Guide. OReilly Media Inc. [5] XMPP for cloud computing in bioinformatics supporting discovery and invocation of asynchronous web services. [6] A ProvenanceAware Remote Health Monitoring Middleware. In: IEEE International Conference on Pervasive Computing and Communications. [7] Sensor Andrew: Large-scale campus-wide sensing and actuation. IBM Journal of Research and Development 55 [8] Lightweight Implementation for Low Power Operating System Contiki. In: International Conference on Ultra-Modern Telecommunications & Workshops. [9] event.Hub : An Event-Driven Information Hub for Mobile Devices. [10] From Instant Messaging to Cloud Computing, an XMPP review. [II] XMPP to the rescue: Enhancing post disaster management and joint task force work. [12] Mobile XMPP and cloud service collaboration: An alliance for flexible disaster management. [13] XMPP based Event Notification Middleware for Real-Time and Large Scale Health Care Integrated Arnbient Systems. [14] Context-Aware and Personalized Event Filtering for Low-Overhead Continuous Remote Health Monitoring.
  • 27. 27 ‫ارائه‬ ‫منابع‬  Applying Event-Driven Architecture to Mobile Computing  Stefan Nitz, Carsten Kleiner, Arne Koschel, Irina Astrova. IEEE 2013  https://en.wikipedia.org/wiki/Complex_event_processing  https://en.wikipedia.org/wiki/Sensor  https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern  https://en.wikipedia.org/wiki/Polling_(computer_science)  https://en.wikipedia.org/wiki/Bring_your_own_device  https://en.wikipedia.org/wiki/XMPP  https://en.wikipedia.org/wiki/Loose_coupling  https://en.wikipedia.org/wiki/Push_technology  https://en.wikipedia.org/wiki/Application_programming_interface