> Tech > Amazon AWS Eclipse Plugin

Amazon AWS Eclipse Plugin

Tech - Par Renaud ROSSET - Publié le 10 juillet 2013
email

Ce tutoriel prolonge l'article Amazon intitulé Developing Java Web Applications with Apache Tomcat and AWS.

Amazon AWS Eclipse Plugin

Cet article explique comment se connecter pour utiliser les Amazon Web Services, installer l’AWS Eclipse Plugin, créer une application basée sur le servlet HelloWorld, puis déployer et tester celle-ci sur Amazon EC2. À noter que l’article AWS n’est pas très clair sur la manière d’amener l’application dans votre navigateur. Pour faire cela, dans Eclipse, cliquez sur l’onglet EC2 Instances.

Amazon AWS Eclipse Plugin

Dans le listing des sous-fichiers d’instances (Figure 8), faites un clic droit sur l’instance active et sélectionnez Copy Public DNS Name. Dans votre navigateur, tapez http:// puis appuyez sur Ctrl-C pour coller le nom DNS. Ensuite, entrez deux-points 8080 (:8080), qui est le port de test par défaut pour Tomcat, puis tapez votre nom de projet suivi d’une barre oblique et du nom de votre servlet. Par exemple :

http:??ec2-184-73-26-184.compute-1.amazonaws.com:8080/HelloEC2World/HelloClient

Appuyez sur Entrée et votre navigateur devrait afficher Hello EC2 world ! Votre application (et peut-être même votre tête) est maintenant dans le cloud.

AWS SDK for Java

Dès lors que l’application Hello World est en place dans Eclipse, nous allons construire le  Cheapo RPG Source Control dans ce même projet. Premièrement, téléchargez l’AWS Java SDK (aws.amazon.com/sdkforjava). Extrayez le fichier zip quelque part sur votre PC et, dans Windows Explorer, étendez aws-java-sdk-1.xxxx\lib. Copiez aws-java-sdk-1.xxx.jar et chacun des jars sous les sous-répertoires du répertoire tiers dans le répertoire WebContent/WEB-INF/lib du projet Eclipse. Voici la liste des fichiers jar dont AWS SDK for Java a besoin dans le projet Eclipse :

•    aws-java-sdk-1.0.003.jar
•    commons-codec-1.3.jar
•    commons-httpclient-3.0.1.jar
•    commons-logging-1.1.1.jar
•    jackson-core-asl-1.4.3.jar
•    saxon9he.jar

Traitement de JSON en Java

Pour que le servlet Java puisse convertir la réponse JSON de l’application navigateur RPG, téléchargez json-lib (json-lib.sourceforge.net) dans un répertoire local. L’utilitaire json-lib requiert les fichiers jar suivants:

•    jakarta commons-lang 2.4
•    jakarta commons-beanutils 1.7.0
•    jakarta commons-collections 3.2
•    jakarta commons-logging 1.1.1
•    ezmorph 1.0.6

Pour télécharger chacun de ces fichiers jar, cliquez sur le lien « Dependencies report » et faites défiler vers le bas. Ensuite, sous Dependency Listings, traversez vers chaque projet et téléchargez-les. À noter que commons logging se trouve déjà dans Hello World à partir de l’AWS SDK, donc il n’est pas nécessaire de télécharger ce fichier jar.
Tous les fichiers requis se trouvent maintenant dans le projet Hello World. Pour vous assurer qu’Eclipse a bien utilisé ces fichiers pendant la compilation, dans Eclipse, faites un clic droit sur le projet Hello World et choisissez les options suivantes : Build Path/Configure Build Path/Add JARs.

Ensuite, dans la liste des projets, étendez HelloEC2World à WebContent\WEB-INF\lib, sélectionnez tous les jars, et cliquez sur OK. Pour finir, téléchargez la Visual Difference JavaScript Library (snowtide.com/files/media/jsdifflib/jsdifflibtest.html) et copiez difflib.js, diffview.js et diffview.css directement sous le répertoire WebContent du projet.

Références Amazon S3

Votre projet devra présenter ses références à Amazon. Dans Project Explorer, choisissez votre projet, puis faites un clic droit et sélectionnez New. Dans l’arborescence, étendez votre projet, cliquez sur l’icône src folder, tapez File Name: AwsCredentials.properties, et cliquez sur Finish. Pour ajouter vos références, ouvrez le fichier properties et tapez :
accessKey =votre clef d’accès AWS
secretKey =votre clef secrète AWS

Code Cheapo

Copiez les fichiers suivants dans le répertoire WebContent :
•    cheapoCompare.jsp
•    cheapoList.jsp
•    cheapoSource.jsp

Il vous faut maintenant créer un nouveau servlet appelé CheapoRPGSource. Dans Project Explorer d’Eclipse, faites un clic droit sur le projet Hello World, sélectionnez New, et choisissez Servlet. Tapez un nom de classe CheapoRPGSource et cliquez sur Finish. Ensuite, remplacez tout le contenu de CheapoRPGSource par la version provenant du téléchargement de cet article. Il ne suffit pas de copier simplement CheapoRPGSource.java dans le répertoire src, parce que l’assistant Eclipse New/Servlet enregistre le servlet avec l’application web.

Vous pouvez à présent tester l’application. Dans l’article Amazon mentionné précédemment, vous avez déployé l’application sur Amazon en faisant un clic droit sur le dossier de l’application principale HelloEC2World dans le Eclipse Project Explorer, puis vous avez cliqué sur Run As suivi par Run on Server. Donc, votre instance EC2 est probablement encore en activité (moyennant 10 cents de l’heure).
Pour tester votre nouveau code, ne publiez que les changements de l’application. Pour cela, cliquez sur l’onglet Eclipse Server (Figure 8). Si le serveur n’est pas actif, la vue indiquera Stopped, et vous pourrez le lancer en faisant un clic droit et en choisissant Start. Pour déployer vos changements, faites un clic droit sur l’instance serveur Amazon EC2 Tomcat et cliquez sur Publish. Pour tester, tapez l’URL suivante (en remplaçant le domaine par un autre que vous aurez copié à partir de votre onglet EC2 Instances (Figure 8) :

http:??ec2-174-129-160-212.compute-1.amazonaws.com:8080/HelloEC2World1/cheapoSource.jsp

Fermer Amazon

N’oubliez pas de mettre fin à votre instance Amazon EC2 (sous peine de payer 10 cents de l’heure). Vous pouvez gérer vos instances EC2 à partir d’Eclipse, Amazon (aws.amazon.com et cliquez sur Sign in to the AWS Management Console), ou du plug-in ElasticFox FireFox. Pour utiliser Amazon EC2 pour des applications de production (afin d’épargner aux utilisateurs les noms de domaine EC2 plutôt obscurs), vous pouvez configurer Amazon de telle sorte qu’un domaine enregistré pointe dynamiquement vers votre instance EC2. Il est vrai que l’utilisation d’EC2 complique un peu les choses. En particulier, pour utiliser une configuration serveur personnalisée, il vous faudra apprendre Amazon Machine Images (AMI). Dans cet article, j’ai utilisé une image basée sur Linux. Vous pouvez choisir entre plusieurs versions de Linux, ou bien utiliser Microsoft Windows—bien que Windows AMI coûte nettement plus cher. Le Cloud computing ne vous affranchira pas complètement de vos hôtes, mais cette technologie mérite réflexion avant d’acheter du nouveau matériel, de reconfigurer votre réseau, et de pratiquer l’hébergement local.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 10 juillet 2013