a dynamically extensible open cross document link service
Post on 13-Apr-2017
136 Views
Preview:
TRANSCRIPT
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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 2, 2015
Isolated Digital Documents
×
2
HTML document PDF document
×
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 2, 2015
Isolated Digital Documents …
3
×××
Word document PDF document
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 2, 2015
Integrated Documents & Multimedia
15
PDF Visual Plug-in
YouTubeGoogle Chrome
Images Visual Plug-in
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 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
Ahmed Tayeh - Department of Computer Science - atayeh@vub.ac.beNovember 2, 2015
Future Work Usability evaluation Integration of other document formats and applications Enhanced desktop environment for document discovery
18
top related