Wednesday, June 5, 2019
Computer Supported Cooperative Work (CSCW)
Computer Supported Cooperative relieve oneself (CSCW)Abstract- In the Computer Supported Cooperative officiate (CSCW) domain, researchers fetch always wondered about which principles and models to adopt for the development of cooperative coatings capable to really meet the needs of their exploiters. However, these substance ab exploiters requirements argon unpredictable and depend on some(prenominal) task or environment-related factors. Integrated cooperative environments argon r atomic number 18ly open, extensible and reconfigurable enough so as to meet these requirements. This paper presents an environment, called LEICA (Loosely-coupled environment for Integrating cooperative Applications), allowing the desegregation of real cooperative occupations. LEICA adopts a loosely-coupled desegregation antenna shot which is based on clear usefulnesss Services technology, an event notification system, and the definition of coaction Policies to crack the interactions amon g co-ordinated coatings. LEICA allows different functionalities of alive covers to be dynamically combined and subdueled, enhancing therefore the tractableness. Through a case study we show how LEICA was successfully employ to integrate three cooperative applications a co-browsing tool, an pulsation messaging tool and a VoIP assembly imageler.Index Terms- cooperative work, compound cooperative environments, web values.INTRODUCTIONAdvances in networking and computing technologies, combined with the fact that companies and work teams be becoming geographically distributed, switch performd increased a need for communication technologies to ease distance coaction among distributed individuals (virtual work teams). This leads to the appearing of the so-called Integrated coaction environss (ICEs), having as main goal to integrate different cooperative applications together into a single easy-to-use working(a) environment 1.Users needs are very frequently unpredictabl e and depending on some(prenominal)(prenominal) emerging factors, including the size of the workgroup, the cooperative activities to be fulfil, the intensiveness of the required communications, the coordination constitution and the communication needs of the workgroup. Therefore, the possibility of dynamically integrating new functionalities to the environment appears as an measurable characteristic for collaborative applications 3. Supporting the consolidation of new collaborative functionalities reflects how flexible the environment is while responding to unpredictable users needs. We gutter define this characteristic as consolidation tractableness that denotes the ease with which an ICE shadow be its functionalities in response to the users needs.Nowadays one of the main problems of ICEs is that their lack of integrating flexibility and as consequence various users decide to solidifying-up their own environments composing different collaborative applications execute d unaffiliatedly. In this case, for to each one one application is completely isolated from others, without each possibility of coordination among them. This lack of desegregation can lead to a loss of chequer from the part of the user, since the operation environment is particularly artificial.Promoting the integrating flexibility of ICEs could bring significant benefits to users, allowing different functionalities of existing applications to be dynamically combined and controlled (enhancing therefore the flexibility itself). For character, a whiteboard application can be integrated with an secondment messaging application in such a way that whenever a user joins an instant messaging room, he is automatically logged into the same whiteboard session, instead of been forced to manually login into a session of each one of these collaborative tools. some other case could be the integration of a distributed game and an sound recording recording group discussion application. Whenever a user avatar enters a aim/place into the game, his is logged into the audio conference session associated to that take/place, so that the users can online discuss with each other.In ensnare to achieve the integration of existing collaborative applications without having to deal with their low- aim features, this work presents LEICA, a Loosely-coupled Environment for Integrating Collaborative Applications. Relying on meshing services Services (WS) technologies and an event notification system, different collaborative applications can interoperate by exchanging schooling at bottom the consideration of a global collaborative session. The loosely-coupled approach send wordd by LEICA overcomes a key problem usually related to integration environments it does not require a unbent semantic integration of applications. Accordingly, it supports further integration possibilities, such as the integration of third party applications, enhancing, thus, flexibility.LEICA a a t he worry erects flexibility in the direct of the integration semantics. found on quislingism Policies to control the interactions between integrated applications, LEICA provides means to define how the collaboration activity supported by one collaborative application lead be affected by info received from other collaborative applications. In practice, these collaborative applications interact by dint of the notification of events which may lead to do unique(predicate) action(s) in some of these applications themselves.As we allow for explain later in detail, we think that once a collaborative session has been configured, the use of LEICA can improve users productivity by reducing the application-related administrative tasks, focusing on the dot on the collaboration activity itself, and all that by just by rendering the rules stated for a particular session, all this in function of some pre-established constitution rules (to a fault to be explained in detail later). In this way users will influence a more natural collaboration environment from the users point of view.In hallow to illustrate the usability of LEICA in real-world conditions, this paper presents a case study that demonstrates the capacitance of LEICA to integrate collaborative applications. In this case study, LEICA was successfully employ to integrate three collaborative applications a co-browsing tool, instant messaging tool and a VoIP conference controller.The paper is structured as follows. role II presents related work regarding the integration of CSCW systems. portion III overviews the general integration approach purportd by LEICA. Section IV explains how to specify coaction Policies. Section V presents the LEICAs architecture, detailing how to integrate applications in practice. Some implementation issues are considered in section VI. Section seven-spot describes a case study illustrating the use of LEICA. Finally, in section sevensomeI we draw some conclusions and p resents directions of future work.RELATED WORKThere are some(prenominal) works oriented to improving integration flexibility of collaborative environments. In this scope, four main approaches can be identified user-tailorable solutions CSCW toolkits middleware based solutions and platforms for integration of sundry(prenominal) collaborative systems.User-Tailorable SolutionsAs stated in 2, different definitions of tailorability can be found in the literature. Most of them focus on user tailorability (3, 4, 5 6) define that a tailorable application can be adapted and modified by its own users in order to meet their different requirements. In CSCW, tailorability must focus on the requirements of the group task and of the organization, in which the CSCW system is employ 5. Actually, tailorability is one of the main concerns of groupware development methods. For example, application of participatory design methods (7 8) has been proposed in order to approach the user involvement during groupware development, augmenting thus the opportunities for tailoring.According to 6, tailoring can be supported in three different levels customization, selecting among a dance band of pre specify configuration options integration, linking together pre delineate components deep down or between applications extension, improving the implementation by adding new program code. Most of user-tailorable groupware tools support only the customization or integration level (e.g. 2 9). Note that the integration level supposes that the functionality to be integrated has been pre- give rise and is available somewhere 6. Only at the extension level users would be able to integrate new functionalities, even if they kick in not been anticipated by developers at design time.A method frequently use for supporting tailoring at the extension level is the component-based tailoring. For example, in 10, components are implemented using Flexibeans (an extension of the Java Beans model) and en d-users tailor the system using a composition language. In 11, end-users may assemble components into larger manifold components using the visual representation rather than writing lines of code. However, even at the extension level the integration flexibility is partial as the integration of existing collaborative systems or groupware would require them to be redesigned check to the system architecture.CSCW ToolkitsCSCW toolkits ease the implementation of CSCW systems by providing reusable components and behaviors designed to be applicable in a range of circumstances 12. The need for flexibility and tailorability in CSCW toolkits is sanitary acknowledged.The Neem Platform 13 passs a generic (application-neutral) evolvable role model upon which socially and culturally aware applications are stimulate. Flexibility and extensibility in Neem result from its foundation on a core architectural coordination model 13 decoupled components interact indirectly by dint of message excha nges. intermezzo 14 is a collaboration support environment supporting the coordination information sharing, offering fluid interactions, user awareness, session steering and policy control. It addresses dynamic flexibility 12 by allowing applications to adapt not just their own behavior, but also the behavior of the toolkit in responding to the changing dynamics of the world they run into.The Groupware Toolkit/Shared Dictionary (or GT/SD) toolkit 1516 has been developed to support rapid development of groupware, focusing mainly on networking and data sharing aspects. GT/SDs extensibility is based on its modular design, which allows adding or modifying behavior by replenishment or wrapping different components.Toolkits may represent an interesting solution for helping the development of CSCW systems, as they promote the reuse of components. But in general, CSCW toolkits offer a limited set of functionalities or they are target for some particular kind of domain. Besides, to reuse components of the toolkit, developers often need to implement very specific details of the toolkit in order to adapt it to the application needs 1617.Middleware based solutionsThe integration of varied applications has been a widely investigated subject, mainly in distributed systems area. General integration solutions based on middleware, bid CCM (CORBA Component Model), .NET and Enterprise JavaBeans pack been developed. Moreover, integration solutions associated with specific domains fork out also been proposed, such as Enterprise Application desegregation systems 1718. The emergence of Web services WS has also led to the development of general solutions for integration of distributed applications, due mainly to the use of open standards.In the CSCW domain, some middleware-based solutions view as been proposed. Dustdar et al. 1819 discuss the importance of using Web services WS in order to provide collaborative application interoperability. But in order to be integrated, col laborative applications must originally support Web servicesWS. Even if Web servicesWS represent an emerging software trend, only a limited set of collaborative applications are currently supporting these technologies.As an enhancement to traditional middleware, some SOA (Service Oriented Architecture) solutions have also been proposed. For example, WGWSOA 1920 uses Web ServicesWS as an access interface in order to support the reuse and the interoperability of different collaborative services. But an substantial drawback of WGWSOA is that collaborative services must be developed following the respective middleware architecture.It is also classical to note that like WGWSOA, most middleware based solutions present technical responses to the so called syntactic interoperability 2021. They provide mechanisms allowing applications to communicate and interact through information exchange. But harmonise to 2122, the integration concept goes beyond the possibility of sharing and exchangi ng specific information. Applications must agree upon the meaning (or the semantics) of these exchanges. In other words, integration solutions should provide means for defining integration semantics. Thus, interoperability can be seen as a requirement for integration.The EcoSpace Project 2223 proposes an environment that, besides being based on SOA and Web servicesWS, relies on semantic Web technologies (WSDL-S with services ontologies) to support semantic description of collaborative services. Besides a semantic description of each service, it would be necessary a semantic description of the composition of services so as to coordinate their orchestration. However, this part of the project remains as design aspect. Moreover, using Web serviceWSs as integration technology may imply some performance loss, particularly associated to the use of SOAP (Simple Object approach Protocol) 2324.Luo et al. 2425 claim that Web ServicesWS should be only use in situations which are really heterog eneous. They propose a service-oriented solution for the integration of collaborative applications that, instead of using SOAP, adopts a unified service bus (implemented through an open source Enterprise Service Bus).Platforms for integrating heterogeneous collaborative systemsThe latter latest approach to improve the integration flexibility of collaborative environments is to constrain platforms aiming specifically at the integration of collaborative applications. They focus on the integration of collaborative functionalities provided by these applications while trying to define whatsoever semantics behind integration.Iqbal et al. 2526 propose an integrative framework based on the three-level model presented by 2627 the Ontological Model specifies shared objects, their relations and taxonomies the Coordination Model specifies how interactions take place during system proceeding and the User Interface Model specifies how the system is presented to the final user. integrating pro cess consists firstly in identifying, for each collaborative application, the elements associated with these three models. Then, on each level the elements from different applications are grouped and merged when equivalent. As a result, common ontological, coordination and user interface models are generated. In spite of enabling a multi-level integration, this approach requires an internal knowledge of the collaborative applications so that their functionalities can be mapped into the three-level model. Accordingly, the integration of third party applications becomes a complex task.In order to avoid considering application internals during the integration process (facilitating the integration of existing applications), some integration solutions propose the so called loosely-coupled approach. This approach presents two main features (i) once integrated to the environment, collaborative applications hold back their autonomy, i.e., they can still be utilise as standalone applicatio n (ii) the integration environment remains free-lance of integrated applications, and checkly, applications can be integrated and stranded from the environment without compromising its behavior. This last feature is particularly pregnant considering the integration flexibility aspect. In fact, in a loosely-coupled environment, the set of integrated applications must be easily modified consort to users needs.Systems like AREA 2728 and NESSIE 2829 have proposed a loosely-coupled integration for supporting cross-application awareness. Both systems represent a collaborative environment where independent applications can share a common information space, implemented through an event notification system. Users can receive notifications of activity relevant events from different applications (executed by other users). An important aspect of these systems is the use of open Internet technologies (such as HTTP and CGI) to enable the integration of third party collaborative applications. However, the main drawback of both systems is that the integration semantics is statically defined collaborative applications are integrated so as to offer a common awareness of the whole collaboration activity.another(prenominal) proposal also based on a loosely-coupled approach is the framework XGSP 2930. XGSP proposes the integration of audio and videoconferencing tools based on SIP and H.323 standards, as comfortably as the integration of nark Grid applications 3031. In this framework, XGSP manager servers are in charge of controlling collaborative sessions. A different gateway is defined for each application cause (i.e. SIP, H.323 and Access Grid applications). Using a signaling protocol based on Web servicesWS, these gateways are employed to mediate the communication between applications and XGSP servers. An important disadvantage of XGSP is the fact that, originally, it only allows the integration of application based on SIP, H.323 and Access Grid.Loosely-coupling is als o inherent to the Web servicesWS based solutions presented in the previous section. similarly to those solutions, LEICA represents an integration environment that proposes a loosely-coupled approach based on Web servicesWS technologies.Regarding the performance implications of SOAP, Alonso et al. 3132 suggest that Web ServicesWS technologies should be used only to implement coarse-gained interactions, where the advert of the overhead associated to SOAP would be less important. Following the recommendations of 3132, Web servicesWS are employed by LEICA for coarse-grained operations only. As it will be dilate in the following sections, LEICA defines a hybrid architecture where Web ServicesWS are applied as an initial mechanism for registering newly integrated applications, as well as for setting and starting up collaborative sessions. Then, during the execution of integrated collaborative sessions a different infrastructure is used to interconnect collaborative applications. Anoth er important aspect concerns integration semantics. Unlike the previous solutions, LEICA provides users with the possibility to define the desired integration semantics for each collaborative session.The Integration Environment LEICALEICA aims at the integration of different collaborative applications, where integration semantics is to be defined according to user requirements. Before explaining the general integration approach and the behavior of LEICA, a possible scenario is presented to conk out illustrate the advantages of such integration.Integration ScenarioAn important domain where collaborative environments have been largely used is e-Learning. In particular, a CVE (Collaborative Virtual Environment) can be used to implement a 3D shared world representing a school building divided into one entrance hall, classrooms, and teachers rooms. Different collaborative applications could be associated to each room (i) a chat room associated to the entrance hall (ii) a collaborative w eb browsing (it would enable teachers to guide students through lecture notes) and an audio conference tool associated to the classrooms and (iii) a shared whiteboard associated to each of the teachers room.Un paragraphe pour montrer la situation Utilisation des outils non integres, et lintgration avec LEICA.With this integration semantics, whenever an avatar enters into a room, the respective user is automatically connected to the associated collaborative application(s). Besides, only authorized users should enter into private rooms (e.g. the teachers rooms with its whiteboard could be restricted to teachers). Another possible behavior qualify by this integration semantics is some kind of floor coupling between the two applications used as a support for virtual class sessions. This way, it would be possible to assure that the user holding the Web browsing floor (i.e. the one guiding the lecture notes browsing) is the only one to have the right to say to the class attendees.Genera l Integration ApproachAs previously mentioned, and illustrated in Fig. 1, LEICA follows a hybrid architecture where Web ServicesWS are applied at the collaborative sessions start up, and an event notification system allows collaborative applications to interact through the exchange of event notifications. Two other basic components of LEICA are the Wrappers and the Session conformity Service (SCS).The integration of a collaborative application to LEICA is achieved by attaching a Wrapper to it. Three main cases may be considered a) open source applications, b) API-based applications, and c) applications without every available API. Integration of open source applications can achieve the tightest interaction degree, since some(prenominal) internal event/action can be exported/performed it might just imply great development efforts. API-based integration is straightforward, and interaction is limited to the provided API. Applications without API are the most limitating ones, constra ining to interact only through application start and blank out actions.LEICAs integration approach is mainly driven by case (b), believing that developers are certainly interested in creating specific and performable collaboration tools that can be used either stand-alone or integrated with other applications (through a flexible API, being able to get a great share of the market). This is for display case the case of Skype, a successful example of communication tool that has released its API since some time ago.Fig. 2 summarizes LEICAs general integration framework. The first step of the LEICAs integration framework is the Collaborative Application Integration. For instance, in the illustrative scenario presented in III.A, the first step to integrate the CVE with the instant messenger (supporting the chat room associated to the entrance hall), the collaborative Web browser and the audio conference applications, it is necessary to create a Wrapper for each one of these applications . As enlarge in Section V, these wrappers can be automatically generated by LEICAs API Factory, based on the API description of each collaborative application. The Wrappers comprise a Web services Services WS interface allowing the collaborative application to register itself with LEICA. As illustrated by Fig. 1, through the Wrappers Web servicesWS ports, the integrated application can interact with the Session soma Service (SCS).The SCS is a Web service Service WS used for (i) configuring new global SuperSessions and (ii) starting up SuperSessions. A SuperSession is an integrated collaborative session holding the whole collaboration activity. inwardly the context of a global SuperSession, different specificSessions can exist. A specificSession is a conventional collaborative session defined within the context of a collaborative application (e.g. a videoconference session, a whiteboard session, etc.).The SCS dynamically contacts each integrated application, during the SuperSessio n configuration process, in order to request (i) which specific data is required to create specificSessions for this respective application (e.g. a videoconference tool could require an IP multicast address) and (ii) which kind of events it can notify, and action requests it can handle. The interaction degree among the integrated applications depends essentially on the nature of the events they are able to exchange, and actions they are able to perform.In order to create a SuperSession, a user must define its integration semantics. It is fulfill by configuring the Collaboration Policy. A Collaboration Policy is a set of rules under a condition/action model. These rules define how collaborative applications must play off when receiving information (events) notified by other integrated applications. In other words, the specification of Collaboration Policies allows defining specific integration semantics (i.e. how to coordinate integrated applications) to each SuperSession, accordin g to the different users requirements.Once a SuperSessions has been created (and its associated configuration file is generated), it can finally be started up. The SCS firstly contacts each integrated collaborative application requesting them to create the specificSessions defined in the SuperSession. Then, during the execution of collaborative sessions the integrated application can interact through the exchange of event using the Event Notification System. According to predefined Collaboration Policies, these notifications may lead specific actions to be performed.Wrappers are in charge of managing the SuperSessions Collaboration Policy. When the Wrapper of a collaborative application receives event notifications, it verifies if the notified events enable any policy rule concerning this collaborative application. If so, the Wrapper sends action requests to the respective application. Note that LEICA is not intended to support low-level physical events (e.g. mouse click/scrolling) or high frequency synchronization events (e.g. current position of moving objects). It aims at supporting activity relevant events that carry some semantics.SuperSession ConceptAs previously mentioned, LEICA controls the whole collaboration activity within the context of a global SuperSession. A SuperSession model has been defined in order to scarce identify and describe its components. found on this model, LEICA maintains concise and coherent SuperSession state information. Furthermore, a well-defined taxonomy of the components and their attributes are also implied from the model.General models for describing collaborative applications have already been proposed in the literature. Some of them 2627 3233 represent a conceptual or ontological model describing the entities and relationships of individual CSCW systems. Few models aim at describing integrated CSCW systems, like OOActSM 3334 and the conceptual model presented in 3435. However, these models are based on the notion of a general activity as the central abstraction, which was considered rather abstract for a detailed specification of the SuperSession. Nevertheless, these models have inspired several concepts adopted in the defined SuperSession model.The SuperSession represents a collaboration activity involving different integrated applications, a group of users and general roles associated to these users.Formally, a CIE Session CS is a tupleSS = (SSid, CA , NA , Rl , U , SSat)whereSSid is a unique identifierCA = CAi i 1,I is a exhaustible set of collaborative applications where CAi = (CAidi, spSi, CAati) a specific collaborative application running a set of specificSessions (sSi). CAati is a list of attributes characterizing the collaborative application. These attributes provide information about the application description, including name, showcase, whether it is a role-based application, its distribution architecture (client/server, multi-servers, peer-to-peer) and the grammatical casefac e of user applications (stand-alone or webWeb-based).)NA is a mortal set of non-collaborative applications (data converters, databases, web applications, etc.)Rl = Rlk k 1,K is a finite set of general roles. The concept of general role refers to a group of users owning the same set of responsibilities and privileges inside LEICARlk = (Rlidk , Rlatk). Rlidk is a unique role identifier and Rlatk is a list of attributes characterizing this general role. This list provides details like roles description, membership and administration rights. Regarding the membership, it defines how the role is associated with users it may be either (i) a static association (there is a membership list), (ii) an automatic association (there is a predicate function based on users parameters and SuperSession state) or (iii) a users choice (password protected or not).)U = Ul l 1,L is a finite set of connected usersUl = (Uidl, URlidl, Mbl, Uatl) represent a user, where Uidl is a unique identifier URlid l is one general role associated with the user Mbl is a finite set of membership relations Uatl is a list of attributes (name, email, IP address, network connection, device type, etc.)Mbl.n = (mCAidl.n , mSidl.n , msRlidl.n) is a membership relation, where mCAidl.n is an application identifier mSidl.n is a specificSession identifier msRlidl.n is a finite set of specific roles identifiers. Thus, each membership relation indicates the participation of a connected user to a specificSession of a collaborative application (once connected to the SuperSession, a user can concurrently take part in none, one or more specificSessions of different collaborative applications)SSat is a list of attributes characterizing the SuperSession. These attributes describe information like session context (name, purpose, etc.), scheduling (if scheduled or not, duration, etc.), accessibility type (open or closed), role association type (how users are associated to a general role) and upper limit number of c onnected users.A specificSession regards a conventional collaborative session of a collaborative application. The role of the specificSession entity (spSi.m), wich is formally represented by the tuplespSi.m = (Sidi.m, sRli.m, pUidi.m, Rsi.m, spSati.m)is not to just now describe each aspect of a collaborative task. Instead, it captures relevant elements like the specific roles defined for this session (sRli.m), the users participating to this session (pUidi.m.) and the shared choices accessed by these users (Rsi.m).A specific role is a tuple, sRli.m.o = (sRlidi.m.o, sRlati.m.o), where sRlidi.m.o is a specific role identifier and sRlati.m.o is a list of attributes characterizing the specific role (description and utmost number of simultaneous users).A mental imagery is also a tuple Rsi.m.p= (urli.m.p, Rsati.m.p ), where urli.m.p is a resource locator and Rsati.m.p is a list of attributes characterizing the resource. The purpose of the resource element is simply to allow the implem entation of an inter-application access control mechanism. LEICA will not need to keep the state of each resource. Thus, resources attributes just describe its type (file, device, virtual object, interface widget, etc.) and the read/write access type (exclusive or concurrent).SuperSession ConfigurationIn order to create a SuperSession, a two step configuration process is carried out (i) Session focal point configuration and (ii) Collaboration Policy configuration.In the first configuration step, two groups of information should be contractGeneral Session focus information (GSMinfo) It carries way information such as scheduling, membership and general user roles.Integrated Applications information (IAinfo) It defines the list of integrated applications to be used during this SuperSession for each collaborative application, a list of specificSessions is defined, where specific data required by this application for creating sessions is provided (e.g. a videoconference application w ill be provided with an IP multicast address).Once Session circumspection configuration is completed, the Collaboration PolicComputer Supported Cooperative Work (CSCW)Computer Supported Cooperative Work (CSCW)Abstract- In the Computer Supported Cooperative Work (CSCW) domain, researchers have always wondered about which principles and models to adopt for the development of collaborative applications capable to really meet the needs of their users. However, these users requirements are unpredictable and depend on several task or environment-related factors. Integrated collaborative environments are rarely open, extensible and reconfigurable enough so as to meet these requirements. This paper presents an environment, called LEICA (Loosely-coupled Environment for Integrating Collaborative Applications), allowing the integration of existing cooperative applications. LEICA adopts a loosely-coupled integration approach which is based on Web services Services technology, an event notifica tion system, and the definition of Collaboration Policies to control the interactions among integrated applications. LEICA allows different functionalities of existing applications to be dynamically combined and controlled, enhancing therefore the flexibility. Through a case study we show how LEICA was successfully used to integrate three collaborative applications a co-browsing tool, an instant messaging tool and a VoIP conference controller.Index Terms-Collaborative work, integrated collaborative environments, web services.INTRODUCTIONAdvances in networking and computing technologies, combined with the fact that companies and work teams are becoming geographically distributed, have created increased a need for communication technologies to ease distance collaboration among distributed individuals (virtual work teams). This leads to the appearing of the so-called Integrated Collaboration Environments (ICEs), having as main goal to integrate different collaborative applications toge ther into a single easy-to-use in operation(p) environment 1.Users needs are very frequently unpredictable and depending on several emerging factors, including the size of the workgroup, the collaborative activities to be accomplished, the intensiveness of the required communications, the coordination policy and the communication needs of the workgroup. Therefore, the possibility of dynamically integrating new functionalities to the environment appears as an important characteristic for collaborative applications 3. Supporting the integration of new collaborative functionalities reflects how flexible the environment is while responding to unpredictable users needs. We can define this characteristic as integration flexibility that denotes the ease with which an ICE can be its functionalities in response to the users needs.Nowadays one of the main problems of ICEs is that their lack of integration flexibility and as consequence various users decide to set-up their own environments co mposing different collaborative applications executed independently. In this case, each application is completely isolated from others, without any possibility of coordination among them. This lack of integration can lead to a loss of control from the part of the user, since the operation environment is particularly artificial.Promoting the integration flexibility of ICEs could bring significant benefits to users, allowing different functionalities of existing applications to be dynamically combined and controlled (enhancing therefore the flexibility itself). For instance, a whiteboard application can be integrated with an instant messaging application in such a way that whenever a user joins an instant messaging room, he is automatically logged into the same whiteboard session, instead of been forced to manually login into a session of each one of these collaborative tools. Another case could be the integration of a distributed game and an audio conference application. Whenever a u ser avatar enters a level/place into the game, his is logged into the audio conference session associated to that level/place, so that the users can online discuss with each other.In order to achieve the integration of existing collaborative applications without having to deal with their low-level features, this work presents LEICA, a Loosely-coupled Environment for Integrating Collaborative Applications. Relying on Web services Services (WS) technologies and an event notification system, different collaborative applications can interoperate by exchanging information within the context of a global collaborative session. The loosely-coupled approach proposed by LEICA overcomes a key problem usually related to integration environments it does not require a admittedly semantic integration of applications. Accordingly, it supports further integration possibilities, such as the integration of third party applications, enhancing, thus, flexibility.LEICA also offers flexibility in the le vel of the integration semantics. Based on Collaboration Policies to control the interactions between integrated applications, LEICA provides means to define how the collaboration activity supported by one collaborative application will be affected by information received from other collaborative applications. In practice, these collaborative applications interact through the notification of events which may lead to execute specific action(s) in some of these applications themselves.As we will explain later in detail, we think that once a collaborative session has been configured, the use of LEICA can improve users productivity by reducing the application-related administrative tasks, focusing merely on the collaboration activity itself, and all that by just by interlingual rendition the rules stated for a particular session, all this in function of some pre-established policy rules (also to be explained in detail later). In this way users will muster up a more natural collabora tion environment from the users point of view.In order to illustrate the usability of LEICA in real-world conditions, this paper presents a case study that demonstrates the capableness of LEICA to integrate collaborative applications. In this case study, LEICA was successfully used to integrate three collaborative applications a co-browsing tool, instant messaging tool and a VoIP conference controller.The paper is structured as follows. Section II presents related work regarding the integration of CSCW systems. Section III overviews the general integration approach proposed by LEICA. Section IV explains how to specify Collaboration Policies. Section V presents the LEICAs architecture, detailing how to integrate applications in practice. Some implementation issues are considered in section VI. Section VII describes a case study illustrating the use of LEICA. Finally, in section VIII we draw some conclusions and presents directions of future work.RELATED WORKThere are several works o riented to improving integration flexibility of collaborative environments. In this context, four main approaches can be identified user-tailorable solutions CSCW toolkits middleware based solutions and platforms for integration of heterogeneous collaborative systems.User-Tailorable SolutionsAs stated in 2, different definitions of tailorability can be found in the literature. Most of them focus on user tailorability (3, 4, 5 6) defining that a tailorable application can be adapted and modified by its own users in order to meet their different requirements. In CSCW, tailorability must focus on the requirements of the group task and of the organization, in which the CSCW system is used 5. Actually, tailorability is one of the main concerns of groupware development methods. For example, application of participatory design methods (7 8) has been proposed in order to approach the user involvement during groupware development, augmenting thus the opportunities for tailoring.According t o 6, tailoring can be supported in three different levels customization, selecting among a set of predefined configuration options integration, linking together predefined components within or between applications extension, improving the implementation by adding new program code. Most of user-tailorable groupware tools support only the customization or integration level (e.g. 2 9). Note that the integration level supposes that the functionality to be integrated has been pre-developed and is available somewhere 6. Only at the extension level users would be able to integrate new functionalities, even if they have not been anticipated by developers at design time.A method frequently used for supporting tailoring at the extension level is the component-based tailoring. For example, in 10, components are implemented using Flexibeans (an extension of the Java Beans model) and end-users tailor the system using a composition language. In 11, end-users may assemble components into larger mixed components using the visual representation rather than writing lines of code. However, even at the extension level the integration flexibility is partial as the integration of existing collaborative systems or groupware would require them to be redesigned according to the system architecture.CSCW ToolkitsCSCW toolkits ease the implementation of CSCW systems by providing reusable components and behaviors designed to be applicable in a range of circumstances 12. The need for flexibility and tailorability in CSCW toolkits is well acknowledged.The Neem Platform 13 offers a generic (application-neutral) evolvable framework upon which socially and culturally aware applications are developed. Flexibility and extensibility in Neem result from its foundation on a core architectural coordination model 13 decoupled components interact indirectly through message exchanges.interlude 14 is a collaboration support environment supporting the coordination information sharing, offering fluid in teractions, user awareness, session management and policy control. It addresses dynamic flexibility 12 by allowing applications to adapt not just their own behavior, but also the behavior of the toolkit in reacting to the changing dynamics of the world they run into.The Groupware Toolkit/Shared Dictionary (or GT/SD) toolkit 1516 has been developed to support rapid development of groupware, focusing mainly on networking and data sharing aspects. GT/SDs extensibility is based on its modular design, which allows adding or modifying behavior by renew or wrapping different components.Toolkits may represent an interesting solution for helping the development of CSCW systems, as they promote the reuse of components. But in general, CSCW toolkits offer a limited set of functionalities or they are target for some specific kind of domain. Besides, to reuse components of the toolkit, developers often need to implement very specific details of the toolkit in order to adapt it to the applicatio n needs 1617.Middleware based solutionsThe integration of heterogeneous applications has been a widely investigated subject, mainly in distributed systems area. General integration solutions based on middleware, like CCM (CORBA Component Model), .NET and Enterprise JavaBeans have been developed. Moreover, integration solutions associated with specific domains have also been proposed, such as Enterprise Application Integration systems 1718. The emergence of Web services WS has also led to the development of general solutions for integration of distributed applications, due mainly to the use of open standards.In the CSCW domain, some middleware-based solutions have been proposed. Dustdar et al. 1819 discuss the importance of using Web services WS in order to provide collaborative application interoperability. But in order to be integrated, collaborative applications must originally support Web servicesWS. Even if Web servicesWS represent an emerging software trend, only a limited set of collaborative applications are currently supporting these technologies.As an enhancement to traditional middleware, some SOA (Service Oriented Architecture) solutions have also been proposed. For example, WGWSOA 1920 uses Web ServicesWS as an access interface in order to support the reuse and the interoperability of different collaborative services. But an important drawback of WGWSOA is that collaborative services must be developed following the respective middleware architecture.It is also important to note that like WGWSOA, most middleware based solutions present technical responses to the so called syntactic interoperability 2021. They provide mechanisms allowing applications to communicate and interact through information exchange. But according to 2122, the integration concept goes beyond the possibility of sharing and exchanging specific information. Applications must agree upon the meaning (or the semantics) of these exchanges. In other words, integration solutions should provide means for defining integration semantics. Thus, interoperability can be seen as a requirement for integration.The EcoSpace Project 2223 proposes an environment that, besides being based on SOA and Web servicesWS, relies on semantic Web technologies (WSDL-S with services ontologies) to support semantic description of collaborative services. Besides a semantic description of each service, it would be necessary a semantic description of the composition of services so as to coordinate their orchestration. However, this part of the project remains as design aspect. Moreover, using Web serviceWSs as integration technology may imply some performance loss, particularly associated to the use of SOAP (Simple Object Access Protocol) 2324.Luo et al. 2425 claim that Web ServicesWS should be only used in situations which are really heterogeneous. They propose a service-oriented solution for the integration of collaborative applications that, instead of using SOAP, adopts a unified servic e bus (implemented through an open source Enterprise Service Bus).Platforms for integrating heterogeneous collaborative systemsThe latter latest approach to improve the integration flexibility of collaborative environments is to create platforms aiming specifically at the integration of collaborative applications. They focus on the integration of collaborative functionalities provided by these applications while trying to define any semantics behind integration.Iqbal et al. 2526 propose an integrative framework based on the three-level model presented by 2627 the Ontological Model specifies shared objects, their relations and taxonomies the Coordination Model specifies how interactions take place during system execution and the User Interface Model specifies how the system is presented to the final user. Integration process consists firstly in identifying, for each collaborative application, the elements associated with these three models. Then, on each level the elements from diffe rent applications are grouped and merged when equivalent. As a result, common ontological, coordination and user interface models are generated. In spite of enabling a multi-level integration, this approach requires an internal knowledge of the collaborative applications so that their functionalities can be mapped into the three-level model. Accordingly, the integration of third party applications becomes a complex task.In order to avoid considering application internals during the integration process (facilitating the integration of existing applications), some integration solutions propose the so called loosely-coupled approach. This approach presents two main features (i) once integrated to the environment, collaborative applications remain their autonomy, i.e., they can still be used as standalone application (ii) the integration environment remains independent of integrated applications, and accordingly, applications can be integrated and stray from the environment without co mpromising its behavior. This last feature is particularly important considering the integration flexibility aspect. In fact, in a loosely-coupled environment, the set of integrated applications must be easily modified according to users needs.Systems like AREA 2728 and NESSIE 2829 have proposed a loosely-coupled integration for supporting cross-application awareness. Both systems represent a collaborative environment where independent applications can share a common information space, implemented through an event notification system. Users can receive notifications of activity relevant events from different applications (executed by other users). An important aspect of these systems is the use of open Internet technologies (such as HTTP and CGI) to enable the integration of third party collaborative applications. However, the main drawback of both systems is that the integration semantics is statically defined collaborative applications are integrated so as to offer a common aware ness of the whole collaboration activity.Another proposal also based on a loosely-coupled approach is the framework XGSP 2930. XGSP proposes the integration of audio and videoconferencing tools based on SIP and H.323 standards, as well as the integration of Access Grid applications 3031. In this framework, XGSP manager servers are in charge of controlling collaborative sessions. A different gateway is defined for each application type (i.e. SIP, H.323 and Access Grid applications). Using a signaling protocol based on Web servicesWS, these gateways are employed to mediate the communication between applications and XGSP servers. An important disadvantage of XGSP is the fact that, originally, it only allows the integration of application based on SIP, H.323 and Access Grid.Loosely-coupling is also inherent to the Web servicesWS based solutions presented in the previous section. in addition to those solutions, LEICA represents an integration environment that proposes a loosely-coupled approach based on Web servicesWS technologies.Regarding the performance implications of SOAP, Alonso et al. 3132 suggest that Web ServicesWS technologies should be used only to implement coarse-gained interactions, where the bushel of the overhead associated to SOAP would be less important. Following the recommendations of 3132, Web servicesWS are employed by LEICA for coarse-grained operations only. As it will be detailed in the following sections, LEICA defines a hybrid architecture where Web ServicesWS are applied as an initial mechanism for registering newly integrated applications, as well as for setting and starting up collaborative sessions. Then, during the execution of integrated collaborative sessions a different infrastructure is used to interconnect collaborative applications. Another important aspect concerns integration semantics. Unlike the previous solutions, LEICA provides users with the possibility to define the desired integration semantics for each collaborative session.The Integration Environment LEICALEICA aims at the integration of different collaborative applications, where integration semantics is to be defined according to user requirements. Before explaining the general integration approach and the behavior of LEICA, a possible scenario is presented to kick downstairs illustrate the advantages of such integration.Integration ScenarioAn important domain where collaborative environments have been largely used is e-Learning. In particular, a CVE (Collaborative Virtual Environment) can be used to implement a 3D shared world representing a school building divided into one entrance hall, classrooms, and teachers rooms. Different collaborative applications could be associated to each room (i) a chat room associated to the entrance hall (ii) a collaborative web browsing (it would enable teachers to guide students through lecture notes) and an audio conference tool associated to the classrooms and (iii) a shared whiteboard associated to eac h of the teachers room.Un paragraphe pour montrer la situation Utilisation des outils non integres, et lintgration avec LEICA.With this integration semantics, whenever an avatar enters into a room, the respective user is automatically connected to the associated collaborative application(s). Besides, only authorized users should enter into private rooms (e.g. the teachers rooms with its whiteboard could be restricted to teachers). Another possible behavior specified by this integration semantics is some kind of floor coupling between the two applications used as a support for virtual class sessions. This way, it would be possible to assure that the user holding the Web browsing floor (i.e. the one guiding the lecture notes browsing) is the only one to have the right to announce to the class attendees.General Integration ApproachAs previously mentioned, and illustrated in Fig. 1, LEICA follows a hybrid architecture where Web ServicesWS are applied at the collaborative sessions start up, and an event notification system allows collaborative applications to interact through the exchange of event notifications. Two other basic components of LEICA are the Wrappers and the Session Configuration Service (SCS).The integration of a collaborative application to LEICA is achieved by attaching a Wrapper to it. Three main cases may be considered a) open source applications, b) API-based applications, and c) applications without any available API. Integration of open source applications can achieve the tightest interaction degree, since any internal event/action can be exported/performed it might however imply great development efforts. API-based integration is straightforward, and interaction is limited to the provided API. Applications without API are the most limitating ones, constraining to interact only through application start and choke up actions.LEICAs integration approach is mainly driven by case (b), believing that developers are certainly interested in creati ng specific and performable collaboration tools that can be used either stand-alone or integrated with other applications (through a flexible API, being able to get a great share of the market). This is for instance the case of Skype, a successful example of communication tool that has released its API since some time ago.Fig. 2 summarizes LEICAs general integration framework. The first step of the LEICAs integration framework is the Collaborative Application Integration. For instance, in the illustrative scenario presented in III.A, the first step to integrate the CVE with the instant messenger (supporting the chat room associated to the entrance hall), the collaborative Web browser and the audio conference applications, it is necessary to create a Wrapper for each one of these applications. As detailed in Section V, these wrappers can be automatically generated by LEICAs API Factory, based on the API description of each collaborative application. The Wrappers comprise a Web servic es Services WS interface allowing the collaborative application to register itself with LEICA. As illustrated by Fig. 1, through the Wrappers Web servicesWS ports, the integrated application can interact with the Session Configuration Service (SCS).The SCS is a Web service Service WS used for (i) configuring new global SuperSessions and (ii) starting up SuperSessions. A SuperSession is an integrated collaborative session holding the whole collaboration activity. at bottom the context of a global SuperSession, different specificSessions can exist. A specificSession is a conventional collaborative session defined within the context of a collaborative application (e.g. a videoconference session, a whiteboard session, etc.).The SCS dynamically contacts each integrated application, during the SuperSession configuration process, in order to request (i) which specific data is required to create specificSessions for this respective application (e.g. a videoconference tool could require an IP multicast address) and (ii) which kind of events it can notify, and action requests it can handle. The interaction degree among the integrated applications depends essentially on the nature of the events they are able to exchange, and actions they are able to perform.In order to create a SuperSession, a user must define its integration semantics. It is accomplished by configuring the Collaboration Policy. A Collaboration Policy is a set of rules under a condition/action model. These rules define how collaborative applications must react when receiving information (events) notified by other integrated applications. In other words, the specification of Collaboration Policies allows defining specific integration semantics (i.e. how to coordinate integrated applications) to each SuperSession, according to the different users requirements.Once a SuperSessions has been created (and its associated configuration file is generated), it can finally be started up. The SCS firstly contacts e ach integrated collaborative application requesting them to create the specificSessions defined in the SuperSession. Then, during the execution of collaborative sessions the integrated application can interact through the exchange of event using the Event Notification System. According to predefined Collaboration Policies, these notifications may lead specific actions to be performed.Wrappers are in charge of managing the SuperSessions Collaboration Policy. When the Wrapper of a collaborative application receives event notifications, it verifies if the notified events enable any policy rule concerning this collaborative application. If so, the Wrapper sends action requests to the respective application. Note that LEICA is not intended to support low-level physical events (e.g. mouse click/scrolling) or high frequency synchronization events (e.g. current position of moving objects). It aims at supporting activity relevant events that carry some semantics.SuperSession ConceptAs previo usly mentioned, LEICA controls the whole collaboration activity within the context of a global SuperSession. A SuperSession model has been defined in order to precisely identify and describe its components. Based on this model, LEICA maintains concise and coherent SuperSession state information. Furthermore, a well-defined taxonomy of the components and their attributes are also implied from the model.General models for describing collaborative applications have already been proposed in the literature. Some of them 2627 3233 represent a conceptual or ontological model describing the entities and relationships of individual CSCW systems. Few models aim at describing integrated CSCW systems, like OOActSM 3334 and the conceptual model presented in 3435. However, these models are based on the notion of a general activity as the central abstraction, which was considered rather abstract for a detailed specification of the SuperSession. Nevertheless, these models have inspired several con cepts adopted in the defined SuperSession model.The SuperSession represents a collaboration activity involving different integrated applications, a group of users and general roles associated to these users.Formally, a CIE Session CS is a tupleSS = (SSid, CA , NA , Rl , U , SSat)whereSSid is a unique identifierCA = CAi i 1,I is a finite set of collaborative applications where CAi = (CAidi, spSi, CAati) a specific collaborative application running a set of specificSessions (sSi). CAati is a list of attributes characterizing the collaborative application. These attributes provide information about the application description, including name, type, whether it is a role-based application, its distribution architecture (client/server, multi-servers, peer-to-peer) and the type of user applications (stand-alone or webWeb-based).)NA is a finite set of non-collaborative applications (data converters, databases, web applications, etc.)Rl = Rlk k 1,K is a finite set of general roles. The concept of general role refers to a group of users owning the same set of responsibilities and privileges inside LEICARlk = (Rlidk , Rlatk). Rlidk is a unique role identifier and Rlatk is a list of attributes characterizing this general role. This list provides details like roles description, membership and administration rights. Regarding the membership, it defines how the role is associated with users it may be either (i) a static association (there is a membership list), (ii) an automatic association (there is a predicate function based on users parameters and SuperSession state) or (iii) a users choice (password protected or not).)U = Ul l 1,L is a finite set of connected usersUl = (Uidl, URlidl, Mbl, Uatl) represent a user, where Uidl is a unique identifier URlidl is one general role associated with the user Mbl is a finite set of membership relations Uatl is a list of attributes (name, email, IP address, network connection, device type, etc.)Mbl.n = (mCAidl.n , mSidl.n , m sRlidl.n) is a membership relation, where mCAidl.n is an application identifier mSidl.n is a specificSession identifier msRlidl.n is a finite set of specific roles identifiers. Thus, each membership relation indicates the participation of a connected user to a specificSession of a collaborative application (once connected to the SuperSession, a user can concurrently take part in none, one or more specificSessions of different collaborative applications)SSat is a list of attributes characterizing the SuperSession. These attributes describe information like session context (name, purpose, etc.), scheduling (if scheduled or not, duration, etc.), accessibility type (open or closed), role association type (how users are associated to a general role) and maximum number of connected users.A specificSession regards a conventional collaborative session of a collaborative application. The role of the specificSession entity (spSi.m), wich is formally represented by the tuplespSi.m = (Sidi.m, s Rli.m, pUidi.m, Rsi.m, spSati.m)is not to precisely describe each aspect of a collaborative task. Instead, it captures relevant elements like the specific roles defined for this session (sRli.m), the users participating to this session (pUidi.m.) and the shared resources accessed by these users (Rsi.m).A specific role is a tuple, sRli.m.o = (sRlidi.m.o, sRlati.m.o), where sRlidi.m.o is a specific role identifier and sRlati.m.o is a list of attributes characterizing the specific role (description and maximum number of simultaneous users).A resource is also a tuple Rsi.m.p= (urli.m.p, Rsati.m.p ), where urli.m.p is a resource locator and Rsati.m.p is a list of attributes characterizing the resource. The purpose of the resource element is simply to allow the implementation of an inter-application access control mechanism. LEICA will not need to keep the state of each resource. Thus, resources attributes just describe its type (file, device, virtual object, interface widget, etc.) and t he read/write access type (exclusive or concurrent).SuperSession ConfigurationIn order to create a SuperSession, a two step configuration process is carried out (i) Session precaution configuration and (ii) Collaboration Policy configuration.In the first configuration step, two groups of information should be specifiedGeneral Session Management information (GSMinfo) It carries management information such as scheduling, membership and general user roles.Integrated Applications information (IAinfo) It defines the list of integrated applications to be used during this SuperSession for each collaborative application, a list of specificSessions is defined, where specific data required by this application for creating sessions is provided (e.g. a videoconference application will be provided with an IP multicast address).Once Session Management configuration is completed, the Collaboration Polic
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.