Jump to: navigation, search

EDI NG Server Light

Revision as of 16:25, 2 March 2015 by Fabio (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Premesse

EDI si divide in due componenti principali:

  • Client javascript
  • Server Java

Il server gira in un container JBoss. La prima considerazione che sorge è che, avendo GET-IT un Tomcat installato, sarebbe possibile avere un EDI server su ciascun server GET-IT, alleggerendo così il carico sul server EDI centrale. Ho provveduto a tradurre EDI NG Server per Tomcat (tecnicamente ho dovuto solo eliminare l'uso degli EJB, Enterprise Java Beans, non gestiti da Tomcat). E' stato un lavoro di poche ore perché mi sono limitato a tradurre la "compilazione" dell'EDIML in XML specifico dei metadati (RNDT, INSPIRE, SensorML, ...). Non ho pertanto tradotto tutte le altre feature, ad es.:

  • gestione delle autorizzazioni dei server GET-IT
    • se la compilazione avviene sul server GET-IT stesso, non vedo il senso di autorizzarlo: la compilazione non usa alcuna risorsa del server centrale

Altri punti in cui si distingue la versione light da quella completa sono:

  • assegnazione degli EDIML id
    • non avendo un punto centrale di assegnazione degli id è necessario definire un nuovo sistema per attribuire agli EDIML un uri (risolvibile, quindi, di fatto, un url) univoco
  • assegnazione degli identificatori dei sensori
    • vale la considerazione di cui sopra
  • storage delle coppie (EDIML, XML)
    • EDI NG server è, da un punto di vista logico, un compilatore: non deve assumersi anche l'onere di fare da repository dei metadati, né sotto forma di XML, né tantomeno sotto forma di EDIML

In quest'ottica propongo per GET-IT un'architettura, relativa ai soli metadati semantici, leggermente differente da quella attuale.

Architettura proposta

La mia proposta consiste nell'aggiunta di un EDI NG Server Light al Tomcat già presente su GET-IT, con l'unico scopo di "compilare" i metadati. Aggiungerei poi un blocco (nell'immagine l'ho chiamato "Semantic Repo Interface"), basato su Apache Jena (https://jena.apache.org), in grado di svolgere i compiti:

  • persistere EDIML per le funzionalità di edit e duplicate (da subito)
  • persistere RDF ottenuto dall'EDIML e fornirlo al server centrale sia in modalità harvesting, sia in modalità broker (quando sarà pronto il modello RDF per i metadati)
GET-IT proposed MD arch2.png