programmez eclipse

84
 g r a m m e z  ! Le magazine du développement  mensuel n°112 - octobre 2008        t       e       c         h       n         i       q       u       e S Q L S e rv e r 2008 Découvrez le Resource Governor iPhone / .net Piloter votre W in do ws M edi a C enter avec iPhone Flash M aîtr is er le bi t map av ec ActionScript 3 Et au ss i : Linux : Développer des extensions Nautilus Numéro S p écial 10 ans !  N o u  v  e l l  e  F o r m u l  e Le match Eclipse - Netbeans Choisir l’outil idéal !  Les d e rn i è res vers i o ns c o mp a e s  To ut s a voir s ur Ec l i p s e 4.0 Exclusif ! Vers Microsoft 3.0 Les projets secrets de Microsoft Enquête Vos langages favoris  Chrome e t l e s d é velopp e urs  Le Goog l e D eve l op e r D a y ! Java A s p ec tJ : La programmation par aspect facile ! Jav aS p ace s : C rée r votr e g ri d computing Jeu x : Dével opper des j eux en J ava 3:HIKONB=^UZ^Z]:?k@l@b@c@a; M 04319 - 112 - F: 5,95 E Printed in France - Imprimé e n France - BELGIQ UE 6,45 - SUISSE 12 FS - LUXE MBOU RG 6,45 - DOM Surf 6,90 - Canad a 8,95 $ CAN - TOM 940 XPF - MAROC 50 D H P R O www. programmez.com

Upload: marwen-bou

Post on 21-Jul-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

PRO grammez !www. programmez.com

Numro Spcial 10 ans ! Nouvelle Formulemensuel n112 - octobre 2008

Le magazine du dveloppement

Enqute

Vos langages favorisExclusif ! Vers Microsoft 3.0

Les projets secrets de Microsoft

Le match

Eclipse - NetbeansChoisir loutil idal !Les dernires versions compares Tout savoir sur Eclipse 4.0

Chrome et les dveloppeurs Le Google Developer Day !

JavaAspectJ :La programmation par aspect facile !

technique

SQL Server 2008Dcouvrez le Resource Governor

FlashMatriser le bitmap avec ActionScript 3

JavaSpaces :Crer votre grid computing

iPhone / .netPiloter votre Windows Media Center avec iPhone

Et aussi :Linux : Dvelopper des extensions Nautilus

Jeux :Dvelopper des jeux en Java

Printed in France - Imprim en France - BELGIQUE 6,45 - SUISSE 12 FS - LUXEMBOURG 6,45 - DOM Surf 6,90 - Canada 8,95 $ CAN - TOM 940 XPF - MAROC 50 DH

3:HIKONB=^UZ^Z]:?k@l@b@c@a;

M 04319 - 112 - F: 5,95 E

VERSION EXPRESS GRATUITETlchargez-la !

Environnement professionnel intgr de dveloppement (IDE & ALM)

INCLUS EN STANDARD DANS WINDEV 12 : Tout est en franais (manuels, logiciel, exemples) Hot Line personnalise (support technique) gratuite* Dploiement libre et gratuit Cre des .EXE scuriss, des WebServices, des applications .NET, des applications Java... Fonctionne en TSE et Citrix 32 bits, 64 bits Compilation JIT Code multi-plateforme compatible Mobile et Internet Gnrateur automatique dIHM, avec charte graphique. Cration automatiques de superbes fentres par utilisation de gabarits fournis (pour tous Windows) Tous les Windows : 98, 2000, NT, XP, Vista, 2008... Gnrateur dEtats et de Requtes diffusable, cration de PDF, code-barres, tiquettes. Fond de page PDF Menu dexport automatique dans chaque application cre: vers Word, Excel, OpenOffice, XML, PDF; Graphiques 3D; Historique de saisie,... Envoi de mail, Macros Real-RAD : Gnrateur dapplications compltes, avec possibilit de crer ses propres Patterns HyperFileSQL, Base de Donnes Client/Serveur, Locale et Mobile sous Windows et Linux (version illimite, libre et gratuite); Gre 4 millions de Tra-octets Accs toutes les Bases de Donnes tierces: Oracle, AS/400, SQL Server, DB2, MySQL, Access, xBase, etc... Rplication entre bases de donnes XML natif Accs natif SAP R/3, Lotus Notes, LDAP, Outlook,... Centre de Modlisation UML, Merise et Souple; code gnr depuis lanalyse, reverse engineering Centre de suivi du planning dquipes Tableau de Bord de suivi de projet Dossier automatique : analyse & programmation Rgles mtier; Gestion des exigences Cration et utilisation de composants ; 3-tiers Centre de suivi des retours et suggestions utilisateurs Import dapplications Access et VB Langage de 5 Gnration L5G, qui limine 90% du code Ouverture aux L4G et L3G: C++, C#, Java, VB, Cobol... Fonctions Domotique (norme X10) Gestion liaison srie RS 232, parallle et USB Fonctions Bluetooth, Fonctions rseau SNMP Fonctions TAPI, OPC, FTP, HTTP, Socket, Twain, API, DLL,... Fonctions Multimdia (image, son, vido) Editeur de code intelligent, avec test immdiat sans recompilation Gestion des versions (gestion des sources: en local, distance) Automate de tests unitaires de code et dIHM, Editeur visuel de tests de non-rgression Dbogueur puissant: threads, composants,... Dbogage distance Refactoring Profiler, pour optimiser la vitesse du code Multilingue automatique: jusqu 20 langues Gnrateur daide CHM Gnrateur dInstallations en 1 clic, grant les mises jour automatiquement (local, distance, via Internet) Autoformation facile, en 1 semaine (manuels livrs) Vous aussi, comme 100000 dveloppeurs professionnels, choisissez WINDEV !

WINDEVFournisseur Officiel de la Prparation Olympique

DVELOPPEZ 10 FOIS PLUS VITEDveloppez facilement de superbes applications robustes et rapides avec le N1 en France.

Logiciel professionnel. Document non contractuel. Support technique gratuit: 15 requtes sur la version en cours de commercialisation.

www.pcsoft.frDemandez le dossier gratuit (244 pages + 1 DVD) VERSION EXPRESS GRATUITE et 112 Tmoignages. Tl: 04.67.032.032 ou 01.48.01.48.88 Mail: [email protected]

NOUVEAU : donnez votre avis sur ce numro www.programmez.com

PRO grammez !Le magazine du dveloppement

numro 112 - octobre 200816

sommaire\\

\\ actusLactualit en bref ..............................................................................8 Agenda ..............................................................................................9 2e symposium Eclipse-OMG..................................................................10 Adobe dvoile la Creative Suite 4..........................................................12

\\ vnementsGoogle Day Developer..........................................................................14 Google Chrome : le premier navigateur RIA............................................16

\\ sgbdLe Resource Governor (1re partie)........................................................18

\\ gros plan : Eclipse-Netbeans,comment choisir loutil idal ?Eclipse 4.0 : un aperu de lavenir ........................................................23 Choisir son IDE idal ..........................................................................24

\\ dossier : Spcial10 ans Grande enqute vos langages favoris..................................................31 La parole aux experts ......................................................................38Croissance du rseau, rvolution du calcul et transformation des usages ............38 Dvelopper signifiera-t-il toujours " crire du code " ............................................39 Vive le code libre ..........................................................................................40 Au pass le partage, lavenir la concurrence ..................................................41 Rester simple : une affaire complexe ..............................................................42

22

48

Mtiers : 10 ans dvolution..............................................................43

\\ reportage : ImagineCup 2008Le tour du monde ..............................................................................48

\\ bonnes feuillesLes projets secrets de Microsoft (2e partie) ..........................................51

\\ codeBlu age dition 2009 ..........................................................................56 ActionScript 3 et la programmation bitmap ..........................................59 Programmation oriente aspect avec AspectJ........................................62 JavaSpaces et le parallel processing ....................................................65 Piloter votre Windows Media Center avec un iPhone (1re partie) ............68 OpenMPI, une librairie pour la programmation parallle distribue............71 Ecrire des scripts dextensions pour Nautilus ........................................75

68

\\ temps libreDevenez un petit gnie du jeu video ......................................................80 Les livres du mois ..............................................................................82 80

CD ROM

Eclipse SDK 3.4 - Windows Environnement de dveloppement intgr libre Netbeans IDE Java SE 6.5 bta - Windows Environnement de dveloppement intgr pour Java Netbeans IDE Ruby 6.5 bta - Windows Environnement de dveloppement intgr pour Java Perforce Serveur 2008.1 Windows limitation : 2 serveurs et 5 clients. Le systme de Gestion de Configuration Logicielle rapide Perforce Visual Client 2008.1 (P4V) - Windows

Cappuccino Starter Package 0.5 Framework open source pour le dveloppement d'applications web Love 0.4.0 - Windows Moteur de jeu en 2D - Libre Appchecker - Linux Appchecker : la killer application Linux pour dveloppeur ! AspectJ 1.6.1 Extension oriente aspect pour le langage de programmation Java Delphi and C++Builder 2009 Editeur : CodeGear Windows limitation : 14 jours Version 2009 des environnments de dveloppement C++ et Delphi

PHP 5.2.6 (sources) Dernire version stable de PHP 5 WinSCP 4.1.6 - Windows client SFTP graphique pour Windows. Il utilise SSH et est open source Virtualbox 2.0.0 - Windows Linux - Outil de virtualisation et son SDK Kite 2.0 - Windows Logiciel de test de performance des applications Web OpenLaszlo 4.2 bta 1 Windows plateforme de dveloppement pour des applications web interfaces riches

Supplment ditorial n112

JAVA

OUTILS

Eclipse 3.4 Netbeans 6.5 bta !Dcouvrez les toutes dernires versions des environnements de dveloppements Java.Versions Windows

Delphi 2009 C++ Builder 2009

CodeGear CodeGear

Dcouvrez le nouveau Delphi avec toujours plus de .Net. Installeur Windows* - Limit 14 jours. La nouvelle version de lIDE C++ mondialement connu. Installeur Windows* - Limit 14 jours.* Ncessite une connexion internet pour tlcharger et installer

Netbeans IDE Ruby 6.5 btaDveloppez plus rapidement votre site Web 2 en RubyWindows

Perforce Serveur 2008.1Le systme de gestion de configuration et de code source de rfrence.

PHP 5.2.6 (sources)Dernire version stable de PHP 5

Dcouvrez BLU AGETM Build Edition 2009Le premier Environnement Intgr de Modlisation et de Gnration dapplications Web !Dbuggez vos modles UML/BPMN et transformez-les automatiquement et instantanment en applications JAVA !Licence dvaluation 30 jours de BLU AGETM Build Edition 2009, construit sur Eclipse.

Octobre 2008 \\ PROgrammez! 3

Echantillon gratuit Ne peut tre vendu sparment Les versions peuvent tre limites, selon les diteurs et prsentes en anglais ou en franais.

Editeur XML

XMLSpy

XMLSpy 2008 dAltova est lenvironnement de dveloppement XML le plus populaire au monde. Il permet de modliser, diter, transformer, dboguer et profiler toutes les technologies XML. Tlchargez une version dvaluation gratuite ds aujourdhui!XMLSpy offre une conformit sans gale aux Prise en charge des trs gros fichiers XML Fonction de recherche/remplacement dtaille dans lditeur de schmas XML Dtails XSLT avancs dans la fentre Info Aide la saisie dans XSL Outline Prise en charge de Java, C#, JavaScript et VBScript dans les feuilles de style Prise en charge de Visual Studio mise jour pour VS 2008 Et bien plus encoreauts Nouve dans y 2008 XMLSp 2 n versio

normes les plus rcentes de lindustrie. Il prend mme en charge les nouveaux formats Office Open XML (OOXML) employs par Microsoft Office 2007. Ses fonctionnalits avances sallient des vues et des aides la saisie conviviales, des assistants et des dbogueurs pour permettre aux dveloppeurs de crer, diter et optimiser les applications XML et les services Web les plus avancs avec aisance.

Editeur XML Editeur graphique de schmas XML / DTD Editeur, dbogueur et profileur XSLT 1.0/2.0 Editeur, dbogueur et profileur XQuery Analyse et construction XPath 1.0/2.0 Prise en charge des bases de donnes relationnelles Fonctions de validation XML avances Prise en charge des fichiers Office Open XML (.docx, .xlsx, pptx) Client et dbogueur SOAP Editeur graphique WSDL Gnration de code Java, C#, C++ Vues ddition textuelle et graphique Intgration de Visual Studio & Eclipse

Dcouvrez pourquoi XMLSpy a t choisi par plus de 3 millions de dveloppeurs professionnels Tlchargez gratuitement une version dvaluation de 30 jours sur www.altova.com

dito\\

Monde cruel, quand tu nous tiensCe que nous aimons avec septembre et sa rentre, ce sont les surprises, attendues ou inattendues. Et le cru 2008 ne vient pas contredire cette tradition. Plus que de simples annonces, cela va donner le ton pour 2009 et au-del. En attendant les grandmesses Microsoft doctobre et novembre prochains qui promettent l aussi de changer notre vision sur Windows, .net et par contrecoup, au-del. Car nombre dditeurs et de communauts open source scrutent chaque mouvement de Redmond. IE8 sort une navigation prive, pas de souci, Mozilla rplique peu aprs avec sa propre solution. Mais quand il sagit de frapper, Microsoft sait aussi attendre labri et se lancer avec la puissance de feu ncessaire. En retard dans la virtualisation ? Pas grave, on sort un Hyper-V payant, puis une dition spciale gratuite et comme la virtualisation Windows est largement pratique, cause de son omniprsence, Microsoft peut peser de tout son poids sur ce march en pleine restructuration. Il y a encore quelques mois, on parlait partout de Xen. Tous les diteurs voulaient lavoir, le supporter. Dsormais, les diteurs de systmes rachtent de la virtualisation et sortent leurs propres solutions : Microsoft, Red Hat, Novell, Sun Nous assistons une vritable reprise en main du march. Et des pures players comme VMware, Parallels nauront que 6 12 mois pour contrecarrer ce renversement tactique. Cest comme si on assistait un Austerlitz virtuel. Tromper ladversaire, le laisser venir, le fixer puis attaquer sur son point fort, son centre, pour mieux attaquer les flancs. Et la rentre nous a permis de nous replonger dans un autre domaine qui nous tient cur, le modle de dveloppement des applications pour Linux. Quelques diteurs avaient bien tent de crer des outils multi-plates-formes comme Borland avec Kylix, un Delphi linuxis. Un norme flop ! Depuis, lharmonisation est laborieuse. Toutes les tentatives pour crer un " standard Linux " chouent rgulirement. Les rapprochements Gnome KDE souvent voqus ne sont gure plus dactualit. La diversit est une force mais aussi un inconvnient. Mais heureusement une initiative a retenu notre attention et mrite toute notre bienveillance : Linux Application Checker de la Linux Foundation. A mon grand regret ce nest pas un IDE capable de cibler, de compiler sur les distributions mais cest un pas important que cet outil propose de franchir. Il sagit de pouvoir vrifier son code sur lensemble des distributions ayant un profil LSB ! Ce nest pas un debugger, pas un IDE mais cela permet dj de vrifier la conformit de son code source avec les LSB. Cest loin dtre parfait mais dfaut dun accord entre les distributions, que pouvionsnous esprer de plus ? Un nouveau Kylix ? Nous ny croyons plus rellement, faute de combattants voulant se lancer dans laventure. Il y a bien Mono, mais certains objecteront " ah C#, un truc de Microsoft ! ". Lavantage est quil fonctionne et commence faire ses preuves. A vous de choisir. FRANOIS TONIC

PRO grammez !Le magazine du dveloppement

Rdaction : [email protected] Directeur de la Rdaction : Jean Kaminsky Rdacteur en Chef : Franois Tonic Ont collabor : F. Mazu, L. Guillois, F. Dewasmes, C.Remy, J-B. Boisseau,. Experts : F. Madiot, P. Belaud, S. Drapeau, A. Cogoluegnes, M. Ghallab, L. Ellerbach, A. Kolawa, C. Bouchre, T. Imbert, F. Colin, L. Ribardire Illustrations : Piedoue Crdit photo : @iStockphoto.com - Sun Microsystems Maquette : AJE Conseils Publicit : Rgie publicitaire, K-Now sarl Pour la publicit uniquement : Tl. : 01 41 77 16 03 [email protected] Editeur : Go-02 sarl, 6 rue Bezout - 75014 Paris [email protected] - Dpt lgal : parution - Commission paritaire : 0707K78366 ISSN : 1627-0908 - Imprimeur : ETC - 76198 Yvetot Directeur de la publication : J-C Vaudecrane Ce numro comporte 1 CD Rom Abonnement : Programmez 22, rue Ren Boulanger, 75472 Paris Cedex 10 - [email protected] Tl. : 01 55 56 70 55 - Fax : 01 55 56 70 20 - du lundi au jeudi de 9h30 12h30 et de 13h30 17h00, le vendredi de 9h00 12h00 et de 14h00 16h30. Tarifs abonnement (magazine seul) : 1 an - 11 numros France mtropolitaine : 45 - Etudiant : 39 CEE et Suisse : 51,83 Algrie, Maroc, Tunisie : 55,95 Canada : 64,33 Tom : 79,61 - Dom : 62,84 e Autres pays : nous consulter. PDF : 30 (Monde Entier) souscription en ligne.

LINFO PERMANENTEWWW.PROGRAMMEZ.COM

PROCHAIN NUMRON113 novembre, parution 31 octobre

Quel est le rapport entre Google et Programmez ?Ces deux mdias ont 10 ans en 2008. Bien sr, la comparaison sarrte l ! Mais elle illustre le challenge de votre magazine : durer, lre de linformation instantane et gratuite. Vous tes cependant environ quarante mille nous lire, chaque mois. 40 000, cest deux fois moins quil ya dix ans, mais vous tes fidles et le chiffre est globalement stable. Et il sagit bien de lecture ! Vous passez quatre heures en moyenne sur le magazine, alors quon reste quelques secondes sur une page web. La version lectronique en PDF, tlchargeable, de la revue, fille de la presse et du web, a un bel avenir Programmez est votre outil de veille technologique, d information, mais aussi en quelque sorte de formation. Vous savez que le monde du logiciel sest transform depuis 10 ans et se mtamorphosera encore dans les annes qui viennent. Lenqute lecteur vous dcrit comme curieux : vous voyez plus loin que le bout de votre langage favori, de votre plate-forme. Continuer runir des experts pour vous informer et vous aider progresser nest pas seulement notre mission, cest notre passion, notre " moteur " ! JEAN KAMINSKY

Soyez productif !

Dcouvrez les meilleures mthodes, les bonnes pratiques, les outils pour mieux coder, pour russir son projet

Dossier

Google

Dcouvrez toutes les nouvelles API : Android, Gears, App Engine, Protocol buffer

actu \\ en bref De Cobol Java : Publicitas a annonc la publication du code source des outils dvelopps dans le cadre du projet NACA. Ils permettent de passer dun code Cobol en code Java. Du nouveau pour Silverlight La technologie RIA de Microsoft va enfin intgrer de nouveaux codecs vido / audio : H264 et AAC ! Ils seront aussi intgrs aux outils Expression. Malheureusement, aucune date de livraison nest annonce. Silverlight 2.0 est prvu pour la fin de lanne Dcouvrir CSharpEval : voil un petit outil bien pratique du projet Mono. Il sagit dun compilateur embarqu permettant dvaluer les instructions C#... Le tout dynamiquement ! Autre outil qui mrite votre attention : CsharpRepl, un shell interactif. Refactoring sous VS 2008 : souvent critiqu pour le manque de performance du refactoring, un projet open source se propose de combler les lacunes de Microsoft : TytanNET. Tout nest pas encore disponible, mais ce petit plug-in rendra bien des services ! site : http://www.codeplex.com/tyt annet NHibernate 2.0 : dj bien connu dans le monde Java, Hibernate a toujours eu du mal sur .Net, la faute a un cart fonctionnel avec la version Java. La v2 met niveau ldition .Net avec la v3.2 dHibernate ! Terracotta : encore assez peu connu, Terracotta est un cluster java open source. Il est possible de faire des applications Java EE rapidement distribues capables de monter en charge en monde cluster ! Il se place en middleware. Un projet particulirement intressant et dcouvrir ! site : http://www.terracotta.org/ ebay, une carte, son mail, etc. Les Activities, ou Accelerators, sont des services contextuels accessibles directement sur la page web. Cela permet daccder des services immdiatement sans changer de page, de remonter, etc. Par exemple, traduire dun clic une page web, afficher la recherche, etc. Cest trs pratique lusage, cela permet daller plus vite dans sa navigation, tout comme le webslice. Lobjectif de ces deux fonctions est de faciliter la vie de lutilisateur et pour le dveloppeur, lajout de ces fonctions se fait en codant avec les standards actuels du web, donc peu de surprises attendre. Autre nouveaut intressante, la possibilit davoir plusieurs moteurs de recherche dans la zone de recherche (en haut droite). Il suffit pour cela dajouter des providers. Une nouveaut galement intressante concerne la gestion des crashs: quand un onglet crashe suite un problme sur un site, on ne redmarre pas la session entire mais on perd uniquement la session en cours sur longlet ! Pratique ! Pas de date officielle de disponibilit de la version finale.

Navigateur

Microsoft lance IE8 bta 2Accessible tout le monde, cette 2e bta complte les fonctions dIE8 (la liste tant dsormais close). Lditeur met en avant principalement les WebSlices et les Activities. Les WebSlices sont des portions dune page web que le dveloppeur dclare sur son site. Cela permet dajouter dans les favoris cette zone par exemple un article

Tests

Smartesting mise sur lIndeEditeur franais spcialis dans les tests logiciels, Smartesting tend un peu plus son audience et ses marchs. Dbut septembre, lditeur annonce louverture dune filiale en Inde. Un choix logique pour la socit qui sappuie sur la croissance de loffshore notamment en Inde. Dans ce contexte, les tests font souvent partie des contrats et les informaticiens indiens ont acquis une excellente rputation dans ce domaine ! Cela permet Smartesting de se rapprocher de ses clients qui travaillent dj en Inde. Smartesting veut aussi capitali-

ser sur la demande croissante doutils de tests complets, de suivi de tests, etc. Les entreprises ralisent que le test est incontournable, mme si cela revient cher ! Site : www.smartesting.com

Monde virtuel

OpenSimulator au cur de Second Life et de Lotus !OpenSimulator pour ceux qui ne connaissent pas, est au cur des mondes virtuels et notamment de Second Life. Il sagit de crer, de grer et de dployer des mondes virtuels en 3D. Dvelopp en C#, vous pouvez lutiliser en Mono ou en langage .Net. Cependant, le projet nen est quau stade alpha. Et larchitecture est assez complexe mettre en place. Le support de NHinbernate, la mise jour du moteur de script sont, avec dautres fonctions, au menu de la v0.6. Lotus a annonc un dveloppement en vue dintgrer OpenSim dans sa solution de communication unifie. Site : http://opensimulator.org

8

PROgrammez ! \\ Octobre 2008

LACTU AU QUOTIDIEN www.programmez.com

actu \\ en brefModlisation Alfresco, un sharepoint open source. Lditeur implmente le protocole Sharepoint, ouvert par Microsoft. Il est ainsi possible dutiliser des composants Sharepoint dans Alfresco (webpart). Ce choix est, selon lditeur, logique, car Sharepoint est devenu une rfrence sur le portail. Et veut tre une alternative Microsoft. VirtualBox 2 : Sun a lanc dbut septembre Virtual Box 2.x. Il supporte les

Microsoft rejoint OMG et adoptera UMLEst-ce un tournant de Microsoft sur UML ? Microsoft considre la modlisation comme un lment vital en entreprise pour briser les silos et reconnat lintrt du model driven development (MDD), qui trouve une place toute naturelle dans.Net. La participation de Microsoft lOMG qui " dirige " UML et BPMN nest pas anodine. Microsoft a toujours eu des rticences envers UML. Lditeur a annonc que le prochain Team System incorporera 5 diagrammes UML 2.1. On retrouvera aussi cette intgration dans la future plate-forme OSLO (plate-forme pour les applications distribues et pour le Cloud Computing). Est-ce pour autant la fin des DSL que Microsoft tente de promouvoir depuis plusieurs annes ? Officiellement non, il sagirait de raliser une approche UML + DSL. Nous en saurons plus dans quelques semaines lors de la PDC et de la TechEd.

Mia Software lance Mia-Studio 6Editeur bien connu doutils MDA, Mia annonce la sortie de la 6e version de son studio de modlisation en y ajoutant des mcanismes de reverses-engineering pour Java EE, tout en renforant son intgration Eclipse. Dsormais, dans son environnement Eclipse, on aura directement accs au statut, au dtail de chaque zone de code complter, aux warning et lensemble des mtriques. Dautre part, lenvironnement sappuie sur EMF, la plate-forme de modlisation dEclipse ! Loutil supporte aussi Maven et amliore les packages gnrs. systmes 64-bit, offre une nouvelle interface sous MacOSX. Idal pour la virtualisation de bureau, il est lger et gratuit. Un kit de dveloppement est disponible pour crer ses propres extensions et mieux intgrer loutil ses applications. Hyperviseur : Microsoft lance la guerre de lhyperviseur avec Hyper-V Server 2008 qui sera disponible gratuitement, en tlchargement. Idal pour le dveloppeur, les tests, cette solution veut contrer ESXi VMware, lui aussi gratuit. Les enjeux se dplacent sur la virtualisation desktop, dapplications et les outils dadministration. Bouygues Telecom lancera sa " box ", Bbox, le 20 octobre prochain. Elle sera quipe de 4 ports Ethernet et USB, dun routeur wifi. Loprateur joue sur la simplicit dinstallation et dutilisation pour sduire les utilisateurs. A partir de 29,90 euros par mois. Gecko 2 ou pas ? Voil la question existentielle de Mozilla pour Firefox 4.0. Les amliorations de performances de lactuelle Gecko font hsiter la fondation basculer vers Gecko 2. La dcision devrait tre prise dans les prochains mois. Firefox 3.1 doit arriver au plus tard dbut 2009. Seagull Software conver tit vers Oracle. Lditeur sort en France Smart DB. Il permet de convertir des donnes vers les applications Oracle, de sassurer de lintgrit des donnes, de leur consolidation et de les amliorer. Des adaptateurs spcifiques sont disponibles.

Stratgie

IBM Lotus va " beyond office "IBM propose depuis quelques mois une dition spcifique dOpenOffice : Symphony. Plus dpouill, concentr sur la bureautique, Symphony est dot dun puissant SDK et sembarque dans les autres solutions Lotus. Lditeur a dvoil une autre partie de sa stratgie : Beyond Office. Sous cette dsignation se cache la volont de passer en mode SaaS, aux applications en ligne comme Google et tant dautres diteurs. Ce nest donc pas un hasard si Lotus se lance massivement sur les services SaaS comme le projet Bluehouse et que des datacenters seront mis en place. Lobjectif est de faciliter la cration de documents en ligne, de les stocker, de les partager. Deux formats seront utiliss : ODF et Xforms, le support dOpenXML est prvu, plus tard. Pour le moment il sagit avec Beyond Office de mettre Symphony en ligne. A suivre de trs prs !

agenda \\OCTOBRE MSDN & Technet Tour 2008 Le MSDN & Technet Tour redmarre du 29 septembre au 5 novembre 2008 dans 6 villes de France http://technet.microsoft.com/frfr/cc184917.aspx Le 2 Octobre, Paris, l'vnement de lancement SQL Server 2008 /Windows Server 2008 HyperV, avec Steve Ballmer, pour dcouvrir Les solutions dentreprise nouvelle gnration. http://c2.microsoft.fr/

Le 8 octobre, Vmware organise Paris son Vmware Virtualization Forum. http://info.vmware.com/ Confrence IBM Rational le 14 octobre l'IBM Forum, pour faire le point sur les derniers outils, dcouvrir Jazz et toutes les nouveauts de la fin de l'anne. http://www-05.ibm.com/fr/events/RSDC/ Qt Developer Days 2008 Europe Du mardi 14 octobre 2008 au mercredi 15 octobre 2008, Munich. http://trolltech.com/qtdevdays2008 Forum CXP 2008 Le 21 octobre 2008 http://www.cxp.fr/

21 & 22 octobre : Valtech Days, deux jours pour faire le point sur les technologies ! 21 octobre Paris : Eclipse, now you can. Journe consacre la plate-forme Eclipse http://www. eclipse-nowyoucan.com/index.php? Symposia NOVEMBRE Le 19 novembre, Paris, Confrence MySQL 2008 MySQL (appartenant dsormais Sun) a annonc la tenue de sa confrence annuelle franaise (payante), MySQL. La journe promet dtre trs riche: http://www. mysql.fr/news-and-events/european-conferences/2008/

Octobre 2008 \\ PROgrammez !

9

actu \\ en bref

2e Symposium Eclipse-OMGVers une meilleure implmentation des standards de lOMG sur EclipseLOMG a invit la communaut Eclipse en juin dernier, dans le cadre du meeting de lOMG Ottawa. Au menu : des rflexions de fond et des retours dexprience dditeurs ou de chercheurs qui ont dj eu loccasion de se frotter cet exercice. Le tout agrment de nombreux changes avec la salle, notamment sur la diffrence de nature entre les deux consortiums.

Deux cultures diffrentesEn effet, les difficults de synchronisation entre les deux consortiums sexpliquent en grande partie par des diffrences de culture lies leurs objectifs respectifs, leur processus de dcision, mais aussi aux profils des membres actifs. Comme la bien expliqu Kenneth Hussey lun des organisateurs de la journe, lun, lOMG est principalement compos de grandes socits utilisatrices et dditeurs logiciels qui payent un droit dinscription pour pouvoir influer sur les standards de demain. Pour voir le jour, chaque standard doit suivre un processus compos bien dfini auquel seuls les membres (payants) de lOMG peuvent participer : collecte dinformations (RFI), appel propositions (RFP), rvision des propositions, vote, finalisation. Les acteurs de ce processus sont gnralement des architectes ou des consultants ayant de nombreuses annes dexprience dans le domaine. A linverse, Eclipse est avant tout une communaut de dveloppeurs fonctionnant sur la " mritocratie " : les dcisions importantes sont prises par des responsables de projet dsigns par leurs pairs.

Des difficults bien identifiesCes diffrences expliquent les principales difficults pour intgrer dans Eclipse des standards de lOMG : sur un mme sujet, ce sont gnralement des personnes diffrentes qui y travaillent dans Eclipse et lOMG et le rythme annuel de sortie de chaque version majeure dEclipse colle rarement avec le vote dun standard. Do la situation actuelle, illustre par les retours dexprience prsents Ottawa : les implmentations ntant gnralement pas ralises par les quipes qui ont labor le standard, les risques de divergences sont nombreux. Par exemple, selon James Bruck dIBM, auteur de limplmentation Eclipse dUML2, de nombreux manques ou imprcisions subsistaient dans la spcification dorigine, sans compter ses volutions permanentes pas toujours documentes qui ont compliqu le dveloppement du composant. Les mmes difficults ont t remontes par William Damus de ZeligSoft, auteur dune implmentation dOCL, qui pointe galement du doigt la longueur des processus de finalisation des standards qui oblige les outilleurs livrer des composants bass sur des spcifications intermdiaires ncessairement diffrentes de la spcification dfinitive. Le risque laisser perdurer ces difficults serait dencourager les dveloppeurs Eclipse saffranchir des standards. Comme le rsume Ed Merks dIBM, leader du projet EMP (Eclipse Modeling Project) : " Ceux qui agissent ouvrent la voie, ceux qui parlent ne sont que spectateurs ".

Converger : les axes damliorationA la suite de ces difficults illustres par des cas concrets, une discussion trs riche et trs ouverte a suivi pour tenter de trouver des solutions. Deux axes damlioration ont ainsi merg. Le premier repose sur une amlioration de la communication de lOMG quant lvolution de ses standards (explicitation des diffrences, stratgies de migration dune version lautre, mise en place dun outil de suivi danomalies ouvert tous, etc.). Le deuxime axe consiste identifier et impliquer le plus tt possible et de manire systmatique pour chaque nouveau standard de lOMG, une quipe en charge de son implmentation dans Eclipse. Frdric Madiot - Directeur Produits de Mia-Software

SOFTEAM FormationExceptionnel !Sminaire de Formation Journe Gratuite Les Meilleures Techniques pour lAlignement Mtier du Systme dInformationCest le nouvel enjeu des DSI. Robuste et performant, le SI doit aussi implmenter les stratgies mtiers de lentreprise, et tre suffisament agile pour sadapter rapidement aux changements mtiers, lis lenvironnement concurrentiel, lacclration du time to market, et la diffusion des nouveaux produits ou services qui en rsultent. SOFTEAM vous propose une journe exceptionnelle - et gratuite - pour partager avec vous son savoir faire et ses meilleures pratiques dans llaboration dun SI align sur le mtier de votre entreprise.UML, M THODES

EA BPMJ2EE

SOA

UML

.NET Java

Catalogue de Formation 2008 - 2009ET

M THODOLOGIE

SOA

Introduction aux technologies objets et UML . . . . . . . . . . . . . . . . . . . 1 j UML pour la matrise douvrage et lexpression de besoins . . . . . . . . . 2 j Analyse et conception avec UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 j Processus de dveloppement objets : Etat de lart . . . . . . . . . . . . . . . . . 2 j De UML.1.x UML.2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 j Mthodologie pour SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 j

A RCHITECTURESOA SOA SOA

ET I NTGRATION

Architecture SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 j Dveloppement de Web Services en Java . . . . . . . . . . . . . . . . . . . . . . . 3 j Dveloppement de Web Services en C# . . . . . . . . . . . . . . . . . . . . . . . . 3 j Architecture et approche MDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 j Design Patterns avec Java / J2EE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 j Architecture et intgration : la synthse . . . . . . . . . . . . . . . . . . . . . . . . 3 j

AGENDA LAlignement Mtier du Systme dInformationLexpression des objectifs stratgiques La formalisation des Rgles Mtiers La construction du Rfrentiel La formalisation des Exigences La modlisation de lArchitecture dEntreprise EA La formalisation des Processus Mtiers BPM Llaboration dune architecture SOA LAnalyse et la Conception avec UML2 La transformation de modles avec MDA Illustration : gnration BPEL, XML, Java.

Programmation oriente objet avec Java . . . . . . . . . . . . . . . . . . . . 4 j Programmation Java avance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 j Dveloppement dapplications JEE 5 . . . . . . . . . . . . . . . . . . . . . . . 5 j Dveloppement dapplications JEE 5 Front End . . . . . . . . . . . . . . . 4 j Dveloppement dapplications JEE 5 Back End avec EJB 3 . . . . . . 3 j Matrise du framework Struts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 j Matrise du framework JSF - Java Server Faces . . . . . . . . . . . . . . . . 3 j Matrise du framework Spring . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 j Mapping Objet / Relationnel avec Hibernate . . . . . . . . . . . . . . . . 3 j Dveloppement dIHM avec Swing . . . . . . . . . . . . . . . . . . . . . . . . 3 j Dveloppement dapplications embarques avec J2ME . . . . . . . . 3 j 2.0 Dveloppement dIHM avec Ajax . . . . . . . . . . . . . . . . . . . . . . . . . 2 j Web 2.0 Dveloppement dapplications avec GWT . . . . . . . . . . . . . . . . . . 3 j Web D VELOPPEMENT .N ET Dveloppement dapplications .NET / C# . . . . . . . . . . . . . . . . . . 4 j Principes et architecture de la plate-forme .Net . . . . . . . . . . . . . . . 1 j Conception et dveloppement avec .Net 2.0 . . . . . . . . . . . . . . . . 5 j Dveloppement dapplications Web avec ASP.Net 2.0 . . . . . . . . . 5 j D VELOPPEMENT XML ET AUTRES LANGAGES Dveloppement d'applications avec XML . . . . . . . . . . . . . . . . . . . 4 j Formatage et transformation de documents XML avec XSL . . . . . . 2 j Dveloppement d'applications vocales avec VoiceXML . . . . . . . . 3 j Dveloppement dapplications avec C++ . . . . . . . . . . . . . . . . . . . 3 j

D VELOPPEMENT J AVA /J2EE

CONVERGENCE SOA, UML2, BPMN, EA AVEC O BJECTEERING SOA S OLUTIONModlisation EA, BPMN, SOA avec Objecteering SOA Solution . . . . . . 5 j Analyse et Conception UML2 avec Objecteering Modeler . . . . . . . . . . 5 j Expression de besoins en UML2 avec Objecteering Requirements . . . . . . . 1 j Architecture MDA avec Objecteering MDA Modeler . . . . . . . . . . . . . . 2 j Gnration de code Java avec Objecteering Java Developer . . . . . . . . . 1 j Gnration de code .NET C# avec Objecteering C# Developer . . . . . . 1 j Gnration de code C++ avec Objecteering C++ Developer . . . . . . . . 1 j

Jeudi 20 octobre 9H00 17H00Paris Centre 5158

Cette session de Formation unique sera anime par Philippe DESFRAY, spcialiste mondialement reconnu des Technologies Objets et Architectures Orientes Services. Membre contributeur de lOMG, il a particip llaboration des standards UML, UML2 et BPMN2, et travaille aujourdhui sur le futur standard de convergence SOAML de lOMG.

Inscrivez-vous en ligne

www.softeam.frFormation ligible au DIF, OPCVA etc. Nous contacter.

Tl. : 01 53 96 84 00 Fax : 01 53 96 84 01 Paris : 21 avenue Victor Hugo - 75016 Rennes - Nantes - Sophia Antipolis

actu \\ en bref

Adobe dvoile la Creative Suite 4Aprs une longue attente, Adobe a dvoil le 23 septembre, la dernire version de sa Creative Suite. Tous les outils sont concerns par cette volution majeure pour les graphistes et dveloppeurs Sloth : un nouveau web en attendant les Framework MVC PHP nouveauts autour de Flex et est disponible. Actuellement en version 0.2, il AIR dans quelques semaines, est crit en PHP5. Son avec loutil Thermo, le tueur originalit tant de se dExpression Blend ! focaliser surtout sur lavue et le contrleur. A dcouvrir. Site : http://sloth-project.org Cappucino : voil le prochain " buzz word " des frameworks web ! Il " retranscrit " lensemble Cocoa dApple en javascript. Il fonctionne en ralit avec Objective-J mais possde un runtime Javascript. Il sagit de pouvoir disposer dun modle de dveloppement desktop mais pour les applications web. A tester durgence ! site : http://cappuccino.org/ Softfluent va prochainement lancer CodeFluent for Sharepoint. Il sinsrera dans la version entreprise de CodeFluent et permettra de gnrer des sites Sharepoint et des webparts. Ainsi lditeur complte la panoplie technique de son environnement CodeFluent. site : http://codefluent.com/ Magic Software lance uniPaaS, un environnement ddi aux dveloppements client-serveur, RIA, SaaS, et hybrides. Il offre un modle de programmation unique pour cibler les dif frentes platesformes. Site : www.magicsoftware.com

C

omme pour la CS3, la CS4 arrive en diffrentes ditions, selon les utilisateurs (graphiste, dveloppeur, vido, flasheur). Nous avons install la version la plus complte : Adobe Creative Suite 4 Master Collection. Son installation intgrale ncessite pas moins de 15 Go ! Elle inclut : Acrobat Pro, Flash, Illustrator, Photoshop, Premire, Dreamweaver, Contribute, Fireworks, AfterEffects, Soundbooth, Encore, Bridge, Version Cue, Media Encoder, On Location. Pour exploiter au mieux cet ensemble, mieux vaut disposer dune solide machine avec 4 Go de mmoire vive minimum et une car te graphique rcente. Par contre, si la version Windows aura le support du 64-bit ce ne sera pas encore le cas pour la version Mac. Adobe essaie aussi damliorer les flux de productions entre les diffrents environnements (audio, vido, authoring, flash, dveloppement web, etc.) cela passe notamment par des outils comme Cue, Bridge et Encore. Cependant, sur la partie purement dveloppement, il manque un vrai intgrateur, ce sera un des rles de Thermo au niveau RIA. Si les interfaces des diffrents outils convergent il ne faut pas non plus sattendre des changements radicaux comme nous avons pu le constater. Mais le mouvement va dans le bon sens. A noter que le format SWF (Flash) est support par toutes les applications

Ce qui change dans Dreamweaver CS4Parmi les nouveauts annonces, Live View est celle mise en avant. Cela permet dafficher directement dans sa page web en construction tout en donnant accs au code source. Cest l une nouveau mode daffichage (il utilise le moteur webkit). Dans la partie prvisualisation (sur Mac), on trouve Safari, Firefox, Opera, Device Central. Lditeur se dote de nouvelles fonctions, comme la surbrillance du code concern par la slection dans le design. Ensuite, on trouve les amliorations " classiques " sur le CSS, Javascript, Ajax, avec un support de plusieurs frameworks Jquery, Prototype et Spry. Rappelons que Spry est la version maison dAjax (et qui fonctionne relativement bien selon nos tests). Adobe oblige, lintgration avec Photoshop se fait plus fine comme sur le format PSD et la possibilit de crer des SmartObject image part dun document PSD. Autres nouveauts qui feront plaisirs aux dveloppeurs : prise en charge de Subversion ( !) et surtout le support dveloppement de AIR. Il permet partir de son site javascript de crer un support auteur de AIR. Cela va renforcer encore un peu plus la position de Dreamweaver, il ne reste plus qu assurer le support de Silverlight et de JavaFX pour complter la panoplie RIA de loutil ! Ct interface, nous la trouvons de plus en plus agrable et fluide ! Et surtout, lensemble de la gamme converge

(processus dj entam avec la CS3). De son ct Fireworks complte lui aussi ses fonctions avec lexper t PDF, limpor t CSS, un moteur de typographie plus volu et le support maintenant de AIR.

Et arriva Flash 10 !La version 10 de Flash est lune des grosses nouveauts de la CS4. Connu sous le nom de code Astro, nous lavions vu en avant premire lors dAdobe Max en octobre dernier Barcelone. Pour mmoire, Flash 10 apporte les effets 3D, la personnalisation des effets et filtres, un moteur de texte volu, de nouvelles API de dessin, et des performances revues la hausse. Cette version promet beaucoup sur la partie desktop et notamment pour Flex ! Reste maintenant voir du ct mobilit toujours un peu la trane.

Le nouvel Adobe SoundboothParmi les nouveauts, Adobe inclut dans sa suite crative Soundbooth. Il sagit dun outil pour traiter, grer, travailler le son, les pistes audio de ses vidos, des sites. Il supporte de nombreux formats et pas seulement ceux de lditeur. Il gre le multipiste, on peut rapidement diter une piste et corriger les niveaux, ajouter des effets, avec compression MP3. Un parfait complment Flash notamment, et surtout utile aux webmasters pour les podcasts Un test approfondi de Dreamweaver CS4 le mois prochain. Site : www.adobe.com

12

PROgrammez ! \\ Octobre 2008

Perforce, le systme de Gestion de Configuration Logicielle rapide

Le support technique PerforceDes traitements rapides, des rponses prcisesNos quipes supports sont toujours disponibles afin de partager leurs expertises en personne - pas de rponses automatiques, de rpondeurs ou de centres d'appel. Nos ingnieurs supports hautement qualifis se font une fiert de traiter rapidement vos appels et de vous apporter des rponses prcises. Raliser vos projets dans les dlais ncessites des quipes supports prtes vous aider quand vous en avez besoin. Vous pouvez compter sur le systme de GCL rapide Perforce et son support technique rput, pour vous donner un atout gagnant.

Tlchargez sans conditions une copie gratuite de Perforce sur www.perforce.com. Un service dassistance technique gratuit est offert pendant toute la priode dvaluation.Tous droits rservs. Toutes les marques cites sont des marques ou des marques dposes de leurs propritaires respectifs.

vnements \\ google

En direct du.

Google Developer DayLa 2e dition de la journe Dveloppeur Google a fait un dtour par Paris le 18 septembre dernier. Par rapport ldition prcdente : locaux plus grands, un peu plus de monde, un contenu plus adapt aux dveloppeurs et la veille technologique. Franois Tonic atrick Chanezon, vangliste technologique et grand amateur " dopensocial " chez Google a inaugur la journe. Il sagissait de retracer en une heure les principales thmatiques de Google : Google Gears, App Engine, Chrome, cloud computing, GWT, Ajax, Android, opensocial. La liste est longue. On peut en tirer les conclusions suivantes : - Google est un diteur de technologies, dAPI, de frameworks, de plates-formes - Google veut surfer sur la mode RIA comme Microsoft et Adobe avec sa propre plate-forme (Chrome), tout en crasant la timide tentative des RDA - Google souhaite devenir un fournisseur du Cloud Computing dans les applications, les serveurs et les services ! - Google veut tendre sa prsence sur le mobile en proposant sa propre plate-forme, gratuite : Android - Google noublie pas le Web 2.0 avec, notamment, GWT ! - Enfin, Google joue un rle dans les rseaux sociaux en proposant une api unique : opensocial La journe Dveloppeur a parfaitement illustr cela en proposant des sessions et des labs sur lensemble de ces points. La journe tait bien pense pour pouvoir bnficier des thmes rats le matin mais rejous laprs midi !

P

dispose dun SDK multi-plate-forme avec son mulateur, et les premiers terminaux arriveront dans quelques semaines. Avec Android, Google souhaite proposer une approche plus lgre que les systmes actuels, ouvert, dot dun modle de dveloppement connu et simplifi, un dploiement facilit pouvant prendre plusieurs formes (USB, rseau, etc.), une plate-forme hautement personnalisable. Mais un des paris est de savoir comment va ragir le march et notamment les principaux constructeurs. Et Google nhsite pas reprendre les bonnes ides dApple, crer une boutique limage de AppStore !

dadministration. La haute disponibilit est lun des gages dApp Engine.

Google Gears : le RIA fait peau neuve !Extension des navigateurs, intgr directement dans Chrome et bientt sur mobile, Gears sappuie en partie sur HTML 5, un jeu dAPI pour accder aux donnes, au systme de fichier, linterface, etc. On peut aussi lancer une application Gears dans une fentre dun navigateur directement partir dun simple raccourci sur le bureau. Bref, on parle de fusionner RIA et RDA ! Si en plus on rajoute la golocalisation, linterface native, vous avez entre les mains la nouvelle application neuve, et dailleurs la session a t particulirement explicite : offrir les mmes capacits, performances, fonctions dans une application web quune application desktop ! Que lon soit connect ou dconnect. Cette technologie que lon oublie souvent mrite toute votre attention !

App Engine : le cloud computing selon GoogleLes sessions ont eu le mrite de rappeler les fondamentaux du Cloud Computing : 3 notions de base (Haas pour le matriel, Paas pour la plateforme et le Saas pour les services). App Engine permet dhberger des applications en ligne. Aujourdhui, le service de base est gratuit (limit 500 Mo de donnes, 5 millions de pages vues par mois, ensuite on paie lutilisation). Il est disponible sur les principaux systmes et navigateurs. Le SDK volue constamment, nous sommes encore en pleine laboration Durant 60 minutes, il sagissait de crer, de packager et dployer son application. Si actuellement seul Python est disponible, il se murmure que Google prpare dautres langages, peut tre Java En ligne on accde au monitoring, la console

Mais alors comment gagner de largent ?La dmarche est simple : Plus dapplications web riches -> plus dutilisateurs -> plus dusages -> plus de revenus. Le tout reposant sur une plate-forme web ouverte (open web platform) de Google bien entendu ! Bref, il sagit de crer des applications riches (design, interaction, services : informatique la demande presque) pour attirer les utilisateurs, les capter, gnrer de la demande, des usages et donc du chiffre daffaires !

Android : la plate-forme Google mobile cl en mainAndroid est un systme dexploitation pour les terminaux mobiles open source, gratuit, que tout constructeur ou dveloppeur peut utiliser. On

14

PROgrammez ! \\ Octobre 2008

vnements \\ internet

Google Chrome : le premier navigateur RIAUn navigateur repose fondamentalement sur 4 piliers : un moteur de rendu HTML, un moteur dexcution JavaScript, une interface utilisateur et bien entendu une architecture pour faire reposer le tout.

S

i on sest beaucoup focalis sur Chrome depuis sa sortie, il ne faudrait pas oublier plusieurs lments vitaux sur lesquels il tourne. Chrome est le nom du navigateur " cl en main " que lutilisateur tlcharge et installe, et ce, bientt sur les trois systmes majeurs : Windows, OS X et Linux. En ralit, Chrome repose directement sur la fondation technique appel Chromium, qui est le vritable projet open source contenant larchitecture et lensemble des lments techniques permettant Chrome dtre lger et rapide. Dans cet ensemble, plusieurs lments sont relever : - Webkit pour le moteur de rendu et plus particulirement de WebCore. - V8 : moteur dexcution JavaScript

embarqu dans une application C++. Il implmente ECMAScript 3 et fonctionne sur XP Vista, Linux, OS X sur , processeurs ARM et IA-32. Le 64-bit nest pas prsent (et il ne semble pas prvu cour t terme). Etant un ensemble open source (sous licence BSD) vous pouvez loisir utiliser V8. Il est disponible sur le site officiel : http://code.google.com/p/v8/. Vous pouvez donc rcuprer le projet et le builder sur votre machine ! Toutes les instructions sont fournies sur le wiki du projet. Un Framework de test est disponible, inclus dans le moteur. Il est capable dexcuter les tests dfinis en standard mais aussi dautres jeux de tests, actuellement ceux de Mozilla. Il incorpore des tests unitaires crits en C++ et un autre jeu JavaScript. Cela peut sexcuter par un script de test Python. V8 est donc le moteur optimal pour les frameworks Ajax divers et varis et javascript en gnral. Or aujour-

Schma 1

Passer au V8Ce qui fait la force de V8 se situe dans sa conception. Il est crit en C++ et peut tre excut seul ou

UN MOTEUR JAVASCRIPT SURBOOSTBaptis V8, le moteur Javascript de Chrome est lui une nouveaut complte. Son principal atout consiste dans la reprise de lide de compilation juste--temps de Tracemonkey, le moteur utilis par le futur Firefox. La mise en oeuvre de cette ide, assez complexe pour un langage aussi faiblement structur que Javascript, donne une bonne longueur davance V8 sur toute la concurrence... en attendant Firefox 3.1 ! En gnrant des pseudo-classes pour mieux mutualiser les comportements des objets et en mettant au point un ramasse-miettes efficace, les concepteurs de V8 ont dgag de nouvelles marges de manoeuvre pleines de promesses pour l'avenir. On remarque d'ailleurs que sur la majorit des tests, les deux principaux navigateurs Webkit (Chrome et Safari) sont nettement devant les autres en terme de vitesse. Sur le benchmark " Dromaeo " (de la fondation Mozilla), John Resig constate mme que le navigateur d'Apple peut s'avrer plus rapide que Chrome. Site : http://ejohn.org/blog/javascript-performance-rundown/ Jean-Baptiste Boisseau - Eutech SSII

dhui, un souci majeur existe sur les performances des sites massivement Ajax / javascript, cause des problmes de performances ! Pour arriver tre performant, V8 comporte trois lments cls : un accs rapide aux proprits, une machine de gnration de code dynamique et enfin un bon " garbage-collector ". Javascript tant un langage objet ne disposant pas de mcanisme de classes (c'est un langage dit " prototypes "), la gestion des objets et de leurs proprits est trs complique optimiser : chaque objet a ses caractristiques, et aucun ne peut tre reconnu comme semblable un autre. Tout le gnie des quipes de V8 a t d'imaginer un mcanisme analysant les objets, dterminant leurs similitudes et les rangeant dans des " familles " : V8 cre ainsi des " hidden classes " (dans la mesure o ce sont des classes invisibles pour le dveloppeur) qui rend ds lors pos-

16

PROgrammez ! \\ Octobre 2008

vnements \\ internetUne interface utilisateur simplifieL'interface (qu'on appelle " Chrome " dans tout navigateur web) est dpouille au maximum, ce qui limite bien entendu la consommation de ressources. Google a de plus ralis un kit graphique sur mesure afin de matriser au mieux cet aspect plutt que den laisser la responsabilit Windows ou un kit graphique tiers. Ce choix du minimalisme est souvent critiqu, en particulier par certains utilisateurs avancs de Firefox qui apprcient de bnficier de nombreuses fonctionnalits porte de clic... mais remettre en cause cela serait jeter par dessus bord un des principes de conception essentiels la russite de Chrome. Jean-Baptiste Boisseau

sible une vritable optimisation de l'accs aux proprits. Et chaque " nouveaut " dans un mme objet , une hidden class se cre, base sur la prcdente. Voir le mode de fonctionnement dans le schma ci-dessus. Lquipe de V8 met en avant le fait que le moteur na pas besoin dutiliser une structure de donnes sur le principe du dictionnaire pour stocker les proprits objets. Cela ncessite un accs au dictionnaire chaque modification dune proprit. Dautre part, V8 compile directement le code javascript quand celui-ci est excut pour la premire fois.

pour le moment, il nexiste pas de systme dextension la Firefox. Un tel rajout est dores et dj prvu. Et cela pourra se faire rapidement car Chromium supporte NPAPI (Netscape Plugin Application Programming Interface).

Une architecture globale bien penseLarchitecture qui tient le tout a un mot d'ordre : compartimentation ! Ce qui dans la BD de prsentation de Chrome aux journalistes est rsum par lexpression un onglet, un processus est en ralit plus complexe comme le montre le schma. Pour faire simple : un processus-matre coordonne des processus de rendu, chacun de ces processus tant lui-mme multi-threads. Cette architecture segmente parfaitement les responsabilits et vite quun problme ne bloque lensemble de lapplication. Elle permet galement de mieux restituer la mmoire lorsquun processus est clos. Ce mme principe de compartimentation est appliqu en matire de plug-in : en utilisant astucieusement le motif de conception proxy, Chrome parvient isoler les plug-in en dehors des processus de rendu de la page web. Cette bonne ide demande toutefois tre perfectionne tant donn les ralentissements inhabituels que provoquent rgulirement les animations Flash sous Chrome. Jean-Baptiste Boisseau

Et pour le dveloppeur web ?Pour le dveloppeur web, le webmaster, Chrome est encore un ovni car pas support par les diteurs et les outils de dveloppement , mais la situation devrait changer dans les mois venir. Ds aujourdhui il est possible de tester ses applications et sites avec Web Inspector, Task Manager, JavaScript Debugger. Lquipe met par ailleurs une liste de points surveiller, vrifier. Reportez-vous la page : http://www.google.com/chrome/intl/en/webmasters-faq.html#tools Franois Tonic

Passer sur Linux et OS XSi basiquement des composants de Chromium fonctionnent dj en multiplate-forme, Chromium en tant que tel reste porter. Car pour Google, il ne sagit pas de faire un simple portage, mais de rellement exploiter au mieux Chrome / Chromium sur chaque systme et de conserver des performances leves, dou lutilit de composants hautement portables. Cet aspect est important dans un contexte dapplications connectes / dconnectes pour exploiter des lments desktop comme linterface (contexte : RIA / RDA). Ainsi lquipe ne sait pas encore quelle librairie pour la GUI : GTK ou Qt, mme si GTK reste le premier choix. Et le choix peut conditionner les performances futures Pour comprendre la rflexion multi-plate-forme de Chromium, nous vous conseillons de lire attentivement ce post rvlateur : http://googlemac.blogspot.com/2008/09/pla tforms-and-priorities.html Mais si larchitecture est bien pense, elle nest pas sans dfaut. Ainsi

Chrome, lautre RIA !Noublions pas un lment important : Google Gears. Cela suffit donner toute limportance de Chrome pour Google. Le fait que Gears, servant btir des applications connectes dconnectes, soit un lment standard fait de facto de Chrome un conteneur idal pour ce type dapplication web / desktop, surtout quand on sait que Adobe, Sun, Microsoft travaillent sur des fonctions similaires. Dautre part, il intgre un gestionnaire de process, car Chrome est multi process, il permet une grande souplesse dans la gestion des diffrents process, ce qui, l aussi est dun grand intrt dans le cas de Gears. Et une telle gestion doit aussi mieux allouer et librer la mmoire, et viter lutilisation inefficace de ressources. Il est un peu tt pour dire si avec Chrome, Google a l une alternative JavaFX, Silverlight mais avec lensemble des API de lditeur, il est clair que Google possde avec Chrome un conteneur RIA adapt ses besoins. Et surtout, en vitant laffrontement IE-Mozilla, Chrome se concentre sur lessentiel. Pour le moment, Chrome est encore en dveloppement et ne peut pas tre utilis en entreprise pour des applications. Mais il est possible ds aujourdhui de ltudier, de tester ces codes. Nous reviendrons dans les prochains numros sur Chrome / Chromium, tellement le sujet est riche. Pour en savoir plus : http://www.google.com/googlebooks/chrome/med_00.html

Octobre 2008 \\ PROgrammez !

17

sgbd \\ sql serveur 2008

Le Resource GovernorJusqu prsent, nous navions pas la possibilit dallouer plus de ressources" telle ou telle catgorie dutilisateurs ou dapplications et " moins de ressources " dautres. Avec le " Resource Governor ", il est dsormais possible dallouer tout ou partie des processeurs de la machine hbergeant votre instance SQL Server 2008. De la mme manire, une rpartition de la mmoire utilise peut tre envisage. Il est noter que chaque instance SQL Server 2008 ne peut affecter lutilisation que des seuls processeurs et ressource mmoire qui lui sont allous. La comprhension du fonctionnement du " Resource Governor " passe imprativement par la comprhension des concepts suivants : Pool Workload Group Fonction de classification

1re partie

Dans le numro prcdent, nous avions brass lensemble des nouveauts de SQL Server 2008. Ce mois-ci nous poursuivons notre dcouverte technique, avec Pascal Belaud, en mettant le focus sur le Resource Governor, un outil surpuissant !Create Resource Pool [Pool1] With (Min_Cpu_Percent=30, Max_Cpu_ Percent=100, Min_Memory_Percent=0, Max_Memory_Percent=100) Create Resource Pool [Pool2] With (Min_Cpu_Percent=30, Max_Cpu_ Percent=100, Min_Memory_Percent=25, Max_Memory_Percent=100) Create Resource Pool [Pool3] With (Min_Cpu_Percent=60, Max_Cpu_ Percent=100, Min_Memory_Percent=0, Max_Memory_Percent=100)

Workload groupUn " workload group " reprsente un " conteneur " pour des sessions SQL Server 2008 permettant de les regrouper ensemble, ceci bas sur un critre de classification dfini par ladministrateur lui-mme (voir plus bas). A chaque " workload group " est associ un et un seul " pool ". Ce " workload group " excutera lensemble des sessions qui lui seront rattaches en respectant la lettre les impratifs dutilisation des ressources dcrits dans les caractristiques du " pool ". Comment le moteur SQL Server 2008 peut-il dcider daffecter telle session tel ou tel autre " workload group " ? Et bien, quon se rassure, il ny a aucun arbitraire ici. Vous tes le seul, et le plus mme de prendre cette dcision ! Cest tout lobjet de la fonction de classification.

PoolUn " pool " reprsente les ressources physiques du serveur hbergeant linstance SQL Server 2008. Dans cette version, seules la (ou les) CPU et la mmoire physique peuvent tre gres dans ce pool (il nest pas exclu que dautres ressources physiques soient rajoutes cette notion de " pool " dans des versions ultrieures). Pour chacune de ces ressources, il est possible daffecter une valeur " Min " et une valeur " Max ". Ces valeurs vont permettre daffiner lutilisation des ressources pour telle ou telle catgorie dapplication/utilisateur. La valeur " Min " correspondra la valeur minimum garantie tandis que la valeur " Max " ne pourra tre honore que si les ressources disponibles au moment de la demande le permettent. Il est noter quil existe deux " pools " qui sont crs linstallation de linstance SQL Server 2008 : internal pool : ce pool correspond aux ressources utilises en interne par linstance. Il ne peut en aucun cas tre altr. default pool: ce pool sera celui utiliser si linstance SQL narrive pas dterminer la catgorie (" workload group ", voir plus bas) laquelle appartient lappelant. La somme de toutes les valeurs " Min " de lensemble des " pools " dfinis ne pourra pas dpasser la valeur 100%. Chaque valeur " Max " devra quant elle tre comprise entre la valeur " Min " et 100%. Voici un exemple de cration de " pools " :

Fonction de classificationEn effet, pour prendre cette dcision, il vous suffit dcrire vousmme la fonction de classification qui va permettre au systme de dterminer que la session demande doit tre rattache au bon " workload group ". Imaginons que nous ayons deux utilisateurs dclars dans linstance SQL Server 2008 : Create Policy Create Policy Login Utilisateur1 With Password = 'MotDePasse1', Check_ = Off Login Utilisateur2 With Password = 'MotDePasse2', Check_ = Off

Un exemple de fonction de classification pourrait tre : Create Function FonctionClassification() returns sysname with Schemabinding Begin

Fig.1

Fig.2

Fig.3

18

PROgrammez ! \\ Octobre 2008

sgbd \\ sql serveur 2008Fig.4 Fig.5 Fig.7

Declare @Val sysname Declare @LogonActuel sysname = Lower(Suser_Sname()) If @LogonActuel = 'utilisateur1' Set @Val='Workload1'; If @LogonActuel = 'utilisateur2' Set @Val='Workload2'; Return @Val End Ici nous dcidons que toute requte excute sous le compte Utilisateur1 sera affecte au workload1, tandis que celle ralise sous le compte Utilisateur2 sera affecte au workload2. Cette classification est extrmement simple et permet de rpartir les ressources de votre instance SQL Server 2008 entre diffrents utilisateurs ou groupes dutilisateurs. Il ne reste plus qu indiquer au " Resource Governor " de linstance SQL Server 2008 quelle est la bonne fonction de classification utiliser : Grant Execute On FonctionClassification To Public Alter Resource Governor With (Classifier_Function = Fonction Classification) Alter Resource Governor Reconfigure On peut dsormais tester le fonctionnement de notre paramtrage en utilisant une requte trs gourmande en temps processeur : Set Nocount On Declare @I int = 100000000 Declare @S varchar(100) While @I > 0 Begin Select @S = @@Version Set @I = @I - 1 End Nous allons excuter cette requte simultanment sous les deux comptes prcdents, savoir Utilisateur1 et Utilisateur2. Pour juger de lefficacit du " Resource Governor ", nous allons utiliser " Performance Monitor (perfmon) " et constater que deux nouveaux compteurs sont apparus suite la cration des deux " workload group " prcdents : [Fig.1] Nous allons maintenant excuter les tches suivantes : Etape 1 : excution de la requte sous le compte Utilisateur1 dans un premier temps Etape 2 : excution, en parallle, de la requte sous le compte Utilisateur2 [Fig.2] Avant daller plus loin, il est noter que visiblement, nous nutilisons pas 100% de la CPU de la machine mais seulement 50%. Ceci est absolument normal dans le cadre de cette dmonstration car, en

Fig.6

fait, la machine sur laquelle ces requtes sont excutes possde deux processeurs (CPU0 et CPU1). Linstance SQL Server 2008 a t configure pour nutiliser que le premier processeur (CPU0). Il est affich en bleu et on voit bien quil est utilis 100%. Lorsque la premire requte est excute, le systme lui alloue 100% de la CPU0 (soit 50% de lensemble du temps processeur du systme). A la deuxime tape, nous dcidons de lancer en parallle la seconde requte et lon voit que le systme rpartit immdiatement la charge CPU de manire quitable, soit 50% de CPU0 pour la premire requte et 50% de CPU0 pour la seconde requte (traduit ici par 25% du temps total processeur pour chacune delle). Nous allons maintenant changer la rpartition de lutilisation de la CPU entre les deux utilisateurs. Nous avons la possibilit de modifier toutes les caractristiques de notre " resource governor " via loutil dadministration de SQL Server 2008 appel " Management Studio ".[Fig.3], [Fig.4]. Il est galement possible deffectuer ces paramtrages par script T-SQL (Etape 4) : Alter Resource Pool Pool1 With (Max_Cpu_Percent = 30) Alter Resource Pool Pool2 With (Max_Cpu_Percent = 70) Alter Resource Governor Reconfigure Comme le montre la figure suivante, un changement de paramtrage devient actif immdiatement et chaud, c'est--dire que les requtes, alors quelles sont encore en train de tourner, bnficient de la nouvelle rpartition ds que cette dernire est enregistre dans le systme : [Fig.5] Pour rappel, voici les valeurs de rpartition constates sur le " Performance Monitor " compte-tenu du fait que la machine possde 2 processeurs : [Fig.6] Comme vous venez de le voir, le Resource Governor permet darriver un niveau de personnalisation intressant. Cette fonctionnalit peut galement rpondre au cas les plus complexes. [Fig.7]

Pascal Belaud, Microsoft France Pascal est en charge, depuis plus de 10 annes, de la relation technique avec les dveloppeurs chez Microsoft France. Vous pouvez le retrouver sur son blog ladresse : http://blogs.msdn.com/Pascal

20

PROgrammez ! \\ Octobre 2008

gros plan \\ eclipse - netbeans

Eclipse - NetBeans :comment choisir loutil idal ?Quand on dbute la programmation Java ou que lon est dj un bon torrfacteur de caf javanais, un moment ou un autre, se pose la question de loutillage. Il ne faut pas oublier de revenir aux fondamentaux de la programmation : les outils ! Sans eux, vous pouvez tre un expert en toute technologie vous ne ferez pas grand choseans le monde merveilleux du dveloppement Java, il y a encore quelques annes, nous avions un trs grand choix : JBuilder, JetBrains, Eclipse, Netbeans, VisualCaf, jcreator, jde, etc. On connat ce quil en est advenu : Eclipse a tout cras ou presque. JBuilder a connu des heures sombres et est pass sur Eclipse. JetBrains rsiste tant bien que mal, JDev se " contente " de dveloppeurs Oracle. Netbeans, issu de Sun, ntait pas au point : lent, peu performant, lacunes fonctionnelles. En peine 3 ans, cet IDE a russi le dfi de rejoindre Eclipse et de connatre une reconstruction totale de son environnement et cela paie ! Netbeans est redevenu une vraie alter-

d

native Eclipse mme si, notamment, en France, il demeure souvent mal considr et encore assez peu utilis. Est-ce pour autant que lon va refaire un Eclipse vs Netbeans pour la nime fois ? Oui et non. Oui dans le sens o nous allons comparer fonction par fonction les avantages et inconvnients de chaque IDE. Non, car le but ici nest pas de comparer brut de fonderie les deux outils. Ce dossier doit vous permettre de mieux savoir ce que lon trouve, ou ne trouve pas, dans ces environnements. Et au final, vous saurez comment mieux choisir en fonction de vos besoins et impratifs techniques. Nous vous dvoilerons aussi le futur dEclipse, avec le projet e4. Franois Tonic

22

PROgrammez ! \\ Octobre 2008

gros plan \\ eclipse - netbeans

Eclipse 4.0 : un aperu de lavenirEn mars dernier, la fondation Eclipse a annonc la cration d'un nouveau composant nomm e4. Derrire ce nom se cachent les bases de la prochaine version majeure d'Eclipse SDK (Eclipse SDK 4.0). Une premire version (technical preview) est prvue au mieux pour l't 2009 et une version stable (first regular release) pour l't 2010. Stphane Drapeau leader du projet SCA : http://www.eclipse.org/stp/sca/ - http://www.obeo.fr ais ds prsent des dmonstrations sont disponibles en ligne. Toutefois, Eclipse 3.x existera encore pour au moins 5 ans (Eclipse 3.5 - Galileo est prvu pour juin 2009).Les principaux objectifs de cette future version sont de simplifier la plate-forme, d'ouvrir Eclipse aux autres langages de programmation et de faire d'Eclipse une plate-forme d'applications plus qu'un environnement de programmation.

m

d'instances de ces listener. La fiabilit doit galement tre amliore, notamment grce la dfinition d'une architecture commune pour la gestion de la concurrence.

Principales volutions de la plate-formeLe modle de programmation doit tre simplifi afin de faciliter l'criture des plug-in. Cela passe par une simplification des API, et par l'utilisation du framework EMF pour mettre en oeuvre un vritable modle de la plate-forme Eclipse. Les API sont galement en cours d'uniformisation et une premire liste d'API recommandes a t fournie. L'objectif est de rduire la complexit et d'augmenter la rutilisation en proposant un ensemble de services de base et d'API recommandes, sur lesquels il est possible de venir construire d'autres plug-in. Une des volutions majeures envisage concerne la possibilit d'crire des plug-in dans des langages autres que Java. L'objectif est d'accrotre la communaut en attirant les dveloppeurs non Java, mais galement de permettre d'utiliser Eclipse dans des contextes spcifiques : par exemple, des plug-in JavaScript pour des pages web. Cela implique donc d'tendre OSGi afin de supporter des plug-in crits dans d'autres langages et de rendre accessibles les ressources ncessaires leur excution. Il est galement prvu de permettre de dvelopper des interfaces graphiques modifiables (de manire

Simplification et optimisation de la plate-formeL'objectif est d'amliorer les performances par rapport Eclipse 3.4 en stoppant la prise de poids chronique dont souffrent les dernires versions d'Eclipse : rduction du nombre de classes et de l'empreinte mmoire. Des objectifs chiffrs sont mme fournis : 10% plus rapide au dmarrage (SDK sans plug-in additionnel), 10% de moins pour l'empreinte mmoire aprs ouverture des prfrences, 10% plus performant en moyenne. Pour cela, le noyau sera compltement revu afin d'en faire un noyau minimum commun. Par exemple, il est prvu de ne plus inclure les concepts de projets et de perspectives, notions non ncessaires tous les types d'applications. Il est galement planifi de diminuer le nombre de listener en identifiant un mcanisme de notification commun, et galement de rduire le nombre

dclarative ou en se basant sur des modles) la fois en phase de dveloppement et l'excution. Cela passe par l'introduction du support de la gestion de scripts et de styles dans la plate-forme. L'implmentation Web de la plate-forme Eclipse et de SWT est un autre grand thme dEclipse 4.0. Plusieurs pistes sont l'tude. La premire approche consiste excuter le code Java sur un serveur et le rendu de l'interface graphique sur le client. C'est l'approche du projet RAP (Rich Client Platform). La seconde piste suivie consiste excuter un langage de type Java (Flex, Dojo ou Silverlight) sur le client la " Google Web Toolkit ". De nombreuses autres fonctionnalits sont prvues ou en cours d'tude, comme la possibilit d'avoir des workspaces distants, l'uniformisation des frameworks de connexion (ceux de projets CVS, WTP ECF, DTP ...). , , En novembre prochain, Eclipse Summit Europe sera loccasion dchanger et de prciser larchitecture de e4. Ainsi le comit de programme constitu de Ralph Mueller (Responsable Europe de la fondation Eclipse), Cdric Brun (Obeo), Hendrick Hoefer (Microdoc), Daniel Megert (IBM), Jeff McAffer (Code9) et Juergen Wiesmaier (Compeople) a tout particulirement soign la place laisse e4 au sein de la confrence. Nul doute que l'vnement Eclipse le plus important en Europe va encore dvoiler de nombreuses nouveauts lies e4. Pour en savoir plus : http://wiki.eclipse.org/E4

Le mois prochain : focus sur le

Octobre futur de Netbeans 2008 \\ PROgrammez ! 23

gros plan \\ eclipse - netbeans

Choisir son IDE idalEclipse et Netbeans sont connus pour tre des environnements de dveloppement Java, mais aussi web, C et C++. Si Eclipse parat avoir une longueur davance (et craser la concurrence), NetBeans, depuis la version 5, sest considrablement amlior et na pas dit son dernier mot. Quand on est dveloppeur, dbutant ou avanc, lequel faut-il choisir : Eclipse ou NetBeans ? Arnaud Cogolugnes - Architecte JEE chez SQLIFig.1

Les quatre principaux IDE Java sont Eclipse, Netbeans, IntelliJ IDEA et Oracle JDevelopper, sans compter les distributions Eclipse comme MyEclipse. JBuilder fut longtemps une rfrence et est depuis pass sur un socle Eclipse. JDevelopper est plus destin un usage interne ou pour les utilisateurs des produits Oracle. De tous ces outils, Eclipse et Netbeans sont les seuls tre gratuits et open source.

la fin de lanne, avec comme grande amlioration un support pour PHP .

exporter en Ajax ! Tout comme NetBeans, Eclipse est aussi une plateforme riche avec Eclipse RCP .

LinstallationEclipse 3.4 : dans la continuit Eclipse est depuis juin dernier en version 3.4, nom de code Ganymde. La dernire grande refonte dEclipse date de 2004, avec la v3, qui reconcevait compltement le moteur dexcution de lEDI, en le basant sur la plate-forme OSGi. Depuis lors, les diffrentes versions ne reprsentent pas une aussi grande volution que Netbeans 6. Elles sont plutt faites de changements internes et dintgration de diffrents projets de la florissante fondation Eclipse. La fondation Eclipse comprend environ 90 projets et Ganymde en regroupe 23. Chacun de ces projets tant autonome, Ganymde reprsente donc un dfi organisationnel, mais aussi technique avec ses 18 millions de lignes de code. Ganymde propose notamment de meilleures performances grce au support pour les machines multi-core, un principe de collection de donnes comportementales sur lutilisation dEclipse (permettant ainsi de connatre prcisment lutilisation faite) et une plate-forme de dveloppement permettant de programmer des applications en SWT/JFace et de les Au niveau de linstallation, Netbeans et Eclipse viennent chacun sous diffrentes formes. Lide commune est de partir dun environnement de base que lon peut alors habiller finement avec des plug-in ou alors avoir un environnement pr-packag selon les dveloppements que lon fait (web, clients lourds). Dans le premier cas, on tlcharge la distribution la plus simple et lon peut alors passer du temps paramtrer finement les plug-in que lon veut, pour avoir un environnement sur mesure. Dans le deuxime cas, chacun des sites nous propose des " bundles ", cest--dire le noyau enrob de plug-in selon nos besoins. Les bundles proposs par Netbeans et Eclipse sont relativement similaires : un environnement simple pour le dveloppement Java, un autre environnement pour les dveloppements Web avec un support pour des serveurs dapplications (Tomcat et Glassfish pour Netbeans). Il existe aussi un bundle " complet ", incluant la plupart des plug-in officiels de la communaut. Le principe des bundles est intressant puisquil vite la chasse aux plug-in et propose dj une bonne granularit pour avoir un EDI adapt lutilisation que lon veut

Les deux prtendants

Netbeans 6.1 : toujours en progrs Sun sest lanc dans un chantier ambitieux pour proposer un outil hautement productif et parfaitement intgr Java. Le rsultat est plutt impressionnant : ldition du code source avec Netbeans laisse une trs bonne impression, lintgration avec de nombreux outils est transparente. Dans sa version 6.1, Netbeans apporte un grand nombre damliorations : un meilleur support pour le JavaScript (compltion et du refactoring simple), un suppor t natif pour Spring, un meilleur support des serveurs JEE, de la compltion pour la JavaDoc, une gnration CRUD pour JSF et JPA partir dune base de donnes et des performances amliores ! Bref, lquipe de Netbeans est trs active. La version 6.5 de Netbeans est prvue pour

24

PROgrammez ! \\ Octobre 2008

gros plan \\ eclipse - netbeansavoir (les tests de cet article ont t effectus sur les bundles Web des deux environnements). Ct installation, un lger avantage pour Netbeans qui propose un installeur pour les utilisateurs de Windows. suffisamment attrayant pour donner envie de travailler avec loutil. Ct technique, Netbeans est entirement crit avec la bibliothque Swing, native lenvironnement Java. Eclipse nest pas en reste avec une interface sintgrant parfaitement avec le systme dexploitation, puisquutilisant les bibliothques SWT et JFace. Lapparence globale d Eclipse a peu chang depuis la version 3.0. Les deux EDI proposent la possibilit dagencer lenvironnement comme bon nous semble : diteurs et vues peuvent tre positionns judicieusement, selon le travail que lon effectue. Netbeans propose mme une vue pleine cran ! Eclipse dispose du principe de perspective, qui correspond une organisation de vues, selon la fonctionnalit en cours (dveloppement Java, dbogage, CVS).Fig.2

Lespace de travailEclipse lance directement une invitation un peu laconique concernant le choix dun " workspace " (" espace de travail "). Cette notion est un peu perturbante au dbut. Lespace de travail stocke en effet les projets sur lesquels on travaille et le paramtrage de tous les plug-in. Ainsi, si lon travaille sur plusieurs sujets (des applicat i o n s m t i e r We b p o u r v o t r e entreprise ou des clients, des frameworks open source, des valuations de diffrentes technologies), chaque contexte peut tre sauvegard dans un espace de travail distinct et votre EDI ne devient pas un fouillis de toutes vos activits. On touche l une caractristique rcurrente dans Eclipse : une fonctionnalit trs utile offrant de la flexibilit mais prsente abruptement sans vraiment dexplications. Eclipse est en effet trs souple et trs puissant mais il ncessite toujours un paramtrage un peu plus pouss. Ct Netbeans, on dispose aussi de lespace de travail. Netbeans propose un lment similaire (peut-tre moins puissant) lespace de travail dEclipse : les groupes de projets. Cependant cette notion nest pas introduite immdiatement et on peut utiliser Netbeans pendant des mois sans en connatre lexistence. Les deux outils proposent des wizards pour la cration de projets. Le fonctionnement reste le mme : choix dun type de projet (Java classique, application Web, EJB) et les deux EDI se talonnent pour cette fonctionnalit trs importante. Linterface graphique de Netbeans est trs soigne : icnes, look-andfeel proche du systme dexploitation, diteurs de code avec coloration syntaxique pour de nombreux types de fichiers, palettes de vues (projets, structure de lobjet dit, bibliothques de composants glisser/dplacer). Bref, le look est

Ldition de code et le refactoringPour ce qui est de ldition pure, les deux environnements se ressemblent. La compltion du code Java est excellente et devient plus intelligente. Elle peut tre par exemple plus approprie selon le contexte : si lon demande une compltion pour un paramtre dun certain type, lditeur va proposer les variables accessibles et correspondant ce type. Le meilleur support ddition est sans conteste celui pour Java, mais les autres types de fichiers ne sont pas en reste (JSP , XML), avec une excellente coloration syntaxique et de la compltion (ex. : pour les fichiers XML disposant dune DTD ou dun schma). On dispose dune pr-compilation, indiquant immdiatement les erreurs de compilation. De la gnration simple de code est aussi possible : g e t t e r / s e t t e r, c o n s t r u c t e u r s , mthodes hashCode et equals Le refactoring est lui aussi support par les deux EDI. Ils peuvent aider dans cette activit, en automatisant certaines modifications. Par exemple, la modification du nom dune mthode peut tre rpercute automatiquement sur tout le code appelant. Les deux EDI supportent aussi la modification en cascade du nom dune classe, dune proprit ou dune variable locale.

Le support pour le refactoring ne sarrte pas l, il est aussi possible dajouter des paramtres une mthode et de choisir une valeur par dfaut pour tous les appels existants, dextraire du code pour en faire une mthode part entire ou encore dextraire une classe abstraite partir dune classe existante Selon les oprations de refactoring, les EDI sont aussi capables de gnrer un aperu, afin dvaluer les consquences de lopration. Eclipse dispose dune lgre avance, certainement due sa maturit. Certaines oprations assez complexes sont supportes : cration dindirections dappel, cration et application de scripts de refactoring Sur la partie dition de code, les deux outils sont globalement gaux.

Les outils et fonctionsLes IDE modernes incluent de nombreux outils annexes. On peut citer parmi ceux-ci les gestionnaires de sources, des outils de construction (" build ") et les tests unitaires. Ct gestion de sources, Netbeans propose nativement un support de CVS et de Subversion. Eclipse na que CVS, mais un plug-in Subversion officiel est en dveloppement. Des outils tels que Ant et Maven 2 sont supports par les deux. En NetBeans, le build est systmatiquement bas sur Ant. Si le support de Maven 2 est trs bien, il est trop intrusif pour le dveloppeur. Un projet est totalement gr en Maven 2 ou pas du tout ! Ct Eclipse, le support pour Maven 2 peut tre ajout diffrents niveaux, ncessitant peut-tre une configuration plus fine mais offrant

Octobre 2008 Recevez la Newsletter www.programmez.com/inscription.php \\ PROgrammez ! 25

gros plan \\ eclipse - netbeansplus de souplesse. Le plug-in Maven 2 pour Eclipse le plus populaire est celui de Codehaus, mais il existe un autre projet, q4e, dont le code va tre rcupr pour servir au projet Eclipse Integration for Apache Maven (IAM). [Fig.2] Pour les tests unitaires, on dispose dun bon support pour JUnit 3 et 4. Ce support se prsente sous la forme de wizard gnrant lossature du test et des lanceurs pour les tests. Lavantage va plutt Eclipse dont les lanceurs sont plus ergonomiques. Un autre point important pour un EDI Java est le support pour le dveloppement dapplications dentreprise. L, encore, les deux EDI sont trs proches lun de lautre. Ils proposent chacun un client SQL multi-base de donnes, vous permettant de coder et de consulter votre base de donnes partir dun mme outil. Netbeans sinterface particulirement bien avec Java DB (anciennement Apache Derby), la base de donnes officielle de Java, maintenant livr avec le JDK 6. Si les clients des deux EDI sont globalement proches en fonctionnalits, on peut laisser un petit avantage Netbeans, qui propose une interface de configuration plus conviviale. pour diffrents frameworks Web : JSF, Struts, Wicket, Spring MVC et GWT. Il est possible de crer un projet Web Struts ou mme de donner une composante Struts un projet Web existant. Netbeans se charge alors de prconfigurer tous les lments ncessaires et propose gnralement (selon le framework) des outils graphiques. Si Eclipse propose des quivalences, ils sont rarement aussi bien packags que son concurrent. Spring ncessite une attention particulire. Avec Netbeans, il est par exemple possible davoir rapidement un squelette de lapplication Spring MVC mais aussi de bnficier de compltion et dhyperliens dans les fichiers Spring. Eclipse dispose quant lui du plug-in SpringIDE. SpringSource privilgie Eclipse, notamment pour lintgration de sa plate-forme applicative et via une distribution Eclipse complte. dveloppement sur les appareils mobiles puissants (CDC) peut tirer parti des mulateurs fournis ! Un support pour Android est disponible via un plug-in. Eclipse propose aussi un support pour le dveloppement mobile mais il est moins structur. Il propose sa propre plate-forme avec eRCP (embedded RCP), une version lgre de RCP Le support Java ME . est pour linstant en gestation, avec le projet Mobile Tools for Java, bas sur EclipseME.

Standards et autres langagesCt standards, la plupart des API de la pile JEE sont aussi bien prsents dans les deux IDE. Chacun propose des wizards et un support pour JPA, EJB 3, Web Services, SOA Eclipse et Netbeans ne sont pas limits au dveloppement Java. Ils supportent de nombreux langages : C et C++. Celui de Netbeans reste basique, tandis que celui dEclipse (CDT pour C/C++ Development Tools) fait maintenant rfrence dans le monde C/C++. Le CDT propose notamment un framework de refactoring trs pouss. Eclipse est aussi un environnement de dveloppement pour COBOL et AspectJ. Ces supports sont proposs par la communaut Eclipse et sont donc officiels. Dautres supports sont apports par des plug-in tiers, par exemple pour Ruby. Netbeans, propose un excellent support pour Ruby et ses variantes (JRuby, Rails). PHP mrite une attention particulire : il en existe plusieurs sous Eclipse, mais le PDT (PHP Development Tools), dvelopp par Zend et IBM, est sans conteste le plus avanc. Netbeans dans sa version 6.5 fera aussi du PHP .

Outils de RADIls permettent de dvelopper en quelques clics. Ces outils se justifient pour des phases de tests ou de prototypages. Eclipse propose un outillage RAD limit. Ct client lourd, il nexiste plus de support officiel open source, le plug-in Visual Editor ntant plus support depuis Eclipse 3.3. Ct web, Eclipse propose de ldition visuelle de composants, notamment pour HTML, JSP et JSF. Netbeans propose en revanche un trs bon support, avec notamment la possibilit de gnrer des applications JSF ou Swing, aussi bien pour la partie vue que persistance des donnes. Le prototypage avec Netbeans est donc grandement facilit. Matisse, ddi Swing, fait maintenant rfrence et permet de dvelopper des crans avec un code de bonne qualit. A noter quil existe un portage de Matisse pour Eclipse mais payant. Avantage : Netbeans.

Les serveurs dapplicationCt serveurs dapplications, avec Netbeans, on dispose de Tomcat 6 et de Glassfish (implmentation de rfrence pour JEE). Tout projet Web peut tre lanc sur lun ou lautre, le tout en configurant peu de chose. Eclipse propose le mme support (pour Tomcat, JBoss, JOnAS, Websphere). A noter que son support serveur na pas toujours t heureux et quil faut gnralement prfrer les environnements des ser veurs (JBoss, IBM) ou des plug-in tiers (Tomcat, Jetty). Avant de dployer son application, il faut lcrire et cela gnralement avec un framework Web. La plupart dentre eux proposent un plug-in pour Eclipse. On est alors un peu tributaire de lditeur du plug-in. Cependant, Eclipse a souvent la primeur quand il sagit de dveloppement de plug-in. Netbeans propose, lui, un support

PerformancesLes EDI ont la rputation dtre gourmands en ressources. Netbeans ne faillit malheureusement pas cette rputation. Malgr des amliorations, il reste relativement lent, aussi bien pour dmarrer que pour le dveloppement de tous les jours. Cette lenteur ne gne pas aux tches de dveloppement de tous les jours mais savre parfois agaante. La consommation

Dveloppement mobileNetbeans se concentre sur Java Micro Edition dont limplmentation est particulirement bonne : diteur graphique (visual Mobile designer) pour grer graphiquement lenchanement et le design des crans. Le

26

PROgrammez ! \\ Octobre 2008

gros plan \\ eclipse - netbeansmmoire peut aussi atteindre facilement 400 Mo. Ct excution, Netbeans, utilisant Ant ou Maven 2, nest pas des plus performants. Eclipse se montre meilleur. Son temps de chargement est plus quacceptable et le droulement du dveloppement se fait toujours avec une bonne ractivit. Sa trace mmoire est importante (facilement 200 Mo) mais moindre que Netbeans. Le lanceur dapplications dEclipse est excellent : pas de recompilation et savre trs souple (utilisable pour les serveurs dapplications, les tests unitaires). Avantage : Eclipse sible en quelques minutes (avec les vidos) davoir une ide de ce que peut donner lutilisation de Netbeans et en quelques heures de pratiquer (avec les tutoriaux) la plupart des fonctionnalits de Netbeans. Eclipse est lui aussi trs complet. Elle est gnralement de bonne qualit pour les parties " phares ", mais les sites internet des diffrents plug-in ne fournissent pas toujours une documentation jour. Avantage : Netbeans pour ces efforts !Fig.3

Lcosystme des plug-inLa force dEclipse est limpression catalogue de plug-in open source et payants, mme si Netbeans toffe peu peu son offre. Malgr la complexit de dveloppement, le dveloppement de plug-in pour Eclipse est un peu plus simple que pour Netbeans. Chaque plug-in Eclipse est en fait un composant OSGi. Cest OSGi qui donne Eclipse toute la force de son systme de plug-in : ajout/activation/suppression dynamiques, possibilit de faire cohabiter plusieurs

Aide et documentationDevenant de plus en plus complexe, la documentation est un lment capital ! Netbeans, ladoption se fait sans problme : laide prsente dans le logiciel est bien fournie (systme JavaHelp). Chaque plug-in dispose dune partie ddie. Le site officiel regorge de tutoriaux et de vidos pour comprendre les bases de tous les outils natifs de Netbeans. Il est donc pos-

versions dune mme bibliothque. Netbeans a, lui aussi, adopt une architecture plug-in. Celle-ci se montre trs convaincante et quasi quivalente celle dEclipse, notamment avec le gestionnaire de plug-in permettant des installations distantes et dynamiques partir dun catalogue. [Fig.3] La communaut Netbeans propose mme des plug-in gratuits qui nont pas leur quivalent (au moins en qualit), par exemple Matisse. Il ny a cependant pas que laspect utilisateur pour les plug-in. Il faut en

InfoPro la collection des pros de linformatique

97821005 20985 12 8 pages

25 32

Richard Basque29

Chantal Morley, Jean Hugues, Bernard Leblanc

Rudi Bruchez

www.dunod.com

Octobre 2008 \\ PROgrammez !

MAOGANI 080902

9782100 520978 232 p

9782100 522323 112 p ages

12,80ages 9782100 518630 336 p ages

Franois Cointe

umour Dcouvrez lh de geeks

27

gros plan \\ eclipse - netbeanseffet aussi considrer laspect dveloppement : quelle plate-forme propose le meilleur environnement pour le dveloppement de plug-in ? Eclipse part videmment avantag avec ses annes dexprience en la matire. Il intgre en effet tout un environnement pour le dveloppement de plugin : wizard et solutions compltement graphiques pour grer les nombreux fichiers de configurations dun plug-in. De plus, de nombreux livres, la plupart en Anglais, traitent du dveloppement de plug-in. Netbeans reste en retard sur ce point l. tches, avec Mylyn. En organisant ses activits sous forme de tches, il est possible de crer un contexte autour de chacune delles. Ce contexte est cr automatiquement par Mylyn qui suit lactivit de lutilisateur. Une fois le contexte de la tche identifi par Mylyn, celui-ci adapte linterface dEclipse en ne laissant que les lments nce