Changes between Initial Version and Version 1 of LocalHrefProtocol


Ignore:
Timestamp:
Oct 8, 2012, 12:40:57 AM (12 years ago)
Author:
jeichar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • LocalHrefProtocol

    v1 v1  
     1= Local:// protocol for Xlinks =
     2
     3|| '''Date''' || 2012/09/14 ||
     4|| '''Contact(s)''' || [http://wiki.osgeo.org/wiki/User:Jeichar Jesse Eichar] ||
     5|| '''Last edited''' || ||
     6|| '''Status''' || Proposed ||
     7|| '''Assigned to release''' || 2.9.x ||
     8|| '''Resources''' || Jesse personal time ||
     9|| '''Code''' || https://github.com/jesseeichar/core-geonetwork/commits/feature/local-protocol-xlinks ||
     10
     11== Overview ==
     12
     13For performance and portability this proposal adds a local:// protocol for xlinks.  When the Xlink processor encounters this protocol, the processor will directly invoke dispatch on the dispatch manager, instead of making a more expensive http request.
     14
     15=== Proposal Type ===
     16 * '''Type''': XLink
     17 * '''App''': Jeeves
     18 * '''Module''':
     19
     20=== Links ===
     21 
     22 * '''Email discussions''':
     23 * '''IRC discussions''':
     24 * '''Related work''':
     25
     26 
     27=== Voting History ===
     28
     29 * None as yet
     30
     31----
     32
     33
     34== Proposal ==
     35
     36For performance and portability this proposal adds a local:// protocol for xlinks.  When the Xlink processor encounters this protocol, the processor will directly invoke dispatch on the dispatch manager, instead of making a more expensive http request. 
     37
     38The benefit of using local:// protocol are three fold.
     39
     40 1. Performance.  The request is made without having to write to and from a socket. 
     41 1. No new threads need to be spawned to resolve local:// xlinks
     42 1. Portability.  The server url is not part of the href so the server name, port and even the servlet name can be changed without having to update the xlink hrefs.
     43
     44In the normal case the behaviour is the same.  This just adds the option of using local:// hrefs. 
     45
     46The difference between local/relative hrefs and local:// hrefs are:  local/relative hrefs are local within a metadata document.  local:// get XML from any service like:  local://keyword.get?thesaurus=123&id=123
     47
     48
     49=== Backwards Compatibility Issues ===
     50
     51Minor Changes to the Processor and ServiceContext API
     52
     53== Risks ==
     54
     55
     56== Participants ==
     57 * As above