IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

Externaliser ressources (images, ..)


Sujet :

Développement Web en Java

  1. #1
    Membre éclairé
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Points : 812
    Points
    812
    Par défaut Externaliser ressources (images, ..)
    Bonjour,

    J'aimerai votre avis sur une architecture que je souhaiterais adopter.

    J'ai une application web JEE tournant avec Glassfish. Dans cette application, il y aura la possibilité d'uploader certaines ressources (images par exemple). Ces ressources, va falloir donc les stocker quelque part.

    Pour l'instant, tout se fera sur le meme serveur donc je pourrais simplement les mettre dans un dossier local via un chemin relatif. Mais je trouve ça assez laid et peu maintenable et j'aimerais ne pas rendre ceci dépendant à Glassfish. Et si en plus, un jour j'aimerai délocaliser ces ressources sur un serveur à part, je serai coincé.

    Ainsi, une solution serait pour le moment d'installer en parallele à Glassfish, un serveur http pointant sur un dossier où seront stockés les ressources. Les rendant ainsi accessible depuis n'importe où (localement ou non). Ainsi qu'un serveur ftp afin de pouvoir uploader ces ressources dans le dossier.

    Ainsi lorsque depuis mon application web, l'utilisateur uploadera une ressources, le programme le transmettra au serveur ftp. Et quand l'application web voudra accéder à une de ces ressources, il passera par le serveur http via une url.

    Que pensez-vous de cette architecture?

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Que le serveur http/ftp en plus complique ton architecture.

    En général, on aménage un dossier, en dehors du serveur J2EE, pour stocker les ressources. Ensuite, on aménage un servlet qui sert ces ressources à partir d'une URL. Genre tu mappe /resources/* sur une servlet qui va consulter /var/serveur/resources par exemple.

  3. #3
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Que le serveur http/ftp en plus complique ton architecture.

    En général, on aménage un dossier, en dehors du serveur J2EE, pour stocker les ressources. Ensuite, on aménage un servlet qui sert ces ressources à partir d'une URL. Genre tu mappe /resources/* sur une servlet qui va consulter /var/serveur/resources par exemple.
    perso, j'ai utilisé cette méthode naïvement à mes débuts d'usage de servlets (punaise ça remonte aux années 2000 / 2001) et il faut particulièrement bien se préoccuper des concurrences d'accès en écriture sur le disque.

    Avec le recul, pour moi, en 2012, la WebApp est sacrée : on y met rien. Même pas de log : RIEN. La raison ? parce qu'une application ça se déploie, ça de supprime, ça se met en cluster sur plusieurs serveurs ... bref, on ne peut pas se permettre de mettre des informations "métiers" comme des images ou autre dans le répertoire de la WebApp.

    Si on veut stocker des images, des vidéos : stockage externe en base de données, en FTP, sur un autre disque, etc. Bref on externalise la problématique. Voilà pourquoi j'utilise Apache Commons VFS pour faire ce genre de choses de manière "logique" et pas physique.

    Au pire un bon vieux stockage de type BLOB en base de données ...

    Ensuite il faut effectivement réaliser un composant (une Servlet par exemple) qui va servir le contenu avec le bon type mime, en fonction d'un identifiant. Mais ça c'est très facile à faire.


    EDIT : oups désolé, je viens de relire le message de Tchize qui préconisait de faire un répertoire externe à l'application pour y stocker les infos et faire une servlet pour servir les fichiers. Je suis ENTIEREMENT d'accord avec cette approche. (ça m'apprendra à lire trop vite)

  4. #4
    Membre éclairé
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Points : 812
    Points
    812
    Par défaut
    Merci beaucoup pour vos réponses.
    Concernant la méthode de tchize_, le soucis est lorsque je souhaiterai externaliser mes ressources (sur un autre serveur), ça ne fonctionnera plus puisque que ça ne sera plus de simple accès en local.

Discussions similaires

  1. Ressources image windows basique
    Par sinople dans le forum VB.NET
    Réponses: 4
    Dernier message: 07/06/2010, 16h17
  2. Accès à des ressources (images) dans des jars du classpath
    Par hodac dans le forum Eclipse Platform
    Réponses: 4
    Dernier message: 07/06/2010, 12h10
  3. NFOP : Bug libération de ressources (Images)
    Par Laur3nT dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 30/07/2008, 17h01
  4. Recherche des ressources image
    Par rvzip64 dans le forum Outils
    Réponses: 3
    Dernier message: 27/09/2007, 22h26
  5. Utilisation de ressources images
    Par bebeours dans le forum C++Builder
    Réponses: 2
    Dernier message: 20/09/2002, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo