# Performance and Challenges of Service-Oriented Architecture for Wireless Sensor Networks
## 9 Analysis
### The Service-Oriented Middleware (SOM) Architectures for WSNs  
In our best knowledge, numerous SOM architectures for WSNs have been specifically designed to address the complexity issues that are related to resources and optimization of the pervasive technology. These approaches were aimed towards tackling the open issues that were previously identified in WSNs. None of the reviewed state-of-the-art approaches fulfil every requirement of the WSNs, as shown in Tables 2-4. The heterogeneities between sensor hardware and communication devices in large-scale WSN applications have difficulty executing data from different networks. The data/service aggregation aims to minimize energy consumption and network load on the sensor networks by optimizing the transmission data based on time and battery life. Some approaches do not provide any mechanisms that are independent of the middleware; instead, they depend on particular operating systems. The ESOA framework is built on LiteOS while MiSense is built over TinyOS. The support for heterogeneous multi-service composition highlights the enhancement of service interworking and provisioning to end-users, enabling service orchestration, and discovery at the middleware level. However, these mechanisms are only provided in USEME, OASIS, and ESOA approaches. On the other hand, the security mechanisms have been taken into account through different SOM architectures approaches like SOMM, ESOA, and SAWM. Data or service aggregation is supported in approaches like OASiS, MiSense, SensorsMW, and ESOA. However, most of these approaches do not provide specific implementation and mechanism details. In Table 2, a summary of Service-Oriented Middleware architectures are presented. These approaches are regarding the open issues in wireless sensor networks that identified previously. Table 3 highlights the representative SOM architectures for WSNs with the evaluation of its advantages and disadvantages. The implementation of these approaches offers relative limitations and strengths. Finally, the requirements and benefits of using SOM for WSNs are shown in Table 4. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**SOM Architecture** & **Platform Type** & \begin{tabular}{c} **Operating System/Platform** \\ **Independence** \\ \end{tabular} & \begin{tabular}{c} **Software Applications and** \\ **Communication Model** \\ \end{tabular} & \begin{tabular}{c} **Data/Service** \\ **Aggregation** \\ \end{tabular} & **Heterogeneity** \\ \hline USEME [45, 46] & WSANs & \begin{tabular}{c} Independent with \\ in-network middleware \\ \end{tabular} & \begin{tabular}{c} Abstract programming \\ language (APL) \\ \end{tabular} & Not Supported & Not Supported \\ \hline OASIS [34, 35] & WSNs & \begin{tabular}{c} Independent with \\ (middleware is implemented \\ on Mosaic 202 \\ hardware Platform) \\ \end{tabular} & \begin{tabular}{c} Application development \\ based on the separation of \\ concerns (SoC) \\ \end{tabular} & Supported & Supported \\ \hline MiSense [42] & WSNs & \begin{tabular}{c} Built on top of TinyOS \\ operating system \\ \end{tabular} & \begin{tabular}{c} Programming Interface and \\ Services Extensions \\ \end{tabular} & Supported & Not Supported \\ \hline SOMDM [47] & WSNs & \begin{tabular}{c} Independent with \\ in-network middleware \\ \end{tabular} & \begin{tabular}{c} Model with the ported code \\ in GALS by using Tiny \\ GALS given by TinyOS \\ \end{tabular} & Not Supported & Not Supported \\ \hline TinySOA [53] & WSNs & \begin{tabular}{c} Independent with \\ in-network middleware \\ \end{tabular} & Not Supported & Not Supported & Not Supported \\ \hline SensorMW [49] & WSNs & \
\begin{tabular}{c} Independent with \\ in-network middleware \\ \end{tabular} & Not Supported & Supported & Not Available \\ \hline SAWM [52] & WSNs & Middleware for WMSNs &
\begin{tabular}{c} Infra-red cameras are \\ applied to decrease the power consumption \\ \end{tabular} & Not Supported & Supported \\ \hline \hline \end{tabular}
\end{table}