A dynamically extensible open cross document link service

18
2 December 2005 A Dynamically Extensible Open Cross-Document Link Service Ahmed A.O. Tayeh and Beat Signer Web & Information Systems Engineering Lab (WISE) Department of Computer Science Vrije Universiteit Brussel WEB & INFORMATION SYSTEMS ENGINEERING

Transcript of A dynamically extensible open cross document link service

Page 1: A dynamically extensible open cross document link service

2 December 2005

A Dynamically Extensible Open Cross-Document Link Service

Ahmed A.O. Tayeh and Beat Signer

Web & Information Systems Engineering Lab (WISE)Department of Computer ScienceVrije Universiteit Brussel

WEB & INFORMATIONSYSTEMS ENGINEERING

Page 2: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Isolated Digital Documents

×

2

HTML document PDF document

×

Page 3: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Isolated Digital Documents …

3

×××

Word document PDF document

Page 4: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Cross-Document Link Service

4

HTML Gateway [Web Sockets +

Messages Handling]

Google Chrome

local visual plug-ins

external visual extension

The Linking Model (RSL)

TextHTML PDFdata plug-ins

visual PDF plug-in visual Text plug-in

Page 5: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Cross-Document Link Service … Link snippets of information across different documents

formats Dynamic extensibility

avoid link service redeployment- data, visual and gateway plug-ins

seamless integration of third-party document applications- no necessary changes to the core- third-party application extensions

non-monolithic link service- customisation of supported document formats

5

Page 6: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Dynamic Extensibility

6

Developer

Document Plug-inswrite and upload plug-ins

End user

Plug-in Tracking

keep track and download plug-ins

inject plug-ins at runtime Acrobat Reader

Page 7: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Requirements for Dynamic ExtensibilityR1: Flexible and extensible link service architecture

extensible data and visual layer

R2: Support multiple document formats existing as well as emerging document formats

R3: Easy integration of third-party applicationsR4: Flexible communication channelsR5: Customisable link service

on-demand extensibility

R6: Plug-in versioning deal with updates in document standards and applications

7

Page 8: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Cross-Document Link Service Architecture

8

Visual Plug-ins

Visualisation

Third-Party Applications

Visu

alis

ation

Doc

Form

at1

Visu

alis

ation

Doc

Form

at2

Browser

Plug-in Tracker Update Manager

Plug-in Tracking

Online Plug-in RepositoryData Plug-insVisual Plug-insGateways

Online Repository

Gateways

Gateway

DocFormat4

DocFormat4 Application

DocFormat3 Application

WebSockets

Communication

Message Pool

Database

Database Manager

RSL

DocFormat4

DocFormat3DocFormat2

DocFormat1

REST API TCP Sockets

DocFormat3DocFormat2DocFormat1

Data Plug-ins

Core

Data Layer

Page 9: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Visual Plug-ins

DefaultDocument class necessary methods to visualise any document format

- getSelector() - openDocument() - getResource()- showTarget()- …

extends Java JPanel Component

Visual plug-ins can use existing document libraries

9

Visual Plug-ins

Visualisation

Visu

alis

ation

Doc

Form

at1

Visu

alis

ation

Doc

Form

at2

Browser

Plug-in Tracker Update Manager

Plug-in Tracking

Online Plug-in RepositoryData Plug-insVisual Plug-insGateways

Online Repository

DocFormat2DocFormat1

Page 10: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Third-Party Applications Extensions

based on applications SDKs and APIs offer GUI actions for CRUD operations on links communicate with the link service

- highlight, create, get, update anchors- link navigation- open documents- …

10

Third-Party Applications

Gateways

Gateway

DocFormat4

DocFormat4 Application

DocFormat3 Application

WebSockets

Communication

Message Pool

REST API TCP Sockets

DocFormat3

Microsoft Word Add-in

Page 11: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Third-Party Applications… Flexible communication channels

REST API, WebSockets and TCP Sockets

Gateway offers the following interface

- openDocument()- getResource()- showTarget()- …

JSON communication- each message must contain a command

• {“command”: ”showTarget”, …}• {“command”: “openDocument”, …}• …

11

Third-Party Applications

Gateways

Gateway

DocFormat4

DocFormat4 Application

DocFormat3 Application

WebSockets

Communication

Message Pool

REST API TCP Sockets

DocFormat3

Page 12: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Online Repository Store different plug-ins

data, visual, gateway plug-ins third-party application extensions

Plug-in must contain specific metadata Extension-Mime, Extension-Type and Extension-Name

Visual and gateway plug-ins must include Extension-Class metadata Example:

12

Visual Plug-ins

Visualisation

Visu

alis

ation

Doc

Form

at1

Visu

alis

ation

Doc

Form

at2

Browser

Plug-in Tracker Update Manager

Plug-in Tracking

Online Plug-in RepositoryData Plug-insVisual Plug-insGateways

Online Repository

DocFormat2DocFormat1

Page 13: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Plug-in Tracking Update manager

keeps track of available plug-ins in the online repository offers search functionality downloads plug-ins

Plug-in tracker installs plug-ins ensures consistency of installed plug-ins keeps track and manages plug-ins in the link service

Based on OSGi framework

13

Visual Plug-ins

Visualisation

Visu

alis

ation

Doc

Form

at1

Visu

alis

ation

Doc

Form

at2

Browser

Plug-in Tracker Update Manager

Plug-in Tracking

Online Plug-in RepositoryData Plug-insVisual Plug-insGateways

Online Repository

DocFormat2DocFormat1

Page 14: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

OSGi Defines a dynamic modular system for Java applications Consists of three layers

module layer: packaging code into bundles (plug-ins) life cycle layer: controls bundles at execution time service layer: communication between bundles

Dynamic extensibility is achieved using the OSGi extender pattern

14

Page 15: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Integrated Documents & Multimedia

15

PDF Visual Plug-in

YouTubeGoogle Chrome

Images Visual Plug-in

Page 16: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Related Work Link Service

R1:Extensible Arch.

R2:Cross-Document Linking

R2:Emerging Document Formats

R3:External Applications

R4:Flexible Channels

R5:Customis-ability

R6:Plug-in Versioning

Intermedia () Sun’s Link Service () () () Microcosm () Annotea Solutions MADCOW FAST () Dynamic Link Service

16

Comparison based on the dynamic extensibility requirements

Page 17: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Conclusion Fundamental requirements (R1-R6) for dynamically

extensible cross-document link services Dynamically extensible link service

support existing as well as emerging document formats without link service redeployment

seamless integration of third-party applications customisation of installed document plug-ins

Integration of different document formats and document applications

17

Page 18: A dynamically extensible open cross document link service

Ahmed Tayeh - Department of Computer Science - [email protected] 2, 2015

Future Work Usability evaluation Integration of other document formats and applications Enhanced desktop environment for document discovery

18