iceis 2007 special session 3 - computer supported collaborative editing ansgar r.s.gerlicher

11
TRANSPARENT EXTENSION OF SINGLE- USER APPLICATIONS TO MULTI-USER REAL-TIME COLLABORATIVE SYSTEMS An Aspect Oriented Approach to Framework Integration ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher [email protected]

Upload: hamal

Post on 20-Jan-2016

33 views

Category:

Documents


0 download

DESCRIPTION

TRANSPARENT EXTENSION OF SINGLE-USER APPLICATIONS TO MULTI-USER REAL-TIME COLLABORATIVE SYSTEMS An Aspect Oriented Approach to Framework Integration. ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher [email protected]. Content. Introduction - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher

TRANSPARENT EXTENSION OF SINGLE-USER APPLICATIONS TO MULTI-USER

REAL-TIME COLLABORATIVE SYSTEMS

An Aspect Oriented Approach to Framework Integration

ICEIS 2007

Special Session 3 - Computer Supported Collaborative Editing

Ansgar R.S.Gerlicher

[email protected]

Page 2: ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher

15.06.2007 ICEIS2007 - Ansgar Gerlicher 2

Content

• Introduction

• Aspect Oriented Programming

• The Application and the Framework used

• Integration Steps

• Conclusions

• Demonstration Video

Page 3: ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher

15.06.2007 ICEIS2007 - Ansgar Gerlicher 3

Introduction

The Challenge• Extend an existing single-user application with

collaborative functionality• without changing the applications source code

(transparent extension) and• with as little effort as possible

The Approach• Concentrate on the data model manipulation concerns • and use aspect-oriented programming• to integrate a collaboration framework

Page 4: ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher

15.06.2007 ICEIS2007 - Ansgar Gerlicher 4

Aspect Oriented Programming (AOP)

• A programming paradigm originated by Gregor Kiczales et al. at Xerox PARC, 1997*

• Attempts to aid programmers in the separation of concerns, specifically crosscutting concerns

• Aspects can alter the behavior of the base code by applying advices

• Advices define additional behaviour at join points• Join points are specified by using a quantification or

query called a pointcut• AOP extensions for many programming languages

exist. AspectJ is the most popular AOP extension for the Java programming language

* Kiczales, G.,et al. Aspect-Oriented Programming.In Proc. of ECOOP 1997, Springer-Verlag LNCS 1241. June 1997.

Page 5: ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher

15.06.2007 ICEIS2007 - Ansgar Gerlicher 5

The Application and the Framework used

GLIPS Graffiti SVG graphics editing application• Open source graphics editor developed by ITRIS • Java based• Supports editing of SVG graphic documents• Uses the W3C DOM API internally for manipulation of

the SVG documentsCollaborative Editing Framework for XML (CEFX)• Real-Time collaboration on XML documents• Optional locking of nodes• Awareness support• Flexible plug-in architecture

Page 6: ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher

15.06.2007 ICEIS2007 - Ansgar Gerlicher 6

The Collaborative Editing Framework for XML (CEFX)

CEFX Architecture Overviewdd Architecture Ov erv iew

Site1 Site2CEFXServ er Site

Single User Application 2

«artifact»

XML Document

CEFXClient 1

ModifyDocument

Propagate Operation

Receive Operation

CEFXDOMAdapter

Propagate Awareness Event

Receive Awareness Event

Single User Application 1

CEFXServ er

Receive Operation

«artifact»

XML Document

«artifact»

XML Document

ConcurrencyController

AwarenessController

CEFXClient 2

ModifyDocument

CEFXDOMAdapter

PropagateOperation

ReceiveOperation

Propagate Awareness Event

Receive Awareness Event

ConcurrencyController

AwarenessControllerOther components

Other components

Page 7: ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher

15.06.2007 ICEIS2007 - Ansgar Gerlicher 7

Integration Steps

1. Identify the crosscutting concerns of data model manipulation of the single-user application (GLIPS uses the DOM API)

2. Specify join points for the relevant calls to the data model manipulation API (DOM API)

3. Define advices for delegating corresponding actions to the collaborative editing framework

Page 8: ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher

15.06.2007 ICEIS2007 - Ansgar Gerlicher 8

Call Interception

Single-UserApplication

Element Advice

setAttribute

CEFXDOMAdapter

CEFXController

setAttribute(name:String,value:String)

setAttribute(target:Element,name:String,value:String)

Element_setAttribute(target:Element,name:String,value:String)

Operation= createUpdateOperation(...)

executeOperation(op:Operation)

Integrating CEFX into GLIPS using AOP

Call interception, delegation to Advice:void around(Element p, String attr, String value)

JoinPoint: call(void setAttribute(String,String)...)

Page 9: ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher

15.06.2007 ICEIS2007 - Ansgar Gerlicher 9

Conclusion

Pros• Little programming effort: only seven advices where needed• No source-code modification necessary• Application-transparent• Reusable advices• Acceptable performance

Cons• Still some AOP implementations require source code

recompilation• AOP is still an immature technology, resulting in lack of tool

support and adoption risks

Page 10: ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher

15.06.2007 ICEIS2007 - Ansgar Gerlicher 10

Collaborative Editing Demonstration

Page 11: ICEIS 2007 Special Session 3 - Computer Supported Collaborative Editing Ansgar R.S.Gerlicher

Thank youfor your attention

ICEIS 2007Ansgar R.S.Gerlicher

[email protected] Media University (HdM)

andLondon College of Communication