Pages

Friday, February 29, 2008

Téléphone Google android

J'attends avec impatience la sortie de téléphones avec la plateforme Android de google.

Grâce aux Mobile World Congress 2008, on voit quelques prototypes de constructeurs faire leur apparition!!!

Voici une vidéo d'un prototype de Texas Instrument :

Javascript vers applet Java

Dans ce post, j'expliquais qu'il était possible de faire un pont entre le monde java dans un applet et du javascript.

Il est aussi possible de faire ça dans l'autre sens, cad, appeler une méthode java dans une applet à partir d'une fonction javascript. Voici un petit exemple de mise en oeuvre :

1 : test/myApplet.java

package test;

import java.applet.Applet;

public class MyApplet extends Applet {

public void init() {
super.init();
System.out.println("init something");
}

public void jsCall(String hello) {
System.out.println("this method is called by a js function and say :"
+ hello);
}

}


2 : test-call.html

<html>
<head>
<title>test applet</title>
<script type="text/javascript">
function callJavaMethod() {
document.javaToJavascriptApplet.jsCall('hello world');
}
</script>
</head>
<body>
<applet id="javaToJavascriptApplet" code="test.MyApplet.class" mayscript
width="0" height="0" codebase="bin/">
</applet>

<input type="button" value="Call a java applet method"
onclick="callJavaMethod();">


</body>
</html>


Il ne reste plus qu'à lancer la page html, cliquer sur le bouton et observer la console java de l'applet :

init something

this method is called by a js function and say :hello world

Thursday, February 28, 2008

Maven 2, recherche de jars

J'utilise et abuse de maven dans les projets java notamment chez mon client. Comment faisait-on d'ailleurs avant la création de cette outil???

Ce qu'on peut parfois lui reprocher, c'est la perte de temps qu'occasionne la définition des dépendances dans le pom : la recherche de dépendances sur les repositorys distant sur le net prend un temps fou même si le système de dépendance transitive permet d'alléger la déclaration des dépendances dans le pom.

Un collègue m'a présenté un site qui me permet maintenant de gagner beaucoup de temps sur cette recherche :
http://www.mvnrepository.com/

Le site propose un système de recherche permettant de trouver une dépendance :

Une fois la dépendance trouvée et dans la bonne version, il fournit le bout de code xml à rajouter pour la déclarer dans le pom! magique!

Wednesday, February 20, 2008

SoapUI : testeur de web service

Je travaille chez mon client à la mise en oeuvre d'architecture d'intégration, notamment SOA et EDA avec des ESBs.

Je viens de terminer une phase de test de montée en charge dans lequel nous avons mis à l'épreuve plusieurs ESBs Open Source du marché.

Plusieurs de nos scénarios concernées la mise en oeuvre d'échanges synchrones à base de web services avec un ESB comme "proxy" intermédiaire. Nous avons développé un injecteur maison permettant de simuler une charge synchrone (appel massif de web services) ou asynchrone (écriture massive de messages JMS).

J'ai néanmoins découvert un outil très sympa : SoapUI
L'outil permet à partir d'un WSDL d'appeler un web service. Ce que je trouve très intérressant dans l'outil c'est la génération d'un message SOAP par défaut qui permet d'appeler le web service. Pour ceux qui n'ont pas eu WSDL en seconde langue au lycée, c'est très appréciable! :-)

En creusant un peu sur les fonctionnalités de l'outil, j'ai découvert qu'en plus de faire des tests unitaires, il permet aussi de mettre en place des tests de charge (multi threading) avec la possibilité de mettre en place tout un ensemble d'assertions.

Architecture Ebay

Vous êtes vous déjà poser la question :"Heu, Ebay, comment ça marche???".

Quand on lit les chiffres annoncés par Ebay en terme de volume de traitement, c'est incroyable.
J'en prends un au hasard : 28 milliards de requête SQL par Jour!!! En novembre 1999, Ebay atteint les limites physiques de croissances des serveurs de Base de données...

On se doute bien qu'avec se genre de problématique, des réflexions sur l'architecture mise en place (et son évolution) est primordiale.

Voici un PDF sur l'architecture d'EBay que j'ai trouvé sur ce post :
http://www.highscalability.com/ebay-architecture
(Le nom du site plante déjà un peu de décor)