mardi 30 juin 2009

Netbeans IDE 6.7 est là : sans la prise en charge de JavaFX, ni JBPM

Quelques jours après le release de son rival directe Galileo, voilà que NetBeans est lui même disponible pour le téléchargent

clip_image001

Les technologies supportées par cette version de NetBeans

Java SE et Java Web et EE

En plus des outils de production de code source en Java ( un éditeur, un débogueur, le refactoring), et Java EE, se trouve le profiler : c’est l’outil le plus précieux à mon avis.

Ce profiler est le seul lien que j’ai avec NetBeans depuis des années.

Cette nouvelle version est compatiblesavec les spécifications J2EE 1.4 et Java EE 5. Elle Inclut le support des servlets, des JSPs, des tag libs, de Spring, de Struts, de (JPA) Java Persistence API, des Enterprise Java Beans, de JAX-WS et des services web RESTful ainsi que de Java Server Faces. Fournit un environnement visuel pour le développement d'applications par glisser-déposer.

Java ME

Un ensemble complet d'outils pour créer des applications Java Micro Edition pour téléphones mobiles et autres appareils portables. Inclut un outil de conception visuel, un assistant de connexion à des services web et des outils pour gérer les problèmes de fragmentation sur ces appareils.

Il faut noter que cette version confirme la tendance du monde java vers les langages dynamique et propose des outils pour Ruby, JRyby et Groovy

NetBeans propose un ensemble complet d'outils pour créer des applications ruby et Ruby on Rails. Il comprend un interpréteur JRuby, le framework Ruby on Rails, un éditeur, un débogueur, un gem manager et un shell interactif Ruby. Il supporte la création, la modification et l'exécution d'applications Ruby on Rails en toute facilité.

Il fournit, aussi, le support du langage Groovy et du framework Grails.

C/C++ ne sont pas oubliés :

NetBeans propose des outils pour le développement d'applications en C et C++ .

Attirer la communauté PHP (ça été fait avant Eclipse)

NetBeans propose des outils pour le développement d'applications PHP, comprenant un éditeur et un débogueur PHP, la gestion de projets, l'intégration avec le serveur Apache, le support de MySQL et d'autres bases de données, le chargement et le téléchargement avec FTP, le support de JavaScript et bien d'autres fonctionnalités encore.

La version 6.7 de NetBeans inclus les Serveurs suivants :

Sun GlassFish Enterprise Server v2.1

Sun GlassFish Enterprise Server v2.1 est un serveur compatible avec la plate-forme Jave EE 5 pour le développement et le déploiement à grande échelle d'applications Java EE et de services web basés sur la technologie Java

Sun GlassFish Enterprise Server v3 Prelude

Sun GlassFish Enterprise Server v3 Prelude est une offre avec support commercial autour de GlassFish v3 Prelude.

Apache Tomcat 6.0.18

Conteneur web open-source supportant les spécifications Java Servlet et JSP.

JavaFX JavaFX disponible seulement pour NetBeans 6.5.1

D’autre part, NetBeans reste focalisé sur l’IDE et n’a pas pris le chemin de l’ALM

Mais ceci est aune autre question

NB : voilà ce qu’on trouve sur le site de SUN

Supported Technologies

Ajax C/C++ Databases Debugger Desktop Editor Groovy GUI Builder Hudson Java EE JavaFX Java ME Java SE JavaScript Kenai Maven Mobile PHP Profiler Python Refactor REST Rich Client Platform Ruby SOAP Web

NB : autres sujets

Eclipse & l’ALM pour quand ?: Eclipse lance sa distribution de 33 plugins et en attendant l’ère de l’ALM

lundi 29 juin 2009

Achat de SUN par Oracle & La position de Sun dans l'Open Source : qu’est qui va rester ?

En pensant à SUN, qui se définit comme le plus grand contribuer à l’open source, une question me vient à l’esprit : qu’est qui va rester de cette contribution ?

rappelons que l'achat n'est pas encore validé par les autorités américaines, à ce jour ...


Mysql

clip_image002

Java (Hotspot)

clip_image004

glassfish

clip_image006

Sun xVM

VirtualBox : un concurrent de VMware, permet de simuler des ordinateurs virtuels, pour ensuite installer des systèmes d'exploitation invités.

clip_image008


clip_image010

OpenSolaris

clip_image012

lustre : Lustre est un gestionnaire de fichiers distribués pour les supercalculateurs en cluster ou massivement parallèle.

clip_image014

openDS : un serveur d'annuaire conforme au standard LDAPv3 et supporte la plus part des extensions et schemas LDAP standard et expérimentaux, assurant ainsi une meilleure interopérabilité avec les applications clientes.

clip_image016

Openoffice (startOffice)

clip_image018

Solaris

clip_image020

ZFS (a new File System)

clip_image022

NetBeans

clip_image024

Sun MDM

clip_image026

La question est qu’est ce que la communauté pourra développer sans SUN

La virtualisation, pas possible : Oracle cherche une position dominante dans ce domaine …

MySQL possible

Java c’est sûre

Et les autres …

Heureusement que des produits tel que Spring, JBPM, Hibernate ne dépendent pas de SUN …

Mais ceci est un autre sujet

samedi 27 juin 2009

Eclipse & l’ALM pour quand ?: Eclipse lance sa distribution de 33 plugins et en attendant l’ère de l’ALM

Eclipse Galileo c'est 33 projets qui collaborent depuis un an pour livrer leurs versions majeures de manière simultanée. La version 3.5 d’Eclipse c’est aussi 24 millions de lignes de code, de plus, par rapport à l'année dernière.

Galileo couvre ainsi de nombreux domaines qui vont, de java, à l'embarqué, aux applications web JEE, C et PHP, le reporting", la modélisation, la gestion des données.

Voilà ce qu’il faut retenir de ce super effort collectif soutenu par les grands de l’industrie Java.

clip_image001

Mais, Eclipse, avec son système de plugin et son focus sur les développeurs, risque de perdre le pas, face à un Visual Studio toujours plus envahissant avec son VSTFS 2010.

Visual Studio Team Foundation Server 2010 gère le cycle de vie d’une application en un seul endroit ce qui le rapproche de plus en plus de l’ALM (Application Life cycle Management).

Notons que VSTFS propose déjà une version « Teamprise for Eclipse » et s’intègre avec ANT et CruisControl, il ne lui reste qu’une proposition d’un IDE Java !!

IBM avec son Jazz essaye de suivre la tendance du marché, mais nous restons encore sur notre faim.

Il faut rappeler que, « feu Borland » a compris il y a longtemps (mais un peu en retard) qu’il n’est plus possible de résister et de gagner de l’argent en vendant uniquement des outils de création de code source (IDE).

L’avènement de l’ALM dans le software était inéluctable.

Il a basculé JBuilder vers une application basée sur Eclipse et il a filialisé ses outils de développement dans Codegear qui a été reprise par Embarcadero. Puis il s'est recentré sur les outils de gestion du cycle de vie applicatif,

Mais, Borland n’est plus là pour témoigner : il a été acheté il y a à peine un mois (source le monde informatique) par Micro Focus pour environ 75 M$.

Pour Eclipse, Proposer une distribution annuelle (Galileo juin 2009, Ganymede juin 2008 , Europa juin 2007, Callisto juin 2006) était « la » bonne solution à l’époque, il y a quelques années, afin de limiter les dégâts causés par l’incompatibilité des plugins …

Mais, en attendant la nouvelle version e4, ou la version 3.6 dite Helios, et malgré, la disparition supposée de son rivale (le NetBeans de SUN) n’a aucune chance de rester dans la course s’il ne propose pas une solution ALM.

Espérons que Les prochaines versions seront la release d’un vrai ALM et non plus un simple outil de création de code.

Une solution ALM, devra être viable et intégrer la gestion des tests logiciels, de l’assurance qualité, de la collaboration, des tableaux bord, de la gestion de projet …. Bref, traiter à pied d’égalité tous les acteurs d’un projet informatique, sans privilégier « la caste des développeurs » …

Mais ceci est un autre sujet

vendredi 26 juin 2009

Est-ce que vous voulez connaitre ce que fait votre application coté base de données : employer un espion (open source)

Vous faites partie d’une équipe TMA ?

Vous avez hérité d’une application, suite au départ de votre collègue vers d’autres fonctions ?

Vous cherchez à cerner connaitre les requêtes lancés par JBPM ou Quartz, …

Et vous cherchez à cerner les causes de mauvais fonctionnement de votre application

La réponse est simple :

Utiliser un « mouchard » pour découvrir les requêtes SQL lancées par l’application vers la base de données.

L’installation est très simple

1) télécharge p6spy.jar ( le jar date de 2003, depuis il n’a pas évolué)

http://www.p6spy.com/survey.html

2) le fichier p6spy.jar doit être ajouté dans le classpath de l’application : pour une application Tomcat cela revient à mettre dans /web-inf/lib

3) Le fichier spy.properties doit être mis dans le même endroit que p6spy.jar.

a. dans la configuration de JDBC driver de l’application

i. changer le nom de driver réele par celui de p6spy.jar com.p6spy.engine.spy.P6SpyDriver

ii. mettre le « vraie » driver dans ce fichier realdriver=org.postgresql.Driver

Exemple avec JDBC Template de Spring

<bean id="dataSource"

class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property name="driverClassName">

<value>com.p6spy.engine.spy.P6SpyDriver</value>

</property>

<property name="url">

<value>jdbc:postgresql://localhost/jsf</value>

</property>

<property name="username">

<value>jsf</value>

</property>

<!-- Make sure <value> tags are on same line - if they're not,

authentication will fail -->

<property name="password">

<value>password</value>

</property>

</bean>

Le résultat est immédiat

Lancer l’application

Un fichier spy.log sera crée dans le répertoire de base de l’application

Le log est de type

current time|execution time|category|statement SQL String|effective SQL string

1245846292012|15|0|statement||

select count(*) from client

1245846292012|-1||resultset|

select count(*) from client

|count = 0

1245846292090|0|1|statement||select label from article where id=1

1245846292090|-1||resultset|select label from article where id=1 |label = 1

1245846292168|0|2|statement||select * from client

Nous avons même le temps d’exécution en ms, ce qui permettra d’évaluer les temps de réponse …

Mais ceci est une autre histoire

Log File Format

The log file format of spy.log follows:

current time|execution time|category|statement SQL String|effective SQL string

  • current time—The current time is obtained through System.getCurrentTimeMillis() and represents the number of milliseconds that have passed since January 1, 1970 00:00:00.000 GMT. (Refer to the J2SE documentation for further details on System.getCurrentTimeMillis().) To change the format, use the dateformat property described in Common Property File Settings.
  • execution time—The time it takes for a particular method to execute. (This is not the total cost for the SQL statement.) For example, a statement SELECT * FROM MYTABLE WHERE THISCOL = ? might be executed as a prepared statement, in which the .execute() function will be measured. This is recorded as the statement category. Further, as you call .next() on the ResultSet, each .next() call is recorded in the result category.
  • category—You can manage your log by including and excluding categories, which is described in Common Property File Settings.
  • statement SQL string—This is the SQL string passed to the statement object. If it is a prepared statement, it is the prepared statement that existed prior to the parameters being set. To see the complete statement, refer to effective SQL string.
  • effective SQL string—If you are not using a prepared statement, this contains no value. Otherwise, it fills in the values of the Prepared Statement so you can see the effective SQL statement that is passed to the database. Of course, the database still sees the prepared statement, but this string is a convenient way to see the actual values being sent to the database

Architecte SOA & Professionnel Open Source Headline Animator

 
Khaled BEN DRISS
Cloud Computing, SOA et Web 2.0 : Des sujets techniques sur SOA et l'Open Source : de Java & .Net, PHP5, Symfony, à SaaS / PaaS en passant par Azure, google appengine, le BPM, la Modélisation et d'autres sujets du coté du serveur et cloud computing.