MarcOnt/Documents/ArchitectureProposal
From Corrib Clan Wiki
Contents |
[edit]
Current MarcOnt portal architecture
- thin client – all actions performed on the server side
- only use of JSF
- no use of java web services or any other java technologies
- no client application – access via web browser
[edit]
Advantages:
- no need to install java runtime environment or any other software (but only gives limited functionality because some tasks – i.e. graph display – require JRE)
[edit]
Drawbacks:
- high server traffic (caused by many server requests) causes slow work
- no possibility to work off-line
- heavy ontologies may cause server timeouts
- no possibility of caching ontologies while editing (in case of i.e. connection loss or other random accidents all changes are lost)
- despite using JSF no pure MVC (model-view-control) paradigm achieved
- GUI building time consuming
- GUI errors cause application to stop
- GUI functionality limited by web browser usage
- using JSF causes no XHTML compliance, application is likely not to work on MAC Safari browser
[edit]
Layercake architecture overview
[edit]
Suggested MarcOnt portal architecture
- rich client – a hybrid approach
- versioning managed by server as it is implemented now
- editing managed by 2 java web start applications (one for ontology editing, the other for rules generation)
- java web start application is downloaded by a user only during first usage, resides in the system and can be launched or removed at any time later also off-line)
- use of JSF, java web start, java web services
- dedicated client application
[edit]
Advantages:
- limited server traffic to only necessary versioning actions
- possibility to work on ontology and mapping rules off-line
- caching of ontologies on a client machine
- MVC paradigm achieved by using visual GUI builders
- faster GUI building
- no GUI errors
- GUI functionality only limited by possibilities of SWING applications
- using web services makes it easier for other people to create independent tools or plugins for ontology development
[edit]
Drawbacks:
- requirement to install Java Runtime Environment (but it is available for every graphical environment, is very widely used, many people have it already installed)
- requirement to download client applications during first usage – for modem connection users may last quite long (the applications will contain Jena classes, so the size of the application can be up to 10MB)
[edit]
Layercake architecture overview
[edit]
Existing software
- Protege is a J2SE desktop application that can be used offline, but is difficult to use. There is a possibility of writing a collaborative work plugin to it but since the whole is hard to use it would not be used by wide audience.
- SWOOP is a J2SE desktop application its main goal is to be user friendly. It can be used using Java WebStart: http://www.mindswap.org/2004/SWOOP/Swoop.jnlp.





