# Performance and Challenges of Service-Oriented Architecture for Wireless Sensor Networks
## 3 The Requirements of an SOA for WSNs  
The requirements of a Service-Oriented Architecture (SOA) lay in the fact that the components of an application provide services to other components. In order for this to take place, communication is done over a network. Many different applications and their components on the same network can effectively cooperate with each other on the basis of SOA. SOA provides a platform where diverse services can exchange information over the network without human interaction or changes to the program [17].  
The challenges of SOA are diverse. They can range from management, to testing, to security issues. It is very common for applications within a system with SOA to generate thousands of messages to be transmitted across the network in many different directions. The management of these messages coming from different applications could be a huge challenge. In a more complex SOA system where third party companies and outsourced systems are connected to the same network, management of those messages can be even more complicated. Security in SOA is challenging because it should be provided at appropriate levels within the application. It is almost impossible to provide security for the services that can be used by other applications. In a conventional SOA architecture, testing capabilities can be a big challenge. Providing distinguished tools for testing in the SOA space can be a complicated task. If accomplished, the architecture would have many flaws, which would be difficult to rectify within the application [17, 20].  
One requirement of the middleware is to provide low power communications while making efficient use of memory and the transmissions. The components of the device should be set in an efficient way where sensing and data processing over the network flow well. Depending on the needs of the application, the components should be turned off to save energy while providing maximum efficiency [17]. In a middleware architectures for WSNs, one of the challenges is to provide scalability and maintain topology of the network. The network topology changes based on malfunctions in the device or one of the interfaces. In such event, it is difficult to provide an error-free network that can accommodate such obstacles. The heterogeneity of the model is very challenging because it is continuously trying to find a common ground between the hardware and software applications. Effective interfacing of the two can be complicated and often prone to malfunctioning. It is very difficult to manage networks since many applications are running for a long time. In addition, the messaging and communication between the applications can be too complex for the network to handle and manage. The design principle of application knowledge is another significant challenge because the tuning and mapping of the network in correlation to its applications are highly essential [17]. The Quality of Service (QoS) includes accessibility, reliability, robustness, timeliness and the optimum security of WSNs. The QoS should be very high because of the unique nature of WSNs and the data transfer required for an effective communication [21].