Executive Summary

IoT Application Enablement Platform is a key component in any IoT application, hence, selecting the right IoT AEP is a key success factor for the success of the IoT application development and it becomes a challenging decision to select the right IoT AEP to develop an IoT application/product due to the fact that IoT AEP are quickly evolving and hence, there is lack of a well-defined set of features or functions expected in an IoT AEP.

Selecting a wrong IoT AEP will cost the organization lots of time, effort and consequently lots of money and lost revenues.

The IoT AEP comparison report is an annual report focusing on solving a selected challenge and makes it easier for the technical people (IoT product development management, Technical planning, Application Developers, etc.) to take the right decision and select the right IoT AEP saving their organization.

The report is conducted annually by the Information Technology Institute interns under the supervision of the IoT Track management and is published annually by July/August time frame.

IoT AEP definition

The aim of an IoT AEP (Application Enablement Platform) is to reduce the time, effort and cost of getting new IoT solutions built, implemented, operated and supported. There are several layers to an IoT solution and these are becoming increasingly complex as the market develops. The IoT platform takes advantage of the fact that the majority of what is needed in IoT solutions is the same and does not need to be redeveloped for every application. At least 80% of IoT solutions are made from common parts, which can be predesigned and made available through an IoT platform. The platform then also provides the means for customizing and configuring the solution for a specific application need.

IoT AEP is neither an application nor a mean of managing assets (devices). AEP is meant to provide all the foundational services that are required to build an IoT solution from the ground up. Foundational service includes application communication protocols; data storage; management of users; application building and enablement; user interface development; security mechanisms; real time analytics, data valuations and visualization.

IoT AEP is sometimes referred to as IoT middle ware because AEPs are a fundamental building block and interface with almost every component in the system, including enterprise backends, IoT devices and supplementary services. It is important to highlight that AEP is neither a framework nor a group of software libraries and it is not a group of applications suites. It is not a software development stack.

Application Enablement Platform must have 4 main modules (listed below) that can't be missed by any mean. Each of those modules would include multiple functionalities to fulfill the module capabilities.

  1. Sensors Definition:

    The platform should provide a mean to define sensors, drivers, sensors readings, reading data types, data acquisition application protocols used by the sensors and their gateways, etc.

  2. Data presentation and visualization development environment:

    The platform should provide a visual development environment to develop applications (i.e. web pages) for data in/out presentation and visualization.

  3. Monitoring, Enrichment, Orchestration and action execution:

    The platform must provide a mean to monitor sensor data on real time, enrich the sensors data, orchestrate the sensor date and instantly executes an action when these data matches some related criteria.

  4. Users access rights management and administration:

    The platform should provide means to manage users (both the application developers and end users) access rights towards all the IoT application components/pages.

This report will be conducted yearly by the Information Technology Institute interns under the supervision of the IoT Track management. This year, the comparison is based on more than 100 features (see appendix B); each feature is evaluated on scale from 0 to 4, where 4 means the feature is fully supported and 0 means the features is not available in the platform.

This year, we have chosen 14 IoT AEP platforms based on the platform data availability on the internet. Any other platform provider, not in this year list, who would like to be included in next year report is most welcomed and encouraged to contact the IoT Track department head at sbahader@iti.gov.eg to provide us with sufficient information on the platform, including access to trial versions of the platform to be evaluated as well as demos, manuals, Webinars, online sessions or on site sessions in ITI main branch, located in Smart village, Cairo, Egypt. or any other way that the platform provider believe could increase the evaluation of the platform assessment and evaluation.

If any of the platform providers that are already included in the report, have any issue or inquiry regarding their current evaluation, they are also welcomed to contact the department head.

Methodology, scope and Findings


The comparison between various IoT AEPs, was achieved based on an unbiased judgment from a resource with a profound knowledge in IoT AEP features and with a good Software development background.

This comparison is achieved by post graduate interns of ITI (Information Technology Institute) enrolled in the 9-month IoT Track intake 37 (2016-2017) who are focused on studying IoT applications development for 9 months and among many hands-on programing courses in general and IoT courses in specific (Devices development, wireless technologies, IoT Application protocols, Cloud, DB, etc.). Most of the interns have completed an instructor led course of IoT AEP features detailing the need and use of each IoT AEP feature. Most of the Interns have also completed an instructor led 5 days IoT Application development course using MasterOfThings IoT AEP that included lots of practical hands-on exercises on developing IoT applications for various IoT applications use cases. Most of the Interns have also completed an instructor led overview course on PTC ThingWorx IoT AEP. See Appendix A for a complete list of courses studied and completed by the interns during the 9-month post graduate studies.

Each of the interns has been requested to complete a self-study & assessment on a specific IoT AEP to compare it to all the features available in MasterOfThings IoT AEP as the base for the comparison (See appendix B) being the best detailed features list available to the interns during their 9-month program. Some of the features names available or present on the platform provider under comparison or study might not be exactly matching with the base set of features available in MasterOfThings IoT AEP used for the comparison however the comparison is to the best possible mapping based on the understanding of the intern of the features under study. Each feature is evaluated on scale from 0 to 4 where 4 means the feature is fully supported.

Each intern presented his/her evaluation of the platform features to all his/her pears for a pear review to guarantee best understanding and evaluation of the platforms by all interns.

The value in the evaluation is based on each intern assessment and to the best understating of the intern of the platform documentation available on an open trial version as provided from the official IoT AEP provider web site/portal at the time of the assessment which might be limited and might not include all actual features in the latest AEP commercial release.

Outside the scope of the report:

This report does not cover/include AEP assessment for the below

  1. AEP stability (under stress testing, malfunctional data, etc.).
  2. AEP service provider support Capacity, Capabilities, Service level agreement, etc.
  3. AEP commercial release manuals or Documentations quality.
  4. AEP contractual terms (i.e. Pricing, subscription or licensing per device/message).

Summary of Comparison and Evaluation

The following table shows the number of supported features in every platform and the total evaluation points as per the evaluator, plus it has this year evaluators contact. Please note that evaluators will change every year with the new report.

Platform Number of supported features Total Evaluation points Evaluator name and Email
MasterOfThings IoT AEP 87 356 All Team
Cumulocity [1] 29 81 Ahmed M. Essam Aly Rafaat
ClearBlade [2] 34 39 Mariam Gamal
Datonis [3] 34 124 Ahmed Magdi
Device Pilot [4] 34 122 Mohamed Khalil Sayed Ahmed
Eagle IO [5] 42 159 Doha Essam Eldin
EvryThng platform [6] 50 205 Sarah Hassaan Abdullah
IBM Watson IoT [7] 32 110 Asmaa Zakaria
Scriptr [8] 51 142 Ahmed Mohamed Mokhtar
thethings.iO [9] 61 184 Samira Nasser AbdEl-Latif
WIA [10] 36 145 Heba Bahaa Eldin Amer
XIVELY [11] 22 86 Zaynab Mohamed Zaynab_alariny@outlook.com
Yaler [12] 10 37 Mariem Osama
Carriots [13] 33 133 Dina Ibrahim
Azure IoT [14] 61 175 Reem Shereef
Team Supervisor Eng. Sherine Bahader, MBA

Future Work

This report will be published on an annual basis by IoT Track in the ITI. If any platform provider would like to include their platform for the next year, they should contact the department head at sbahader@iti.gov.eg to provide the department with means to evaluate their platform including demos, manuals, access to trial version, etc.

For year 2017-2018, the evaluation methodology will not only include the list of features but it will also include weighting factor for each feature where we will publish a live survey for features weighting from developer's point of view.

We will also intend to dedicate a section to list the best functionality and expected best use case of each platform understudy as understood by the intern who did the assessment.

We might or might not include a section for AEPs designed to meet specific objectives or purposes that might not be considered a generic AEP platform (i.e. Health care AEP, connected cars AEP, etc.)


Appendix A: IOT Application Developer List of courses

The following are the IOT Application Developer List of courses provided to interns in the 9 months program in the Information Technology Institute.

SN Course Code Course Name
1 ESS/OSF/100 Operating Systems Fundamentals
2 ESS/DBF/100 Database Fundamentals
3 ESS/CNF/100 Computer Networks Fundamentals
4 ESS/ITP/100 Introduction to Programming
5 ESS/OOPCPP/300 Object-Oriented Programming Concepts
6 ESS/DSA/300 Data Structures and Algorithms
7 ESS/CST/200 Client Side Technologies
8 ESS/SWE/100 Introduction to Software Engineering
9 JD/DAJP/100 Java Programming
10 SWE/ASDM/100 Agile Software Development Methodologies
11 OST/APTWS/100 Apache Web Server
12 OST/ASB/400 Application Security Basics
13 OST/BSS/200 Bash Shell Script
14 OST/CSSFWS/300 CSS Frameworks
15 OST/DPS/200 Design Patterns
16 OST/HTML5CSS3/300 HTML 5 & CSS3
17 OST/JSLibs/300 JavaScript Libraries
18 OST/MONGO/200 MongoDB
19 OST/MYSQL/200 MySQL Database
20 SWE/UML/200 Object Oriented Analysis & Design using UML
21 OST/JSFWS/400 JavaScript Frameworks
22 OST/PTHN/600 Python Programming
23 OST/RHSAI/200 Red Hat System Administration I
24 OST/RHSAII/300 Red Hat System Administration II
25 OST/PPTECHS/500 Push / Pull Technologies
26 OST/UAT/600 Unit & Automated Testing
27 OST/VCS/100 Version Control Systems
28 OST/WS/500 Web Services
29 OST/CCF/100 Cloud Computing Fundamentals
30 IOT/IVC/100 IoT Value Chain & AEP Features
31 ES/INTRES/200 Introduction to Embedded Systems
32 IOT/HWP/200 Device HW platforms
33 IOT/DOS/300 Device OS (RTOS)
34 IOT/WSN/200 WSN, GW and Communication protocols
35 IOT/AEP/200 Application Enablement Platforms & Messaging broker platforms
36 IOT/MOTP/300 MoT (Master Of Things)
37 OST/BDF/100 Big Data Fundamentals
38 IOT/IS/200 IoT Security & IoT Alliances

Appendix B: Detailed IoT AEP features list

The following table includes the detailed IoT AEP features list used for the comparison.

SN IoT AEP Features List
1 Sensor Management
2 Basic Sensor Profile Definition
3 Advanced Sensor Profile Definition with custom fields for user defined sensor data
4 Support for copying sensor profile definition
5 Support for Virtual Sensor
6 Sensor Data Caching
7 Sensor Data Caching without data storage
8 Sensor Data Enrichment
9 Built-in database for data storage (sensor data & application data)
10 Sensor Last Seen date and time
11 Automatic generation of "Sensor Data Missing alarms"
12 GUI based "Export & Import" of Sensor list
13 Sensor Reading Types
14 Equation
15 Multiple Choice
16 Bits of Reading
17 Cache Related
18 Integer/String/Text
19 Built-in simulator to generate/enter data for sensor based on sensor profile definition
20 Supported Data acquisition and integration Protocols
22 CoAP
23 MQTT Subscribe (incoming)
24 MQTT Publish (outgoing traffic)
27 Modbus TCP
28 Triggers & Event Management
29 Triggering events with rule based engine for sensor data (within range, equal to, below, above, etc.)
30 Support for timer based event triggering
31 Send Email Event
32 Send SMS Event
33 Generate Voice Call Event
34 Data Missing Event
35 Forward Sensor Data to another sensor Event
36 Forward Sensor Data to an application table Event
37 Enrichment Event
38 Generate Alarm Event
39 Reset Timer Event
40 Activate & Deactivate Timer Event
41 External Web Service call Event
42 MQTT publish Event
43 Replay Events
44 Built-in Integrated Development Environment (IDE)
45 Multi-language (English, Arabic, etc.)
46 Code Free (limited dashboards with parameter configurations)
47 Drag & drop development with What You See is What you Get concept (location, size, color, etc.)
48 IDE is easy to use by normal Users (non-developers) to develop their own custom applications (Dynamic Dashboards, Static Dashboards, Reports, etc.)
49 Supports export and import of project code and visualization pages
50 Support for Copy and Paste pages
51 Support for inheriting/replicating template pages and visualization components to the overall project
52 Support for built in code window to customize CSS and apply it on visualization components 
53 Automatic Form Builder
54 Simple Query Builder
55 Advanced Query Builder
56 Project/Pages Based
57 Support for built in code window to write Java Script for advanced developers
58 Support to include/inherit an external JavaScript library to extend platform Run Time Environment capabilities
59 Run Time Environment is capable to calculate equations on the fly and feed calculated data to plugins/widgets without programming
60 IDE - Widgets & Plugins
61 Basic user interface plugins (Buttons, text input, sliders, check box, radio buttons, etc.) 
62 Charts for data visualization (Line, Bar, Pi, Radar, etc.)
63 Advanced user interface plugins (Digital LCD, Gauges, Color picker, etc.)
64 Map
65 Blog
66 Data Tables
67 Web Services Call
68 Timer
69 Automatic coloring of visualization plugins based on sensor data value
70 IDE - User Defined Plugins
71 Platform provides standard way for developers to develop their own plugins
72 IDE - Project Export & Import
73 Availability of Ready-made Optional Applications and Modules
74 Alarm Management application
75 Workforce and Task Management application
76 Asset Management application
77 Application Data Table Management
78 Support for User defined Application Data Tables
79 Export & Import of Application Data Tables Structure
80 Export & Import of Application Data Table Content
81 User Management
82 Support of user type (Dev, Normal User, Operator, etc.)  according to user role in IoT application
83 Support of logical user grouping (according to organization structure and function)
84 Administration GUI to handle users and user access rights
85 Security Management
86 Encryption in data collection (end-to-end security)
87 User name & password for developers and end users
88 Differentiated access rights for developers compared to end users.
89 User (Developer & End User) Access Permission on Sensors' data
90 User (Developer & End User) Access Permission on Applications' data tables
91 User (Developer & End User) Access Permission on Project/Application pages
92 Installation mode - Cloud Provider Agnostic
93 Support PaaS
94 Public cloud
95 Private cloud
96 On-premises cloud
97 Operation & Administrative tasks management
98 Automated backup
99 Centralized Backup for different instances
100 Centralized logging collection from various instances
101 Charts visualizing machine/instance memory utilization & CPU load monitoring (Current & historical)
102 Carrier Network Agnostic



[1] Cumulocity. Retrieved from https://www.cumulocity.com/

[2] ClearBlade. Retrieved from https://platform.clearblade.com/

[3] Datonis. Retrieved from https://www.datonis.io/login

[4] Device Pilot. Retrieved from https://app.devicepilot.com/#/register

[5] Eagle IO. Retrieved from https://www.eagle.io/

[6] EvryThng Platform. Retrieved from https://evrythng.com/

[7] IBM Watson IoT. Retrieved from https://www.ibm.com/internet-of-things/

[8] Scriptr. Retrieved from https://www.scriptr.io/login

[9] thethings.iO. Retrieved from https://thethings.io/

[10] WIA. Retrieved from https://www.wia.io/

[11] XIVELY. Retrieved from https://www.xively.com/trial

[12] Yaler. Retrieved from https://yaler.net/start

[13] Carriots. Retrieved from https://www.carriots.com/

[14] Azure IoT. Retrieved from https://azure.microsoft.com/en-us/suites/iot-suite/

Latest Tweets

Contact Us

  • Address: 28 Km by Cairo / Alexandria Desert Road - 6 October - Building B148, Egypt

  • Phone: (+202) 353-55656

  • Email: ITIinfo@iti.gov.eg

Follow Us