samedi, juin 11, 2011

Supports de cours sur Slideshare

J'ai déposé l'intégralité des supports de cours (Java EE, Java SE, Eclipse, SOA) sur la plateforme d'hébergement de transparents Slideshare.

Mon compte sur slideshare est le suivant : http://www.slideshare.net/baronm

Tous les billets de ce blog qui annoncent un support de cours ont été mis à jour pour afficher la présentation.

J'espère que ce nouveau moyen de diffusion vous aidera à parcourir plus facilement mes supports de cours.

vendredi, mai 27, 2011

Liens pratiques de la semaine

Vous trouverez ici une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
Java
  • Avec Java 7 il sera possible d'utiliser des "Hooks" sur les répertoires systèmes pour écouter les éventuels changement. Ce billet explique comment mettre cela en place via WatchService.
Divers
  • Un retour d'expérience sur GIT assez sympathique (lien)

jeudi, mai 19, 2011

J'ai besoin ... d'utiliser Tycho - Partie 5 : Construction d'un product Eclipse

Je reviens dans la série des J'ai besoin ... d'utiliser Tycho pour vous décrire cette fois-ci comment construire automatiquement un product Eclipse avec Maven 3 et son plugin Tycho.

Pour rappel, il y a presque un an j'expliquais dans un billet comment construire automatiquement un bundle OSGi à partir d'un entrepôt p2. Depuis tout ce temps que s'est-il passé ? Tycho a évolué, de nombreux billets d'explication sont apparues sur la toile, des projets sont passés à Tycho et finalement Tycho est devenu un projet de la fondation Eclipse. Par conséquent de nombreuses sources d'inspiration sont à disposition.

De nombreux problèmes sur la manière d'utiliser Tycho ont été résolus via le tutoriel proposé à l'EclipseCON 2011. C'est pour cette raison que la première partie de ce billet se veut être une mise à jour des précédents billets relatifs à Tycho.

Pré-requis logiciel
Au niveau des pré-requis logiciel pour rejouer cet atelier veuillez installer les outils suivants :
marrer Eclipse en choisissant un nouveau Workspace et configurer le plugin M2Eclipse de façon à pointer sur le bon fichier settings.xml.

Création d'un projet Agrégateur
(keulkeul.tychorcpdemo.aggregator)
Ce projet Agrégateur aura comme seul but de contenir tous les sous projets (plugins, feature, tests, repository p2, ...). Du point de vue Maven il s'agira de décrire dans le fichier pom.xml tous les sous modules.

Veuillez suivre la démarche ci-dessous :
  • Ouvrir l'assistant de création de projet File -> New -> Other ...
  • Choisir l'élément Maven Project de la catégorie Maven, l'écran ci-dessous doit apparaître
  • Cocher l'option Create a simple project (skip archetype selection), puis faire Next
  • Dans le champ de texte Group Id saisir la valeur tychorcpdemo
  • Dans le champ de texte Artifact Id saisir la valeur keulkeul.tychorcpdemo.aggregator
  • Au niveau de la sélection Packaging sélectionnez la valeur pom puis faire Finish
Un nouveau projet Maven sera créé contenant un fichier pom.xml. Nous modifierons ce fichier à chaque fois que nous ajouterons un nouveau module.

Création du plugin RCP (keulkeul.tychorcpdemo.rcp)
Ce plugin est particulier dans le sens où il s'agit d'un Rich Client Application ce qui signifie qu'il peut être utilisé seul. Comme l'idée n'est pas d'apprendre à créer un plugin RCP nous utiliserons un exemple patron.
  • Ouvrir l'assistant de création de projet File -> New -> Other ...
  • Choisir l'élément Plug-in Project depuis la catégorie Plug-in Development, puis faire Next. L'écran ci-dessous doit apparaître
  • Dans le champ Project Name saisir la valeur keulkeul.tychorcpdemo.rcp
  • Décocher l'option Use default location
  • Créer un répertoire keulkeul.tychorcpdemo.rcp à la racine du répertoire du projet agrégateur créé précédemment, puis faire Next. L'écran suivant doit apparaître
  • Cocher la case Would you like to create a rich client application ? puis faire Next. L'écran suivant doit apparaître.
  • Choisir comme patron RCP application with a view puis faire Next. L'écran suivant doit apparaître.
  • Dans le champ Application window title saisir la valeur Keulkeul Tycho RCP Demo Application
  • Sélectionner l'option Add branding ce qui permettra d'être identifié comme un product lors de la création de la configuration d'exécution, puis faire Finish
Un nouveau projet keulkeul.tychorcpdemo.rcp vient d'être créé. Pour s'assurer que ce plugin RCP fonctionne nous allons créer une configuration d'exécution.
  • Ouvrir l'écran de création des configurations. Depuis le menu principal Run -> Run Configurations ... L'écran suivant doit apparaitre.
  • Créer une nouvelle configuration de type Eclipse Application dont le nom sera TychoRCPDemo
  • Choisir depuis Run a product la valeur keulkeul.tychorcpdemo.rcp.product (uniquement disponible si vous aviez coché l'option Add branding. Sélectionner l'onglet Plug-ins et vous devriez obtenir l'écran suivant
  • Choisir depuis Launch with la valeur plug-ins selected below only
  • Décocher tous les plugins présents depuis le noeud racine Target Platform
  • Sélectionner uniquement le plugin keulkeul.tychorcpdemo.rcp depuis le nœud racine Workspace
  • Cliquer sur Add Required Plug-ins pour ajouter uniquement les plugins requis à l'exécution de ce plugin RCP.
  • Faire Run. Vous devriez obtenir l'écran suivant :
  • Ajouter un nouveau fichier Maven pom.xml à la racine de ce projet (keulkeul.tychorcpdemo.rcp) dont le contenu est le suivant :
<project>
<modelversion>4.0.0</modelversion>
<parent>
<groupid>tychorcpdemo</groupid>
<artifactid>keulkeul.tychorcpdemo.parent</artifactid>
<version>1.0.0-SNAPSHOT</version>
<relativepath>../keulkeul.tychorcpdemo.parent/pom.xml</relativepath>
</parent>
<groupid>tychorcpdemo</groupid>
<artifactid>keulkeul.tychorcpdemo.rcp</artifactid>
<version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
  • Comme vous pouvez le constatez ce fichier pom.xml fait référence à un pom.xml parent que nous définirons plus tard. Intéressons-nous avant à ajouter le projet keulkeul.tychorcpdemo.rcp comme module au projet keulkeul.tychorcpdemo.aggregator. Par conséquent modifier le fichier pom.xml du projet keulkeul.tychorcpdemo.aggregator de cette manière :
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>tychorcpdemo</groupId>
<artifactId>keulkeul.tychorcpdemo.aggregator</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>keulkeul.tychorcpdemo.parent</module>
<module>keulkeul.tychorcpdemo.rcp</module>
</modules>
</project>
  • De même nous profitons de cette modification pour ajouter un autre module keulkeul.tychorcpdemo.parent
Création d'un projet parent (keulkeul.tychorcpdemo.parent)
Le projet parent a pour objectif de contenir toutes les configurations propres à Tycho dont tous les plugins auront besoin. Il contiendra également les liens vers les entrepôts p2.

La démarche de création de ce projet est identique à celle utilisée pour créer le projet keulkeul.tychorcpdemo.aggregator à la différence que ce projet doit être placé à la racine du projet agrégateur. Pour les valeurs à donner dans le nouveau fichier pom.xml, suivre les indications données ci-dessous :
  • Dans le champ de texte Group Id saisir la valeur tychorcpdemo
  • Dans le champ de texte Artifact Id saisir la valeur keulkeul.tychorcpdemo.parent
  • Au niveau de la sélection Packaging sélectionnez la valeur pom puis faire Finish
  • Compléter le fichier pom.xml généré par les informations liées à la configuration de Tycho
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>tychorcpdemo</groupId>
<artifactId>keulkeul.tychorcpdemo.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>

<properties>
<tycho-version>0.11.0</tycho-version>
</properties>

<repositories>
<!-- configure p2 repository to resolve against -->
<repository>
<id>helios</id>
<layout>p2</layout>
<url>http://download.eclipse.org/releases/helios/</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<!-- enable tycho build extension -->
<groupId>org.sonatype.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
</project>
A ce stade vous devriez obtenir la structure de fichiers suivante :
keulkeul.tychorcpdemo.aggregator \-
pom.xml
keulkeul.tychorcpdemo.parent \-
pom.xml
keulkeul.tychorcpdemo.rcp \-
src \-
pom.xml
Démarrer une construction du projet via Maven
Ouvrir l'invite de commandes de Windows et se placer à la racine du répertoire parent. Saisir la ligne de commande ci-dessous :

mvn clean install

Normalement si tout se passe bien vous devriez obtenir le message suivant :

Création d'un projet feature (keulkeul.tychorcpdemo.feature)
Ce projet de type feature va nous permettre de regrouper dans une feature l'ensemble des plugins de notre application. Il faut admettre que pour l'instant il y en a pas énormément. L'idée est que si vous souhaitez ajouter de nouveaux plugins, vous n'aurez qu'à modifier cette feature.
  • Ouvrir l'assistant de création de projet File -> New -> Other ...
  • Choisir l'élément Feature Project depuis la catégorie Plug-in Development, puis faire Next. L'écran ci-dessous doit apparaître
  • Choisir comme nom de projet keulkeul.tychorcpdemo.feature
  • Personnaliser le répertoire de travail pour être à la racine du projet keulkeul.tychorcpdemo.aggregator
  • Choisir depuis la liste des plugins disponibles (Initialize from the plug-ins list) le plugin keulkeul.tychorcpdemo.rcp puis faire Finish
Un nouveau projet keulkeul.tychorcpdemo.feature vient d'être créé.
  • Ajouter un nouveau fichier Maven pom.xml à la racine de ce projet dont le contenu est le suivant :
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>tychorcpdemo</groupId>
<artifactId>keulkeul.tychorcpdemo.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../keulkeul.tychorcpdemo.parent/pom.xml</relativePath>
</parent>
<groupId>tychorcpdemo</groupId>
<artifactId>keulkeul.tychorcpdemo.feature</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
  • Ajouter ce nouveau projet comme module en complétant le pom.xml du projet keulkeul.tychorcpdemo.aggregator
  • Vérifier que l'application se construit correctement via un mvn clean install
Création d'un projet update site (keulkeul.tychorcpdemo.repository)
Nous attaquons maintenant la partie intéressante de ce billet. A ce stade rien de nouveau par rapport aux autres billets hormis peut être la ré-organisation des différents plugins. Ce nouveau projet a but de créer un update site de notre projet. Cela permettra ainsi d'utiliser l'outil de mise à jour pour installer nos nouveaux plugins.
  • Ouvrir l'assistant de création de projet File -> New -> Other ...
  • Choisir l'élément Plug-in Project depuis la catégorie Plug-in Development, puis faire Next. L'écran ci-dessous doit apparaître
  • Choisir comme nom de projet keulkeul.tychorcpdemo.repository
  • Personnaliser le répertoire de travail pour être à la racine du projet keulkeul.tychorcpdemo.aggregator
  • Cocher l'option Generate a web page listing all available features within the site puis faire Finish
  • Depuis le nouveau projet généré, renommer le fichier site.xml en category.xml
  • Ouvrir le fichier site.xml et depuis l'onglet Site Map créer une catégorie une nouvelle catégorie appelée TychoRCPDemo
  • Depuis cette nouvelle catégorie ajouter la feature keulkeul.tychorcpdemo.feature créée précédemment (voir capture d'écran ci-dessous)
  • Ajouter un nouveau fichier Maven pom.xml à la racine de ce projet dont le contenu est le suivant :
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>tychorcpdemo</groupId>
<artifactId>keulkeul.tychorcpdemo.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../keulkeul.tychorcpdemo.parent/pom.xml</relativePath>
</parent>
<groupId>tychorcpdemo</groupId>
<artifactId>fr.ensma.lisi.tychorcpdemo.repository</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
</project>
  • Ajouter ce nouveau projet comme module en complétant le pom.xml du projet keulkeul.tychorcpdemo.aggregator
  • Vérifier que l'application se construit correctement via un mvn clean install
Création d'un fichier product (keulkeul.tychorcpdemo.repository)
Le fichier product contient toutes les informations relatives à la construction d'un exécutable Eclipse (plateformes supportées, le splashscreen, le nom de l'application, les images, ...).
  • Ouvrir l'assistant de création de projet File -> New -> Other ...
  • Choisir l'élément Product Configuration depuis la catégorie Plug-in Development, puis faire Next. L'écran ci-dessous doit apparaître
  • Choisir le projet keulkeul.tychorcpdemo.repository
  • Saisir la valeur tychorcpdemo.product dans le champ File name
  • Choisir pour l'option Use a launch configuration la valeur TychoRCPDemo puis faire Finish
  • Éditer en mode texte le fichier tychorcpdemo.product (sans l'éditeur de configuration de product) et ajouter les instructions suivantes qui permettront de démarrer les plugins adéquates au lancement de l'application RCP
<configurations>
<plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
<plugin id="org.eclipse.osgi" autoStart="true" startLevel="-1" />
</configurations>
  • Depuis l'onglet Overview du mode édition du fichier tychorcpdemo.product, saisir la valeur TychoRCPDemo.product
  • Modifier l'option The Product configuration is based on par la valeur features
  • S'assurer que la valeur keulkeul.tychorcpdemo.rcp.product est sélectionnée pour l'option Product et que la valeur keulkeul.tychorcpdemo.rcp.application est sélectionnée pour l'option Application. Voir capture d'écran ci-dessous :
  • Depuis l'onglet Dependencies choisir la valeur keulkeul.tychorcpdemo.feature. Voir capture d'écran ci-dessous :
  • Pour construire un product Eclipse selon un environnement donné (OS/WS/Arch) compléter le fichier pom.xml du projet keulkeul.tychorcpdemo.repository comme présenté ci-dessous :
 <build>
<plugins>
<plugin>
<groupId>org.sonatype.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Finalement depuis le projet feature (keulkeul.tychorcpdemo.feature) il nous reste à ajouter le fragment SWT correspondant à la plateforme Windows de façon à construire le product pour cette plateforme.
  • Ouvrir le fichier feature.xml et afficher l'onglet Plug-ins
  • Ajouter la feature org.eclipse.swt.win32.win32.x86 et définir la valeur win32 dans le champ Operating Systems, la valeur win32 dans le champ Window Systems et la valeur x86 dans le champ Architecture. Voir capture d'écran ci-dessous pour voir le résultat attendu :
  • Vérifier que l'application se construit correctement via un mvn clean install. Depuis le répertoire keulkeul.tychorcpdemo.repository/target/products/TychoRCPDemo.product/win32/win32/x86 vous devriez obtenir le résultat de cette construction. Un product Eclipse construit automatiquement à l'aide de Maven/Tycho.
A suivre
L'ensemble des sources de ce billet est disponible à cette adresse.

Dans le prochain billet, je montrerai différents paramétrages concernant le product Eclipse, comment utiliser différents entrepôts p2, comment construire un product Eclipse pour différentes plateformes, ...

jeudi, mai 05, 2011

Liens pratiques de la semaine

Vous trouverez ici une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
Java

samedi, avril 23, 2011

Atelier SOA - Leçon 2 : Développement de Web Services avec JAX-WS et Netbeans

Je viens de mettre en libre service la deuxième leçon de l'atelier SOA concernant la manipulation de la spécification JAX-WS. Cette spécification permet de manipuler les services Web de type SOAP.

La leçon insiste sur le développement d'un service Web suivant les approches Bottom / Up et Top / Down puis sur le développement de la partie cliente d'un Web Service et enfin sur la manipulation de Handler.

La page de téléchargement de cette leçon est disponible à cette adresse : http://mbaron.developpez.com/soa/jaxwslesson2/

Si vous avez des commentaires postez vos messages à la suite.

PS : Vous remarquerez que ce tutoriel utilise Netbeans, comme quoi je ne suis pas si extrémiste que ça sur l'utilisation des environnements de développement ...

Liens pratiques de la semaine

Vous trouverez ici une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Un très bon tutoriel sur Tycho proposé à l'EclipseCON 2011. Les supports fournis dans le GITHub permettent d'apprendre comment bien débuter avec Tycho.
  • Un billet qui explique les bases pour créer un Wizard avec Eclipse.
  • La partie 2 d'une introduction à EMF (lien partie 1)
  • Un billet qui explique comment intégrer les tests unitaires et les couvertures de tests avec Tycho
  • Eclipse Orion (le projet de l'IDE dans le navigateur) propose un nouveau site Web
  • Un billet qui explique comment démarrer un conteneur OSGi par programmation (source EclipseTotale)


http://njbartlett.name/2011/03/07/embedding-osgi.html

lundi, mars 28, 2011

Introduction à BPEL : Orchestrer des Services Web

Un nouveau support de cours est disponible et s'intéresse à BPEL, un langage du standard OASIS pour l'orchestration de services Web.

Le plan est le suivant :
  • Introduction via un scénario présentant l'intérêt d'utiliser une orchestration de services Web.
  • Présentation générale du langage BPEL
  • Partie statique du langage BPEL
  • Partie dynamique du langage BPEL.
  • Différences entre la chorégraphie et l'orchestration.
  • Partner Links et Partner Links Types.
  • Activités Receive, Reply, Assign, Invoke, Sequence.
L'outillage utilisé est Open ESB qui malheureusement depuis le rachat de Sun par Oracle vit ses derniers moments. Un site tente de continuer le projet.

Le lien du support de cours et des exemples peuvent être trouvés ici.

Si vous avez des commentaires concernant ce support de cours, exprimez-vous à partir de ce billet.


dimanche, mars 27, 2011

Liens pratiques de la semaine

Vous trouverez ici une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Un article qui montre comment utiliser Tycho pour construire un Eclipse Product
  • Un billet intéressant qui présente une réflexion sur les IDEs du futur
  • Un billet qui permet de bien débuter avec EMF
  • Eclipse 3.7 supportera Java 7 (source)
Java
  • Un article qui montre comment utiliser Spring Android pour invoquer des services Web REST.

vendredi, mars 25, 2011

Introductionà JAX-RS : Développer des Web Services REST avec Java

Je vous propose un nouveau support de cours présentant l'API JAX-RS (JSR 311) qui permet de développer des services Web REST avec la plateforme Java.

Le plan de ce support de cours est le suivant
  • Présentation générale de la spécification JAX-RS
  • Présentation de l'implémentation de référence JERSEY.
  • Notions de chemin via @Path
  • Template parameters
  • Sub-resource locator
  • Méthodes HTTP via @GET @POST @PUT et @DELETE
  • Paramètres de requêtes via @PathParam @QueryParam @FormParam @HeaderParam et @Context
  • Représentations des données via @Consumes et @Produces
  • Gestion de contenu
  • Manipulation des réponses via la classe Response
  • Constructeurs d'URI via UriBuilder.
  • Déploiement
  • API cliente fournie par JERSEY.
Le lien du support de cours et des exemples peuvent être trouvés ici.

Si vous avez des commentaires concernant ce support de cours, exprimez-vous à partir de ce billet.


jeudi, mars 24, 2011

Introduction aux services Web REST : Comprendre le style d'architecture REST

Dans la continuité des supports de cours sur SOA, je vous propose une introduction aux services Web de type REST.

Ce support de cours présente les grands concepts de l'architecture REST à savoir les ressources, les verbes et les représentations. Un exemple au travers du service Google URL Shortener est présenté. Finalement une comparaison entre les services Web étendus (SOAP) et services Web REST est présentée.

Le lien du support de cours peut être trouvé ici.

Si vous avez des commentaires concernant ce support de cours, exprimez-vous à partir de ce billet.



dimanche, mars 13, 2011

Introduction à JAX-WS : Développez des Web Services étendus avec Java (mise à jour)

Le support de cours concernant la JSR JAX-WS et son implémentation de référence Metro a été mis à jour.

Le lien de la nouvelle version du support de cours est disponible ici.


La prochaine publication de support de cours proposera les parties liées aux services Web de type REST

Introduction à SOAP : Communiquer avec un Web Service étendu (mise à jour)

Comme c'est la journée des mises à jour, je profite pour mettre à disposition une nouvelle version du support de cours concernant une introduction à SOAP. Pas de gros changements en vue hormis des petites coquilles.

Le lien de la nouvelle version du support de cours est disponible ici.




WSDL : Décrire et Configurer (Mise à jour)

Une nouvelle version du support de cours sur WSDL : Décrire et Configurer est disponible. Des fautes orthographes corrigent cette version.

Le lien de la nouvelle version du support de cours est disponible ici.



Liens pratiques de la semaine

Vous trouverez ici une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Eclipse Code Recommenders est un nouveau projet qui a pour but de proposer une aide intelligente pour les développeurs. Cette aide focalise principalement sur la complétion de code. Par exemple, au lieu de proposer toutes les méthodes d'une classe, le projet tente de déduire la méthode la plus adaptée suivant le contexte.
  • Un projet sur Sourceforge dénommé Eclipse Help Add-ons fournit des exemples pour développer avec la plateforme Eclipse (des templates de Splash Screen, ...).
  • Un billet qui montre comment créer un framework MVC pour GEF.
  • Eclipse 3.7 et Eclipse 4.1 Millestone 6 sont disponibles en téléchargement (page de nouveautés et page de téléchargement).
Java
  • Un billet qui discute des performances sur les collections Java.
  • Un billet qui décrit en détail le fonctionnement d'une session Hibernate.
  • Angelo travaille sur un nouveau projet intitulé XDocReport qui permet d'intégrer dans les documents Word, OpenOffice ou LibreOffice des briques de syntaxe Velocity ou Freemarker pour générer des rapports. En gros, il s'agit de réaliser une transformation de texte. Un exemple de résultat peut être trouvé ici.
  • Un livre en libre accès sur l'utilisation d'Hudson Jenkins est disponible en téléchargement.
  • Une nouvelle version de Java.net est disponible.
  • Un billet qui montre comment placer des Hooks lors de l'arrêt d'une instance de la JVM Java.
  • Un billet qui présente les patrons de conception utilisés dans la JDK Java.
Divers
  • Google a sorti courant février un nouveau service Google Public Data Explorer. Ce service permet d'afficher sous différentes formes des données. Il est alors possible d'intégrer les représentations dans son site Web.

samedi, février 26, 2011

Atelier SOA - Leçon 1 : Tests fonctionnels de Services Web avec SOAP-UI

Je viens de mettre en libre service la première leçon de l'atelier SOA. Le but de cette leçon est d'apprendre à inspecter et à invoquer un Web Services via l'outil SOAP-UI.

La leçon insiste sur la découverte des standards WSDL et SOAP et sur l'outillage proposé par SOAP-UI pour réaliser des tests fonctionnels (simulation, test de performance, validation de messages SOAP).

La page de téléchargement de cette leçon est disponible à cette adresse : http://mbaron.developpez.com/soa/soapuilesson1/

Si vous avez des commentaires profitez de ce billet pour poster vos remarques.

samedi, février 19, 2011

Introduction aux Architectures Orientées Services (SOA) : Web Services (Mise à jour)

Une nouvelle version du support de cours sur l'introduction aux architectures orientées services est désormais disponible.

Au menu des nouveautés, j'ai rajouté une section qui présente les services Web de type REST.

Le lien de la nouvelle version du support de cours est disponible ici.

mercredi, février 16, 2011

Liens pratiques de la semaine

Vous trouverez ici une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Un billet intéressant qui montre la complexité pour construire toutes les versions d'Eclipse.
Java
  • Cofoja est un projet très intéressant qui propose d'ajouter des contrats à vos codes Java. Les contrats se présentent sous la forme de pre-condition, post-condition et d'invariant. Ce langage se rapproche fortement de ce qui a été proposé à l'époque par Eiffel.
  • GWT 2.2 est sortie. Les principales nouveautés sont l'intégration de l'outil de construction d'interfaces dans le plugin GWT et la prise en compte d'HTML 5. Une démonstration intéressante de la capacité Canvas est disponible ici. Pour la disponibilité de GWT 2.2 dans l'entrepôt Maven, il faut attendre lundi prochain.
  • Un blog qui propose de nombreux supports de cours sur différentes technologies Java (JPA, EJB, XML, Servlet, ...).
Divers
  • Un billet sur l'utilisation et les pièges des solutions NoSQL est proposé sur le blog de Xebia.

jeudi, février 03, 2011

Liens pratiques de la semaine

Vous trouverez ici une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Eclipse 3.7 Milestone 5 est disponible (page de téléchargement et page des nouveautés) de même qu'Eclipse 4.1 Milestone 5 puisque celui-ci suit les évolutions de la branche 3.x (page de téléchargement).
  • Je constate que beaucoup de projets migrent vers la fondation Eclipse. Le projet JRebel de ZeroTurnaround (modification à chaud du bytecode) est un exemple récent.
  • Eclipse ORION (l'IDE dans le navigateur) est sorti en version 0.2 Milestone 5 (page de téléchargement et billet sur la présentation des nouveautés).
  • Un billet qui présente les plugins à la sauce Eclipse ORION.
Java
  • Jersey, l'API REST pour Java, est disponible en release 1.5. Un support de cours est en cours de préparation. A noter également que le principal contributeur Paul Sandoz quitte Oracle.

samedi, janvier 22, 2011

Liens pratiques de la semaine

Vous trouverez ici une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Un billet qui décrit comment étendre Eclipse Orion.
  • L'outil d'Intégration Continue Hudson utilisé pour la fondation Eclipse est disponible a cette adresse.
  • Angelo Zerr continue sur l'intégration de la recherche pour les contenus XML dans l'environnement Eclipse.
Java
  • Apache Tomcat 7 est disponible dans une vraie version finale.

samedi, janvier 15, 2011

Liens pratiques de la semaine

Vous trouverez ici une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Un billet qui présente les types d'application qui peuvent être développés avec la plateforme Eclipse.
  • Un article intéressant qui présente comment utiliser l'injection de dépendance avec GUICE et Peaberry, sa version pour OSGi, pour le développement de plugin Eclipse.
  • Orion un nouveau projet de la fondation Eclipse a pour objectif de fournir un environnement de développement dans le navigateur (wiki du projet).
Java
  • HUDSON, l'outil d'intégration continue change de nom pour Jenkins, les raisons sont évoquées dans ce billet.
Divers
  • Un billet qui décrit comment manipuler des Web Services étendus (WSDL) en mode RPC/Encoded avec JAX-WS. Pour rappel, ce mode n'est plus supporté par la version actuelle.
  • La plateforme de Forge Redmine 1.1 est disponible.