A New Enterprise Integration-Based Framework for Enterprise Physical Mashup

13
International Review on Computers and Software (I.RE.CO.S.), Vol. 8, n. 8 Manuscript received August 2013, revised August 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved A New Enterprise Integration-based Framework for Enterprise Physical Mashup M.Benhaddi 1 , K.Baïna 2 , E.Abdelwahed 1 Abstract In the Web of Things, devices of daily life are empowered through a web-enabling process to become integrable with computer network. These devices – called smart objects – are becoming very useful both in enterprises and in simple users daily life; in fact, they provide easy access to useful services and can collaborate with each other to build a collective intelligence capable of performing routine but very important tasks. In some critical situations, the smart objects collaborations need to be built by end users themselves in order to respond quickly to any new situational need. These collaborations can be simple or can consist of sophisticated and advanced use cases, which we call in this paper: the Enterprise Physical Mashups (EPMs). Existing work do not provide solutions for end user development of advanced use cases while addressing the requirements of a physical world. In this paper, we try to formalize the services composition aspect in the Enterprise Physical Mashup development by proposing a new rich integration language based on the advanced Enterprise Integration Patterns (EIPS). We also introduce new key concepts for an intuitive and self-explanatory methodology for end users physical services integration. Through these contributions, we give the promise of achieving efficient enterprise-class physical services integration. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Physical Mashup, End User Development, Services composition, Enterprise Integration Patterns, End User Satisfaction, Usability, Intuitiveness. I. Introduction Today, our physical world is more and more submerged by devices that no longer act as isolated tools but are made part of the web thanks to RFID (Radio- frequency identification) technology [1]. Devices provided with RFID components are called smart devices, smart objects or smart things because they offer features and functionalities and can exchange information with each other; their interconnection form what is called in the literature the “Web Of Things” or the “Internet of Things” [2][3]: in the Web of Things, the physical world becomes an integrated with networks of computers. Smart objects could belong to different physical field: transport, health, education, trade & marketing, office, smart home, etc. They do not only provide data or features but communicate with each other and with digital web resources in order to build advanced collaborations [4] [5]. Over the last few years, the new trend of “End User Service Development (EUD)” gained more interest; EUD approach consists of putting the user at the front and giving him the ability to create on the fly its own applications that meet a situational need. [6] affirms that the new trend for the next few years will be to make systems easy to develop and create new environments that allow non technical users to develop applications. We cite the EUD definition given by [6]: ”End-User Development can be defined as a set of methods, techniques, and tools that allow users of software systems, who are acting as non-professional software developers, at some point to create, modify or extend a software artefact”. For digital world, the applications created by end users are called Mashups (or digital Mashups) [7][8]. A Mashup is a Web-based resource that combines existing resources, be it content, data or application functionality, from more than one resource by empowering end users to create individual information centric and situational applications. The creation process of Mashups is characterized by being fast – instant response to any new need – and lightweight – use of methods and technologies that are adapted to mobile devices with limited capabilities. Hence, End user services creation or Mashup allows the generation of added value for enterprises and bring many advantages to individual end users [9][10]. The Mashup concept is being extended to cover the physical world. In fact, smart objects collaborations that are created by end users in order to meet their situational needs are called “Physical Mashups”. Physical Mashups allow objects from the real world that belong to a

Transcript of A New Enterprise Integration-Based Framework for Enterprise Physical Mashup

International Review on Computers and Software (I.RE.CO.S.), Vol. 8, n. 8

Manuscript received August 2013, revised August 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved

A New Enterprise Integration-based Framework for Enterprise Physical Mashup

M.Benhaddi1, K.Baïna2, E.Abdelwahed1 Abstract – In the Web of Things, devices of daily life are empowered through a web-enabling process to become integrable with computer network. These devices – called smart objects – are becoming very useful both in enterprises and in simple users daily life; in fact, they provide easy access to useful services and can collaborate with each other to build a collective intelligence capable of performing routine but very important tasks. In some critical situations, the smart objects collaborations need to be built by end users themselves in order to respond quickly to any new situational need. These collaborations can be simple or can consist of sophisticated and advanced use cases, which we call in this paper: the Enterprise Physical Mashups (EPMs). Existing work do not provide solutions for end user development of advanced use cases while addressing the requirements of a physical world. In this paper, we try to formalize the services composition aspect in the Enterprise Physical Mashup development by proposing a new rich integration language based on the advanced Enterprise Integration Patterns (EIPS). We also introduce new key concepts for an intuitive and self-explanatory methodology for end users physical services integration. Through these contributions, we give the promise of achieving efficient enterprise-class physical services integration. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Physical Mashup, End User Development, Services composition, Enterprise Integration Patterns, End User Satisfaction, Usability, Intuitiveness.

I. Introduction

Today, our physical world is more and more submerged by devices that no longer act as isolated tools but are made part of the web thanks to RFID (Radio-frequency identification) technology [1]. Devices provided with RFID components are called smart devices, smart objects or smart things because they offer features and functionalities and can exchange information with each other; their interconnection form what is called in the literature the “Web Of Things” or the “Internet of Things” [2][3]: in the Web of Things, the physical world becomes an integrated with networks of computers.

Smart objects could belong to different physical field: transport, health, education, trade & marketing, office, smart home, etc. They do not only provide data or features but communicate with each other and with digital web resources in order to build advanced collaborations [4] [5].

Over the last few years, the new trend of “End User Service Development (EUD)” gained more interest; EUD approach consists of putting the user at the front and giving him the ability to create on the fly its own applications that meet a situational need. [6] affirms that the new trend for the next few years will be to make

systems easy to develop and create new environments that allow non technical users to develop applications. We cite the EUD definition given by [6]: ”End-User Development can be defined as a set of methods, techniques, and tools that allow users of software systems, who are acting as non-professional software developers, at some point to create, modify or extend a software artefact”. For digital world, the applications created by end users are called Mashups (or digital Mashups) [7][8]. A Mashup is a Web-based resource that combines existing resources, be it content, data or application functionality, from more than one resource by empowering end users to create individual information centric and situational applications. The creation process of Mashups is characterized by being fast – instant response to any new need – and lightweight – use of methods and technologies that are adapted to mobile devices with limited capabilities. Hence, End user services creation or Mashup allows the generation of added value for enterprises and bring many advantages to individual end users [9][10].

The Mashup concept is being extended to cover the physical world. In fact, smart objects collaborations that are created by end users in order to meet their situational needs are called “Physical Mashups”. Physical Mashups allow objects from the real world that belong to a

M. Benhaddi, K. Baïna, E. Abdelwahed

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, n. 8

network to be linked and combined. More specifically, physical Mashups represent composite applications created by end users through the combination of smart objects.

We give some definitions that will be used in the remainder of this paper:

Definition 1 (End User): A software end user is a person who interacts with information systems solely as a final information consumer. It’s a user with minimal technical knowledge, and who uses the software in the context of daily life or daily work for personal (business or leisure) purposes, without having any intentions to produce other systems. He is not interested in computers per se, and do not worry about system technologies as long as he can get what he needs quickly [11] [12].

Definition 2 (Physical Resource): Physical resources (PRs) are physical objects or smart devices (devices provided with RFID technology) that are integrated into the web by the web-enabling process [13] to be part of and participate in the network [14].

An example of a physical resource is a movie advertising poster.

Definition 3 (Physical Service): Physical services (PSs) are features and functionalities offered by physical resources. Each physical resource can provide one or more physical services.

Examples of physical services provided by the movie poster resource are displaying the movie features, displaying names and addresses of movie theatres that project the movie or buying a ticket for the movie.

Definition 4 (Physical Mashup): Physical Mashups (PMs) are applications created by end users to combine physical and digital services [5][15] in order to serve new end users purposes. Unlike digital Mashups that combine solely digital or online resources, physical Mashups can invoke or refer to physical and digital resources.

Example of a physical Mashup is playing songs through a HIFI system connected to twitter or reading information from an advertising poster by a mobile phone.

Today, digital Mashups are gaining more interest within and outside enterprises (for business and everyday needs). Physical Mashups will also become useful as the number of smart devices is increasing [16]. Enterprises can benefit from smart devices by delegating parts of the business functionality closer to the point of action. Benefits could be reducing the load of back-end systems and providing high quality and instant response in critical situations [17]. Hence, when creating composite applications from smart devices, the back-end system load get lower and the added value increases. End users also benefit from physical Mashups by having fast and easy access, through their familiar devices, to multiple new services created by themselves in response to their needs.

In this paper, we focus on physical Mashups that allow sophisticated and advanced combinations of smart

objects in order to realize complex use cases. In other words, our aim is to study and propose a solution for process oriented physical Mashups - also called Enterprise physical Mashups.

In the remainder of this paper, section 2 defines Enterprise physical Mashups and discusses their requirements through an example scenario. Section 3 describes the existing approaches for physical services integration, which is an important aspect in physical Mashup creation and on which we focus on this paper. In section 4, we present our study - which is based on the Enterprise Integration Patterns - that justifies our proposal. In section 5, we describe our proposal of a new framework for an efficient and advanced physical services composition. Section 6 shows the evaluation results of our new framework and finally, section 7 concludes this paper.

II. Enterprise Physical Mashup: Problem Description

II.1. Definition

Different types of Mashup applications exist [18][19]: presentation Mashups, data Mashups and functionality Mashups. At presentation level, the Mashup consists of retrieving contents from different resources without integrating data or functionality, and display results visually. At data level, The Mashup is combining and integrating data and contents from heterogeneous resources and presenting result in one view. At the process level, which is the most complicated type, the Mashup consists of mixing application functionalities or services according to a process model that can be assimilated to a simplified workflow. Presentation and data Mashup are intended for simple public use cases and are called consumer Mashups [18], while functionality Mashups – called Enterprise Mashups (EMs), business Mashups [10] [20] or process oriented Mashups [21] – include a high level of complexity and realize sophisticated use cases.

According to [10], EMs are web-based applications created in a collaborative and user friendly manner by business users with no or limited programming skills in order to solve a business problem. [22] defines EMs as new technology that enables the automation of situational needs of knowledge workers. EMs allow enterprises to generate great added value benefiting from co-creation [9]. In fact, process oriented enterprise Mashups can help automating simple tasks that are done manually [21]. Enterprise Mashups can represent the future step towards knowledge workers-centric workflow management [23]. Moreover, in enterprise scenarios the aggregated data can be used to make decisions and initiate further execution steps or processes [24].

However, the use of EMs is not restricted to

M. Benhaddi, K. Baïna, E. Abdelwahed

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, n. 8

enterprises; EMs can be also used by end users in their daily life in order to meet their individualized needs [25]. In fact, domestic Mashups can consist of complex use cases that require sophisticated methods, patterns and technologies that provide fast, efficient and effective solution to any problem faced by end users. [16] states that end users also need to create quickly and easily Mashup applications; hence, business Mashup requirements listed by [10] as services that should be provided by Enterprise Mashup environments and that consist of user friendly interfaces and self-explanatory methodology, sophisticated and efficient composition techniques, robust infrastructure and web 2.0 collaborative community support become also necessary in end users daily life.

As stated in [26], the number of Mashup applications used as enterprise Mashups and including a high level of complexity increases more and more, and there is a great need to make them more stable and more robust to accommodate more complex scenarios. Fast project [27] is based on Mashup stack proposed by [28], which consists of three layers (resources, gadget and Mashup), and propose relevant elements to compose process-oriented Enterprise Mashups.

As digital Mashups, physical Mashups can consist of complex use cases requiring advanced environments that provide supporting services.

Until today and to our knowledge, there is no research work that has been done to allow the creation of physical Mashups that include a high level of complexity and realize sophisticated use cases. In fact, Mashup projects that have been undertaken within enterprises do not address the issues and requirements that accompany the physical world integration [16].

The following, ‘Definition 5’ defines Enterprise physical Mashup (inspired from the definition of EMs given earlier in this section):

Definition 5 (Enterprise Physical Mashup): Enterprise Physical Mashups (EPMs) are physical Mashups (see definition 4 in section I) that consist of mixing smart devices functionalities or services according to a process model that can be assimilated to a simplified workflow. In other words, EPMs focus on the creation of sophisticated processes that implies smart appliances instead of simple integration of data. EPMs’s aim is to combine functionalities from different smart objects in order to automate tasks (ex. routine tasks).

Physical Mashup use cases could be the automation of management and maintenance tasks such as the production processes, or the automation of end users daily tasks in the intelligent (programmable) cities [29] (ex. buying a movie ticket from a mobile phone that communicates with a movie advertising poster).

Physical Mashup consists mainly of combining Restful resources (see section III.3). Hence, Web of Things projects benefit from the web technological advances by reusing and adapting patterns commonly used for the web [30] [31][32]. Smart objects are getting

transportable URIs and are integrated seamlessly in the web. Consequently, physical Mashups can be created in the style of web 2.0 Mashup; in fact, number of Web of Things projects adapted existing Mashup editors to support mashing web-enabled smart appliances [30] [33] [34].

II.2. Example Scenario: A Smart Home

To illustrate an Enterprise physical Mashup and study its requirements, this section introduces an example scenario. We chose a smart home scenario to show how Enterprise physical Mashup can be an efficient and effective response to end users daily life needs. In fact, as stated in last section, EPMs allow the automation of tasks by getting information from different places, aggregating and filtering it to send it to different place [21]. In a smart home, multiple and different devices need to collaborate in order to execute tasks and daily routines even in the absence of the end user [35], which makes the smart home a good candidate for EPMs.

The scenario can be described as follows: Our end user, Mark, wants to schedule a task to be executed every day at 7:00 in the morning - when the alarm goes off. The task, that represents Mark’s goal, consists of turning on the light on the bedroom and the coffee maker in the kitchen. When Mark is in the kitchen, the light must be lit. After Mark had opened the fridge and eaten food, the refrigerator recalculates the food quantities and displays them. If a food quantity reaches a minimum limit, a grocery order is automatically sent (Figure 1).

In figure 1, physical resources are represented in different colors depending on the type of the service they provide: blue for services that render information, azure for services that render events and pink for services that render nothing.

Fig. 1. Smart home scenario for Enterprise Physical Mashup

M. Benhaddi, K. Baïna, E. Abdelwahed

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, n. 8

II.3. Requirements for Enterprise Physical Mashups

In the Web of Things world, many requirements emerge. [30] speaks about home automation as a study case of physical Mashups and states that future proof, moderate cost, installation overhead, configuration effort, connectivity, user interaction and security are the requirements for home automation.

In order to build Enterprise physical Mashups, the following requirements have to be considered [36]: • Web-enabling smart devices: this is the first step; in

order to be integrated into the web, to be part of it and to communicate with other smart devices and with digital resources, smart devices should undergo a process of web-enabling [13]. Once the smart devices are integrated into the web by the web-enabling process, they can be considered and treated as web resources [37].

• Discovering smart devices: end users need a directory where they can search for adequate devices and physical resources.

• Combining smart devices to form physical Mashups: end users need a user-friendly environment where they can compose their physical services and create physical Mashups consisting of new services.

• Physical Mashup execution: at the end of the physical Mashup creation, end users need to schedule the execution to be launched later or immediately, once or repeatedly.

In this paper, we tackle the smart devices

combination (i.e. physical services composition) issue and dig into the requirements of this important phase.

In order to create physical Mashup applications by combining physical services, end users should dispose of environments that offer: • Functional Richness: it is important that the end user

scenarios are achievable; in fact, as end users scenarios are diverse, the composition environment should propose rich and common constructs that help integrating services and realizing all the possible scenarios.

• Support for notifications and event-based Mashups: events and notifications consist of a very important aspect in physical Mashups. In fact, as stated by [4] [17] [20], devices provide various information about their environments delivered as events. Hence, the system should support the events notifications capabilities in order to communicate with these devices.

• Easy to use and intuitive interfaces: o No syntax-based data mapping: in order to link

and coordinate services, unskilled end users cannot rely on syntactic data. In fact, for end users, matching syntactic input and output is an out of scope task.

o Interactive and intelligent user interfaces: it is important that the interfaces help end users during the composition process by 1- giving guidelines

and suggestions based on other end users experience and 2- giving instant information about the result of each action performed by the end user allowing him to have a clear understanding of how to design the entire composite application. In fact, the developer-execution way consisting of designing the complete composition before its execution is out of the scope of end users and does not meet their needs.

• Non functional requirements: these requirements represent difficulties that do not refer directly to system features and which are efficiency, reliability, maintainability and portability. In fact, end users should have the possibility to provide their created physical Mashups with non functional capabilities. The next section presents the existing approaches of

physical services integration into the web and combination that allow building a physical Mashup application.

III. Approaches for Physical Services Integration

III.1. Proprietary Solutions

In order to be integrated into the web and to communicate with each others, smart devices could expose proprietary interfaces. A custom adapter is then needed for every device to allow the establishment of a network of devices that could be combined and assembled in a Mashup application. However, this approach has many drawbacks: • A considerable effort has to be done in order to

integrate each new device and develop an appropriate adapter layer.

• While this approach can suit small environments where the number of devices is limited, it is not appropriate for dynamic and open environment called web of things or internet of things where end users should be able to add their own devices and communicate with other devices transparently and quickly.

III.2. Web Services Oriented approaches

The concepts behind the Service Oriented Architecture - which consist of modulating applications as interoperable services - has proved that it is the best way to urbanize the enterprise information system by promoting the reuse of services to build more complexes ones, the interoperability between different heterogeneous system, and the standardized languages and protocols (WSDL, SOAP, BPEL). For physical Mashups, several initiatives attempt to utilize web services technologies in order to bring to smart devices the capabilities of digital resources [20].

M. Benhaddi, K. Baïna, E. Abdelwahed

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, n. 8

However, the adoption of web services technologies for physical Mashup projects faces some drawbacks and challenges: • Lack of mobility: web services implementation and

integration technologies are very heavy for devices with limited capabilities. WSDL and SOAP are instances of complicated XML documents, which makes the WS* services very demanding in terms of computing power, bandwidth and storage [2].

• Exclusion of the end user from the hierarchy of the web services actors: users kept away and out of the loop. In fact, the web services technologies (WSDL, SOAP, SCA, BPEL, etc) are hard to master and require advanced knowledge [38] [39]. Visual tools for BPEL use exist (Eclipse, Netbeans, ActiveBPEL, Oracle BPEL Designer) but they still complicated and out of scope of simple end users. [40] states that web services was originally designed as an architecture focused fundamentally on the B2B context, and does not offer support for B2C interactions.

• Rigidity, heaviness and incompatibility of web services implementations with the real constraints of end users leading to a lack of flexibility and scalability: web services technologies cannot support the services composition on the fly. In fact, after composition design, implementation, testing and deployment, it becomes very difficult to change the composition logic according to the changing needs of users, as it involves a long life cycle [41].

These critics show that web services technologies are

not suitable for physical Mashups that require lightweight technologies to be embedded in smart devices and user-centric integration technologies within the reach of different types of end users.

III.3. RESTful Oriented Approaches

Representational State Transfer (REST) as defined by Roy Fielding [42], was created to bring lightness and simplicity to the web. RESTful architectures are especially used to integrate smart devices into the web as it offer lightness to devices with limited capabilities. Smart devices are then identified using their HTTP URI and are invoked using the four main operations provided by HTTP: GET, POST, PUT and DELETE.

Today, several Mashup projects make use of RESTful technologies in order to combine digital and physical resources. Mashup tools helped to fill in the gap between end users and the software development, however, these tools still have some drawbacks: • Mashup tools do not allow the creation of business

process mashups: as stated in section II.1 of this paper, there are three types of Mashup: presentation Mashup, data Mashup and functionality Mashup. The latter, which is at the process level, is the most complicated type and cannot be built using the

existent Mashup tools; in other words, existing Mashup tools do not provide ways to design and create complicated use case. In fact, the resources composition and the interaction are based only on the data flow [43]. Moreover, the event-handling concerns only the events from sources and doesn’t satisfy the user interaction level [43].

• Mashup tools do not provide stable applications: [25] asserts that the solutions provided by Mashup tools are fragile, neither stable nor robust. Unlike formal business process (ex. BPEL solutions), Mashup applications do not benefit from strong and secured engine as BPEL engine.

• Mashup tools are still outside the scope of end users: these tools still lack simplicity for the end user. In fact, the Mashup tools often use the concept of port to represent data flows that are connected through the wiring technique. For the simple end user, handling these technical concepts is not easy and requires a learning time [37]. This section showed that RESTful technologies are

suitable for simple integration of physical resources by end users; however, complex scenarios are not reachable. Hence, new methods, patterns and technologies should be brought into the Mashup world in order to enhance the Enterprise physical Mashup creation.

The next section highlights the convergence between Enterprise physical Mashups and Enterprise integration.

IV. The Convergence between Enterprise Integration and Physical Mashup

IV.1. Enterprise Integration Patterns Towards Enterprise Physical Mashup Requirements

Enterprise Application Integration (EAI) is the need to establish communication between multiple applications within an enterprise. EAI is based on composition languages (such as BPEL) and offers several capabilities to simplify data transfer between applications; these capabilities are such routing, translation and flow control.

In the world of Web of Things, Enterprise Integration can be used to assemble physical and digital services in order to bring new advantages and enhance the composition process within the Physical Mashup. [4] proposes an enterprise integration based-architecture for an effective integration of the internet of things. This architecture is based on web services technology and makes use of BPEL language to compose smart devices. However, the web of things world is made of heterogeneous devices that could use a large set of technologies and is not limited to web services. RESTful architectures are especially used to integrate smart devices into the web as they offer lightness to devices with limited capabilities (see section III.3).

M. Benhaddi, K. Baïna, E. Abdelwahed

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, n. 8

The Enterprise Integration Patterns (EIPs) collected by [44] describe a number of design patterns for enterprise application integration and message oriented middleware. The EIPs are implemented by a set of sophisticated mediation bus, such as Camel, Mule and Apache, in order to achieve very complex integration scenarios. Enterprise Integration Patterns propose the best and common solutions to integration problems. Therefore, when EIPs are used, they enhance the quality of the integrated applications. EIPs consist of six groups of patterns: messaging channels, message construction, message routing, message transformation, messaging endpoints and system management.

Using Enterprise Integration to create Enterprise Physical Mashups offers: • High level business application creation [16]:

Enterprise Integration consists of sophisticated methods, patterns and technologies that allow the realization of complex use cases.

• Support for event-based Mashup: as stated in section II.3 of this paper, events consist an important aspect in physical Mashup creation. Enterprise Integration Patterns offer rich and useful concepts that allow events management; these concept consist of:

� An event message from the “Message Construction” patterns group: the event message allows transporting event information or notification from one component to another.

� An event-driven consumer from the “Messaging Endpoint” patterns group. This component allows the system to consume and treat events coming from various devices.

Based on the book of [44], we categorize the patterns

groups according to the physical services composition requirements that we defined and presented in section II.3. As it can be seen from table 1, the Enterprise Integration Patterns, when used together, help achieving a high level of system quality by ensuring functional richness, events support and non functional requirements. The use of EIPs is therefore considered as a proof of the system quality. Hence, we had the idea of studying different Mashup frameworks based on the EIPs. The next section gives the result of this study and positions the Mashup frameworks against the enterprise physical Mashup.

TABLE I

CATEGORIZATION OF EIPS ACCORDING TO PHYSICAL SERVICES

INTEGRATION CRITERIA

Patterns/

Criteria

Functional Richness

Event Support

Non Functional

Efficiency Reliability Maintain ability

Messaging

Channels

X X

Message X X

construction

Message

routing

X

Message

transformation

X

Endpoint

patterns

X X X

System

management

X X

IV.2. Study

As we announced in the previous section, we studied three Mashup frameworks according to the EIPs. The Mashup frameworks considered are: Yahoo! Pipes [45], Jackbe Presto Wires [46] and IBM Mashup Center [47]. As the latter two groups of the EIPs – endpoint and system management patterns - are related to the internal implementation of the solution, we could study the Mashup frameworks only according to the first four groups which are: messaging channels, message construction, message routing and message transformation.

Table 2 shows the number of patterns used among all the existing patterns. The quotient x/y means that x patterns are used among y existing patterns.

TABLE II

STUDY OF THREE MASHUP FRAMEWORKS ACCORDING TO EIPS

Patterns/

Mashup Frameworks

Yahoo!

Pipes

Jackbe

Presto

Wires

IBM Mashup

Center

Messaging Channels 3/7 3/7 3/7

Message construction 2/9 2/9 2/9

Message routing 4/12 4/12 3/12

Message transformation 3/7 4/7 4/7

Table 2 shows that the three Mashup frameworks

implement a limited set of the integration patterns. Our study showed also that the used patterns are very basic and simple; particularly, events patterns are not supported by these Mashup frameworks. Hence, the three Mashup frameworks fail to implement advanced and sophisticated integration patterns. According to this study and to table 1, we deduced that the three Mashup frameworks fail to totally ensure the criteria of “Functional richness”, “Events support”, “Efficiency”, “Reliability” and “Maintainability”.

We also studied the three Mashup frameworks according to the “Usability & intuitiveness” and “Portability”, and the study showed also that they are not completely ensured. In fact, Mashup frameworks rely on expert model-like interaction model using technical concepts such as port, wire or syntactical input/output, which are out of the scope of end users. Moreover, some Mashup frameworks require software installation and scripts execution, which is rigid and incompatible with

M. Benhaddi, K. Baïna, E. Abdelwahed

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, n. 8

the end users real constraints: flexibility, scalability and mobility.

All the study that we conducted showed that the Mashup frameworks are not suitable for enterprise physical Mashup creation (table 3). In fact, Mashup development is still immature and at an early stage and thus needs more research. To enhance Mashup, we propose the idea of using new patterns and methodologies. The next section is dedicated to the proposal of a new EIPs-based integration language, while allowing the end user physical service creation through a new intuitive and self-explanatory creation process.

TABLE III MASHUP FRAMEWORKS AND USER-CENTRIC PHYSICAL SERVICES

CREATION REQUIREMENTS

UCSOA criteria/Mashup

Frameworks

Yahoo!

Pipes

Jackbe

Presto

Wires

IBM

Mashup

Center

Functional Richness 2 2 2

Events Support 1 1 1

Usability & Intuitiveness 2 2 2

Efficiency, Reliability,

Maintainability and

Portability

3 2 2

The physical services creation criteria satisfaction: 3=High,

2=Medium, 1=Low

V. Our new Framework for Enterprise Physical Mashups

In this section, we present in a brief our approach for a user-centric physical services composition. Our proposal is based on the RESTful approach that we enrich with new integration patterns and user-friendly methodology of services composition.

V.1. Richness via the Enterprise Integration Patterns

Enterprise Integration Patterns (EIPs) [44] consists of sixty five (six groups) patterns that propose common solution to integration problems. EIPs are used by sophisticated mediation buses such as Camel, Mule and Apache in order to achieve very complex integration scenario.

In order to meet three of the four physical services composition requirements (functional richness, events support and non functional requirements), we have developed a user-centric composition language based on these Enterprise Integration Patterns. The different basic elements that form our new EIPs-based language are listed in table 4.

TABLE IV

CONSTRUCTS OF OUR NEW EIPS-BASED LANGUAGE Construct Description

Task is the goal of the end user performing the integration. Each task can have a frequency of

execution. Tag key words used to describe a task

Physical Mashup

A physical Mashup application represents the realization of a task and includes a set of integration taking place between several

physical and digital resources. Process Is the composition process of the physical

Mashup application resources and consists of parallel or sequential integration flows.

Step Is a step in the integration process and consists of a link between two or several components.

Component Is the integration process node: resource, input of the end user, router or translator.

EndUser Represents the interaction with end users during the integration process.

Resource Represents the applications (smart devices or online applications) to integrate by the Mashup. A resource is described by its type, address and

exchange format. Physical Resource

Represents a smart device resource.

Digital Resource

Represents an online resource.

Expose Resource

Represents an exposed resource with input and output variables. The same resource can be exposed many times within the integration

process. Channel Allows communication between two

components and supports the single atomic integration step.

Message is the entity transferring in a channel between two components.

Router Is a node forwarding messages between resources, end user fields or translators.

Translator Is the messages translation node. System

Manager Each physical Mashup application can have one or several managers to improve reliability and

maintainability. Transaction End users may want to synchronize actions of

components to realize a transaction.

The formalization of our new language was done

using Backus-Naur Form (BNF). As follow the main part of this formalization:

<Task>::= {<Tag>} {<Frequency>} <PhysicalMashup> <Tag>::= [a-zA-Z][0123456789] <PhysicalMashup>::= {<Resource>}+

{<Expose_Resource>}+ {<EndUser>} {<Router>} {<Translator>} <Process> <View> {<System_Manager>}

<Resource>::= <PhysicalResource> | <DigitalResource> <Process>::= <Sequence> | <Flow> <Sequence>:=sequence({<Step>} {<Flow>} {<Step>}) <Flow>::= flow({<Step>} {<Sequence>} {<Step>}) <Step>::= <FromComponant> <ToComponants>

<Channel> <Message> <FromComponant>::= <Componant> <ToComponants>::= {<Componant>}+ <Componant>::= <Partner> | <IntegrationService> <Partner>::= <Expose_Resource> | <EndUSer> <IntegrationService>::= <Router> | <Translator> <EndUser>::= <Input> <Resource>::= <Type> <DataFormat> <URL> <Expose_Resource>::= <Resource> <ExpectVariable>

<ReturnVariable> {<Transaction>}

M. Benhaddi, K. Baïna, E. Abdelwahed

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, n. 8

The formalization of “Channel”, “Message”,

“Router” and “Translator” elements is done based on the Enterprise Integration patterns that define five patterns for channels, nine patterns for messages, twelve patterns for routers and six patterns for translators.

The next section focuses on the last requirement – usability & intuitiveness – and presents a methodology helping end users to easily compose physical services.

V.2. Intuitiveness via Semi-Automatic Services Composition

The user-centric development has revolutionized the development world by introducing new concepts. In fact, there is no need to master a programming language to be able to create a new application. A new era of development environments emerged to enable everyone to create new applications. To make intuitive, easy to use and self-explanatory development environments that allow end users to link the various resources in a very intuitive and self-explanatory way, requiring no knowledge of how to map an output of a resource to an input of another, we have put forward and implemented new concepts:

V.2.1 Goal composition: The end user point of view

When creating new applications, end users try to achieve a new goal by composing existing sub-goals (figure 2); each sub-goal being represented by a service. In fact, end users are not interested in the composition process per se, but in getting and achieving the desired results. This way, when composing services, end users try to resolve a problem whose solution does not exist yet on the web. In fact, the answer exists in the form of many subparts – services – dispersed on the web.

V.2.2 Semantic & Form-based data mapping

In order to compose goals/services, end users use their knowledge consisting on the objective of the goal, the final result, the frequency, the degree of importance, the duration, etc. This end-user knowledge represents the semantic which, alone, should be involved in the interaction between the end user and the user-centric services creation platform. Indeed, the service-to-service interaction, which is based on the syntax, is not valid at the interface level. The interface provides graphical display of services (called gadget) that represent sub-goals, which is an abstraction of services; therefore, the interaction and communication way at the interface level should also be an abstraction of the communication way between services and should rely on the semantic.

In addition, using forms is the easiest way for end users to interact with interfaces. In fact, [48] [49] define five primary styles of user interaction design, among which the forms that provide simple data entry and are

easy to learn (see the central right-hand portion of figure 5).

Fig. 2. Goal Composition vs Service Composition

V.2.3 Goal Patterns-based suggestions When compositing goals/services in response to a

new goal, the inexperienced end user faces many challenges (ex. determine the types of resources, find resources that meet the end user criteria (quality, price, etc.), determine necessary actions for the use of interfaces (selection problems), determine how to arrange and coordinate resources (integration), etc).

The system has the role of helping end users to answer these different questions, by suggesting resources, providing guidelines for the coordination of resources and providing feedback and documentation for each selected action. To achieve this, our new platform provides the end user with a set of goal prototypes or goals patterns, which have the role of guiding the end user through the goals composition process.

What are the goals patterns? Goals patterns represent common and repetitive use cases, and can also be called end users experience patterns since they are driven from the end users experience. They provide answers to questions like "How to automate the execution of two consecutive tasks - eg. Turn on the light on the entrance of the house and turn on the heating - in response to a triggered event? - ex. presence of a person detected by the sensor. Figure 3 shows two examples of goals patterns: ‘Manufacturing Domain’ and ‘Smart Home’. While software design patterns are derived from the experience of the software developers, goals patterns are created, improved and enriched by end users themselves.

Fig. 3. Goal Patterns Examples

M. Benhaddi, K. Baïna, E. Abdelwahed

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, n. 8

Suggestion system: The usefulness of the goals

patterns is the suggestion system. In fact, end users will be guided in the process of services composition through the database of goals patterns that contains the possible links between the various gadgets. As gadgets represent sub-goals, the database links represent also relations between sub-goals. The system will utilize this goals patterns database to suggest to the end user links and components in order to build new applications (see the upper right-hand portion of figure 5).

The suggestion system should be based on the semantic information, as it is explained in section V.2.2. In fact, the different links between components should be represented by semantic information as input/output matching.

The database of goals patterns being built through the experience of end users, the system will score the various components, depending on the frequency of use, and thus offer to the end user the best one - which has the highest score.

Our suggestion model is similar to e-mail interfaces - ex. Gmail. When writing a new message, and when the first recipient address is entered by the user, other addresses are proposed and suggested at the basis of the previous messages sent by this user.

The goals patterns database elements that constitute also the components of the services composition interface are managed by the following description: • An end-user profile is described by the age, the types of goals (work, leisure or both) the end user is interested in, the areas of interest, the physical environment. • A profile is a set of goals. • A goal is described by its type, its physical environment of execution, its objective, its frequency and its degree of importance. • The realization of a goal involves several composition steps. A step represents a link from a component to one or several components (one-to-one or one-to-many). • A component can be another application participating in the composition as a sub-goal (smart device or online application), a user input or an operator (translator or router). • In order to suggest to the end user the appropriate actions, the database must store the various possible relationships between components. Thus, each composition step possesses a relation. • Each link between two components (composition step) is described by a semantic data that corresponds to the output of the message transmitter and the input of the message receiver. • The semantic data of a component can be information, event, interface or nothing. • The participating applications or sub-goals can be synchronized in order to realize a transaction.

The object model of the goals patterns database is represented by Figure 4.

V.2.4 No prior knowledge of the entire composition design: Dynamic results visualization using a tree.

The static services composition used by existing end user services composition frameworks requiring finishing the composition design before launching the execution does not meet end users needs. In fact, in some situations, end users do not have a clear understanding of how to design the entire composite application. A tree-like and step by step (after each performed action) displaying of

Fig. 4. The object model of the goals patterns database.

results helps end users to determine the future actions (see the left-hand portion of figure 5).

Fig. 5. The interface of our Enterprise Physical Mashup framework

4- Visualization of graphical data (Ex. addresses)

3- Dynamic Tree-like visualization of results

1- Semantic & Form-Based Data Mapping

2- Goal Patterns-Based Suggestions

M. Benhaddi, K. Baïna, E. Abdelwahed

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, n. 8

VI. Proof of Concept

As it is showed and explained in last section, our new framework is characterized by being goal-oriented, dynamic, semantic, suggestive and form-based. All the framework integration (resources invocation, transformation and routing) are done using the Apache CAMEL integration framework [50] which was realized based on the Enterprise Integration patterns [44].

In the following we describe how our end user, Mark, shall use our new framework to create his new enterprise physical Mashup for his smart home: In the goals patterns database, there is a set of gadgets that Mark could use and that the platform could recommend to him. The gadgets are represented in four sub-directories depending on their output type (information, event, interface, none).

The steps followed by Mark to perform his task are as follows: • Mark launches the platform, looks in the different sub-

directories of smart objects he owns in his home and which are the resources of the applications he will creates with the user centric services creation platform. He selects the first object - alarm - from the sub-directory of event objects that he adds to the interface. The alarm requires the time as input and returns an event presented by ringing. Mark sees on his interface a form indicating the tag "Time" as an input. At this level, since the output of the "Alarm" gadget is an event, any resource can be added without any constraint on the compatibility of input / output. In fact, an event role is to trigger a sequence of sub-tasks and not to deliver inputs for a sub-task. Thus, the platform does not make any suggestion at this level.

• Mark looks a second time in the sub-directory gathering objects that return nothing (the fourth category) and chooses the "Room Light" object which does not require input data and returns no result. Mark adds the “Room Light” object in sequence to the previous object. Mark also adds – in the same manner – the "Coffee Maker" object in sequence to the previous objects.

• From the event object sub-directory, Mark selects and adds – in sequence – the "I am in the kitchen" object, whose role is to notify the presence of a person in the kitchen.

• Mark adds in sequence the "Kitchen Light" object from the fourth sub-directory (objects that return nothing).

• Mark also adds the "Refrigerator" object which displays the different foods quantities. This object returns information representing the amounts of different foods (milk, eggs, cheese, butter, etc). As Mark has already used a filter with the "Refrigerator" object, the platform stored this link in the goals patterns database. At this level and based on the goals patterns database, the platform suggests to Mark, by displaying a button at the top of the window, to add a filter in order to show only foods with a specified limit amount (the system add also a message splitter in order to split

the message from the refrigerator and to retrieve each product quantity).

• The platform suggests a second time to Mark, based on the goals patterns database, to add the “Grocery" object in order to make purchases for foods with small quantities. Mark specifies if he would like to send one order for all the products to one grocery (in this case, the system aggregate the products with small quantities in one message) or to send a different order for each product. A message enricher is also used in order to add necessary information and construct the order message. Mark stores its new physical application and schedules

it to be executed every day at 07:00 in the morning. The next section presents the results of the evaluation

of our new framework regarding the criteria of functional richness and events support.

VI.1. Integration Scenario Richness and Events Support Evaluation

The chosen scenario implements various integration patterns: channel patterns (Point-to-Point, Datatype), message construction patterns (command message, document message, event message), message transformation patterns (content filter, message enricher) and message routing patterns (content-based router, message splitter, message aggregator).

We asked end users to realize this use case by providing them with a description of the objective to be achieved. We then collected their feedback and reactions about the usefulness and appropriateness of this use case compared to their daily activities. In other words, we asked end users if they sense any interest or gain by using our framework.

The majority of end users feedback was in favour of the usefulness and adequacy of our framework.

VI.2. Usability && Intuitiveness Evaluation

The usability & intuitiveness criteria is composed of several sub-criteria [51] listed in table 5. We asked end users to measure their satisfaction against these criteria; the results are as follows.

TABLE V

EVALUATION OF THE USABILITY & INTUITIVENESS.

Criteria Description Satisfaction

(%)

Visibility Accessibility, system learning 80

Feedback Possibility of cancelling the

effect of previous action

40

Consistency Respect of interfaces design

standards

80

Non-destructive

operations

Undo operations 40

Discoverability All operations can be discovered

by systematic exploitation of

80

M. Benhaddi, K. Baïna, E. Abdelwahed

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, n. 8

menus

Reliability Operations should work, events

should not happen randomly.

80

As shown in table 5, most end users were satisfied

with the main criteria of usability && intuitiveness. End users have particularly pointed the usefulness of the suggestions, the use of semantic and the dynamic execution of our framework operations. Indeed, the suggestions can push and accelerate the system learning, visibility and discoverability, by guiding and accompanying the end users in their choices and actions. The semantic and dynamic interfaces facilitate also the system learning and discoverability by hiding any complexity and by giving immediately the result of each performed action.

The feedback and non-destructive operations criteria are a weakness element in our system that we are improving.

VII. Conclusion and Future Work In this paper, we presented the Enterprise physical

Mashup (EPM) concept by defining it, giving an illustrative example that shows its usefulness in the daily life of end users, listing its requirements and showing the drawbacks that prevent from achieving a successful realization of it. In fact, existing Mashup projects do not address the realization of a sophisticated use cases in a physical world context. Our approach for an efficient Enterprise Physical Mashup development is based on two parts: first we presented our new end user integration language based on the famous and sophisticated Enterprise Integration Patterns (EIPs). EIPs provide common solutions to integration problems; hence, we used them to meet the first three physical services creation requirements, which are functional richness, events support and non functional requirements. Second, in order to provide the end user with an intuitive and friendly environment for the creation of EPM, we have put forward and implemented new key concepts that helped us to achieve an intuitive and self-explanatory semantic methodology and interaction model for end users physical services integration. These new key concepts consist of a semantic & form-based data mapping, goal patterns-based suggestions and a dynamic results visualization. The tests that we conducted showed end users satisfaction with integration richness, events support and usability & intuitiveness. Table 6 shows that our proposal prevails over the existing Mashup solutions and web services approaches.

Our future work consists of enhancing and completing our Enterprise Physical Mashup framework.

TABLE VI COMPARISON BETWEEN OUR PROPOSAL AND OTHER SOLUTIONS.

Web Services

technologies

Existing

RESTful

Solutions

Our

Proposal

Involving End Users

from different types

X

Lightweight, fast and

flexible

X X

Powerful X X

Allowing Enterprise

Physical Mashup

X

References [1] R.Want. ‘An introduction to RFID technology’. Journal of

Pervasive Computing. Volume 5 Issue 1, January 2006 Page 25-33.

[2] D. Guinard and V. Trifa. (2009) ‘Towards the Web of Things: Web Mashups for Embedded Devices’. Proceeding of The 18th Int World Wide Web Conference, April, 2009, Madrid, Espagne.

[3] E. Avilés-López and J.A. García-Macías. (2009) ‘UbiSOA Dashboard: Integrating the Physical and Digital Domains through Mashups’. Proceeding of The Human Interface and the Management of Information Conference. Designing Information Environments.San Diego, CA, USA, July 19-24, 2009.

[4] P. Spiess, S. Karnouskos, D. Guinard, D. Savio, O. Baecker, L. Moreira S.D. Souza and V. Trifa. ‘Soa-based integration of the internet of things in enterprise services’. Proceeding of the IEEE International Conference on Web Service. 2009.

[5] D. Guinard, M. Fischer and V. Trifa. ‘Sharing Using Social Networks in a Composable Web of Things’. Proceeding of the 8th IEEE International Conference of Pervasive Computing and Communications Workshops (PERCOM Workshops), April 2010. Pp 702 – 707.

[6] H. Lieberman, F. Paternò, M. Klann and V. Wulf. (2006), ‘End-User Development: An Emerging Paradigm in End User Development’ (Kluwer Academic Publisher,2006, pp. 1-8).

[7] B. Büchel, T. Janner, C. Schroth, and V. Hoyer (2009). ‘Enterprise Mashup vs. Service Composition: What fits to reach the next stage in End-User Development?’. Proceeding of the Fifth Conference Professional Knowledge Management: Experiences and Visions, March 25-27, 2009 in Solothurn, Switzerland. pp.260-264.

[8] C. Schroth and O. Christ (2007). ‘Brave New Web: Emerging Design Principles and Technologies as Enablers of a Global SOA’. SCC 2007. Proceeding of the IEEE International Conference on Services Computing, Salt Lake City, Utah, USA, 09-13 July. pp.597-604.

[9] N. Ind, O. Iglesias and M. Schultz. ‘Building Brands Together: Emergence and Outcomes of Co-creation’. California Management Review Journal, Volume55, Pages5-26. 2013.

[10] V. Hoyer and K. Stanoevska-Slabeva (2009) : ‘Towards A Reference Model for Grassroots Enterprise Mashup Environments. Journal’. ECIS 2009, Proceeding of the 17th European Conference on Information Systems, 8-10 june 2009, Verona, Italy, pp.1-13.

[11] A. Cypher.(1993), ‘Watch What I Do: Programming by Demonstration’ (The MIT Press, Cambridge, 1993).

[12] H. Allison, H and R. Kelly, R. (1992), ‘The Influence of Individual Differences on Skill in End-User Computing’. Journal of Management Information Systems I Summer 1992, Vol. 9, No. 1, pp. 93-111. (1992).

[13] W. Qin, Q. Li, L. Sun, H. Zhu and Y. Liu. ‘RestThing: A Restful Web Service Infrastructure for Mash-Up Physical and Web Resources’. Proceeding of the 9th International Conference of

M. Benhaddi, K. Baïna, E. Abdelwahed

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, n. 8

Embedded and Ubiquitous Computing (EUC) Conference, october 201. pp 197 – 204.

[14] D. Guinard, V. Trifa and E. Wilde. ‘A Resource Oriented Architecture for the Web of Things’. Proceeding of The Internet of Things IoT Conference. Tokyo, Japan. Nov 29, 2010.

[15] E. Wilde. ‘Putting things to REST’. Tchnical Report UCB iSchool Report 2007-015, School of Information, UC Berkeley, November 2007.

[16] D. Guinard, V. Trifa, T. Pham and O. Liechti. ‘Towards Physical Mashups in the Web of Things’. Proceedings of the 6th international conference on Networked sensing systems INSS'09. Pages 196-199. IEEE Press Piscataway, NJ, USA. ISBN: 978-1-4244-6313-8.

[17] M. Marin-Perianu, N. Meratnia, P. Havinga, L. Moreira, S.D. Souza, J. Muller, P. Spieß, S. Haller, T. Riedel, C. Decker and G. Stromberg. ‘Decentralized enterprise systems: a multiplatform wireless sensor network approach’. Journal of Wireless Communications, Volume 14, Issue 6, December 2007 Page 57-66.

[18] A. Koschmider, V. Torres and V. Pelechano. ‘Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups’. Proceeding of 2nd Workshop on Mashups, Enterprise Mashups and Lightweight Composition on the Web in conjunction with the 18th International World Wide Web Conference, Madrid. April 2009.

[19] G.D. Lorenzo, H. Hacid, and H.Y. Paik (2009). ‘Data integration in Mashups’. SIGMOD’09. Proceeding of the SIGMOD Conference, Providence, Rhode Island, USA, june 29-july 2, 2009, Vol. 38, No. 1, pp..59-66.

[20] L. Moreira S.D. Souza, P. Spiess, D. Guinard, M. Kohler, S. Karnouskos, and D. Savio. ‘Socrades: A web service based shop floor integration infrastructure’. Proceedings of the 1st international conference on The internet of things IoT’08. Pages 50-67. 2008.

[21] P. de Vrieze, L. Xu, A. Bouguettaya, J. Yang, and J. Chen (2009). ‘Process-oriented enterprise mashups’. Proceedings of the 4th international conference on grid and pervasive computing GPC’09, 4-8 May 2009, Geneva, Switzerland, pp.64-71.

[22] V. Hoyer, K. Stanoevska-Slabeva, S. Kramer and A. Giessmann. ‘What are the Business Benefits of Enterprise Mashups?’. Proceedings of the 2011 44th Hawaii International Conference on System Sciences HICSS'11. Pages 1-10 IEEE Computer Society Washington, DC, USA 2011. ISBN: 978-0-7695-4282-9.

[23] I. Pahlke, M. Wolf, and R. Beck (2010). ‘Enterprise Mashup Systems as Platform for Situational Applications, Benefits and Challenges in the Business Domain. Business & Information Systems Engineering’. Journal of Business Information System Engineering, Vol.2 (2010), No.5, pp.305-315.

[24] H.L. Truong and S. Dustdar. Integrating Data for Business Process Management. IEEE Data Engineering Bulletin. Vol 32, pp. 48-53 (2009).

[25] V. Hoyer, K. Stanoesvka-Slabeva, T. Janner and C. Schroth. ‘Enterprise Mashups: Design Principles towards the Long Tail of User Needs’. Proceeding of the IEEE International Conference on Service Computing (SCC’08). Volume 2, 601-602, 2008

[26] A. Anjomshoaa, A.M. Tjoa and A. Hubmer (2010), ‘Combining and integrating advanced IT-concepts with semantic web technology, Mashup architecture case study’. Proceeding of The 2nd Asian Conference on Intelligent Information and Database Systems, ACIIDS 2010, 24–26 March 2010, pp.13–22, Hue City, Vietnam, Part I, LNAI 5990. (2010).

[27] V. Hoyer, T. Janner, C. Schroth, I. Delchev, and F. Urmetzer (2009). ‘FAST Platform: A Concept for user-centric, enterprise class Mashups’. WM 2009, Proceeding of the 5th Conference of Professional Knowledge Management, Poster Session, Solothurn, Switzerland, 25-3-2009, pp.5-8.

[28] V. Hoyer, K. Stanoesvka-Slabeva, T. Janner, and C. Schroth (2008). ‘Enterprise Mashups: Design Principles towards the Long Tail of User Needs’. Proceeding of the International Conference on Services Computing, Honolulu, Hawaii, july 07-11, Vol.2, pp. 601-602.

[29] N. Komninos. Intelligent cities: innovation, knowledge systems and digital spaces (Routledge publisher. Publication Date: June 2, 2002 | ISBN-10: 0415277183 | ISBN-13: 978-0415277181).

[30] M. Kovatsch, M. Weiss and D. Guinard. ‘Embedding Internet Technology for Home Automation’. Proceeding of the Emerging Technologies and Factory Automation (ETFA) Conference, September 13, 2010. Bilbao, Spain.

[31] D. Guinard, V. Trifa and E. Wilde. ‘Architecting a Mashable Open World Wide Web of Things’. Technical Report No. 663, Department of Computer Science, ETH Zurich, February 2010.

[32] S. Duquennoy, G. Grimaud and J.J. Vandewalle. ‘TheWeb of Things: interconnecting devices with high usability and performance’. Proceedings of the 2009 International Conference on Embedded Software and Systems ICESS '09. May, 25. 2009. Zhejiang, China.

[33] D. Guinard. ‘Mashing up YourWeb-Enabled Home’. Proceedings of the 10th international conference on Current trends in web engineering ICWE'10. Pages 442-446 Springer-Verlag Berlin, Heidelberg. ISBN:3-642-16984-8 978-3-642-16984-7.

[34] D. Guinard, V. Trifa, F. Mattern and E. Wilde. ‘From the Internet of Things to the Web of Things: Resource Oriented Architecture and Best Practices’. Architecting the Internet of Things. (Springer publisher, 2011, ISBN-13: 978-3642191565. 97-129).

[35] R. Hrper. Inside the Smart Home. (Springer Edition. 2003. ISBN 978-1-85233-688-2. Accessible at: https://nit.felk.cvut.cz/~dark/ProjektVTymu-RizeniProstredi/Clanky/Inside%20the%20Smart%20Home.pdf)

[36] A.G. Aguilar. Exploring Physical Mashups on Mobile Devices. Master. Master Thesis. Institute for Pervasive Computing, Department of Computer Science, ETH Zurich. January 2010.

[37] D. L. Ipiña, I. Vázquez and J. Abaitua. ‘A Context-Aware Mobile Mash-up for Ubiquitous Web’. Proceeding of the 3rd IET International Conference on In Intelligent Environments, 2007. IE 07. 3rd IET International Conference on (2007), pp. 116-123.

[38] T. Nestler, L. Dannecker and A. Pursche. (2009) ‘User-centric composition of service front-ends at the presentation layer’. Proceeding of The 2009 International Conference on Service-oriented Computing, ICSOC/ServiceWave, 24–27 November 2009. Stockholm, Sweden.

[39] Z. Zhao, N. Laga and N. Crespi. (2009) ‘The Incoming Trends of End-user driven Service Creation’. Proceeding of the Digital Business : the first Iternational ICST Conference, DigiBiz, London, UK, June 17-19, 2009 Springer (Ed.) (2010) 98-108.

[40] J. Hierro, J., Janner, T., Lizcano,D., Reyes,M., Schroth,C. et Soriano,J.(2008) ‘Enhancing User-Service Interaction Through a Global User-Centric Approach to SOA’. Proceeding of The Fourth International Conference on Networking and Services IEEE Computer Society, ICNS '08. Washington, DC, USA (2008).

[41] X. Liu, Y. Hui, W. Sun and H. Liang. (2007) ‘Towards service composition based on Mashup’. Proceeding of The IEEE Congress on Services, 9–13 Juillet 2007, pp.332–339, Salt Lake City, Utah, USA.

[42] R. T. Fielding, “Architectural styles and the design of network-based software architectures,” Ph.D. dissertation, University of California, Irvine, 2000.

[43] T. Nestler. (2008) ‘Towards a Mashup-driven end-user programming of SOA-based applications’. Proceeding of The 10th International Conference on Information Integration and Web-based Applications & Services, iiWAS 2008, 24–26 November 2008, pp.551–554, Linz, Austria.

[44] G. Hohpe and B. Woolf. (2003). Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. (Addison-Wesley Professional, 2003).

[45] Yahoo! Pipes [Online]. http://pipes.yahoo.com/pipes/. (Accessed: 04 Mars 2012).

[46] Jackbe Presto Wire. [Online]. www.jackbe.com/ (Accessed : 04 Mars 2012).

M. Benhaddi, K. Baïna, E. Abdelwahed

Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, n. 8

[47] IBM Mashup Center. [Online] http://www-01.ibm.com/software/info/mashup-center/ (Accessed : 04 Mars 2012).

[48] I. Sommerville. (2009). ‘Software Engineering’. (Addison-Wesley publisher, March 13, 2010 | ISBN-10: 0137035152 | ISBN-13: 978-0137035151 | Edition: 9).

[49] B. Shneiderman. (1998). ‘Designing the User Interface’ (Addison-Wesley publisher, 3rd edition. Reading, Mass, 1998).

[50] C. Ibsen, J. Anstey and H. Zbarcea.(2011). ‘Camel In Action’. (Manning Publications, December, 2010 | 552 pages ISBN: 9781935182368).

[51] D. Norman and J. Nielsen. (2010). ‘Gestural Interfaces: A Step Backward In Usability’. Interactions' magazine, Volume 17, Issue 5, September + October 2010 ACM New York, NY, USA.

Authors’ information 1Faculty of Sciences Semlalia, Cadi Ayyad University, BP 2390-Marrakesh, Morocco. 2ENSIAS, Mohammed V Souissi University, BP 713 Agdal-Rabat, Morocco.

M. Benhaddi is a PhD candidate at Cadi Ayyad University, Marrakesh. She was graduated as engineer from “Ecole Supérieure d’Informatique et d’Analyse des Systèmes” (ENSIAS), Mohammed V Souissi University, Rabat, Morocco, 2006. Her research focuses on Service Oriented Architecture, Mashup, semantic web, cloud computing and Enterprise Application integration.

K. Baïna is a Habilitated Professor at “Ecole Supérieure d’Informatique et d’Analyse des Systèmes” (ENSIAS), Mohammed V Souissi University, Rabat, Morocco. He obtained his PhD in Computer Sciences from Henri Poincaré, Nancy 1 University, France, 2003. His research interests include Enterprise Architecture, Business Process Management, Service Oriented Architecture, and Enterprise

Application Integration. E. Abdelwahed is a Professor at Faculty of Sciences Semlalia, Cadi Ayyad University, Marrakesh, Morocco. He obtained his PhD in Computer Sciences from Montpellier University, LIRMM Laboratory, France, 1991. His research interests include Cooperation of distributed systems, Ontologies & Semantic Web, E-learning.