Sunday, November 9, 2014

JavaOne Day 1 - Keynotes et sessions

Beaucoup de contenu dans cet update racontant notre première journée au JavaOne 2014 alors attachez-vous, on y va !

8:00 - Avatar.js: Node Programming Model and JavaScript for the JVM
Notre première session du JavaOne 2014 !!! ...est malheureusement un "fail" ! Effectivement, bien qu'enregistré à l'évènement (et donc forcément sur place à San Francisco!), le présentateur principal est MIA. Son co-présentateur, qui devait s'en tenir au volet technique de la session, tente de prendre la relève, mais est, de toute évidence, beaucoup plus à l'aise en russe qu'en anglais (ой!). Bref, passons à autre chose.

9:00 - Lambdas and Laughs
Notre première (vraie) session du JavaOne 2014 !!! Session très intéressante et humoristique sur les Lambdas et Java 8: Les "slides" du présentateur contiennent probablement presque tous les "meme" en existence ! Bref, on y survole les nouvelles fonctionnalités en lien avec Lambda avec exemples telles que les "effectively final variables", méthode d'interface avec implémentation et les nuisances de l'héritage multiple que cela peut entraîner lorsque mal utilisé, les références de méthodes et bien sur les Lambdas pour remplacer les classes anonymes ainsi que les Streams.

10:00 - James Gosling, Robots, the Raspberry Pi, and Small Devices
Session à vocation plus hardware et Java embarqué mettant en vedette Mr Java James Gosling qui présente ses robots sous-marins autonomes et les métriques récupérés par ceux-ci. Les autres présentateurs montrent quelques exemples mettant en vedette des Raspberry Pi: Des Pi(s) branchées dans les salles de rencontres afin d'afficher la qualité de livrables dans Jenkins, un présentateur contrôle ses lumières de maison... En Espagne, qui sont branchées sur une Pi sur laquelle GlassFish expose des services de contrôle. On y présente également une avenue possible pour utiliser JavaFX, qui n'a pas eu tant de traction dans le marché jusqu'à maintenant: Gérer une interface touchscreen/multi-touch sur un petit écran branché à une Raspberry Pi. La session se termine par un Q&A et quelques citations mémorables de James Gosling: "Never do C code for performance, because it's pointless compared to modern JVM optimizations".

11:00 - Free Java Tools for Maven and Java EE
Contrairement à ce que le titre indique, la session tourne principalement autour de NetBeans et ses fonctionnalités. Eclipse reste l'IDE le plus utilisé, mais on y voit tout de même quelques fonctionnalités intéressante comme le mode présentation de code, la conversion de code automatique vers Java 8 ainsi que quelques plugins. La session termine avec la conversion live d'un projet EE6 à EE7 en quelques minutes. Bref, à essayer par temps libre !

12:30 - Java Strategy and Technical Keynotes
Le keynote du Java se tient au Moscone Center, dans une salle d'une taille impressionnante ! Cette même salle sera également utilisée plus tard pour le keynote OpenWorld.

Le keynote débute avec les nouveautés de Java 8 et des exemples d'utilisation: On y présente Goldman Sachs (300 millions de lignes de codes Java, 3500 développeurs !!) où l'utilisation des Lambdas a permis de réduire de 10% le nombre de lignes de codes de leurs tests automatisés.

Toujours sur Java 8, on mentionne qu'il y a eu un gain de performance de 40% versus JDK7u40 et que le code utilisant les Lambdas deviendra plus performant encore dans le futur avec d'avantage d'améliorations côté JVM et matériel.

On y voit également le roadmap Java pour les prochaines années avec JDK9 "Early Access" disponible dès maintenant avec une date cible de sortie en 2016.

On parle ensuite du Java Embedded et ses différents profils tel que Java Card, une distribution mobile de Java ne pesant que quelques dizaines de KB! Et on enchaine avec une démo du futur mettant en vedette tous le stack de Java (Embedded/ME, SE, EE, JavaFX...): Une de voiture intelligente online avec écran tactile communiquant des métriques au constructeur, qui sont à leur tour analysés en Big Data. À noter la pointe de stress des présentateurs lorsque la démo de démarre pas du premier coup (...demo Gods) !

On enchaine avec Java EE dont JSR-366 REST & HTTP 2.0 qui est approuvé, E-Finance, le mobile, le cloud...

IBM présente ensuite leur PAAS BlueMix qui est en fait une plateforme cloud construite sur Cloud Foundry de Pivotal (spin off cloud de VMWare).

On souligne ensuite les 20 ans de Java l'an prochain avec un regard vers le passé et quelques dates marquantes tel que la création en 1995, les generics en 2004 et les Lambdas en 2014.

Vient ensuite Oracle avec Coherence qui est en fait un moteur de cache (Marketing: data grid).

On revient ensuite vers Java pour un volet "code" qui sera des plus intéressants avec les deux architectes du langage: Mark Reinhold et Brian Goetz quand tout à coup... on "pull the plug" sur Brian Goetz mentionnant que le temps alloué au keynote est expiré !! Bref, cet incident sera en vedette et jasé tout au long de la semaine (Spoiler alert: Tout se règle finalement au community keynote à la fin de la semaine).

15:30 - Big Data and Java: Ask the Experts
Panel d'experts sur le Big Data qui récolte jusqu'à 50 questions du public et répond à chacune d'entre elles ! Timing impressionnant compte tenu le nombre de questions qui semblait trop pour la durée de la session.

17:00 - Oracle OpenWorld Keynote
On s'infiltre ensuite dans le keynote de l’Oracle OpenWorld dont l'uniforme est définitivement le "complet-cravate" ! Le tout commence avec le chief marketing officer qui nous fait un survol rapide de l'évènement, puis de Safra Catz, nouvellement co-CEO d’Oracle qui introduit ensuite Renee James, présidente d’Intel, bref le gratin est là !

Intel nous fait un recap des avancées technologiques des dernières années, mentionnant le la quantité de données sur Internet a doublé au cours des deux dernières années et qu'à ce rythme, il y aura autant de bytes de data qu'il y a d'étoiles d'ici 2020 ! Également, on mentionne le changement de positionnement de la TI dans les entreprises, qui passe de "IT supporting the business" à "IT is the core of the business" par l'avènement du mobile et du cloud. WestJet est montré en exemple avec 50% des ventes de billets provenant maintenant de site Web. Au sujet du cloud, on ajoute que les clouds privés connaissent une croissance plus rapide que les clouds publiques avec 47% de la capacité demandée par les entreprises qui, selon les études, devrait s'y retrouver dans un futur proche. La portion Intel se termine avec une démo de l'infrastructure d'Intel qui permet d'utiliser plusieurs CPU Cores pendant le jour pour le parallélisme puis moins la nuit mais à fréquence plus élevée pour les traitements en lots.

Larry Ellison, Mr Oracle lui-même, très en forme, prend ensuite la scène (à titre d'executive chairman et CTO) pour une présentation très engagée dans laquelle il n'hésite pas à nommer et comparer les concurrents ! ("More sales than anyone" (...) "more SAAS than anyone" (...) "SalesForce is the best of the rest, at least they have a platform" (...) "But where are their cloud ? Let's talk about earth !"). Parmi les faits saillants Larry mentionne Oracle Cloud Platform dont les coûts devraient s'apparenter a ceux de Microsoft ou Amazon, Oracle Zero Loss ("I chose the name before promoting those two guys") qui est en fait composé de processeurs avec instructions embarquées ("All in sillicon") permettant par exemple la décryption et décompression de données à l'exécution au lieu de la lecture, augmentant ainsi la sécurité et capacité sans impacter la performance. Bref, Larry est plutôt tech-savvy, ce qui est amusant considérant le nombre de "complets-cravates" autour de nous semblant un peu égarés par le contenu technique !

Fait humoristique: quelques minutes après le début de sa présentation, la "remote" de Larry s'emballe et cesse de fonctionner, l'amenant à demander "NEXT SLIDE.... PLEASE !" d'un ton particulièrement irrité. Il y a donc probablement un ex-Oracle maintenant à la recherche d'un nouvel emploi...

20:00 - Souper et open bar @ Duke's Cafe
La soirée se termine avec un "Taco Night" au Duke's Café, avec DJ et l'opportunité de rencontrer plusieurs "Java People" intéressants, dont Jim Weaver, le très sympathique ambassadeur de la technologie Java chez Oracle avec qui nous avons eu du plaisir à discuter.



Note to self: Les côtes à San Francisco c’est pas seulement dans les films, c’est vraiment, vraiment vrai... et très apique!

Sunday, October 26, 2014

JavaOne Day 0 - Enregistrement

Dukes Cafe, Oracle Plaza et le Exhibition Hall en construction
Après être arrivé à San Francisco en fin d'après-midi suite à une escale à New York, on constate rapidement que la ville est placardée TI: Les publicités à l'aéroport, les panneaux d'affichage le long des autoroutes, les autobus, les affiches publicitaires dans les rues parlent tous de data center, sécurité, de cloud, de software as a service... Même constat au centre-ville avec deux rues bloquées pour le Duke's Café ainsi que le Oracle Plaza, deux pub/terrasses à ciel ouvert où les dernier préparatifs d'aménagement arrivent à leurs fins et où se dérouleront 5@7, concerts et présentations dans les prochains jours !

Enregistrement
Enregistrement rapide au Hilton Union Square, et début de la collecte de "swag" Java de l'évènement, avec un sac JavaOne et autres articles promo, en plus de notre badge et des passes pour le Oracle Appreciation Event de mercredi qui mettra en vedette Aerosmith à Treasure Island.

Participation importante
Selon le staff des restos, hôtels et autres, "l'arrivée à San Francisco" est le thème de la journée, avec un nombre important de participant au JavaOne / Open World convergeant vers la ville. D'ailleurs, je termine avec quelques statistiques provenant d'Oracle sur la popularité des deux évènements.

** Note to self: Soirée & couché tard + réveil à 4am pour faire 6h d’avion = mauvais plan...

JavaOne 2014

JavaOne 2014
J’ai eu la chance d’assister à la conférence JavaOne d’Oracle cette année se déroulant à San Francisco du 28 septembre au 2 Octobre. En plus d’être le Disneyland du Java, l’évènement est une source incroyable de contenu technique, de présentation des tendances actuelles et futures, de partage avec les sommités et l’occasion par excellence de se garder « up to date » sur tout ce qui touche à Java. Je vais donc, dans les prochaines semaines vous faire part de mes impressions ainsi qu’aborder sommairement les différentes sessions auxquelles j’ai assisté.

Impressions générales
Avant de débuter, quelques impressions sur l’évènement:

Nous sommes dans l’ère du Cloud
Le Cloud n’est plus présenté comme une nouveauté, mais plutôt comme une plateforme de développement typique avec plusieurs sessions de différents fournisseurs, d’exemples de projets et façons de faire, et les prochaines évolutions et tendances de ce côté (e.g. Google App Engine/Cloud qui passera bientôt sur Docker), sans compter les nombreux fournisseurs dans les salles de montres offrant IAAS, PAAS et SAAS multiples.

Java 8 : Les expressions Lambda sont beaucoup plus qu’un artifice de langage
Plusieurs sessions populaires cette année traitaient des expressions Lambda, leurs syntaxes, leurs constructions et implémentations… À première vue les expressions Lambda peuvent sembler une grosse bouchée car elles représentent un des plus grand changements au langage depuis l’introduction des « generics » dans Java 5 (Et certains ont tendance à résister au changement…). Alors pourquoi utiliser les lambdas ? Comme le mentionnait Brian Goetz dans sa session sur le sujet, une partie de la réponse est: Le parallélisme (Lambda is the path to multicore). Par exemple, des opérations impliquant des itérations sur des listes peuvent ainsi bénéficier facilement de plusieurs cores/cpu en lambda (Voir parallelStream()), ce qui serait beaucoup plus ardu dans un design classique où atteindre le même résultat impliquerait de démarrer plusieurs Threads. Donc des gains de performance faciles en plus de gains en clarté et simplicité.

Internet of things (IoT) et Java Embedded sont tout de même des trucs intéressants
À première vue, le volet IoT et Java Embedded m’interpelait un peu  moins compte tenu mon côté plus « software » que « hardware ». Par contre après quelques  présentations notamment de James Gossling, les démonstrations dans le « Exhibition Hall », la version Embedded de Java qui offre les fonctionnalités complètes du JDK et le fait que j’ai gagné une Raspberry Pi (Yay !), je dois admettre que c’est plutôt intéressant et je vais probablement m’y mettre dans les prochaines semaines (…Sleeping is for wussies !).

JavaOne + Oracle OpenWorld = Beaucoup de monde !
En effet, on parle ici de 9000+ participants au JavaOne et 60000+ pour le Oracle OpenWorld… Il faut avoir vu les gens défilés dans les rues et les hôtels pour apprécier l’envergure de l’évènement.