16
GLUE!: An architecture for the integration of external tools in Virtual Learning Environments Carlos Alario-Hoyos * , Miguel L. Bote-Lorenzo, Eduardo Gómez-Sánchez, Juan I. Asensio-Pérez, Guillermo Vega-Gorgojo, Adolfo Ruiz-Calleja School of Telecommunications Engineering, University of Valladolid, Paseo de Belén 15, 47011 Valladolid, Spain article info Article history: Received 5 April 2012 Received in revised form 2 August 2012 Accepted 21 August 2012 Keywords: Cooperative/collaborative learning Architectures for educational technology system Distributed learning environments abstract The integration of external tools in Virtual Learning Environments (VLEs) aims at enriching the learning activities that educational practitioners may design and enact. This paper presents GLUE!, an architecture that enables the lightweight integration of multiple existing external tools in multiple existing VLEs. GLUE! fosters this integration by imposing few restrictions on VLE and tool providers, as well as by requiring an attainable effort from developers, unlike other integration works. Besides, GLUE! facilitates the instantiation and enactment of collaborative activities within VLEs, leveraging the VLEs distinctive features for the management of users and groups. GLUE! has been evaluated using three authentic collaborative learning situations, instantiated and enacted by real practitioners at university level. The results of this evaluation show that GLUE! reduces the burden of educators when instantiating collab- orative activities that require the integration of external tools, while facilitates students the realization of these activities in collaboration. Interestingly, the development effort required by the integration soft- ware is similar to that in other lightweight generic approaches that offer a lower degree of functionality. Ó 2012 Elsevier Ltd. All rights reserved. 1. Introduction The use of Information and Communication Technologies in education has been fostered during the last decade by the widespread adoption of Virtual Learning Environments (VLEs), also called Leaning Management Systems (Dillenbourg, Schneider, & Synteta, 2002). Moodle, 1 LAMS, 2 .LRN, 3 Sakai 4 or Blackboard 5 are only a few well-known examples of successful VLEs that stand out among educators and institutionspreferences. VLEs normally provide a shared customizable workspace in which educators can design and instantiate individual and collaborative learning activities (Dillenbourg, 1999; Koper & Tattersall, 2005) that students enact afterward. Signicantly, participants can be grouped following different social congurations in most VLEs, thus facilitating the appearance of effective VLE-mediated interac- tions (Koschmann, 1996). Besides, educators can typically structure the learning activities in courses or lessons, describing for each activity a set of predened learning objectives, and including some built-in tools and artifacts to help students reach these objectives (Weller & Dalziel, 2007). Nevertheless, the reduced set of tools included in these platforms has frequently been criticized by educational practitioners, who consider it an important limitation to support their learning situations (Bower & Wittmann, 2011; Dagger, OConnor, Lawless, Walsh, & Wade, 2007). Besides, with the growth of Web 2.0, these practitioners are increasingly using more and more tools provided by third- parties to be managed, in principle, outside of VLEs (Weller, 2007). Examples of such tools can be found in the Top 100 Tools for Learningsite, 6 which is updated every year with the most valued applications, web sites and platforms for educators, or in the Cool Tools * Corresponding author. Tel.: þ34 983423696; fax: þ34 983423667. E-mail addresses: [email protected], [email protected] (C. Alario-Hoyos). 1 http://moodle.org 2 http://lamsinternational.com 3 http://openacs.org/projects/dotlrn 4 http://sakaiproject.org 5 http://blackboard.com 6 http://c4lpt.co.uk/recommended/2011.html Contents lists available at SciVerse ScienceDirect Computers & Education journal homepage: www.elsevier.com/locate/compedu 0360-1315/$ see front matter Ó 2012 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.compedu.2012.08.010 Computers & Education 60 (2013) 122137

GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

Embed Size (px)

Citation preview

Page 1: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

Computers & Education 60 (2013) 122–137

Contents lists available at SciVerse ScienceDirect

Computers & Education

journal homepage: www.elsevier .com/locate/compedu

GLUE!: An architecture for the integration of external tools in Virtual LearningEnvironments

Carlos Alario-Hoyos*, Miguel L. Bote-Lorenzo, Eduardo Gómez-Sánchez, Juan I. Asensio-Pérez,Guillermo Vega-Gorgojo, Adolfo Ruiz-CallejaSchool of Telecommunications Engineering, University of Valladolid, Paseo de Belén 15, 47011 Valladolid, Spain

a r t i c l e i n f o

Article history:Received 5 April 2012Received in revised form2 August 2012Accepted 21 August 2012

Keywords:Cooperative/collaborative learningArchitectures for educational technologysystemDistributed learning environments

* Corresponding author. Tel.: þ34 983423696; fax:E-mail addresses: [email protected], calahoy@gm

1 http://moodle.org2 http://lamsinternational.com3 http://openacs.org/projects/dotlrn4 http://sakaiproject.org5 http://blackboard.com6 http://c4lpt.co.uk/recommended/2011.html

0360-1315/$ – see front matter � 2012 Elsevier Ltd.http://dx.doi.org/10.1016/j.compedu.2012.08.010

a b s t r a c t

The integration of external tools in Virtual Learning Environments (VLEs) aims at enriching the learningactivities that educational practitioners may design and enact. This paper presents GLUE!, an architecturethat enables the lightweight integration of multiple existing external tools in multiple existing VLEs.GLUE! fosters this integration by imposing few restrictions on VLE and tool providers, as well as byrequiring an attainable effort from developers, unlike other integration works. Besides, GLUE! facilitatesthe instantiation and enactment of collaborative activities within VLEs, leveraging the VLEs distinctivefeatures for the management of users and groups. GLUE! has been evaluated using three authenticcollaborative learning situations, instantiated and enacted by real practitioners at university level. Theresults of this evaluation show that GLUE! reduces the burden of educators when instantiating collab-orative activities that require the integration of external tools, while facilitates students the realization ofthese activities in collaboration. Interestingly, the development effort required by the integration soft-ware is similar to that in other lightweight generic approaches that offer a lower degree of functionality.

� 2012 Elsevier Ltd. All rights reserved.

1. Introduction

The use of Information and Communication Technologies in education has been fostered during the last decade by the widespreadadoption of Virtual Learning Environments (VLEs), also called Leaning Management Systems (Dillenbourg, Schneider, & Synteta, 2002).Moodle,1 LAMS,2 .LRN,3 Sakai4 or Blackboard5 are only a few well-known examples of successful VLEs that stand out among educators andinstitutions’ preferences. VLEs normally provide a shared customizable workspace in which educators can design and instantiate individualand collaborative learning activities (Dillenbourg, 1999; Koper & Tattersall, 2005) that students enact afterward. Significantly, participantscan be grouped following different social configurations in most VLEs, thus facilitating the appearance of effective VLE-mediated interac-tions (Koschmann, 1996). Besides, educators can typically structure the learning activities in courses or lessons, describing for each activitya set of predefined learning objectives, and including some built-in tools and artifacts to help students reach these objectives (Weller &Dalziel, 2007).

Nevertheless, the reduced set of tools included in these platforms has frequently been criticized by educational practitioners, whoconsider it an important limitation to support their learning situations (Bower & Wittmann, 2011; Dagger, O’Connor, Lawless, Walsh, &Wade, 2007). Besides, with the growth of Web 2.0, these practitioners are increasingly using more and more tools provided by third-parties to be managed, in principle, outside of VLEs (Weller, 2007). Examples of such tools can be found in the “Top 100 Tools forLearning” site,6 which is updated every year with the most valued applications, web sites and platforms for educators, or in the “Cool Tools

þ34 983423667.ail.com (C. Alario-Hoyos).

All rights reserved.

Page 2: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137 123

for Schools” wiki,7 which indexes many Web 2.0 tools, gathered according to their main educational task. These two reasons motivate thegood number of recent research works (De-la-Fuente-Valentín, Pardo, & Delgado-Kloos, 2011; Fontela, Caeiro, & Llamas, 2009; IMS GlobalLearning Consortium, 2006; Livingstone & Kemp, 2008;Wilson, Sharples, & Griffiths, 2008) tackling the integration of external tools in VLEs.

Researchers have been aware of this problem for some years. However, pioneer research works aimed at designing and developing newflexible and tailorable VLEs, such as Gridcole (Bote-Lorenzo et al., 2008) or Symba (Betbeder & Tchounikine, 2003), which could integrateexternal tools; these new tailorable VLEs were conceived to replace broadly adopted VLEs. Unfortunately, practitioners that are used toa given VLE are usually reluctant to embrace a new one, sometimes due to the required learning effort and adaptation period (Alario-Hoyoset al., 2010), and sometimes because their institutions forces them to use that particular VLE. After the trend of proposing new VLEs failed,research has turned onto the integration of existing external tools in existing VLEs.

The integration of external tools in VLEs typically requires some code to enable the communication among their interfaces. This mayinvolve a certain development effort due to the existing technological heterogeneity and thewide variety of VLEs and tools (Dillenbourg et al.,2002). Nevertheless, most integration approaches involve a high development effort, mainly due to two factors. First, many approachespromote a one-to-one integration between VLEs and tools. This implies that new code must always be developed for each new integration,as it happens with many Moodle plugins.8 Second, many approaches promote a tight integration between VLEs and tools. This requiresgenerating a significant amount of extra code aimed at enabling richer interactions among them, even if they are not necessary for thesupport of most learning situations. The IMS Learning Tool Interoperability (IMS LTI) specification (IMS Global Learning Consortium, 2006)and the CopperCore Service Integration (CCSI) framework (Vogten et al., 2006) are examples of integration proposals that entail a highdevelopment effort because of this second factor. The effort demanded by these and other similar proposals limits their adoption, since itmay discourage external developers to contribute to the integration of new tools and VLEs, thus reducing the interest of practitioners andinstitutions on these approaches.

Trying to address this issue, two recent works have been proposed with the aim of reducing the development effort by promotinga many-to-many integration between VLEs and tools, following loosely-coupled approaches: Apache Wookie (Wilson et al., 2008) and IMSBasic LTI (IMS Global Learning Consortium, 2010). However, both works also have important limitations. Apache Wookie can only integratetools developed as W3C widgets (World Wide Web Consortium, 2011a), which is a very strict technological restriction. Even though theimposition of some technical restrictions on VLEs and tools is needed in such a technologically heterogeneous context, these should becarefully chosen, to avoid hindering the possibility of integrating many interesting tools that do not meet them, like it happens to ApacheWookie which can only integrate tools that conform to the Widget specification, excluding many popular web applications as, for example,Google Apps.9 IMS Basic LTI enables the request of a generic instance for each external tool, but it does notmanage the user and group accessto these tools (i.e. separate instance creation and configuration for each group, managing the access permissions for each VLE user), beingthus quite limited to support the instantiation and enactment of collaborative activities.

In this context, this paper proposes an innovative loosely-coupled integration architecture, called GLUE! (Group Learning UniformEnvironment), which overcomes the limitations found in existing integration research works: the high development effort demanded tointegrate new VLEs and tools, the strict technological restrictions imposed on VLE and tool providers, and the limited support to theinstantiation and enactment of collaborative activities that require the integration of external tools. GLUE! enables the many-to-manyintegration of multiple existing external tools in multiple existing VLEs, requiring less development effort than most integrationapproaches, and imposing only basic restrictions that most VLE and tool providers currently fulfill. Besides, GLUE! facilitates the instan-tiation and enactment of both individual and collaborative activities that require the integration of external tools, by supporting the creationand configuration of external tool instances, which can automatically be assigned to VLE users. Interestingly for practitioners, all theseoperations can be performed within the VLE interface.

The rest of this paper is organized as follows: Section 2 presents a set of initial requirements for the design of the GLUE! architecture,according to the main stakeholders’ concerns. This section also analyzes the technical and functional issues that stem from such require-ments, and the alternatives taken in published approaches. GLUE! is introduced in Section 3, including its design, an example of usage, andits reference implementations. Section 4 reports the evaluation that has been carried out for GLUE!. Finally, conclusions and future work aregiven in Section 5.

2. The integration problem

Before proposing new integration approaches, it is very important to analyze the requirements of themain stakeholders interested in theintegration of external tools in VLEs. These requirements should lead the decisions taken regarding the different issues and alternatives ofthe integration problem.

2.1. Requirements of the main stakeholders

Educational practitioners (both educators and students) are the stakeholders that actually use external tools. They would generally like toemploy integrated tools, as they do with built-in tools. That includes benefiting from the main VLE features, among which, the support ofcollaboration and groupwork are outstandingly reported (Bower et al., 2011). Therefore, new integration approaches should enable theinstantiation of collaborative activities that require the integration of external tools with an attainable effort for educators; theyshould also enable the enactment of these activities, facilitating the collaboration among participants. In addition, practitioners wouldnot normally like to give up the VLEs and tools they are used to (Alario-Hoyos et al., 2010). Therefore, new integration approaches shouldsupport the integration of existing and popular VLEs and external tools. Besides, practitioners would like to have the higher number of

7 http://cooltoolsforschools.wikispaces.com8 http://moodle.org/plugins9 http://www.google.com/apps

Page 3: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137124

tools available, in order to support a wide range of learning activities (Bower et al., 2011). New approaches should thus support theintegration of many external tools.

Developers are the stakeholders that write the code needed for the integration of new tools and VLEs. Developers are less likely to writethat code if a high development effort is required. New approaches should thus require an attainable development effort for the inte-gration of new tools and VLEs in order to encourage the contributions of developers.

Finally, VLE and tool providers are rarely willing to modify their systems to comply with a new integration approach. Often, they will alsodisapprove that others modify their systems, since that may cause incompatibilities with the official releases of their VLEs and tools. Thus,new integration approaches should be built over VLEs and tools, rather than modifying their implementations.

2.2. Design issues and alternatives

The design of a new integration approach should deal with several technical and functional issues (Alario-Hoyos et al., 2010), while tryingto satisfy the stakeholders’ requirements. At the time ofmaking a decision on the alternatives, however, it should be noted that the issues areinterrelated and that different requirements may be conflicting.

One relevant technical issue is the number of restrictions imposed on VLEs and tools. Some examples of these restrictions may beprogramming languages, frameworks, or exchange data models, among others. Imposing many restrictions may exclude interesting toolsand VLEs from being integrated. Imposing few restrictions generally reduces the development effort required to meet them; as a conse-quence, the chances that some popular VLEs or tools may be discarded for the integration with a certain approach (due to an unattainabledevelopment effort) are reduced too.

A related technical issue is the degree of adoption of the restrictions. The more widespread the restrictions imposed by an integrationapproach, the more the number of VLEs and tools that are likely to natively meet them. Those VLEs and tools that natively meet theserestrictions are normally integrated with a lower effort, and without modifying their original implementations. In contrast, ad hoc inte-gration approaches might impose restrictions with a lower adoption, since they aim at fostering the integration of a specific tool in a specificVLE.

Another important technical issue is the multiplicity of the integration. Generic integration approaches are designed to promote theintegration of multiple tools in multiple VLEs (many-to-many integration). These approaches may reduce the development effort byfostering a high code reuse among integrations, but at the cost of enabling only generic functional commonalties, due to the existingheterogeneity of VLEs and tools. Ad hoc approaches, however, typically promote a one-to-one integration, which may enable richer,particularized interactions between VLEs and tools. Nevertheless, an ad hoc approach is normally useful for the integration of one tool in oneVLE. Alternatively, other approaches could be designed to facilitate the integration of multiple tools in the same VLE (one-to-many inte-gration), and less often, the integration of the same tool in multiple VLEs (many-to-one integration).

The degree of software coupling is another technical issue that is closely related to the restrictions and multiplicity issues. A high coupling(tight integration) allows to control the behavior of the tool from the VLE to a higher extent, but in exchange for a significant additionaldevelopment effort. On the other hand, a low coupling (loose integration), allows a lower control on integrated tools, but reduces the codeneeded to enable the communication between each VLE and each tool.

The degree of functionality offered by an integration approach (howmuch of the functionality of the tool can be controlled from the VLE) isan important functional issue that is related to the aforementioned technical issues. Offering a high degree of functionality normallyrequires additional restrictions, a higher coupling and, possibly, promoting a one-to-one integration. On the other hand, approaches offeringa low degree of functionality generally need a lower development effort, and possibly, imposing less restrictions on VLEs and tools.

Besides, in this context, the management of collaborative tools can be considered an important functional issue, which stems from thedegree of functionality offered, since most VLEs and many tools are designed to support collaborative activities. This issue refers to thecreation and assignment of different instances for each group in each learning activity, which can be particularly cumbersome in complexcollaborative learning flows that involve different groups and tools. Integration approaches aimed at supporting the management ofcollaborative tools, facilitate practitioners the instantiation and enactment of collaborative learning situation. On the contrary, theapproaches that do not consider this issue hinder and even preclude from instantiating and enacting many collaborative learning situations,even though they may be of great interest for practitioners.

2.3. Analysis of existing integration approaches

Concerning the issues just discussed, a solution for the integration of external tools in VLEs that satisfiesmost stakeholders’ requirementsshould feature: a low number of broadly adopted restrictions, thus facilitating the integration of existing and popular VLEs and tools withoutmodifying their code; and a many-to-many and loose integration, thus promoting the integration of many tools in many VLEs, reducing thedevelopment effort. Nevertheless, cautions should be taken on the degree of functionality offered, since it compromises the remainingissues. A trade-off considering all the stakeholders’ requirements suggests that integration solutions should offer a sufficient degree offunctionality which, at least, enables the management of collaborative tools.

Table 1 positions representative examples of integration approaches according to the design issues and alternatives previously discussed.For instance, Sloodle (Livingstone et al., 2008) is an ad hoc tight approach that enables a high control on Second Life withinMoodle, althoughit is only useful for the VLE and tool it was designed for. Moodlerooms10 integrates several external tools in Moodlewith less restrictions andcoupling than Sloodle. Nonetheless, it cannot be applied to integrate these tools in LAMS or Sakai.

Early generic integration works like IMS LTI (IMS Global Learning Consortium, 2006) or CCSI (Vogten et al., 2006) proposed tightly-coupled approaches that offered a high degree of functionality. Nevertheless, the high development effort that stems from this tightcoupling, and the evolution in the technological trends may have deprived IMS LTI and CCSI from a more successful adoption.

10 http://moodlerooms.com

Page 4: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

Table 1Design issues and alternatives in existing integration approaches.

Technical issues Functional issues

Number ofrestrictions imposed

Degree of adoptionof the restrictions

Degree ofsoftware coupling

Multiplicity ofthe integration

Degree offunctionality offered

Management ofcollaborative tools

Sloodle (Livingstone & Kemp, 2008) Many Low Tight One-to-one High YesGridcole (Bote-Lorenzo et al., 2008) Some Low Medium One-to-many Medium YesMoodleRooms Some Medium Medium One-to-many High YesIMS LTI (IMS Global

Learning Consortium, 2006)Many Low Tight Many-to-many High No

CCSI (Vogten et al., 2006) Many Low Tight Many-to-many High YesPoEML-based architecture

(Fontela et al., 2009)Some Low Medium Many-to-many Low Yes

GSI Architecture(De-la-Fuente-Valentín et al., 2011)

Some Medium Medium Many-to-many Low Yes

Apache Wookie (Wilson et al., 2008) Few Medium Loose Many-to-many Low YesBasic LTI (IMS Global Learning

Consortium, 2010)Few High Loose Many-to-many Very low No

GLUE! Few High Loose Many-to-many Low Yes

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137 125

Recent generic integration approaches, however, aimed at reducing the number of requirements and the degree of coupling, but at thecost of reducing the functionality offered too. Nevertheless, they find some problems to integrate popular VLEs or tools due to the kind ofrestrictions they impose. The PoEML-based (Perspective-oriented Educational Modeling Language) architecture (Fontela et al., 2009) usesa language defined by the authors that has not been adopted by main providers. The Generic Service Integration (GSI) architecture (De-la-Fuente-Valentín et al., 2011) can only be used within VLEs that support the IMS LD (IMS Learning Design) specification (IMS Global LearningConsortium, 2003), and currently only .LRN (through an extension) supports it. Finally, the Apache Wookie architecture can only integratetools developed as W3C widgets, but few tools are currently meeting this restriction. Actually, none of the “Top 100 Tools for Learning”meets the W3C widgets specification (World Wide Web Consortium, 2011a).

The shortcomings of IMS Basic LTI (IMS Global Learning Consortium, 2010) are of different nature, since it just provides a standardmechanism for launching external applications. This launching is the same for all the participants in any learning activity in any VLE. Thus,Basic LTI fails to alleviate educators of the burden of creating and assigning separate external tool instances for each group defined in eachVLE course. All in all, Basic LTI does not facilitate the instantiation and enactment of non-trivial collaborative activities, and thus fails tomeetthe first two practitioners’ requirements identified in Section 2.1.

The GLUE! architecture presented here is designed also promoting a low degree of coupling, but imposing few restrictions witha widespread adoption. This fact reduces the development effort and fosters the integration of many well-known tools in popular VLEs. Asa consequence, the degree of functionality offered has to be low, but, unlike in Basic LTI, sufficient to allow the creation and assignment ofseparate external tool instances for each group defined in each VLE course, thus facilitating practitioners the instantiation and enactment ofcollaborative activities within the VLE interface.

A further analysis of these and other integration approaches can be consulted in (Alario-Hoyos et al., 2010). Particularly, a very detailedanalysis comparing the features provided by IMS LTI, Apache Wookie, Basic LTI and GLUE! is available in (Alario-Hoyos & Wilson, 2010).

3. The GLUE! architecture

GLUE! is a new integration architecture that has been designed following the alternatives presented in the previous section, in order tomeet the stakeholders’ requirements. This section describes and discusses the proposed architecture and the reference implementations.

3.1. Overview of the architecture

Fig. 1 shows an overview of the GLUE! architecture. GLUE! follows a three-tier architecture with loosely-coupled distributed services,where m VLE contracts and n tool contracts become interoperable through an intermediate software layer and a set of adapters. An

Fig. 1. Overview of the GLUE! architecture.

Page 5: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137126

integration contract (Ghiglione & Dalziel, 2006) (being it explicit or not) typically defines, at least, the technologies, the interfaces, and thedata models that must be employed to enable the communication with the system that offers it. Significantly, the wide variety of tech-nologies, interfaces and data models employed in current VLEs and tools causes a great heterogeneity regarding their contracts (Alario-Hoyos et al., 2010), requiring GLUE! (like the other existing integration approaches) to impose some restrictions on VLE and toolproviders, further detailed in Section 3.2.1.

The leftmost and rightmost GLUE! tiers make use of the well-known adapter pattern (Gamma, Helm, Johnson, & Vlissides, 1995) torespectively wrap VLEs and tools, also adapting their specific and heterogeneous contracts to two generic and homogeneous inter-mediate contracts: the GLUE! integration contract for VLEs and the GLUE! integration contract for tools. These type of adapters, whichwere also employed in some recent two-tier research works (De-la-Fuente-Valentín et al., 2011; IMS Global Learning Consortium, 2010)to enable the integration of VLEs and tools without modifying their code, are called VLE adapters and tool adapters in the GLUE!architecture.

The three-tier architecture also contains an intermediate software layer, called GLUE! core, which offers the GLUE! integration contracts.The purpose of the GLUE! core is to decouple VLE and tool adapters, while assumingmost of the integration functionality. That facilitates theindependent implementation of adapters, and reduces their development effort. It is noteworthy that the GLUE! core promotes amany-to-many integration, since every new tool adapter developed for a tool enables its integration in any VLE with its corresponding VLE adapter,and the other way around.

The GLUE! architecture provides the functionality to create, configure, retrieve, update and delete external tool instances, thusmanagingthe life cycle of collaborative tools (Gómez-Sánchez et al., 2009), which is common to many software tools, including most VLE built-intools, and even some individual tools. This life cycle can be combined with the VLE features for the management of groups and activities, inorder to associate each external tool instance to each group that participates in a given activity, so that students belonging to the same groupmay collaborate, sharing the same instance, as they normally do with VLE built-in tools. Thus, by using this functionality, practitioners aregreatly aided in the instantiation and enactment of collaborative learning activities.

Each of the three tiers in the GLUE! architecture has a clear role, in order to support the management of the life cycle of external toolswithin VLEs. Requests to create, configure, retrieve, update, or delete tool instances are initiated in the VLE user interface, and thus VLEadapters must process and send them as uniform requests to the GLUE! core. The GLUE! core routes these requests to the corresponding tooladapters, which receive and process these generic requests, resulting in invocations on tool providers in tool-specific ways. The followingparagraphs deepen into the responsibilities and challenges of these three tiers.

The GLUE! core includes a processing element, called GLUElet Manager, which acts as a broker, receiving requests from VLE adapters,redirecting them to the appropriate tool adapters, and persisting information of the created instances. The GLUElet Manager, must thus beaware of the external tools available for integration and how to reach the tool adapters that wrap them. This information is kept in theinternal tool registry, which is also part of the GLUE! core. Significantly, the architectures that do not include intermediate software layersrequire VLE and tool adapters to assume these responsibilities. The fact that these responsibilities are placed in the GLUE! core reduces thefunctionality to be provided by the adapters, thus simplifying their development.

Tool adapters receive homogeneous requests from the GLUElet Manager for creating, configuring, retrieving, updating and deleting toolinstances. These requests are adapted to comply with the contracts imposed by specific external tools. Interestingly, tool adapters are awareof the specific features and configurations supported by each tool, and so, they are responsible for providing configuration templates,rendered as VLE-like forms by VLE adapters, to be filled out by educators. The advantage of this approach is that if a tool provider addsinteresting configuration properties, templates can easily be updated, without requiring any further modifications in the architecture.Finally, it should be noted that if a number of tools have a similar contract and a similar collection of configuration parameters, it may beworthy to develop a single tool adapter to communicate with them all, instead of several adapters with minimal differences. This decision ismade by the developer implementing each particular tool adapter. Examples of tool adapters that enable the integration of multiple toolsare later given in Section 3.4.

The remaining tier of the architecture is formed by VLE adapters, where the requests of the tool life cycle are actually started. In fact, theserequests are made by end-users on the VLE graphical interface. Thus, VLE adapters should capture and forward them to the GLUEletManager. In addition, VLE adapters are responsible for the assignment of external tool instances to VLE users. To do so, VLE adapters maymap the users, groups, and activities defined in VLEs to the instances that are actually created, as previously explained. Unlike in the case oftools, VLEs rarely present similar contracts, and so, a specific VLE adapter is usually required for each of them.

Each of the elements in the three GLUE! tiers can be independently offered by different providers, except for VLE adapters, which arenormally deployed together with VLEs. The reason is that VLE adapters need to be implemented, in most cases, as VLE extensions,embedding partially their functionality in the VLE user interface.

Finally, it is noteworthy to mention that the GLUE! architecture supports five roles. The developer is in charge of implementing new VLEor tool adapters. The administrator of a GLUE! installation is responsible for populating the internal tool registry with information about theavailable external tools and their corresponding adapters. The administrator of a VLE installation is responsible for installing the corre-sponding VLE adapter (this installation is made only once, no matter the number of external tools that are integrated). Besides, two otherroles represent the end users who generate different actions within VLEs concerning the tool life cycle (see Fig. 1). The first role, namely theeducator role, requests the creation, configuration, deletion and update of tool instances. This role is normally played by educators, but it canalso be played bymonitors, instructional designers, and any other user with special permissions to instantiate learning designs within VLEs.The second role, namely the participant role, can only request the retrieval of created instances. This role is normally played by students,although any VLE user participating in the enactment of a collaborative activity may play it. It should be noted that neither educators norstudents need to develop new technical skills to use the GLUE! architecture.

3.2. Integration contracts

GLUE! defines an integration contract for the communication between the GLUE! core and VLE adapters and another integration contractfor the communication between the GLUE! core and tool adapters. The criteria used for the definition of both contracts stem from the

Page 6: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137 127

alternatives discussed in Section 2, and aim at reducing the development effort and facilitating the adoption of the GLUE! architecture bypractitioners.

3.2.1. Restrictions on VLE and tool providersThe GLUE! integration contract for VLEs imposes three mandatory restrictions that VLE providers must meet. First, VLEs must be able to

render web contents, so that tool instances can be easily embedded in VLE web pages. Second, VLEs must offer an extension interface, sothat VLE adapters can communicate with VLEs, without modifying their code. Third, VLEs must understand the concept of tool or a similarone; otherwise, the integration of external tools would not make sense. Optionally, VLEs can highly benefit from GLUE! if they meet twooptional restrictions. First, VLEs should understand the concept of group, so that external tool instances can be shared among the studentsthat belong to the same groups. Otherwise, the instantiation and enactment of collaborative activities within VLEs would be hindered.Besides, VLEs should understand the concept of role, so that, the roles defined by GLUE! can bemapped to the roles defined by VLEs. If not,any VLE user could participate in the instantiation of learning designs, something that does not fit within the educator-centered peda-gogical model of VLEs. Interestingly, main VLEs like Moodle, LAMS, .LRN, Sakai or Blackboard meet all the mandatory and optionalrequirements.

On the other side, the GLUE! integration contract for tools imposes just onemandatory restriction that toolsmustmeet: the code that externaltools provide to enable the access to their functionality and data must be suitable for its distribution as a web content. Web applicationsobviously meet this restriction. Nevertheless, some standalone applications, such as those developed in Java, whose code can be distributed inJNLP files, may meet this restriction too. This contract also defines one optional restriction: tools should offer a programming interface thatallows the creation of instances of these tools, with different configurations, and for different users. If so, particularized tool instances for eachgroup performing a collaborative activity may be provided, without modifying the code of external tools. Otherwise, all the students in all thelearning activitieswill access to the same functionality and data in the external tool, as it happens in Basic LTI. Interestingly, 69% of the “Top 100tools for learning” are distributed online, and so, they clearly meet the mandatory restriction, many of them also complying with the optionalrestriction. This number even grows if VLEs and hardware devices (e.g. Kindle) are excluded from this list.

3.2.2. Technologies on VLE and tool adaptersThe GLUE! integration contracts for VLEs and tools define four technological requirements that must be considered by VLE and tool

adapters in order to achieve interoperability with the GLUE! core. All these requirements are based on popular and well-defined loosely-coupled technologies.

VLE adapters invoke the GLUElet Manager in order to request the creation, configuration, retrieval, update and deletion of instances. Tooladapters are invoked by the GLUElet Manager with these requests too. Therefore, the elements of the architecture must support some form ofremote invocation, as well as publish the invocable interfaces. REST services (Richardson & Ruby, 2007) are chosen here, rather than other RPC-like middlewares, in order to promote the loosely-coupling and scalability of the architecture (Vinoski, 2007), and to facilitate the imple-mentation of the CRUD-like (create, read, update and delete) methods in charge of the tool life cycle. Significantly, many tools and webapplications are currently offering REST-based contracts too, thus simplifying the development of tool adapters. Therefore, tool adaptersmust provide a RESTful interface to be invoked by the GLUElet Manager, while VLE adapters must be able to invoke the RESTful interfaceoffered by the GLUElet Manager.

REST does not impose any specific data exchange format. However, to achieve interoperability among the elements of GLUE!, somecommon representation format must be agreed. Here, the Atom Syndication format (Network Working Group, 2005) is chosen as the formatthat VLE and tool adapters must support for the exchange of data, mainly due to its widespread adoption within web technologies, and itsnative use bymany web sites and web tools, such as blogs, or podcasts, for the transmission of web feeds. Other web feed formats like ReallySimple Syndication (RSS)11 were discarded because, unlike Atom, RSS is not an official specification. All in all, VLE and tool adapters must beprepared to process requests and responses in the Atom format.

Tool adapters must provide configuration templates in a predefined format, which must be filled out by educators when configuringinstances. XForms (World Wide Web Consortium, 2009) and HTML5 (World Wide Web Consortium, 2011b) have been chosen for theconfiguration templates. The reasons are that they are the most widespread formats for the definition of web forms, and they can directly beinterpreted by someweb browsers. This is an important advantage to simplify the development of VLE adapters, since VLEs are typically webplatforms.

Once instances are created, unique identifiers for tool instances should be provided by tool adapters to the outside world. Here, URLs havebeen chosen (instead of for example ad hoc alphanumeric tags), so that external tool instances can be uniquely identified and easilyembedded as IFrames, or HTML Objects in web-based VLEs. The latter highly simplifies the graphical integration of external tools in VLEadapters. Thus, tool adapters must provide URLs representing tool instances, even for those tools that are not distributed as webapplications.

It is noteworthy that the GLUE! contracts do not impose the use of any programming language or framework, as many other integrationapproaches do. Moreover, these four requirements are all based on popular standards (except for HTML5 which is not a standard yet,although XForms can alternatively be employed), thus simplifying the integration of those tools that nativelymeet them, and promoting thedevelopment of adapters by external developers.

3.2.3. Functionality intended for tool adapters and expected by VLE adaptersTool adapters must distribute their functionality in two kinds of REST resources: configuration, which enables the retrieval of configu-

ration templates; and instance, which enables the aforementioned CRUD-like requests for the management of external tool instances. VLEadapters can send requests to the resources exposed by the GLUElet Manager: instance, on which CRUD-like requests are received androuted to the appropriate tool adapter; and tool, which enables the retrieval of information about the available external tools, and also the

11 http://rssboard.org/rss-2-0-8

Page 7: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

Fig. 2. Sequence diagram representing the successful creation, configuration and assignment of external tool instances: interactions numbered 1.x enable the retrieval of the list ofavailable external tools; interactions numbered 2.x enable the retrieval of the configuration templates; interactions numbered 3.x enable the creation, configuration and automaticassignment of external tool instances. It should be noted that multiple instances (one for each group) can be transparently created in a single educators’ request.

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137128

request of configuration templates for specific tools (routed afterward to tool adapters). Besides, VLE adapters can take advantage of VLEfeatures, so that external tool instances are shared among the students belonging to the same group.

3.3. Illustrative use case

A typical use case supported by GLUE! is the creation, configuration and automatic assignment of external tool instances within VLEs.Fig. 2 represents the main success scenario of this use case. It is noteworthy that some of the interactions are prescribed by the GLUE!contracts, while others are dependant on the implementation of VLE and tool adapters.

This use case starts with an educator adding a tool to a newactivity in his commonly-used VLE. The educator can add a VLE built-in tool asusual, or an external tool (interaction 1.1). In that case, the VLE adapter retrieves the list of available external tools from the GLUElet Manager,including some extra information (e.g. the provider of the tool) that may help educators in their choice (1.2–1.4). Then, the educator selectsone of the available external tools (2.1), and the VLE adapter retrieves and renders its configuration template querying the appropriate tooladapter, via the GLUElet Manager (2.2–2.6). The educator fills out the configuration template, and requests the creation and configuration oftool instances for all the groups defined in that activity (3.1); here the educator could also set different configurations for each group,requesting the creation of instances one by one. Requests are sequentially propagated to the GLUElet Manager, which adds some extraparameters that may be required for the creation of the instances, such as the tool provider or credentials (3.2). After that, each request isindividually routed to the corresponding tool adapter (3.3), which actually creates the instance following the specific tool contract (3.4–3.5),and generates a URL representing such instance (if the tool does not provide it). Next, a local resource is created in the tool adapter for eachinstance, whose state stores that URL (3.6). The successful response includes the identifier of this resource (3.7), which is persisted inanother similar resource in the GLUElet Manager (3.8), returning the identifier of the latter to the VLE adapter (3.9). The VLE adapterinternally maps this identifier to the VLE group that has to share that instance, and the VLE activity in which that instance is shared,indicating to educators that the process have been accomplished (3.10). Afterward, once students are logged in the VLE to perform theactivity, they can retrieve, visualize, and use their corresponding tool instances embedded in the VLE user interface, while educators may dothe same, in order to monitor their performance.

3.4. Reference implementations

The authors have developed the reference implementations of the GLUE! core and several adapters that are available at http://www.gsic.uva.es/glue. The development of a reference implementation in this context is highly advisable for several reasons. First, it shows that theGLUE! architecture can actually be implemented. Besides, it can be evaluated and used by real practitioners to support real collaborativelearning situations, which is the final purpose intended for this research work. Finally, it starts up a collection of integrated tools and VLEs

Page 8: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137 129

that grows through the contributions of external developers, who may write new adapters; this is a key issue, since generic integrationworks normally rely on the creation of communities of developers, who share their implementations.

Currently, there are reference implementations for the GLUElet Manager (GLUE! core), three VLE adapters and nine tool adapters. Thethree VLE adapters enable the integration of external tools in Moodle, LAMS andMediaWiki.12 The nine tool adapters enable the integrationin VLEs of Google Docs (Documents, Spreadsheets and Presentations), MediaWiki, Dabbleboard,13 Doodle,14 Kaltura,15 Facebook LiveStream,16 Noteflight,17 W3C widgets deployed in Apache Wookie servers,18 and any URL representing a web content. The Google Docsadapter and the Apache Wookie W3C widgets adapter are two representative examples of tool adapters that enable the integration ofseveral tools with similar contracts. Fig. 3 shows an example with the integration of the Dabbleboard shared whiteboard in Moodle andLAMS.

Interestingly, both VLE and tool adapters are available for MediaWiki. MediaWiki is not strictly a VLE, although it is a popular platformdesigned to support collaboration and third-party integration that is sometimes employed in educational settings (Jorrín-Abellán & Rubia-Avi, 2007). Besides, it meets the mandatory restrictions imposed in the GLUE! integration contract for VLEs, and thus, a VLE adapter can bedeveloped to support the creation and management of external tool instances within MediaWiki pages. On the other side, MediaWiki istypically employed as a collaborative text editor to generate and share content, and so, it can be integrated as a tool in other VLEs to supportcollaborative writing activities.

All these elements have been developed using Restlet, which is one of the main frameworks for the development of REST services in Java(Louvel, Templier, & Boileau, 2012). Exceptions to this are the Moodle adapter and the MediaWiki VLE adapter that are in PHP due to therestrictions imposed on the Moodle and MediaWiki integration contracts, respectively.

The installation process for VLE adapters is similar to that of any other VLE module or extension. During this process, the VLE admin-istrator must indicate the address where the GLUElet Manager is offered. Once the VLE adapter is installed, every tool registered in theGLUElet Manager can be used from that VLE by any educator, in any course, and as many times as wished. New tools registered in theGLUElet Manager become automatically available to be used from that VLE.

Remarkably, other implementations of these elements are feasible too. Actually, new tools and VLEs are intended to be integrated bydeveloping new adapters, and existing ones could be improved in order to support new features. As long as these adapters meet the GLUE!integration contracts, they would interoperate with the elements available in this reference implementation.

4. Evaluation

This section presents the evaluation that has been carried out in order to assess whether GLUE! meets the stakeholders’ requirementsintroduced in Section 2.1. These requirements involve both functional and technical issues, being different methods employed for theirevaluation. Table 2 summarizes the requirements, the evaluation methods and the data sources. The compliance to each of theserequirements is further studied along this section.

4.1. Evaluation methodology

The practitioners’ requirements (REQ1–REQ4) were evaluated by carrying out four authentic experiments with the GLUE! architecture.The realization of authentic experiments involving different kinds of users (Dewan, 2001), such as end-users or developers, is recurrentlyapplied for the evaluation of collaborative systems (Isotania, Mizoguchia, Inabaa, & Ikeda, 2010) and (Bote-Lorenzo et al., 2008). Threecollaborative learning situations that are later presented in this section were formulated as four instrumental experiments, and served toobtain findings regarding the compliance to the practitioners’ requirements. These findings can be classified according to the methodsemployed to collect them.

Findings concerning REQ1 and REQ2were obtained by combining quantitative and qualitative techniques, as recommended in themixedmethod proposed by (Martínez-Monés, Dimitriadis, Rubia-Avi, Gómez-Sánchez, & De-la-Fuente, 2003). It is noteworthy that, in this method,quantitative techniques do not aim at demonstrating hypothesis, but at gaining insight and detecting tendencies, which are afterwardconfirmed or discarded using qualitative techniques. Interestingly, this mixed method has already been employed for the educationalevaluation of collaborative systems in other contexts (Navarrete, Santos, Hernández-Leo, & Blat, 2011) and (Bote-Lorenzo et al., 2008). In thiscase, quantitative data were collected from optional Likert scales passed to participants, while qualitative data came from open textquestionnaires in optional forms filled out by participants, and also from individual interviews (in the case of educators) and focus groups (inthe case of students).19

Besides, additional quantitative data concerning the first requirement were harvested from two extra experiments that replicated theprocess of instantiating the four cases included in this evaluationwith and without GLUE!. These two extra experiments recreated the samelearning situation (i.e. same students, groups, activities and tools) with and without GLUE!, to get information about the approximateinstantiation time. In both cases, one of the researchers of this study (playing the role of educator) performed the creation of the activities.The registration of the students and the population of the groups is equivalent with and without GLUE! and was excluded when calculatingthe instantiation time. These calculations also excluded the time the educator may have needed to think and reflect about the learning

12 http://mediawiki.org13 http://dabbleboard.com14 http://doodle.com15 http://kaltura.org16 http://developers.facebook.com/docs/reference/plugins/live-stream17 http://noteflight.com18 http://incubator.apache.org/wookie19 The raw data from this evaluation is available at http://gsic.uva.es/glue.

Page 9: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

Fig. 3. Screenshot showing the visualization of Dabbleboard instances in Moodle (top) and LAMS (bottom) with the GLUE! architecture. The top screenshot was taken during theenactment of the first experiment presented in Section 4.2 and corresponds to the educator’s view. The bottom screenshot does not belong to any of the experiments, although itserves to illustrate how the analogous activity would be enacted in LAMS.

Page 10: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

Table 2Stakeholders’ requirements, methods and data sources employed for their evaluation.

Stakeholder Tag Requirement Evaluation methods Data sources

Practitioners REQ1 GLUE! should enable the instantiation ofcollaborative activities that require theintegration of external tools with an attainableeffort.

Multiple authentic experiments;mixed method

Likert scales; open text questionnaires;interviews; time measurements

REQ2 GLUE! should enable the enactment ofcollaborative activities that require theintegration of external tools, facilitating thecollaboration among participants.

Multiple authentic experiments;mixed method

Likert scales; open text questionnaires; focusgroups

REQ3 GLUE! should support the integration ofexisting and popular VLEs and tools.

Multiple authentic experiments;feature analysis (formalexperiment)

Reference implementations of the GLUE!elements

REQ4 GLUE! should support the integration of manyexternal tools.

Multiple authentic experiments;feature analysis (formalexperiment)

Reference implementations of the GLUE!elements

Developers REQ5 GLUE! should require an attainable effort forthe integration of new tools and VLEs.

Multiple authentic experiments;new SLOC and time invested

Reference implementations of the GLUE!elements; code of other approaches

VLE and tool providers REQ6 GLUE! should be built over existing VLEs andtools, rather than modifying theirimplementations.

Feature analysis (screening mode) Reference implementations of the GLUE!elements

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137 131

design, in order to make a fair comparison of the effort required to set up a given non-trivial collaborative learning situation with andwithout GLUE!. It is important to point out that without GLUE!, the instances had to be manually created and configured within their toolgraphical interface (if possible), and also manually assigned to VLE activities.

REQ3 and REQ4were researched using a feature analysis method in its formal experiment approach (Kitchenham,1997), which is speciallyindicated to evaluate a limited number of subjects regarding a software system. The four aforementioned cases also supported the eval-uation of these two requirements.

The satisfaction for REQ5 was assessed by studying the incremental development effort required to enact the four experiments sup-porting this evaluation. Two quantitativemetrics that are commonly-used as indicators of software complexity (Pendharkar & Rodger, 2007)were employed to obtain indirect measures of the effort required to integrate new external tools and VLEs with GLUE!, also comparing thiseffort with that in other integration approaches. These metrics are the new source lines of code (SLOC) that must be developed to accomplisha certain integration (Albretch & Gaffney, 1983), and the time invested in that task. Both provide simple empirical estimations of quantitativerelationships among efforts, although cautions should be taken because they do not address issues like language difficulty or developers’skills. The code from the reference implementations of the GLUE! elements, and from other integration approaches provided the data forthis evaluation.

Finally, the compliance to REQ6was researched by studying the code of all the available VLE and tool adapters mentioned in Section 3.4,as suggested by the feature analysis method in its screening mode approach (Kitchenham,1997). This approach is specially indicated to surveya large number of software components.

4.2. Collaborative learning situations

Three authentic collaborative learning situations were instantiated and enacted in four occasions, by different practitioners in real highereducation courses, being the experiments supporting most of this evaluation. These situations cover different knowledge domains,collaborative strategies and durations. Besides, different VLEs and tools were employed in each of them. Thus, they altogether offera representative and varied scope of VLE-mediated collaborative learning situations.

4.2.1. First situationAdvanced Networking (AN) is a third-year course (out of five) in Telecommunication Engineering at the University of Valladolid, Spain,

whosemain purpose is to get students to deepen and put into practice themain concepts on telecommunication services and networks. Oneof the lab assignments in AN consists on the development of a message server, so as to foster the acquisition of programming skills whenhandling the development of interfaces for distributed applications. Before starting the generation of code, educators want students toreflect on the time sequence diagram and the flowchart of this message server. In this context, a blended collaborative learning situation isdesigned following a well-known collaborative learning flow pattern called pyramid (Hernández-Leo, Villasclaras-Fernández, Asensio-Pérez, Dimitriadis, & Retalis, 2006). This pattern favors reaching a gradual consensus among students on the same leaning objectives.

This situation includes five collaborative activities in two levels of the pyramid. In the first level, students draw the time sequencediagram and the flowchart of the message server in pairs, justifying the main decisions taken. A shared whiteboard and a collaborative texteditor could be provided to support these activities. Then, students are gathered in supergroups (groups of 6–8), and review the diagrams ofthe other pairs belonging to their supergroup, by means of, for instance, a collaborative text editor. Finally, each supergroup agrees on thefinal diagrams and makes a presentation explaining the challenges and conclusions of the experiment. A shared whiteboard and a collab-orative presentation tool may serve for this purpose.

This situation was enacted in 2010 (AN-2010) and 2011 (AN-2011) using Moodle. GLUE! was employed for the integration of the toolsemployed by the students: Dabbleboard, Google Documents and Google Presentations. As an example, Fig. 3 (top) shows a screenshot of theeducator’s view in the first collaborative activity, in which a pair of students was drawing the time sequence diagram of the message serverusing Dabbleboard within the Moodle interface. Further details on the enactment of this situation can be found in Table 3.

Page 11: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

Table 3Summary of the four experiments.

Name AN-2010 AN-2011 SE-2011 ICTE-2012Date November 2010 November 2011 May 2011 February 2012Duration 1 week 1 week 3 h 1 weekKind of situation Blended collaborative

learning situationBlended collaborativelearning situation

Face-to-face collaborativelearning situation

Blended collaborativelearning situation

Number of educators 2 (technological background) 2 (technological background) 1 (technological background) 1 (pedagogical background)Number of students 47 51 10 25Group settings 24 pairs (1-2 students);

7 supergroups (6-8 students)28 pairs (1-2 students);8 supergroups (6-8 students)

2 groups of five students 12 pairs (2-3 students);5 supergroups (5 students)

VLE Moodle Moodle MediaWiki LAMSBuilt-in tools – – – Forum, mind mapExternal tools

(instances)Dabbleboard (31);Google Documents (24);Google Presentations (7)

Dabbleboard (36);Google Documents (28);Google Presentations (8)

Google Documents (12);You Decide W3C widget (40)

Google Presentations (5); Doodle (1)

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137132

4.2.2. Second situationSoftware Engineering (SE) is a third-year course (out of five) in Telecommunication Engineering at the University of Valladolid, in which

a software project is designed generating, among other artifacts, UML diagrams. One typical exercise is a true or false quiz about a given classdiagram. In this context, a face-to-face collaborative learning situation that also employs the pyramid patternwith three levels is designed tohelp students reflect on this kind of exercise.

In the first level, students answer a questionnaire individually, with the aid of, for instance, a poll tool (to collect responses) and a texteditor (to write justifications). In the second level, students are gathered in groups of five, see the responses given by their group partners,and agree on a single response for each of the questions. The same tools would be needed, although here the text editor should becollaborative. The third stage occurs at class level, where a final consensus is reached mediated by the educator.

This situationwas enacted in 2011 (SE-2011) usingMediaWiki as a learning platform (see Table 3). Google Documents and the You DecideW3C widget were integrated using the GLUE! architecture.

4.2.3. Third situationInformation and Communication Technologies applied to Education (ICTE) is a first-year course (out of four) in the Degree of Early

Childhood Education at the University of Valladolid, inwhich students are introduced to new technologies andmedia. In one of the practicalexercises, ICTE students must study and discuss the role that technology currently plays in Spanish schools. A blended collaborative learningsituation is designed for this exercise.

This situation includes a series of activities that need to be enacted in a certain order. First, students read two official reports about thissubject. Then, they answer a brief questionnaire in pairs; a communication tool could be provided for this activity. After that, they arearranged in groups of five, in order to organize the concepts extracted from the previous reports using, for example, a collaborative conceptmap tool. Then, working in the same groups, they make a presentation containing the conclusions of their work, using, for instance,a collaborative presentation tool. Finally, students vote the best of the presentations; a voting tool might serve for this purpose.

This situation was enacted in 2012 (ICTE-2012) using LAMS (see Table 3). The experiment mixed built-in and external tools: the LAMSbuilt-in forum and mindmap tool were employed for the first two activities; Google Presentations and Doodle were integrated using GLUE!for the last two activities. Significantly, ICTE students used several VLEs during the course to perform their regular activities, so that they alsoget trained on the usage of VLEs, and develop an opinion on several alternatives (useful when they become teachers); it is relevant to notethat this was the first time they worked with LAMS. Fig. 4 depicts a screenshot with the students’ view taken during the fourth activity.

4.3. Evaluation findings

The main findings presented here are intended to demonstrate whether the GLUE! architecture meets the stakeholders’ requirements.For a better understanding, these findings are arranged following the sequence of requirements shown in Table 2. Besides, some otherinteresting findings came out during the instantiation and enactment of the four experiments.

4.3.1. Instantiation of collaborative activities (REQ1)The fact that the different situations presented in Section 4.2 could be actually put into practice demonstrates that GLUE! allowed the

different educators to instantiate their desired collaborative activities. In order to assess whether the effort put by these educators wasattainable, the approximate instantiation timewith andwithout GLUE!was employed as an indirect measure of that effort. Interestingly, themanual creation of instances without GLUE! was feasible here, since all the external tools employed in the experiments were web tools,their instances could be created using its web graphical interface and accessed through URLs (the You DecideW3Cwidget was an exceptionto this), and the VLEs employed supported the assignment of URLs to VLE activities. Nevertheless, all these manual steps entaileda cumbersome and error prone process for the educator.

Table 4 shows the approximate instantiation time in the four experiments with details for AN-2011. ICTE-2012 is a good example inwhich educators obtained a high benefit by using GLUE!. They saved an 84,6% of the instantiation time in the LAMS authoring environment(presenting similar results the deployment of the collaborative learning situation in the LAMS monitoring environment). That saving wasalso representative in SE-2011, where educators saved a 35% of the instantiation time. The lesser saving was due to the fact that MediaWikidoes not support the management of groups and activities, so that even with GLUE!, instances for different groups must be created indifferent steps. Finally, it can be seen that in those cases where many external tool instances had to be created (AN-2010 and AN-2011),

Page 12: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

Fig. 4. Screenshot showing the visualization of a Google Presentation instance in LAMS with the GLUE! architecture. This screenshot corresponds to the fourth activity in the ICTE2012 experiment.

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137 133

a great overall time saving was obtained (more than an 82%). The case of Google Documents is quite representative, since with GLUE! the 28instances were created, configured and assigned at once within the same Moodle activity, requiring only 10 interactions with the Moodleinterface. This is a significant improvement since doing the same without GLUE! requires 308 interactions with the Google Documentsinterface plus 168 interactions with the Moodle interface; that is, about fifty times more graphical interface interactions.

This experiment illustrates the complexity of instantiating non-trivial collaborative learning situations, like those employed here,without an adequate integration approach. These results also show how GLUE! helps educators to reduce this complexity, saving them a lotof time and effort.

To contrast this quantitative observations with educators’ perceptions, results from questionnaires passed to the educators that actuallyinstantiated these situations were used, finding out that 3 out of 4 agreed or completely agreed that the effort they needed to instantiate thecollaborative activities with GLUE! was attainable. The other, which was an AN educator, somewhat agreed on this statement. Interestingly,they all agreed or completely agreed that the benefit obtained payed off for the effort. Moreover, they all agreed or completely agreed thatGLUE! facilitated the instantiation of their collaborative learning situation. Interviews with the educators supported these results, and alsoserved to discover that the AN educator that somewhat agreed with the first statement found some difficulties when creating new activitiesin Moodle. These difficulties were due to the particular use of groupings in this VLE, and would have also appeared if only built-in tools hadbeen used instead.

All in all, evaluation results showed that GLUE! enabled the instantiation of these four experiments with an attainable effort. Analogousresults could be expected in other collaborative activities of similar complexity. Thus, it can be concluded that GLUE! meets REQ1.Remarkably, the compliance to this requirement stems from the support of the tool life cycle within VLEs. Even though sometimes the

Table 4Approximate instantiation time with and without GLUE! for the four experiments with details for AN-2011.

Case study Number of externaltool instances

Time withGLUE! (minutes)

Time withoutGLUE! (minutes)

ICTE-2012 6 1 6.5SE-2011 12 4.5 7AN-2010 62 6.5 37.5AN-2011 72 7.5 42.5Creation, configuration and assignment of Dabbleboard instances 36 4 13.5Creation, configuration and assignment of Google Documents instances 28 1.5 22Creation, configuration and assignment of Google Presentation instances 8 2 7

Page 13: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137134

instantiation of collaborative activities could bemadewithout GLUE!, the time that would requiremay easily become unattainable, speciallyas the number of groups, activities and tools grows. Moreover, GLUE! not only reduces the instantiation time, but also the instantiationcomplexity, since the creation, configuration and assignment of external tool instances to VLE groups is semi-automatically madewithin theVLE interface.

4.3.2. Enactment of collaborative activities (REQ2)Real students enacted the four experiments. Results from questionnaires showed that: 90.2% of students thought that they collaborated

much or very muchwith their partners during the proposed activities; 77% considered that the technological support facilitatedmuch or verymuch this collaboration; and 72.1% agreed that seeing the contributions from their partners was easy or very easy. Interestingly, they allagreed or completely agreed that having the tools that had to be used integrated in a single graphical interface facilitated the enactment ofthe proposed activities. This agreement was particularly remarkable in those students without a technical background (ICTE-2012).

These results were confirmed by comments from students, which also highlighted the benefits of having the necessary tools integrated inthe VLE, and the usefulness of the whole technological support to promote collaboration and groupwork: “Everything is integrated in theplatform in a convenient and very simple way” (ICTE-2012); “It saves time because everything is integrated in the platform” (SE-2011); “It isfantastic to collaborate, since you can easily see the answers of your group partners” (ICTE-2012); “It was very easy to see the contributionsof my group partners, just by logging into Moodle” (AN-2010).

Some negative comments were also collected, although they came from the usage of VLEs and tools. For example, some AN-2010 and AN-2011 students complained about the limitations of Dabbleboard for drawing the sequence diagram and the flowchart (e.g. “the size of thecanvas in the shared whiteboard was sometimes insufficient to draw the diagrams”); some ICTE-2012 students found technical problemswhen working with the LAMS built-in mind map tool (e.g. “everything worked fine, except for the mind map tool”).

GLUE! facilitated the collaboration among students during the enactment of the four representative experiments presented here. Itseems reasonable to think that suchlike results would be obtained in other similar collaborative learning situations that require the inte-gration of external tools, and so, it can be concluded that GLUE! meets REQ2. Finally, it is noteworthy that tools integrated through GLUE!can overcome the limitations of built-in ones, such as the LAMS built-in mind map tool. Besides, practitioners can benefit from an evenbroader variety of tools, thus enriching the individual and collaborative activities that can be enacted.

4.3.3. Integration of existing and popular VLEs and external tools (REQ3)Five different existing external tools, namely Google Documents, Google Presentations, Dabbleboard, Doodle and You Decide widget

were integrated with GLUE! in two of the most popular VLEs, namely Moodle (more than 67,000 installations in 217 counties at writingtime20) and LAMS (more than 6700 members in the LAMS community across 80 countries in April201121), and in one well-known platform,namely MediaWiki, as part of the four experiments presented in this evaluation. Interestingly, tools like Google Documents and GooglePresentations are among the most valued by educators, according to the “Top 100 tools for Learning” list. Remarkably, at least 69% of thetools listed there meet the GLUE! contract for tools, and so, they could eventually be integrated in VLEs through the GLUE! architecture, asdiscussed in Section 3.2.1. Other popular tools, such as Facebook (in its Live Stream version), Doodle or Kaltura are currently available forintegration with GLUE! too (see Section 3.4).

Therefore, it can be seen that GLUE! supports the integration of existing and popular VLEs and tools, which could be used in these andother collaborative activities, complying with REQ3. The few and widespread restrictions imposed to VLE and tool providers are mainlyresponsible for the compliance to this requirement. Besides, just by developing the appropriate adapters, newly developed VLEs mightintegrate existing tools, while newly developed tools might be integrated in existing VLEs, through the GLUE! architecture.

4.3.4. Integration of many external tools (REQ4)The educators that instantiated the four experiments could choose among up to seventeen external tools (in addition to the regular built-

in tools), no matter the VLE they were employing. Interestingly, educators highlighted that the newly available external tools satisfied theirneeds and opened the opportunity to enact new activities. This is supported, for instance, by comments from the interviews with ANeducators, who expressed, their “satisfaction for the opportunity to use many tools that were not available before”.

The number of available external tools in GLUE! is expected to keep growing with the development of new tool adapters, as discussed inSection 3. Due to the few restrictions imposed in the GLUE! contract for tools, adapters for many other tools (like most of those listed in the“Top 100 tools for Learning”) may eventually be implemented.

It can be concluded that GLUE! supports the integration of many external tools, which could be employed in collaborative activities likethose presented in this evaluation, or in similar ones; thus, GLUE! satisfies REQ4. Besides, the promotion of a many-to-many integrationallows that every new integrated tool may be used from, at least, Moodle, LAMS and MediaWiki.

4.3.5. Development effort (REQ5)Table 5 shows examples of the new SLOC and the time invested for most VLE and tool adapters. The first two adapters developed for the

GLUE! architecture (marked in bold) enabled the integration of Google Docs in Moodle, and were implemented from scratch. From then on,only those lines that were explicitly developed for a new adapter are shown in Table 5. This consideration is very important in the case ofGLUE! because most of the code demanded to integrate a tool in a VLE can be reused, due to the promotion of a many-to-many integration,the definition of an intermediate software layer, and the establishment of homogeneous contracts between the GLUE! core and VLE and tooladapters.

The incremental development effort required to enact the four experiments with GLUE! decreased progressively, taking AN-2010 asa reference, even though different VLEs were employed: AN-2010 needed 2475 new SLOC and 506man-hour; SE-2011 demanded 2028 new

20 http://moodle.org/stats21 http://lamscommunity.org

Page 14: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

Table 5Study of the new SLOC and the time invested in GLUE! and in other loosely-coupled integration approaches. First VLE and tool adapters developed for GLUE! are marked inbold; VLE and tool adapters employed in the four experiments are marked in italics too.

Integration approach Software element (programming language) New SLOC Invested time (man-hour) / developer

GLUE! VLE adapter for Moodle (PHP) 1863 415/developer1VLE adapter for LAMS (Java) 909 373/developer1VLE adapter for MediaWiki (PHP and Javascript) 1936 202/developer3Tool adapter for Google Docs (Java) 487 83/developer1Tool adapter for MediaWiki (Java) 83 8/developer2Tool adapter for Dabbleboard (Java) 125 8/developer2Tool adapter for Apache Wookie (Java) 92 8/developer2Tool adapter for Doodle (Java) 84 4/developer2Tool adapter for Noteflight (Java) 86 6/developer3Tool adapter for Kaltura Video (Java) 97 5/developer3Tool adapter for Facebook Live Stream (Java) 47 4/developer3

Basic LTI (VLE) consumer for Moodle (PHP)a 1410 N/A(Tool) provider for MediaWiki (PHP)b 127 N/A(Tool) provider for Apache Wookie (PHP)c 116 N/A(Tool) provider for Noteflight (PHP) 150 N/A

Apache Wookie Wookie block for Moodle (PHP)d 244 N/AMoodle plugins Facebook Live Stream module (PHP)e 1156 N/A

Kaltura Video module (PHP)f 1898 N/A

a http://code.google.com/p/basiclti4moodleb http://code.google.com/p/basiclti4mediawikic http://code.google.com/p/basiclti4wookied http://incubator.apache.org/wookiee http://moodle.org/mod/data/view.php?d¼13&rid¼3316f http://kaltura.org/moodle-kaltura-plugin

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137 135

SLOC and 210 h; and ICTE-2012 necessitated 993 new SLOC and 377 h. Interestingly, once the main VLE adapters are developed and onlysome new tools need to be integrated, the effort is greatly reduced. For example, if after these situations a new one that employs Moodle,someW3Cwidgets, Doodle and Noteflight had been devised, then the required development effort to provide computational support wouldonly have been 86 new SLOC.

Table 5 also collects some examples of the new SLOC in other loosely-coupled approaches that also promote amany-to-many integration,namely Basic LTI and Apache Wookie, and from two ad hoc Moodle plugins that integrate Facebook Live Stream and Kaltura with a similardegree of functionality offered than GLUE!. Programming languages employed in the codification of these software elements are alsodenoted, since PHP projects tend to require fewer lines to implement the same functionality than Java projects (Walden, Doyle, Lenhof, &Murray, 2010). Data for these examples could be obtained without much difficulty, since they are all open source projects; however, no dataof the time invested was found. Here, it is important to point out that lines shared among implementations of the same approach werediscarded when calculating the new SLOC. Besides, due to the limitations of this metric (mentioned in Section 4.1) only gross differencesshould be taken into account when drawing conclusions on these data.

For instance, the new SLOC in the Moodle VLE adapter for GLUE! and in the equivalent for Basic LTI were of the same order of magnitude,although the latter offers a much more limited functionality, as discussed in Section 2.3. The development effort in the case of tool adapterswas also similar for both approaches (e.g. tool adapter for MediaWiki). That includes the integration of W3C widgets through GLUE! (andBasic LTI) in any supported VLE, which otherwise was feasible only for Moodle through a block that did not even implement the full ApacheWookie contract, and demanded a few more code lines. In contrast, ad hoc Moodle plugins normally require a significantly higher devel-opment effort. For example, with about 100 new lines and 5 programming hours, Kaltura Video was integrated in Moodle, LAMS andMediaWiki via GLUE!, while the equivalentMoodleModule needed one order ofmagnitude higher regarding the new SLOC for only one VLE.Interestingly, the initial effort on a GLUE! adapter for Moodle is quickly paid back after integrating two external tools like Kaltura andFacebook Live Stream with ad hoc plugins.

All in all, considering the data presented here, it can be concluded that GLUE! facilitates the development of adapters, progressivelyreducing the effort required to enact collaborative learning situations. Besides, this effort is similar to that in Apache Wookie and Basic LTIwhen integratingmultiple tools in multiple VLEs, even though GLUE! enables the integration of manymore tools than the former, and offersa better support for the instantiation and enactment of collaborative activities than the latter. Those that want to integrate two ormore toolsin the same VLE or the same tool in different VLEs bymeans of ad hoc approaches may consider the benefits of integrating themwith GLUE!.Evidences taken from the incremental effort among experiments and from comparisons with other approaches suggest that GLUE! requiresan attainable effort for the integration of new tools and VLEs, thus complying with REQ5.

4.3.6. Built over VLEs and tools (REQ6)Three VLE adapters and nine tool adapters are available for the GLUE! architecture at the time of writing (see section 3.4). All these

adapters were developed using the interfaces provided by existing VLEs and tools. Any VLE administrator can download the appropriate VLEadapter, and install it like any other VLE extension, indicating in a configuration parameter the GLUElet Manager that will receive therequests from this adapter. Any GLUE! administrator can download and install any of the available tool adapters, registering it (and the toolsit wraps) in the internal tool registry. Besides, the GLUE! administrator may decide to use some tool adapters provided by third-parties,different from those providing the GLUE! core and the external tools.

After surveying all the available adapters, it is possible to state that GLUE! is built over VLEs and tools, rather than modifying their code;thus complying with REQ6. The few restrictions on VLEs and tools, and the use of the adapter pattern are mainly responsible for thecompliance to this requirement.

Page 15: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137136

4.3.7. Other findingsApart from the findings aimed at evaluating the stakeholders’ requirements, some other interesting findings came out from the qual-

itative and quantitative data obtained from practitioners as part of four experiments. For example, both AN educators completely agreedthat GLUE! was able to support the reconfigurations they needed in the social distribution of learners at enactment time, due to somestudents’ absences; this fact was also pointed out in the interview with the ICTE educator.

Other interesting finding was the perception of a seamless integration of external tools by many students. Specifically, ICTE-2012students, which had never used LAMS before, were asked about whether the tools they employed (both built-in and external) wereperceived as integrated in LAMS. Significantly, external tools obtained similar results than LAMS built-in tools with, for instance, 82.6% ofstudents in agreement or complete agreement that Google Presentations was perceived as well-integrated. Qualitative comments alsosupported this finding: “All the tools are shownwithin the platform; I did not feel like moving to another web site at any moment”; “All theactivities are as a whole in LAMS”.

5. Conclusions and future work

This paper has presented GLUE!, an architecture that enables the integration of external tools in VLEs, meeting the requirements of themain stakeholders involved in the integration process. GLUE! is intended to be adopted by practitioners and institutions because: it does notrequire them to change their commonly-used VLE; it can integrate many external tools, including many of those frequently employed bypractitioners; and it facilitates the instantiation and enactment of complex collaborative learning situations, as those presented in theevaluation section.

Reference implementations of the GLUE! core and several adapters are available, and practitioners can currently integrate up toseventeen external tools in three different platforms. Nevertheless, these numbers are expected to keep growing, since GLUE! was designedto encourage contributions from developers, by facilitating the implementation of new adapters. Significantly, these contributions can bemade without modifying the original VLE and tool code, as expected by providers.

The compliance to most of the stakeholders’ requirements has been evaluated using four experiments, involving three authenticcollaborative learning situations from different knowledge domains. Real practitioners participated in the four experiments, employing fivedifferent external tools integrated with GLUE! in three different VLEs. Results showed that GLUE! allowed a reduction of up to 84% of theinstantiation time. Besides, the opportunity to collaborate using different tools within a single environment was very positively assessed bythe students. The development effort was similar to that in other loosely-coupled integration approaches, offering a greater benefit ascompared to ad hoc works, due to the reuse of code and the promotion of a many-to-many integration. Overall, the evaluation resultsconfirm that GLUE! satisfies the stakeholders’ requirements, and thus overcomes the limitations found in previous integration works.

Two open lines are currently under research to improve the GLUE! architecture. First, the current approach assumes that the credentialsneeded for managing external tool instances are centralized in the internal tool registry, while the credentials needed for accessing externaltool instances are directly requested to end-users. A solution based on adopted authentication and authorization mechanisms, such asOpenID (Recordon & Fitzpatrick, 2006) and OAuth (Network Working Group, 2011), has been designed (although not implemented yet), toimprove the way end-users manage external tool instances within VLEs. Second, the current approach assumes that educators mustinstantiate collaborative activities one by one from the VLE interface, as they are used nowadays. A greater benefit of GLUE! could be ex-pected if it were able to perform a batch deployment of a design created outside the VLE, since it would allow for design reuse in the case ofcomplex situations, and even for deploying the same design in different VLEs. Ongoing research aims at proposing a generic approach for theautomatic deployment in VLEs (creation of activities, groups, and tool instances) of collaborative scripts, created in authoring tools, andformalized in educational modeling languages (Prieto, Asensio-Pérez, Dimitriadis, Gómez-Sánchez, & Muñoz-Cristóbal, 2011). Significantly,by automating the deployment of collaborative scripts in VLEs, the educator does not need to worry about the particular usage of thedifferent group structures in each VLE (e.g. Moodle groupings turned out to be a problem for one educator in one of the experiments)(Alario-Hoyos et al., 2012).

Acknowledgments

This work has been partially funded by the Spanish Ministry of Economy and Competitiveness (TIN2008-03023, TIN2011-28308-C03-02and IPT-430000-2010-054) and the Autonomous Government of Castilla y Leon, Spain (VA293A11-2 and VA301B11-2). Authors also thankmembers of the GSICEMIC research team, especially David A. Velasco-Villanueva and Javier Aragón, for their work on the development of thereference implementations of the GLUE! core and some of the adapters.

References

Alario-Hoyos, C., Asensio-Pérez, J. I., Bote-Lorenzo, M. L., Gómez-Sánchez, E., Vega-Gorgojo, G., & Ruiz-Calleja, A. (2010). Integration of external tools in virtual learningenvironments: main design issues and alternatives. In Proceedings of the 10th International Conference on Advanced Learning Technologies, (ICALT 2010) (pp. 384–388).Sousse, Tunisia.

Alario-Hoyos, C., Muñoz-Cristóbal, J. A., Prieto, L. P., Bote-Lorenzo, M. L., Asensio-Pérez, J. I., Gómez-Sánchez, E., et-al. (2012). GLUE! – GLUE!-PS: an approach to deploy non-trivial collaborative learning situations that require the integration of external tools in VLEs. Accepted for the First Moodle Research Conference, Heraklion, Greece.

Alario-Hoyos, C., & Wilson, S. (2010). Comparison of the main alternatives to the integration of external tools in different platforms. In Proceedings of the InternationalConference of Education, Research and Innovation, (ICERI 2010) (pp. 3466–3476). Madrid, Spain.

Albretch, A. J., & Gaffney, J. E. (1983). Software function, source lines of code, and development effort prediction: a software science validation. IEEE Transactions on SoftwareEngineering, 9(6), 639–648.

Betbeder, M. L., & Tchounikine, P. (2003). SYMBA, a tailorable framework to support collective activities in a learning context. In Proceedings of the 9th International Workshopon Groupware (CRIWG 2003) (pp. 90–98). Grenoble, France.

Bote-Lorenzo, M. L., Gómez-Sánchez, E., Vega-Gorgojo, G., Dimitriadis, Y. A., Asensio-Pérez, J. I., & Jorrín-Abellán, I. M. (2008). Gridcole: a tailorable grid service based systemthat supports scripted collaborative learning. Computers & Education, 51(1), 155–172.

Bower, M., & Wittmann, M. (2011). A comparison of LAMS and Moodle as learning design technologies – teacher education students’ perspective. Teaching English withTechnology, Special Issue on LAMS and Learning Design, 11(1), 62–80.

Page 16: GLUE!: An architecture for the integration of external tools in Virtual Learning Environments

C. Alario-Hoyos et al. / Computers & Education 60 (2013) 122–137 137

Dagger, D., O’Connor, A., Lawless, S., Walsh, E., & Wade, V. P. (2007). Service-oriented E-learning platforms: from monolithic systems to flexible services. IEEE InternetComputing, 11(3), 28–35.

De-la-Fuente-Valentín, L., Pardo, A., & Delgado-Kloos, C. (2011). Generic service integration in adaptive learning experiences using IMS learning design. Computers &Education, 57(1), 1160–1170.

Dewan, P. (2001). An integrated approach to designing and evaluating collaborative applications and infrastructures. Computer Supported Cooperative Work, 10(1), 75–111.P. Dillenbourg (Ed.), (1999). Collaborative learning: Cognitive and computational approaches. Oxford, UK: Elsevier Science.Dillenbourg, P., Schneider, D. K., & Synteta, P. (2002). Virtual learning environments. In Proceedings of the 3rd Hellenic Conference iInformation & Communication Technologies in

Education (pp. 3–18). Rhodes, Greece.Fontela, J., Caeiro, M., & Llamas, M. (2009). Towards a generalized architecture for the integration of tools in LMSs. International Journal of Emerging Technologies in Learning,

4(S1), 6–11.Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design patterns: Elements of reusable object-oriented software. Reading, MA, USA: Addison-Wesley.Ghiglione, E., & Dalziel, J. (2006). Design principles for LAMS version 2 and the LAMS “Tools contract”. In Proceedings of the TenCompetence Conference Workshop (pp. 1–15),

Barcelona, Spain.Gómez-Sánchez, E., Bote-Lorenzo, M. L., Jorrín-Abellán, I. M., Vega-Gorgojo, G., Asensio-Pérez, J. I., & Dimitriadis, Y. (2009). Conceptual framework for design, technological

support and evaluation of collaborative learning. International Journal of Engineering Education, 25(3), 557–568.Hernández-Leo, D., Villasclaras-Fernández, E. D., Asensio-Pérez, J. I., Dimitriadis, Y., & Retalis, S. (2006). CSCL scripting patterns: hierarchical relationships and applicability. In

Proceedings of the 6th IEEE International Conference on Advanced Learning Technologies, (ICALT 2006) (pp. 388–392). Kerkrade, The Netherlands.IMS Global Learning Consortium. (2003). IMS learning design specification. URL. http://imsglobal.org/learningdesign Last visited: March 2012.IMS Global Learning Consortium. (2006). IMS tool interoperability guidelines. Version 1.0. URL. http://imsglobal.org/ti Last visited: March 2012.IMS Global Learning Consortium. (2010). IMS GLC learning tools interoperability basic LTI implementation guide. URL. http://www.imsglobal.org/lti/blti/bltiv1p0/ltiBLTIimgv1p0.

html Last visited: March 2012.Isotania, S., Mizoguchia, R., Inabaa, A., & Ikeda, M. (2010). The foundations of a theory-aware authoring tool for CSCL design. Computers & Education, 54(4), 809–834.Jorrín-Abellán, I. M., & Rubia-Avi, B. (2007). What the eye doesn’t see: An Inquiry (cowiki) based learning case study. In Proceedings of the 3rd International Congress of

Qualitative Inquiry (pp. 266). Urbana-Champaign, Illinois, USA.Kitchenham, B. A. (1997). Evaluating software engineering methods and tool part 7: planning feature analysis evaluation. SIGSOFT Software Engineering Notes, 22(4), 21–24.R. Koper, & C. Tattersall (Eds.), (2005). Learning design, a handbook on modelling and delivering networked education and training. Heidelberg, Germany: Springer.Koschmann, T. (1996). CSCL: Theory and practice of an emerging paradigm. Malwah, NJ, USA: Lawrence Erlbaum.Livingstone, D., & Kemp, J. (2008). Integrating web-based and 3D learning environments: second life meets Moodle. UPGRADE: The European Journal for the Informatics

Professional, 9(3), 8–14.Louvel, J., Templier, T., & Boileau, T. (2012). Restlet in action. Greenwhich, CT, USA: Manning Publications Co.Martínez, A., Dimitriadis, Y., Rubia, B., Gómez, E., & De-la-Fuente, P. (2003). Combining qualitative evaluation and social network analysis for the study of classroom social

interactions. Computers & Education, 41(3), 353–368.Navarrete, T., Santos, P., Hernández-Leo, D., & Blat, J. (2011). QTIMaps: a model to enable web maps in assessment. Educational Technology & Society Journal, 14(3), 203–217.Network Working Group. (2005). The atom syndication format. URL. http://ietf.org/rfc/rfc4287 Last visited: March 2012.Network Working Group. (2011). The OAuth 2.0 authorization protocol. Internet Draft. URL. http://tools.ietf.org/html/draft-ietf-oauth-v2-25 Last visited: March 2012.Pendharkar, P. C., & Rodger, J. A. (2007). An empirical study of the impact of team size on software development effort. Information Technology and Management, 8(4), 253–262.Prieto, L. P., Asensio-Pérez, J. I., Dimitriadis, Y., Gómez-Sánchez, E., & Muñoz-Cristóbal, J. A. (2011). GLUE!-PS: a multi-language architecture and data model to deploy TEL

designs to multiple learning environments. In Proceedings of the 6th European Conference on Technology Enhanced Learning, (ECTEL 2011) (pp. 285–298). Palermo, Italy.Recordon, D., & Fitzpatrick, B. (2006). OpenID authentication 1.1. URL. http://openid.net/specs/openid-authentication-1_1.html Last visited: March 2012.Richardson, L., & Ruby, S. (2007). RESTful web services. Sebastopol, CA, USA: O’Reilly Media, Inc.Vinoski, S. (2007). REST eye for the SOA guy. IEEE Internet Computing, 11(1), 82–84.Vogten, H., Martens, H., Nadolski, R., Tattersall, C., van Rosmalen, P., & Koper, R. (2006). CopperCore service integration – integrating IMS learning design and IMS question and

test interoperability. In Proceedings of the 6th International Conference on Advanced Learning Technologies, (ICALT 2006) (pp. 378–382). Kerkrade, The Netherlands.Walden, J., Doyle, M., Lenhof, R., & Murray, J. (2010). Idea: Java vs. PHP: security implications of language choice for web applications. In Proceedings of the 2nd Engineering

Secure Software and Systems, (ESSoS 2010) (pp. 61–69). Pisa, Italy.Weller, M. (2007). Virtual learning environments: Using, choosing and developing your VLE. Oxford, UK: Routledge.Weller, M., & Dalziel, J. (2007). Bridging the gap between web 2.0 and higher education. In Proceedings of the 2nd International LAMS conference (pp. 76–82). Sydney, Australia.Wilson, S., Sharples, P., & Griffiths, D. (2008). Distributing education services to personal and institutional systems using widgets. In Proceedings of the 1st International

Workshop on Mashup Personal Learning Environments (MUPPLE 2008) (pp. 25–32). Maastricht, The Netherlands.World Wide Web Consortium. (2009). XForms 1.1 W3C recommendation. URL. http://w3.org/TR/xforms/ Last visited: March 2012.World Wide Web Consortium. (2011a). Widget packaging and XML configuration, W3C recommendation. URL. http://w3.org/TR/widgets/ Last visited: March 2012.World Wide Web Consortium. (2011b). HTML5: A vocabulary and associated APIs for HTML and XHTML, W3C working draft. URL. http://dev.w3.org/html5/spec/Overview.html

Last visited: March 2012.