Pid Cache Manager Service
This Page describes the PID cache service.
ID (Label)[edit]
PIDC
Complete Name[edit]
PID Cache Manager Service
Status[edit]
Work in Progress (version 0.1.0 in test).
Description[edit]
- The PID cache service is a client to the GWDG PID Handle Service.
- The PID cache service is used as an alternative to the PIDManager service offered by eSciDoc core infrastructure (PID Service without pre-cached PIDs).
- The PID cache service holds pre-created PIDs which are assigned to an eSciDoc content resource by calling the Item/Container Handler methods (assignObjectPid(), assignVersionPid() or assignContentPid()).
Operations Overview[edit]
Operation | Status | Input | Output | Description |
---|---|---|---|---|
create | implemented | URL:String | String | Scope:Public Assign a PID to an URL. |
update | implemented | URL: String PID(handler): String |
String | Scope:Public Update a PID with a new URL. |
view | implemented | PID(handler):String | String | Scope:Public Retrieve a PID (If GWDG service unavailable, can only retrieve PID that are waiting in cache to be updated at the GWDG). |
search | implemented | URL:String | String | Scope:Public Search for a PID (If GWDG service unavailable, can only search for PID that are waiting in cache to be updated at the GWDG). Implements only the search by URL so far. Might be extended. |
Service Interface[edit]
- The PID cache service provides a REST interface:
- GET: /pidcache/handle/read, implemting 2 methods:
- /view?pid= - resolve PID
- /search?url= - Find a PID
- PUT: Not allowed.
- POST: /pidcache/handle/write - Implements 2 methods:
- /create - Create a PID at GWDG (url passed as body parameter).
- /update?pid= - Update a PID with new url (url passed as body parameter)
- DELETE: (Not allowed)
- GET: /pidcache/handle/read, implemting 2 methods:
Installation[edit]
- Install files in deploy directory:
- pidmanger.war
- pid_cache.ear
- pid-cache-ds.xml
- Defines properties in conf directory:
- PidManager.properties (no changes needed)
- gwdg.properties with: <entry key="service.url">http://your.escidoc.url.org:8080/pidcache/handle/</entry> (changes with correct escidoc url)
- pidcache.properties (if installed with pubman, then uses pubman.properties instead)
- escidoc-core.properties
pid-cache-ds.xml[edit]
<?xml version="1.0" encoding="utf-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>PidCache</jndi-name>
<use-java-context>false</use-java-context>
<connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB</connection-url>
<driver-class>org.hsqldb.jdbcDriver</driver-class>
<user-name>sa</user-name>
<password></password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>0</idle-timeout-minutes>
<track-statements/>
<security-domain>HsqlDbRealm</security-domain>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
<metadata>
<type-mapping>Hypersonic SQL</type-mapping>
</metadata>
<depends>jboss:service=Hypersonic,database=localDB</depends>
</local-tx-datasource>
</datasources>