Friday, April 5, 2019

Computer Supported Cooperative Work (CSCW)

calculator Supported Cooperative Work (CSCW)Abstract- In the computing machine Supported Cooperative Work (CSCW) do principal(prenominal), researchers have al tracks wondered about which principles and homunculuss to adopt for the development of cooperative finishs subject to really meet the necessarily of their habituaters. However, these exploiters requirements be unpredictable and depend on several tax or environs-related factors. Integrated cooperative environss be r atomic number 18ly open, extensible and reconfigurable enough so as to meet these requirements. This write up presents an purlieu, called LEICA (Loosely-coupled Environment for Integrating cooperative Applications), includeing the integrating of existing cooperative finishs. LEICA adopts a loosely-coupled integrating memory penetration which is ground on Web services advantages technology, an outlet observance dust, and the definition of coaction Policies to control the interactions am ong combine coverings. LEICA intromits different functionalities of existing employments to be dynamically combine and controlled, enhancing therefore the flexibleness. Through a grapheme view we show how LEICA was successfully utilise to desegregate collar cooperative exercises a co-browsing shaft, an instant messaging scratch and a VoIP conference controller.Index Terms- cooperative work, comprised cooperative purlieus, web services.INTRODUCTIONAdvances in intercommunicateing and computing technologies, have with the fact that companies and work teams ar becoming geographically distributed, have created incr succourd a gather up for dialogue technologies to simplicity distance quislingism among distributed individuals (virtual work teams). This conduces to the appearing of the so-called Integrated collaboration Environments ( meths), having as principal(prenominal) goal to compound different collaborative practical finishings together into a single easy -to- custom operational surround 1.Users get hold ofs ar very frequently unpredictable and depending on several emerging factors, including the size of the work sort out, the collaborative activities to be accomplished, the intensiveness of the required conferences, the coordination constitution and the communication needs of the work assembly. Therefore, the possibility of dynamically integrating new functionalities to the environment appears as an weighty characteristic for collaborative coatings 3. Supporting the consolidation of new collaborative functionalities reflects how flexible the environment is while responding to unpredictable substance abusers needs. We mickle influence this characteristic as integrating flexibleness that denotes the ease with which an fruitcake weed be its functionalities in response to the users needs.Nowadays 1 of the main problems of ICEs is that their lack of consolidation flexibility and as consequence various users decide to fix up-up their deliver environments composing different collaborative employments executed independently. In this caseful, distributively screening is completely isolated from others, without any possibility of coordination among them. This lack of consolidation nates ask to a loss of control from the part of the user, since the operation environment is particularly artificial.Promoting the desegregation flexibility of ICEs could impart signifi give the gatet benefits to users, allowing different functionalities of existing uses to be dynamically combined and controlled (enhancing therefore the flexibility itself). For instance, a whiteboard lotions programme fanny be interrelated with an instant messaging application in much(prenominal)(prenominal) a vogue that whenever a user joins an instant messaging room, he is automatically logged into the same whiteboard academic school term, instead of been forced to manually login into a session of to distributively whi zz one of these collaborative tools. another(prenominal) case could be the integration of a distributed game and an sound conference application. Whenever a user avatar enters a level/place into the game, his is logged into the strait absolute absolute frequency conference session associated to that level/place, so that the users kitty online discuss with for each one other.In straddle to come by 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 wait ons (WS) technologies and an issuing telling trunk, different collaborative applications can interoperate by exchanging information deep d take the stage compensateting of a global collaborative session. The loosely-coupled court draw a bead ond by LEICA overcomes a distinguish problem usually related to integration environments it does not require a true semantic integration of applications. Accordingly, it supports further integration possibilities, much(prenominal) as the integration of third party applications, enhancing, thus, flexibility.LEICA overly mountain passs flexibility in the level of the integration semantics. Based on collaboration Policies to control the interactions betwixt incorporate applications, LEICA provides means to limit how the collaboration activity back up by one collaborative application will be moved(p) by information received from other collaborative applications. In practice, these collaborative applications interact by the notification of events which may prevail to performing particular proposition action(s) in any(prenominal) of these applications themselves.As we will explain afterwards 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 taxs, focvictimization precisely on the collaboration activity itself, and all that by save now by interpreting the rules stated for a particular session, all this in function of most pre-established policy rules ( also to be explained in detail subsequently). In this way users will find a to a greater extent(prenominal) natural collaboration environment from the users point of view.In fellowship to illustrate the usability of LEICA in real-world conditions, this melodic theme presents a case translate that demonstrates the capability of LEICA to fuse collaborative applications. In this case study, LEICA was successfully employ to integrate tether collaborative applications a co-browsing tool, instant messaging tool and a VoIP conference controller.The paper is structure as follows. Section II presents related work regarding the integration of CSCW systems. Section III overviews the habitual integration approach tenderd by LEICA. Section IV explains how to specify collabor ationism Policies. Section V presents the LEICAs architecture, detailing how to integrate applications in practice. Some implementation issues atomic number 18 considered in section VI. Section VII constitutes a case study illustrating the use of LEICA. Finally, in section VIII we draw almost conclusions and presents directions of future work.RELATED tapThere argon several works oriented to improving integration flexibility of collaborative environments. In this condition, four main approaches can be identified user-tailorable beginnings CSCW toolkits middlew atomic number 18 base terminations 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 change by its own users in order to meet their different requirements. In CSCW, tailorability must(prenominal)iness 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 back up in three different levels customization, selecting among a set of pre restrictd configuration options integration, linking together pre markd components in spite of appearance or amid 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). course that the integration level supposes that the functionality to be structured has been pre-developed and is available or sowhere 6. Only at the extension l evel users would be able to integrate new functionalities, even if they have not been anticipate by developers at design time.A method frequently utilise for backup tailoring at the extension level is the component- ground tailoring. For example, in 10, components are implemented development Flexibeans (an extension of the Java Beans standard) and end-users tailor the system using a root word language. In 11, end-users may assemble components into larger composite components using the optical runation rather than writing lines of code. However, even at the extension level the integration flexibility is incomplete 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 appearances designed to be applicable in a range of tidy sum 12. The need for flexibility and tailorability in CSCW toolkits is salutary ac noesisd.The Neem Platform 13 calls 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 by message exchanges.Intermezzo 14 is a collaboration support environment bread and butter the coordination information sharing, offering fluid interactions, user awareness, session management and policy control. It addresses dynamic flexibility 12 by allowing applications to adapt not just their own conduct, 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 speedy development of groupware, focusing mainly on ne iirking and data sharing sides. GT/SDs extensibility is found on its modular design, which allows adding o r modifying behavior by replacing or wrapping different components.Toolkits may fabricate an interesting solution for helping the development of CSCW systems, as they promote the reuse of components. But in widely distributed, CSCW toolkits offer a check set of functionalities or they are target for some particular kind of domain. in any case, 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 establish solutionsThe integration of heterogeneous applications has been a widely investigated subject, mainly in distributed systems area. General integration solutions base on middleware, kindred CCM (CORBA Component Model), .NET and Enterprise JavaBeans have been developed. Moreover, integration solutions associated with specific domains have also been proposed, much(prenominal) as Enterprise Application desegregation systems 1718. The emergence of Web services WS has also led to the development of ordinary 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 splendour 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 express 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 code interface in order to support the reuse and the interoperability of different collaborative services. But an of the essence(p) drawback of WGWSOA is that collaborative services must be developed chase the respect ive middleware architecture.It is also important to note that similar 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. anyways a semantic description of each service, it would be necessary a semantic description of the make -up of services so as to coordinate their orchestration. However, this part of the project remains as design position. 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 unify 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 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 square up 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 user interface Model specifies how the system is presented to the final user. desegregation do consists frontly 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, roughhewn ontological, coordination and user interface models are generated. In spite of enabling a multi-level integration, this approach requires an internal fellowship 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 subroutine (facilitating the integration of existing applications), some integration solutions propose the so called loosely-coupled approach. This approach presents cardinal main features (i) once integrated to the environment, collaborative applications preserve their autonomy, i.e., they can stable be used as standalone application (ii) the integration environment remains independent of integrated applications, and accordingly, applications can be integrated and detached from the environment without compromising 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 modify 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 commonality 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 desexualized collaborative applications are integrated so as to offer a common awareness of the whole collaboration activity. other proposal also based on a loosely-coupled approach is the framework XGSP 2930. XGSP proposes the integration of phone and videoconferencing tools based on SIP and H.323 standards, as swell as the integration of Access football field applications 3031. In this framework, XGSP manager servers are in charge of arrogant collaborative sessions. A different gateway is defined for each application type (i.e. SIP, H.323 and Access power system applications). Using a signaling protocol based on Web servicesWS, these gateways are employed to inter halfway the communication amongst 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. 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 impact of the overhead associated to SOAP would be less important. Following the recommendations of 3132, Web servicesWS are employed by LEICA for coarse-grained ope rations 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 impertinently 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 desegregation 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 better illustrate the advantages of such integration. integrating ScenarioA n important domain where collaborative environments have been largely used is e-Learning. In particular, a CVE (Collaborative practical(prenominal) Environment) can be used to implement a 3D shared world representing a tutor 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 pop off 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 machine-accessible 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 discover 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 speak 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 base components of LEICA are the Wrappers and the Session Configuration Service (SCS).The integration of a collaborative application to LEICA is come throughd by attaching a Wrapper to it. Three main cases may be conside red 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 spot, 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 stop 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 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 integ ration framework. The head start whole tone of the LEICAs integration framework is the Collaborative Application Integration. For instance, in the illustrative scenario presented in III.A, the first meter 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 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 Configuration Service (SCS).The SCS is a Web service Service WS used for (i) configuring new global supersedures and (ii) star ting up supersessions. A supersedure is an integrated collaborative session holding the whole collaboration activity. Within 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 class 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 precondition of Collaboration Policies allows defining specific integration semantics (i.e. how to coordinate integrated applications) to each SuperSession, according to the different users requirements. at 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 ma y broaden 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. tincture 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 precisely identify and chance upon 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 primordial 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 mappings associated to these users.Formally, a CIE Session CS is a tupleSS = (SSid, CA , NA , Rl , U , SSat)whereSSid is a fantastic 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 agency-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 strange role identifier and Rlatk is a list of attributes characterizing this general role. This list provides details like roles description, membership and admini stration 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, meshwork 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 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, sRli.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 specifi c 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 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 Management configuration and (ii) Collaboration Policy configuration.In the first configuration step, two groups of information should be sp ecifiedGeneral 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). erstwhile Session Management 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 adequate 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 notification 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 servi ces.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 together into a single easy-to-use operational 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. Supportin g 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 composing 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 introduce significant benefits to users, allowing different functionalities of existing applications to be dynamically combined and controlled (enhanc ing 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 user 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 applicati ons can interoperate by exchanging information within the context of a global collaborative session. The loosely-coupled approach proposed by LEICA overcomes a key fruit problem usually related to integration environments it does not require a true 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 level 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 change by information received from other collaborative applications. In practice, these collaborative applications interact through the notification of events which may lead to performing specific action(s) in some of these applications themselves.As we will explain later in detail, w e 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 precisely on the collaboration activity itself, and all that by just by interpreting 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 find a more natural collaboration 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 capability 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 coordinate as follows. Section II presents related work regarding the integration of CSCW systems. Section III overviews th e 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 civiliseThere are several works oriented 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 th eir 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 to 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 exte nsion level users would be able to integrate new functionalities, even if they have not been judge 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 composite components using the optic representation rather than writing lines of code. However, even at the extension level the integration flexibility is fond(p) 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 serving 12. The need for flexibility and tailorability in CSCW toolkits is well ackn owledged.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.Intermezzo 14 is a collaboration support environment supporting the coordination information sharing, offering fluid interactions, 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 behavi or by replacing 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 application 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 inte gration 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 immenseness 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 o f 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 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 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 port wine 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 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 integratio n 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 preserve their autonomy, i.e., they can windlessness be used as standalone application (ii) the integration environment remains independent of integrated applications, and accordingly, applications can be integrated and detached from the environment without compromising 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 noti fication 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 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 unequivocal 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. 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 impact 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 pertly 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 better 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 practical(prenominal ) Environment) can be used to implement a 3D shared world representing a give instruction 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 hunt 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 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 reckon 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 speak 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 radical 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 ach ieve 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 stop 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 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 scen ario 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 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 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. Within the context of a global SuperSession, dif ferent 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 collaborati ve 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 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 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 the m 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 primordial 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 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 attribute s 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 (ther e 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 , 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 SuperSessi on. 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, sRli.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 nu mber 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 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 Management 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 th e 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

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.