Ok

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Ces derniers assurent le bon fonctionnement de nos services. En savoir plus.

22 octobre 2009

Gartner Symposium 21 octobre 2009

Orlando, Mercredi 21 octobre 2009

 

Emerging trends radar screen

1) Social software (utilisé par NetFlix dans leur algorithme de recommandation)

2) Cloud computing, (je sens un thème récurrent depuis quelques jours…)

3) Intelligence artificielle statistique e.g. basée sur le "machine learning" , en particulier dans le BI, aussi les engins de traduction, la reconnaissance d'images, aussi la détection de patterns (e.g. fraude de carte de crédit)

4) Real world web, unification du monde virtuel avec le monde réel, ou quand mon frigo se met à twitter.

5) Context-aware computing

6) Augmented reality, par exemple lorsqu'on se sert de la localisation de l'utilisateur, les tag 2D reconnu par la camera d'un téléphone cellulaire, ou la reconnaissance d'un édifice, d'un endroit ou d'une affiche de film (offert par nokia). Le dernier numéro du magazine Wired parlait d'un système intégré de reconnaissance basée sur des composants peu dispendieux.

7) User interface, ambient displays (a la MS Surface™), tangible interfaces (i.e. driven by physical object)

8) Imprimante 3D, le prix est passé de 200 K$ à 20 K$

9) Robot Mobile, sur une horizon plus long, mais déjà en application, par exemple dans des hôpitaux. Ou par exemple chez Staple, ils ont des warehouses où ce sont les étagères qui bougent vers le commis, plutôt que l'inverse (produits de kiva?).

 

Utilisation de RFID au Symposium

Comme dans tous les congrès on porte un badge avec notre nom. Celui utilisé ici contient aussi un tag radio-fréquence (RFID), ce qui explique qu'au dessus de chacune des portes que nous traversons se trouve des antennes qui colligent l'information sur nos allés et venues. On peut imaginer l'intérêt de cette information, il y a environ 6000 participants, plus de 300 activités (conférences, ateliers, présentations…) organisées autour de 10 tracks, réparties sur 3 sites dans un trentaine de salles simultanément. En suivant chacun d'entre nous, Gartner est en mesure mieux connaître nos besoins, nos intérêts et planifier plus précisément les prochains événements. L'information temporelle est aussi intéressante. Combien de personnes arrivent avant ou après le début. Combien de personnes quittent durant la présentation? Vont-elles à une autre présentation le cas échéant? Comme on connaît la compagnie des participants, est-ce que les participants vont voir les mêmes conférences en même temps? Couvrent-ils plusieurs tracks? Est-ce que les participants suivent une track ou s'ils font du ping-pong d'un sujet à l'autre? Tous ça pour quelques sous par participant.

 

Project success starts with people: communications, expectations and engagement

Audrey Apfel parle de l'importance de l'analyse des stakeholders. Comme chargé de projet on ne doit pas mettre plus d'importance sur le projet que ne le fait le sponsor. L'université de Virginie a fait un sondage sur les critères que les clients utilisent pour juger du succès des projets : le produit rencontre les besoins, l'application est vraiment utilisée, rend l'organisation efficace-efficiente. Absent du portrait : on time, on budget, on compliance.

 

Video in the enterprise : the green cost saver

Gartner nous dit d'entré de jeu que la vidéo est plus abordable que jamais (ces conférences valent leur pesant d'or!). Ca doit, considérant le nombre de vidéo que j'ai moi-même mis sur le web pour un investissement total de 0$. Farce à part… de quoi parlons nous? Vidéo streaming, téléprésence, vidéo HD, affichage (digital signage), surveillance. D'ici deux ans, le desktop vidéo va submerger la demande de bande passante exigée par toutes les formes de téléprésence sur le réseau.

 

Collaboration and Social Software: Exploiting a Market in Transition

La collaboration en est à la 4e génération, passé le courriel, le IM, les blogs et wiki, à la création de contenu collaboratif en temps réel, l'accès mobile et l'analyse sociale quantitative (social analytics). Les produits à surveiller : Yahoo-Xoopit, novell cockpit, google wave. Les grands joueurs sur ce marché sont Google, Cisco (autour de WebEx), IBM, Microsoft. De plus en plus nos vies professionnelle et personnelles sont interpénétrées et la frontière entre les deux plus floue.

 

Je jurerais que pour cette présentation, il y avait plus de femmes que dans les autres. Une données que nos tags RFID pourrait nous permettre de vérifier.

 

Keynote avec Eric Schmidt CEO de Google

Ce qui frappe de la rencontre, c'est que pour chaque question posée par les analystes de Gartner, Schmidt répondait "on ne considère pas ce point vue, on regarde ça comme ceci…".  Ce qui ressort, donc, c'est que Google est vraiment, une compagnie différente.

On a parlé aussi de Netbooks, html 5, wave, chrome os.

 

Fait intéressant, Google peut voir l'émergence et la propagation de la grippe avant tout le monde par les recherches qui sont faites, avant même les organismes de santé publique.

 

 

 

 

21 octobre 2009

Gartner Symposium 20 octobre 2009

mardi 20 octobre 2009, Orlando, température relativement fraîche, sujets chauds.

 

Top 10 strategic technologies for 2010

1) cloud computing

2) virtualisation (pour la haute disponibilité, à partir du moment où on peut migrer une machine en temps réel, qu'est –ce qui nous empêche d'avoir une relève en attente),

3) TI pour les vertes entreprises (IT for green est une évolution du Green IT),  

4) client computing (PC virtualisation, hosted desktop, RIA),

5) mobile applications, (on a qu'à penser au appStore de Apple, qui n'est que le début de la vague)

6) analytics (principalement operational analytics, exemple détection de fraude sur les cartes de crédit en temps réel, aussi vers des modèles prédictifs dans un CRM par exemple (du style vendre un produit a haut profit qui vide la tablette, vs un moins payant qui réduit l'inventaire) qui nous amène vers le context-aware computing),  

7) social computing (de plus en plus on va avoir besoin d'un "virtual dress code" pour les employés),

8) mémoire flash comme intermédiaire dans la hiérarchie de stockage entre la mémoire vive et les disques,

9) sécurité, en terme de monitoring des activités des utilisateurs.

Oui je sais, il m'en manque un!

 

Governing,. Measuring and managing AD organization

Selon Hottle et Landry, la gouvernance est basée sur les politiques, les règles et un troisième point qui m'échappe. Il y a 7 x plus de mashup dans le champ que ce que les TI pensent. Faire une analyse des stakeholders pour cerner le contexte (gartner à un template pour le faire). Gartner identifie 8 disciplines critiques aux organisations d'AD.

 

One on one Richard Bucannan sur le rôle de l'architecte applicatif.

J'ai eu une discussion sur le rôle de l'architecte applicatif en rapport à l'architecture d'entreprise et de solution. Nous avons échangé sur la façon de renforcir ce rôle dans l'organisation et sa relation avec la gouvernance.

 

Web and cloud AD convergence

Selon Gartner, en 2014, un tier des nouvelles applications web vont être sur le cloud. Actuellement, 56% du budget TI va en développement d'application maison, le reste va vers des progiciels. Le développement sert à la différentiation sur le marché (voir "bestbuy remix api", et aussi "segue guided tour" web site). Beaucoup des choses que nous avons appris dans le développement web s'applique dans le cloud computing, (composants et architecture de service, façades…). La majorité utilise Eclipse et supporte des bases de données relationnelles. (voir Heruku un fournisseur de cloud pour application ruby on rails). Pour ce familiariser avec le cloud Eric Knipp conseille de débuter par l'utilisation de SaaS dans l'entreprise (par exemple GoogleApps). Chez nous on pourrait envisager le APaaS pour réduire les coûts de maintenances de certaines applications non critiques.

 

Note :VMWare a acheter SpringSource car Spring est utiliser dans 50% de applications et ils ont cloud fondry autour de Spring.

 

Voir flightcaster.com

Google vs Microsoft, a battle for the clouds

Cette présentation revient chaque année depuis trois ans et aussi bien dire qu'elle sera encore présentée en 2015. Dans ce contexte c'est plutôt une mise à jour de la bataille que l'anticipation de l'asseau final. Le cloud computing  et le SaaS sont pour devenir des éléments clés du future, MicroSoft et Google vont vouloir s'arracher le marché. Qui gagnera quoi?  MS se bat pour une part des revenus d'annonces de recherche (search ads) de Google. Google pour ça part veut distraire MS de son objectif. C'est pourquoi Google dépense 1$ dans des projets qui n'ont pas rapport à la recherche, pour forcer MS à en dépenser 10$. 97,5%  des revenus de Google proviennent du "search advertising", et l'information que les recherches produit pourrait permettre une augmentation significative des revenus. GMail est de plus en plus utilisé par les moyennes entreprises (10 000 employés). Au final, ce qui ressort de la présentation c'est que les applictions web sont maintenant suffisamment bonne et parfois meilleures que leur pendant "desktop" et que le web (HTML) comme plateforme a de l'avenir.

 

Tim Austin indique que Google a déjà une offer de communication unifiée (UC) intéressante et qu'elle sera complète d'ici 12 mois.

 

Hier soir j'ai terminer la journée avec:

Technology trends for IT modernization

Modernisation dans le sens de mainframe et cobol. Donc le contenu de la présentation était assez peu pertinent par rapport à notre patrimoine nouveau qui est principalement en java. Vous l'aurez lu ici en premier, Java est le cobol des années 2030. Dale Vecchio a cependant bien situé le contexte de ces applications née avec l'informatique et qui marque la fin d'une époque et l'arrivée d'une nouvelle génération, les "digitals natives" alors que vont bientôt quitter les baby boomers. En particulier, ces jeunes qui entre sur le marché du travail ont des attentes différentes de leurs prédécesseurs et le monde dans lequel nous vivons est aussi très différents. Est-ce que notre entreprise saura, sait, être de son temps? Est-ce que les TI saurons réagir rapidement à ce nouveau contexte?

19 octobre 2009

Gartner Symposium 19 octobre 2009

Lundi 19 oct 2009

 

Après juste quelques heures, certains thèmes ressortent déjà, bien sûr le cloud computing, le "social media" et d'autres dont Gartner fait la promotion, dont le "pattern-base strategies". On sent aussi que l'on va sortir de la récession, pas immédiatement, mais il faut se préparer à la reprise.

 

Keynote d'ouverture

Keynote au format intéressant, où se sont succédés des analystes en duo ou en solo, et qui nous ont présenté les grandes préoccupations et tendances pour 2010 dans un format presque théatral qui était fort dynamique. Ce qui ressort c'est principalement le "cloud computing", le "SaaS, software as as service" et le "social computing". Ils ont aussi introduit la notion de "operational technologies" OT en rapport (ou en opposition) avec les TI. Il y a quelque chose pour nous la dedans, car les compteurs intelligents font partie de ces techno. Deux autres concepts sont apparus, le "pattern-based strategy" et le "context aware computing". Ce dernier point est un concept que j'utilise dans la conception d'interface personne système depuis quelques années. Une façon de voir est d'imaginer que l'application sache automagiquement ce que je désire voir, ce sur quoi je veux travailler en tout temps.

 

Ensuite je suis aller voir la conférence "Return-to-growth strategies", qui recadrait le rôle et l'approche d'architecture d'entreprise. Dans un monde hyper connecté, où le taux de changement s'accélère, le contrôle est illusoire. On avait de la difficulté à "contrôler" les systèmes individuellement, dans l'avenir ce sera encore plus difficile, car on aura des systèmes de systèmes. Le rôle de l'architecture d'entreprise est maintenant de soutenir le changement continu de l'organisation en se concentrant sur les interrelations entre système plutôt que sur les systèmes interconnectés.

 

Suzan Landry à introduit les sujets de la track "application" et a présenté par mal de matériel. Premièrement une définition de application comme étant une unité de gestion. Concept simple et flou à la fois, qui colle bien à notre réalité. Quel est la limite d'une application? La réponse : quel est la limite de ce que vous voulez gérer? Elle a aussi passer du temps à nous expliquer le modèle de maturité des organisations de développement (similaire à CMMI) qui fournit des éléments pour l'établissement ou le renforcement de certaines activités, par exemple il ressort que le TI sont bonne en gestion de portefeuille de projet, mais pas mal moins en gestion de portefeuille d'applications. Elle a aussi mentionné qu'il y a d'autres portefeuilles qui peuvent être gérer. Plus globalement Suzan à parler de gouvernance des applications, dont un des points touchait le "end-user computing" (les fameux Excel de ce monde). Pour finir elle a confirmer ce que nous voyons depuis un certain temps, "les architectes applicatifs sont en forte demande".

 

Après le lunch j'ai eu une discussion en tête à tête avec Ray Valdes au sujet des frameworks de développement Java, pour valider notre choix ("that's a resonable choice") et voir avec lui comment introduire ces nouvelles technologies. Rapidement la discussion à tourner au TDD (Test Driven Development), au outil de build et à l'intégration continue (CI), des pratiques que les équipes progressives utilisent aujourd'hui. On a aussi parler de la stratégie d'intégration des frameworks java et .NET. Ray nous indique que notre stratégie web REST est la bonne.

 

En fin d'après midi, je suis aller voir une conférence intéressante sur les leçons apprises de l'utilisation du cloud computing dans diverses organisations grandes et petites de par le monde. Beaucoup d'exemples positifs, mais aussi des mises en garde.

 

Dernière conférence de la journée, Technology trends for IT modernization, j'en parlerai demain. Ensuite cocktail et pour finir un souper au downtown Disney.

13 octobre 2009

IDE pour développement Grails

Si le développement d'une application Grails peut se faire avec la simple ligne de commande et un éditeur de texte comme TextEdit ou UltraEdit, les réalisateurs préfèrent utiliser un environnement qui leur facilite la vie et augmente leur productivité. Chez nous à Hydro-Québec ça veut dire, pour le monde Java, Eclipse ou IBM RAD, qui sont nos standards corporatifs.

 

Le support de Groovy et Grails dans Eclipse, et on peu présumer, dans RAD, est très rudimentaire et n'apporte pas de productivité au développeur. Selon nous, cette situation devrait éventuellement se corriger avec l'adoption grandissante de Grails dans l'industrie et avec l'intérêt de Guillaume Laforge[i]. C'est la raison pour laquelle, dans l'intérim, on a regarder NetBeans de NetBeans.org. Comme il est gratuit on s'est rapidement tourné vers lui pour nos développements Grails. L'intégration des commandes Grails est très intéressante, on obtient un bon grain de productivité par rapport à la ligne de commande et Eclipse.

 

Comme il s'agit d'un choix opérationnel, (pour le moment il n'est pas question d'adopter NetBeans pour le développement Java), NetBeans répondait bien à nos besoins Grails. Du moins, jusqu'à ce qu'on frappe un mur. En effet, il n'est pas possible de changer l'encoding des caractères des projets Grails, dans NetBeans par défaut les fichiers sont en UTF-8, pour se conformer à notre environnement de production, qui est en ISO 8859-1.

 

Comme on a actuellement des projets à livrer en Grails, il nous faut donc une autre solution. C'est ce qui nous a amener a considéré une autre alternative: IntelliJ de JetBrains.

 

Ce que l'on recherche d'un IDE Grails, ce sont les caractéristiques suivantes :

 

Caractéristique

Eclipse

NetBeans

IntelliJ

Lancer les commandes grails. Ex. create-app



˜

˜

Créer une classe de domaine

™

ž

˜

Créer les vues

™

ž

˜

Permet de spécifier encoding ISO-8859-1

 

ž

˜

Identification des erreurs de syntaxe, hilite syntaxe

™



˜

Code completion pour classes domaine et contoller

™

ž

˜

Code completion dans la pages gsp

™

™

˜

Code completion sur méthode dynamique

™

ž

˜

Intégration des tests unitaires (jUnit)

™

™

˜

Support débugging (breakpoint, step, watches…)

 

ž

˜

Support de gestionnaire de sources (CVS, SVN…)

ž

ž

˜

Visualisation UML des classes

™

™

˜

 

Clairement, IntelliJ se démarque par la qualité de l'intégration et le support de Grails et Groovy. On devra se pencher sérieusement sur ce produit en considérant le "big picture" car au-delà de la productivité brut, il faut considérer le prix des licences, l'intégration avec les autres outils de l'entreprise et la mobilité des ressources entre les équipes.

 

Pour démontrer le support de Grails/Groovy nous avons utilisé le scénario suivant :

(pour voir le vidéo suivre ce lien http://www.vimeo.com/7045498 )

 

  1. Créer nouveau projet
  2. Run de l'application (dans IntelliJ il faut configurer un environnement avant, la première fois).
  3. Créer un objet de domaine      "Blog"
  4. Ajouter un                               String titre
  5. Modifier le test unitaire
    1. Ajouter                       mockDomain(Blog) dans         Setup()
    2. Modif                          testSomething() pour                testBlogValide()
  6. Écrire le code du test
    1. def  b =  new Blog()    notez que NetBeans n'offre pas de code completion
    2. b.validate()
    3. assertFalse "Le blog devrait être valide", b.hasErrors()
  7. Exécuter les tests         NB : grails test-app

a.       IJ : ctrl shit F10           grails test

b.      IJ : ctrl shit F10           junit

  1. Ajouter un test pour     contenu
  2. Rouler le test : Red
  3. Corriger Blog en ajoutant         String contenu
  4. Rouler le test : Green
  5. Créer controller                       blog                 def scaffold = true
    1. Montrer que IJ groupe les classes par famille
  6. Rouler l'application
  7. Ajouter            def listxml = {} dans le controller
    1. Render Blog.list() as XML      montrer le code completion dans les 2                                     NB  class et méthode statique
    2. Montrer le import problem
  8. Rouler l'application
  9. Modifier pour render Blog.findAllByTitreLike dans IJ            
    1. Pour méthode dynamique
  10. Revenir à         render Blog.list() as XML
  11. Code completion dans les vues (gsp)
    1. Modifier index.gsp                  ${Blog.count()}
  12. Debugging
  13. Modifier          listxml
    1. Render Blog.get(params.id) as XML
  14. Insérer un breakpoint et un watch sur params
  15. Générer le diagramme UML du blog

 

Pour plus d'information sur les IDE Grails, consultez aussi : http://grails.org/IDE+Integration .

 

Dean Del Ponte a un excellent article sur les IDE (http://www.grailsblog.com/archive/show?id=10 ), cependant la version testée d'IntelliJ (8.1) est moins performante que celle que nous avons utilisée (8.1.3) et qui présente des améliorations importantes pour Grails 1.1.

 



[i]  Guillaume Laforge le 11 décembre 2008 suite à l'acquisition de G2One par SpringSource  :  "First of all, SpringSource's Eclipse team will join forces with our own Eclipse team to shift gears in the development of the Groovy/Grails Eclipse plugin. The lack of state of the art Groovy support in Eclipse can still be a limiting factor to adoption in the wild. However improved the plugin has gotten over the past year, lots of work is still needed to bring it on-par with expectations people have when working with their usual Java IDEs. So hopefully, in the coming months, you should see improved support of both Groovy and Grails in Eclipse."