Technologies de développement et protocoles d'interopérabilité
Tous les composants développés dans ORI-OAI reposent sur les mêmes technologies:
...
Comme langage de programmation
http://www.java.com
Spring
Spring est un framework de développement de haut niveau dans la mesure où il environnemente et dirige l'architecture générale de l'ensemble de l'application. On notera quelques carctéristiques de Spring qui nous ont fait choisir Spring comme Framework principal de l'application.
Il est le choix de toute la communauté ESUP pour les présents et futurs développements. Il est pensé pour intégrer directement un certain nombre d'autres frameworks comme hibernate (mais aussi OSWorkflow, Compass/Lucène, ...). Il rend les applications souples et paramétrables. Il permet de séparer les tâches de développement via un développement par couche. Il permet d'implémenter des architectures de type Objet modélisable usuellement via UML. Il propose de tirer parti de la programmation par aspect pour la gestion des transactions de BD, via des modules très sophistiqués comme EhCache pour le cache, Acegi pour la sécurité (autentification et autorisation), et enfin directement en insérant du code métier supplémentaire (pour réaliser un outil de statistiques par exemple ...).Conteneur léger qui sert de framework général à l'application
http://www.springframework.org
...
Certains composants utilisent des technologies spécifiques:
ORI-OAI-workflow
...
Include Page |
---|
Moteur de Workflow
http://www.opensymphony.com/osworkflow
JSF
Framework MVC utilisé pour la "présentation" du workflow.
Les implémentations "Apache MyFaces" (dont Tomahawk) et jenia sont utilisées.
http://java.sun.com/javaee/javaserverfaces/
http://myfaces.apache.org/
http://www.jenia.org/
Hibernate
Framework de mapping objet-relationnel (MySql)
http://www.hibernate.org/
http://www-fr.mysql.com/
Acegi Security
Pour sécuriser l'application
http://www.acegisecurity.org/
XFire
Pour la communication entre Spring et Orbeon OPS, ainsi que la communication inter-modules
http://xfire.codehaus.org
|
ORI-OAI-md-editor
XForms/Orbeon OPS
...
Include Page | ||||
---|---|---|---|---|
|
ORI-OAI-harvester
OAI-PMH
Protocole d'échange des fiches de métadonnées
http://www.openarchives.org/OAI/openarchivesprotocol.html
OCLC harvester
Bibliothèque OAI pour Java
http://www.oclc.org/research/software/oai/harvester2.htm
Quartz
Pour la programmation des moissons
http://www.opensymphony.com/quartz/
Struts-Tiles
Include Page | ||||
---|---|---|---|---|
|
...
ORI-OAI-repository
OAI-PMH
Protocole d'échange des fiches de métadonnées
http://www.openarchives.org/OAI/openarchivesprotocol.html
OCLC OAICAT
Pour l'exposition OAI des fiches de métadonnées
http://www.oclc.org/research/software/oai/cat.htm
Include Page | ||||
---|---|---|---|---|
|
ORI-OAI-indexing
Lucene
Moteur d'indexation et de recherche
http://lucene.apache.org/java/docs/index.html
LIUS
Framework d'indexation Java basé sur Lucene
http://www.bibl.ulaval.ca/lius/
Luke
Client de consultation d'un index Lucene
http://www.getopt.org/luke/
Include Page | ||||
---|---|---|---|---|
|
ORI-OAI-search
Spring MVC
Utilisé pour la présentation
http://www.springframework.org
Lucene
Pour le format de requêtes
http://lucene.apache.org/java/docs/index.html
XSLT
Pour la présentation des fiches de métadonnées
http://www.w3.org/TR/xslt
Include Page | ||||
---|---|---|---|---|
|
ORI-OAI-vocabulary
VDEX
...
Include Page | ||||
---|---|---|---|---|
|
ORI-OAI-nuxeo
Include Page | ||
---|---|---|
|
...
|