tions built using mashup technology integrates Google maps with environmental data
from the Brazilian National Institute for Space Research (INPE). This application
displays, in real time, places within the Brazilian Amazon forest with occurrences of
fire and deforestation [ 2 ]. The reader can refer to Web directories and marketplaces
like ProgrammableWeb.com, StrikeIron.com and Mashable.com to find other live
At a first glance, it is not easy to identify the differences between mashups and
traditional forms of integration. In this context, the work of Benatallah, Casati, and
Daniel [ 1 ] provides useful insights to identify mashup development specificities.
They say that a key point to understand such differences is to contrast de focus of both
approaches. On one hand, Mashups focus on opportunistic integration, occurring on
the Web targeted to user's personal use and for nonbusiness critical applications. On
the other hand, traditional composition (for example, workflow based business com-
positions) focuses on well-defined and repeatable enterprise processes. Moreover,
enterprise processes have, besides the functional requirements, a set of system wide
requirements (for instance, scalability and security) that are not present in most of
today mashup applications. The implementation of systemwide requirements makes
the overall development of enterprises process rather complex. Mashup employs an
end-user oriented development that requires improved tool support with strong reuse
of software components to allow end-users to easily compose their own mashups.
Therefore, integration paradigms focused on end-users are needed for allowing easy
and simple discovery and integration of mashups.
5.3 SmartSensor Programming and Execution Module
The main purpose of the Programming and Execution Module (PEM) is to allow end
users to program Web mashup applications through the composition of a mixing of
public available services and services provided by SmartSensor registered in SIMs.
The PEM's programming environment provides a DSL (Domain Specific Language)
specifically tailored for the WSN environment, as well as an interpreter for such
DSL. Moreover, this module contains components for publishing and discovering
the capacities of available WSNs.
PEM's DSL is an extension of the EnterpriseMashupMarkup Language (EMML).
EMML is an open language specification promoted by the Open Mashup Alliance
(OMA) [ 3 , 4 ]. The main goals of EMML are to provide programming mechanisms to
promotemashup design portability and interoperability ofmashup solutions aiming at
reducing vendor lock-in. EMML allows the composition of mashups with traditional
services in the Web (i.e. services based on SOAP, REST, third party APIs, and SQL
Figure 5.1 shows the main components of the PEM: (i) Publishing and Discovery;
(ii) Data Manager; and (iii) EMML Script Manager.
The Publishing and Discovery component is responsible for finding out theWSNs
that provide the services required by a mashup application and how to access such