Comprehensive Study Notes: Web of Things and Cloud of Things
Overview of Web of Things (WoT)
Definition of Web of Things (WoT): * Used to describe approaches, software architectural styles, and programming patterns that allow real-world objects to be part of the World Wide Web (WWW). * It provides an Application Layer that simplifies the creation of Internet of Things (IoT) applications. * Principle of Reuse: Rather than re-inventing completely new standards, WoT reuses existing and well-known Web standards.
Core Architectural Objectives of WoT: * Access: Deals with the access of things to the Internet and ensures they expose their services via Web APIs. * Find: Provides a way to find and locate things on the Web. * Share: Ensures that data generated by things can be shared in an efficient and secure manner. * Integrate: Integrates current services and data offered by things into higher-level Web tools.
Web of Things vs. Internet of Things (IoT)
Distinction between the Internet and the World Wide Web: * The Internet: A term used to identify the massive interconnection of computer networks around the world. It represents the physical connection of the paths between two or more computers. * The World Wide Web (WWW): The general name for accessing the Internet via HTTP (HyperText Transfer Protocol). It is just one of the connection protocols available on the Internet.
Restaurant Analogy: * If the Internet is a restaurant, the Web is the most popular dish on the menu. * However, it is the "dishes" (the Web) that make the Internet popular, useful to everyone, and powerful. * Technically, the Internet is the large container, and the Web is a part within that container.
Evolutionary Path: * Web 1.0: Internet of Documents. * Web 2.0: Internet of Multimedia. * Web 3.0: Internet of Things. * Web of Things (WoT): The current evolution characterized by Web Browsers, Multi-tiered Architecture, and Application Servers.
Two Pillars and Tiers of the Web
Three-Tiered Architecture Overview: * Tier One - User Interface Tier (Client): The client-side interface. * Tier Two - Connectivity Tier (Application): Contains application logic and the Application Server (AOS). It handles database connectivity. * Tier Three - Database Tier (Data): Comprises the Database and RDBMS (Relational Database Management System) on the Data Server.
Components of the Two Pillars: * HTML (HyperText Markup Language). * HTTP (HyperText Transfer Protocol). * URL (Universal Resource Locator). * Web Browsers. * Multi-tiered Architecture. * Application Servers (including Java-Based Application Servers).
Platform Middleware for WoT
Nature and Purpose: * Communication middleware and platform middleware are closely related. * Synonyms for Platform Middleware: Application Frameworks or Three-Tiered Application Servers. * The primary goal is to bring IoT applications to the World Wide Web.
WoT/IoT Vision: * Everyday objects will be connected with each other and the Internet, forming a distributed network with sensing capabilities.
Evolution of "Object" Terminology in Software: * Object-Oriented Design. * Object-Oriented Software Engineering and Programming. * CORBA (Common Object Request Broker Architecture). * DOM (Document Object Model). * POJO (Plain Old Java Object). * COM (Component Object Model) & DCOM (Distributed COM). * OPC (Object Linking and Embedding for Process Control). * OID (Object Identification). * SOAP (Simple Object Access Protocol). * JSON (JavaScript Object Notation).
Unified Multitier WoT Architecture: SOA vs. SODA
SOA/EAI (Service-Oriented Architecture / Enterprise Application Integration): * Focus: Application Integration. * Primary Goal: Streamline business processes. * Middleware: ESB (Enterprise Service Bus). * Key Benefit: High reusability and flexibility. * Scope: Integrates enterprise software applications like ERP (Enterprise Resource Planning) and CRM (Customer Relationship Management) using protocols like SOAP and XML.
SODA/MAI (Service-Oriented Device Architecture / Machine-to-Machine Application Integration): * Focus: Device/IoT Integration. * Primary Goal: Connect physical devices to services. * Middleware: SODA middleware/gateways. * Key Benefit: Interoperability of things and device connectivity to the cloud. * Scope: Tailored for the Web of Things; specializes in managing and integrating physical devices and sensors into SOA environments.
Protocols and Metadata: * SOAP: A protocol framework specification for exchanging structured information via XML; usually relies on HTTP, SMTP (Simple Mail Transfer Protocol), or JMS (Java Messaging Services). * WSDL (Web Services Description Language): Typically describes the services. * SOAP Protocol: Describes the communication protocols.
Device Description Language (DDL): * Based on XML encodings. * Classifies devices into three categories: Sensors, Actuators, and Complex Devices.
OSGi (Open Services Gateway initiative): * Known as "The Universal Middleware." * A module system and service platform for the Java programming language implementing a complete and dynamic component model.
WoT Portals and Business Intelligence (BI)
Web Portal Definition: A website that functions as a point of access to information on the World Wide Web, presenting info from diverse sources in a unified way (e.g., Yahoo, AOL, Excite, MSN).
Categorization of Portals: * Horizontal Portals: Cover many different areas. * Vertical Portals: Focused on one specific functional area. WoT portals are vertical portals.
Business Intelligence (BI) and Data Mining: * Large amounts of IoT data allow for data mining to acquire BI. * Data mining finds interesting and valid patterns in data. * Interdisciplinary field involving: Databases, machine learning, pattern recognition, statistics, and visualization.
Common BI Functions: * Extract, Transform, and Load (ETL). * Reporting, Online Analytical Processing (OLAP), and Analytics. * Data mining, Process mining, Complex Event Processing (CEP). * Business performance management, Benchmarking, Text mining, and Predictive analytics.
Cloud of Things
Relationship and Categorization: * IoT is often referred to as Machine-to-Machine (M2M), Connected World, Smarter Planet, or Smart Grid. * M2M is currently a more popular term than "Cloud Computing." * Both IoT and Cloud Computing are categorized as forms of distributed computing. * Cloud computing is considered an enabling technology for the IoT.
Mobile Cloud Computing (mCC): * The market is changing due to "widgets," which are compelling mobile cloud applications. * Smartphones are becoming thin clients for cloud services. * Example: Apple's iCloud (announced June $2011$) runs on Amazon Web Services (AWS) and Microsoft Azure IaaS, symbolizing the start of "Cloud Phones." * Real mCC: Widgets that receive services from the cloud during runtime (e.g., LBS applications, data synchronization, weather forecast, bank clients).
Cloud Premise: Data services and architecture reside on servers in a "cloud"; access is independent of the device (PC, Mac, mobile, BlackBerry).
Cloud Middleware and Hierarchy
Cloud Hierarchy: * Software as a Service (SaaS): "Everything as a Service" via PM (Platform Middleware) as a utility IM (Infrastructure Middleware). * Platform as a Service (PaaS): Includes all Enterprise Middleware, B2B, EAI, and multi-tenant App Servers. * Infrastructure as a Service (IaaS): Includes Grid Middleware, MSV (Multi-Server Virtualization) Cluster Middleware, SSV (Single System View), and schedulers. * Foundation: Cloud Platform and Hardware.
VAMOS Middleware (IBM): * Runs modules at the hypervisor level. * Reduces I/O virtualization overhead by cutting guest/hypervisor switches. * Application of VAMOS to databases improved performance by up to .
Grid and Cluster Middleware Examples: * Low-level: MPI, Open MPI, PVM (Parallel Virtual Machine), POE (Parallel Operating Environment, IBM). * Resource/File Systems: MPI-IP, PVFS/GPFS (Parallel Virtual File System), Sector-Sphere, Condor, PBS, LoadLeveler. * High-level: Globus Toolkit, Gridbus, Legion, Unicore, Beowulf, OSCAR, CAOS, Rocks, OpenMosix.
Cloud Standards
Service Models: IaaS, PaaS, SaaS.
Deployment Models: Private cloud, Public cloud, Community cloud, and Hybrid cloud.
Essential Characteristics: 1. On-demand self-service. 2. Broad network access. 3. Resource pooling. 4. Rapid elasticity. 5. Measured service.