وب اشیاء
وب اشیاء به الگوهای برنامه‌نویسی و سبک‌های معماری نرم‌افزاری اطلاق می‌شود که به اشیاء دنیای واقعی اجازه می‌دهد تا بخشی از شبکه جهانی وب باشند. به‌طور مشابه به آنچه وب (لایه برنامه) به اینترنت (شبکه لایه) است، وب اشیا یک لایه کاربردی ارائه می‌دهد که ایجاد برنامه‌های اینترنت اشیا را ساده می‌کند.
به جای اختراع مجدد استانداردهای کاملاً جدید، وب اشیا از استانداردهای وب موجود و شناخته شده استفاده کرده‌است استانداردهایی در وب قابل برنامه‌ریزی (به عنوان مثال، REST ،HTTP ,JSON)، وب معنایی (به عنوان مثال، JSON-LD ,Microdata و غیره)، وب در زمان واقعی (به عنوان مثال، WebSockets) و وب اجتماعی (به عنوان مثال، OAuth یا شبکه‌های اجتماعی).
در تحقیقات وب اشیاء معمولاً چیزها و اشیاء به معنای گسترده اشیاء فیزیکی در نظر گرفته می‌شوند. چیزها می‌توانند شامل اشیاء دارای برچسب (RFID ,NFC، کدهای QR، بارکدها، تشخیص تصویر) و شبکه‌های حسگر بی‌سیم (WSN)، ماشین‌ها، وسایل نقلیه و لوازم الکترونیکی مصرفی باشند.
در حالی که تلاشهای مداوم برای استانداردسازی وب اشیاء وجود دارد، در این رابطه مجموعه ای از بهترین شیوه‌ها موجود است که می‌توان آنها را طبق یک "معماری مشخص Web of Things" طبقه‌بندی کرد.
معماری، چهار لایه اصلی (یا مرحله) را پیشنهاد می‌کند که به عنوان چارچوبی برای طبقه‌بندی الگوهای مختلف و پروتکل‌های درگیر استفاده می‌شوند. این لایه به دسترسی چیزها به اینترنت می‌پردازد و اطمینان می‌دهد که آنها خدمات خود را از طریق API وب در معرض دید قرار می‌دهند. این لایه اصلی WoT است زیرا تضمین می‌کند که یک API در دسترس وب باشد و آنها را به موارد قابل برنامه‌ریزی تبدیل کند.
لایه دسترسی در WoT در حدود دو الگوی اصلی ساخته شده‌است: اولا، همه موارد باید خدمات خود را از طریق API RESTful (مستقیم یا از طریق دروازه) در معرض نمایش بگذارند. REST به لطف اجرای آن در HTTP 1.1، یک سبک معماری است که در ریشه وب قابل برنامه‌ریزی قرار دارد. در نتیجه، اگر همه موارد APIهای RESTful را از طریق HTTP ارائه دهند، یک URL دریافت می‌کنند و به صورت یکپارچه در شبکه جهانی وب و ابزارهای آن مانند مرورگرها، صفحات HTML لینک شده و برنامه‌های JavaScript ادغام می‌شوند.
طرح‌های مختلفی پیشنهاد شده‌اند که چگونگی دسترسی به خدمات ارائه شده توسط اشیاء از طریق REST را توصیف می‌کنند.
علاوه بر این، ماهیت درخواست پاسخ به HTTP اغلب به عنوان یکی از محدودیت‌های موارد استفاده IoT ذکر می‌شود زیرا این امر با ماهیت محور برنامه‌های کاربردی که در شبکه‌های حسگر بی‌سیم معمول نیست مطابقت ندارد. برای غلبه بر این کاستی، ضمن تمرکز بر تقویت ادغام با وب، چندین نویسنده پیشنهاد کرده‌اند که از HTML5 WebSockets بصورت بومی یا با استفاده از کارگزاران ترجمه استفاده کنید (به عنوان مثال ترجمه از MQTT یا CoAP). به WebSockets). این API REST را با یک مکانیزم اشتراک مشترک که تا حد زیادی با سیستم زیست‌محیطی وب یکپارچه است، تکمیل می‌کند.
برخی از اشیاء می‌توانند مستقیماً به اینترنت وصل شوند (به عنوان مثال، استفاده از اترنت، WiFi یا GSM / 3G)، اما در موارد دیگر (به عنوان مثال هنگامی که دستگاه‌ها دارای باتری هستند) دستگاه‌ها می‌توانند از طریق Smart Gateways به اینترنت دسترسی پیدا کنند. Smart Gateway دروازه‌های ترجمه پروتکل در لبه شبکه هستند.
تمرکز این لایه ارائه راهی برای یافتن و تعیین چیزها در وب است و از این رو به شدت تحت تأثیر وب معنایی قرار دارد.
در اینجا استفاده مجدد از استانداردهای معنایی وب برای توصیف چیزها و خدمات آنها حائز اهمیت است. به‌طور خاص، افرادی بر روی ادغام HTML5 Microdata ،RDF / RDFa ,JSON-LD و EXI کار کرده‌اند. این موضوع، امکان جستجوی چیزها از طریق موتورهای جستجو و سایر فهرستهای وب و همچنین امکان تعامل دستگاه با دستگاه بر اساس مجموعه کوچکی از قالبها و استانداردهای خوب تعریف شده را امکان‌پذیر می‌سازد.
وب اشیاء تا حد زیادی مبتنی بر ایده چیزهایی است که داده‌ها را به سمت وب سوق می‌دهند، جایی که می‌توان از الگوهای هوشمند و داده‌های بزرگ به عنوان نمونه ای استفاده کرد تا به ما در مدیریت سلامتی خود (پوشیدنی) کمک کند، مصرف انرژی ما را بهینه کند (شبکه هوشمند)، با این حال، این تنها در صورت مقیاس کلان می‌تواند اتفاق بیفتد اگر برخی از داده‌ها بتوانند به‌طور کاربری در بین خدمات به اشتراک گذاشته شوند. لایه اشتراک گذاری تضمین می‌کند که داده‌های ایجاد شده توسط اشیاء می‌توانند به روشی کارآمد و مطمئن به اشتراک گذاشته شوند.
رویکردهای مختلفی درمورد اشتراک گذاری مبتنی بر محتوای دانه ای(granular) و اجتماعی(social) پیشنهاد شده‌است، از جمله استفاده از شبکه‌های اجتماعی برای ایجاد شبکه اجتماعی اشیا.
نقش آخرین لایه، ادغام و یکپارچگی سرویس‌ها و داده‌های ارائه شده توسط چیزها در ابزارهای وب سطح بالاتر است (نرم‌افزار تحلیلی، برنامه‌های کاربردی mashup مانند IFTTT) که سبب ساده‌تر شدن ایجاد برنامه‌های کاربردی با چیزها و خدمات وب مجازی می‌شود.
ابزارهای موجود در لایه ترکیب مجموعه ای را شامل می‌شود از قبیل: ابزارهای وب (به عنوان مثال، SDKهای JavaScript که دارای انتزاعات سطح بالاتر هستند)، داشبورد (صفحه کنترل) با ابزارکهای قابل برنامه‌ریزی و ابزارهای فیزیکی Mashup. با الهام از خدمات مشارکتی وب ۲٫۰ و به ویژه وب mashup، نمایانگر فیزیکی یک منظره یکپارچه از وب و کلاسیک اشیاء کلاسیک ارائه می‌دهد و به افراد این توان را می‌دهد تا برنامه‌های خود را با استفاده از خدمات Web of Things بدون نیاز به مهارت برنامه‌نویسی ایجاد کنند.
تعدادی از Web of Things Physical Mashup توسعه یافته‌اند و ابزارهایی ارائه شده‌است و به‌طور فعال مانند آن توسعه داده می‌شوند.
کار نخست در اتصال اشیاء به وب احتمالاً در حدود سال ۲۰۰۰ آغاز شد. در سال ۲۰۰۲، یک مقاله مربوط به پروژه Cooltown ارائه شد. این پروژه با استفاده از URLها برای آدرس دهی و تعامل HTTP با اشیاء فیزیکی مانند صفحه نمایش عمومی یا چاپگر مورد بررسی قرار گرفت.تعدادی روش جایگزین برای استانداردهای وب ارائه شده‌است، مانند خدمات WS- *، اما بعداً مشخص شد که این موارد بعید برای چیزهای دنیای واقعی مناسب نیستند.
همچنین، پروتکل کاربرد محدود (CoAP) اغلب به عنوان یک روش جایگزین یا مکمل برای دستگاه‌های دارای محدودیت منابع ذکر شده‌است. CoAP با معماری Web of Things مانند استفاده از منابع RESTful شباهت‌هایی دارد.