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

Services Web Java Discussion :

Tutoriel pour développer et déployer un service Web RESTFUL OSGI multibundle sous Eclipse et Karaf


Sujet :

Services Web Java

  1. #1
    Membre éprouvé
    Avatar de ce.moi7
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Mars 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 164
    Points : 1 023
    Points
    1 023
    Par défaut Tutoriel pour développer et déployer un service Web RESTFUL OSGI multibundle sous Eclipse et Karaf
    Bonjour,

    Je vous propose un tutoriel pour développer un service web de type Rest OSGI multibundle sous Eclipse et pour le déployer dans Karaf. Cet article présente un exemple pratique ainsi que les différents moyens de le déployer sous Karaf.

    Il fait suite à mon précédent tutoriel http://olivier-rozier.developpez.com...karaf-eclipse/ qui constitue la base d'un développement d'un service web OSGI destiné à être déployer sous Karaf.

    Le nouvel article est disponible ici : http://olivier-rozier.developpez.com...f-multibundle/

    N'hésitez pas à profiter de cette discussion pour donner vos commentaires.

    A bientôt,

    Olivier


    Retrouver les meilleurs cours et tutoriels pour apprendre la programmation Java Web

  2. #2
    Membre averti
    Homme Profil pro
    Expert MDE
    Inscrit en
    Janvier 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Expert MDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 183
    Points : 337
    Points
    337
    Par défaut
    Hello Olivier

    Pas mal ce petit tutoriel, bien complet!

    Au niveau de mes remarques:

    * Pour les services REST, tu peux te servir de l'enum MediaType.APPLICATION_XML plutôt que les chaines en dur.
    * Blueprint ne vend vraiment pas du rêve: tout ce xml à la main, c'est vraiment dur à écrire puis maintenir: as-tu essayé Pax-CDI?
    * Spring-Data-Jpa peut être utilisé pour la couche DAO.
    * Les .project, .settings et .classpath dans le zip sont en trop: c'est fonction de l'environnement utilisateur, et généré automatiquement par m2e.
    * Un exemple de commande karaf comme jdbc:list ou cxf:list-endpoints aurait été bienvenu.
    * Citer Pax-Exam pour les tests d'intégration business aurait été un plus.

    Ce que j'ai appris: les kars, c'est sympa! Il faut que je les mette dans mon framework!

    Tu n'aurais à tout hasard pas envie de participer à l'effort sur Osgiliath enterprise framework? C'est complètement ce que tu as décris, avec des facilités/capacités en plus (Swagger, CDI, Hawtio, JMS, Camel, UI en AngularJs...).
    Il reste pas mal de choses à faire, mais l'essentiel est là et fonctionne plutôt bien!

    Bien joué en tout cas, et j'espère avoir de tes nouvelles.

    Charlie

  3. #3
    Membre éprouvé
    Avatar de ce.moi7
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Mars 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 164
    Points : 1 023
    Points
    1 023
    Par défaut
    Citation Envoyé par Tcharl Voir le message
    Hello Olivier

    Pas mal ce petit tutoriel, bien complet!

    Au niveau de mes remarques:

    * Pour les services REST, tu peux te servir de l'enum MediaType.APPLICATION_XML plutôt que les chaines en dur.
    * Blueprint ne vend vraiment pas du rêve: tout ce xml à la main, c'est vraiment dur à écrire puis maintenir: as-tu essayé Pax-CDI?
    * Spring-Data-Jpa peut être utilisé pour la couche DAO.
    * Les .project, .settings et .classpath dans le zip sont en trop: c'est fonction de l'environnement utilisateur, et généré automatiquement par m2e.
    * Un exemple de commande karaf comme jdbc:list ou cxf:list-endpoints aurait été bienvenu.
    * Citer Pax-Exam pour les tests d'intégration business aurait été un plus.

    Ce que j'ai appris: les kars, c'est sympa! Il faut que je les mette dans mon framework!

    Tu n'aurais à tout hasard pas envie de participer à l'effort sur Osgiliath enterprise framework? C'est complètement ce que tu as décris, avec des facilités/capacités en plus (Swagger, CDI, Hawtio, JMS, Camel, UI en AngularJs...).
    Il reste pas mal de choses à faire, mais l'essentiel est là et fonctionne plutôt bien!

    Bien joué en tout cas, et j'espère avoir de tes nouvelles.

    Charlie
    Bonjour Charlie,

    Je te remercie pour tes compliments.

    Tu as tout à fait raison concernant l'enum. Je l'utilise d'ailleurs dans mes programmes mais comme je destinais ce tutoriel à des débutants, je préférais utiliser les chaines en dur pour mieux voir ce qu'il se passait.

    La commande Karaf cxf:list-endpoints apparait dans mon précédent tuto (http://olivier-rozier.developpez.com...karaf-eclipse/) qui est vraiment un tuto de base. Mais malheureusement, je ne peux pas toutes les mettre. J'ai choisi de ne faire figurer que celles qui sont essentielles à la vérification de ce qui est fait dans le tuto.

    Je suis justement en train de faire un tutoriel concernant Pax Exam pour débutant!

    J'aimerais bien m'investir un peu plus pour une communauté mais je n'ai malheureusement pas beaucoup de temps.

    A bientôt!

    Olivier

  4. #4
    Membre actif
    Homme Profil pro
    Développement logiciel
    Inscrit en
    Mai 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développement logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2005
    Messages : 74
    Points : 244
    Points
    244
    Par défaut
    Merci beaucoup pour ce tutoriel très complet qui m'a sûrement fait gagner un grand nombre de soirées de tests et d'exploration.
    Je me suis aussi heurté à cette difficulté de trouver des informations pertinentes pour développer une application OSGI avec annotations JPA sous Karaf ou autre. Ce qui est d'autant plus dommage que la solution est puissante.
    D'autre part j'ignorais qu'il était si simple (une fois l'étape du Kar passée) de configurer une version personnalisée de Karaf.

    Trois remarques pour l'amélioration du tuto:
    - Tu mentionnes, pour la configuration de la database, un schéma nommé "ctm", alors que dans le code à télécharger il est nommé "ses". Ce qui fait que l'appli bugge lors de la tentative d'insertion de nouveaux éléments.
    - Il m'a manqué une simple capture d'écran (que j'ai mise en PJ) de l'utilisation du plugin RestClient, afin de valider un "POST" de customer, par exemple. La notion d'URL à indiquer et de endpoint n'était pas très claire. N'étant pas habitué des requêtes REST, j'ai du fouiller un peu sur le net et essayer plusieurs commandes avant de réussir une insertion.
    - Pour une raison que j'ignore, la commande cxf:list-endpoints était introuvable dans Karaf

    Merci encore. @+
    Images attachées Images attachées  

  5. #5
    Membre éprouvé
    Avatar de ce.moi7
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Mars 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 164
    Points : 1 023
    Points
    1 023
    Par défaut
    Citation Envoyé par egann538 Voir le message
    Merci beaucoup pour ce tutoriel très complet qui m'a sûrement fait gagner un grand nombre de soirées de tests et d'exploration.
    Je me suis aussi heurté à cette difficulté de trouver des informations pertinentes pour développer une application OSGI avec annotations JPA sous Karaf ou autre. Ce qui est d'autant plus dommage que la solution est puissante.
    D'autre part j'ignorais qu'il était si simple (une fois l'étape du Kar passée) de configurer une version personnalisée de Karaf.

    Trois remarques pour l'amélioration du tuto:
    - Tu mentionnes, pour la configuration de la database, un schéma nommé "ctm", alors que dans le code à télécharger il est nommé "ses". Ce qui fait que l'appli bugge lors de la tentative d'insertion de nouveaux éléments.
    - Il m'a manqué une simple capture d'écran (que j'ai mise en PJ) de l'utilisation du plugin RestClient, afin de valider un "POST" de customer, par exemple. La notion d'URL à indiquer et de endpoint n'était pas très claire. N'étant pas habitué des requêtes REST, j'ai du fouiller un peu sur le net et essayer plusieurs commandes avant de réussir une insertion.
    - Pour une raison que j'ignore, la commande cxf:list-endpoints était introuvable dans Karaf

    Merci encore. @+
    Bonjour egann538,

    Je te remercie pour tes compliments et pour avoir pris le temps de réagir à mon tutoriel. J'ai effectivement passé beaucoup de temps sur des problèmes de configuration entre les différents modules et sur le fonctionnement de Karaf et je trouvais dommage que personne ne donne de tuyaux pour réaliser une telle application. Je suis heureux de t'avoir rendu service!

    Je viens de modifier le code source de l'exemple afin de prendre en compte le changement de schéma. J'avais réalisé ce tutoriel sur un schema nommé "ctm" et pour m'assurer que tout fonctionnait, je l'avais tester sur un autre schéma et du coup, j'ai oublié de changer le nom de ce 2nd schéma avant de mettre en ligne. Je pense que, désormais, j'ai fait les modifications partout...

    Effectivement, concernant le "POST", je n'avais pas pensé à mettre une capture d'écran pour chaque méthode REST car je pensais que les personnes qui suivaient ce tutoriel étaient connaisseurs des clients REST. Je te remercie pour avoir complété par ta capture d'écran. Ceci aidera les plus novices.

    En ce qui concerne ton problème avec la commande cxf:list-endpoints, peut-être que la version de cxf que tu utilises ne comporte plus cette commande : Karaf et ses repository évoluent très vite. Du coup, peut-être que cette commande a été remplacée par une autre... Si j'ai utilisé cette commande dans le tutoriel : http://olivier-rozier.developpez.com...-karaf-eclipse , je t'avoue que je ne me souviens plus si je l'ai utilisé dans celui-ci avec la version 2.7.10 de CXF...

    Je te remercie encore.

    A bientôt,

    Olivier

Discussions similaires

  1. Réponses: 7
    Dernier message: 19/10/2018, 12h49
  2. script Ant pour déployer un service WEB
    Par ASPAK dans le forum ANT
    Réponses: 1
    Dernier message: 23/07/2007, 15h12

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