Voici mes notes de JavaOne 2006. Beaucoup de choses à couvrir. Tout n’est pas là. Ceci n’est que ma perception de la conférence.
Chiffres |
Java et Open Source |
NetBeans Day
Keynote #1 | Keynote
#2 | Keynote
#3
Java EE 5 | AJAX
| Desktop | Scripting | SOA
Wireless/Mobile | Temps
réel
Hands-on labs | Divers |
Java Facts
Java et Open Source |
NetBeans Day
Keynote #1 | Keynote
#2 | Keynote
#3
Java EE 5 | AJAX
| Desktop | Scripting | SOA
Wireless/Mobile | Temps
réel
Hands-on labs | Divers |
Java Facts
Chiffres
- 11ème édition
- 16 000 participants de 65 pays
- 180
sessions de 8h30 à 23h30 sur 4 jours (presque tous
PDF
sont en ligne, certains sont des drafts) - Webcasts des “General
sessions” également disponibles - Co-sponsors principaux: BEA, IBM, Motorola, Oracle
- 106 exposants (aucun absent de marque)
Java et
Open Source
- “How”
not “Whether” (Rich Green) - Peu de détails, mais une
réelle volonté - Distro
License for Java (DLJ) for GNU/Linux and OpenSolaris % apt-get install sun-java5-jre
- Plus important pour les entreprises que Java Open
Source (IMHO)
NetBeans
Day
- Plus de 1000 participants (on change de lieu
l’année prochaine) - Présences de Jonathan Schwartz, Rich Green
(nouveau VP software), James Gosling, Josh Bloch (Google), … - Annonce de JBoss et AMD comme nouveaux partenaires NetBeans
- Sujets principaux:
- Plugin Subversion
(beta en cours) - Roadmap
Matisse (I18N, “héritage” visuel, binding,
application framework) - Démo Sprint SDK (construit sur le Mobility
Pack) - Refactoring
Jackpot (preview dispo pour 5.0 et 5.x), refactoring
scriptable et “exact” (basé surjavac
) - 4 nouveaux plug-ins en Open Source: Real-Time,
Tango/WSIT
(interop .NET), Grid,
Jackpot - Démo développement plug-ins + plate-forme NetBeans
- Démo développement Java EE 5 avec NetBeans
5.5 (en beta, version finale en octobre). Démo
CRUD. - Démo Enterprise
Pack for NetBeans (UML 2.0, outils XML/XSD,
éditeur
BPEL, mapper SeeBeyond) - Démo Creator Pack for NetBeans – toutes les
fonctions de
Creator dans NetBeans (prévu en fin d’année
2006).
Pas
de build pour l’instant. - NetBeans
/ BlueJ Edition Beta - MevenIDE
for NetBeans - Compte-rendu
NetBeans Day
Keynote
#1 (Jonathan, Rich Green, Jeff Jackson)
- Invités de Jonathan
- Ed Zander (CEO Motorola).
- Marc
Fleury sur scène avec Jonathan, JBoss nouveau
partenaire
NetBeans - Mark Shuttleworth/Ubuntu sur DLJ
(Distro Licence for Java) - Autres: Debian, NexentaOS, Gentoo, Schillix, OpenSolaris
- Annonces Jeff Jackson
- Sun
Portal, Creator, JMS, moteur BPEL
SeeBeyond (dans OpenESB)
en open source - Démos
- GlassFish + Netbeans (blog server)
- Pub locator (Démo Craig McClanahan avec
Creator et composants JSF Google Maps) - Java Petstore en AJAX
(Java EE 5). Video. - “S”Mashup (Swing Mashup) Aerith
- Application Swing de souvenir de voyage
intégrant les Web
Service de google maps, flickr et Yahoo geocoding - Rendu dans une
applet
Keynote
#2 (Graham Hamilton, Bill Shannon)
- Slides disponibles en
ligne (public). Résumé
détaillé ici. - Java SE 6 (Mustang)
- http://mustang.dev.java.net
- Qualité systémiques:
compatibilité (weekly
builds), performance (benchs + desktop), management (JConsole, DTrace). - Nouvelles fonctionnalités
- Scripting (JSR 223)
- Améliorations
Desktop : GroupLayout de Matisse, SwingWorker, Splash screen, system
tray, anti-aliased fonts Support Windows Vista (lnf, IE 7, …). - Web Services : sous-ensemble JAX-WS 2.0 (y compris JAXB
2.0) + mini serveur Web pour callbacks - Version finale prévue pour octobre 2006
- Java EE 5
- Finalisé!
- (voir plus bas
les caractéristiques) - Participation unanime
- Sun: GlassFish / Sun AS 9 disponible
(implémentation complète de Java EE 5). - IBM: rien de dispo pour l’instant (stratégie
Géronimo?). - JBoss: preview EJB 3 + persistance Hibernate.
- BEA: preview EJB 3 + persistance Kodo.
- Apache: Geronimo 2 en cours (version J2EE 1.4
récenté) - Oracle: preview EJB 3 + tooling Eclipse Dali
- Autres: SAP, Tmax Soft, ironFlare, ..
- Java SE 7 (Dolphin)
- Work in
progress - Support de XPath et intégration d’expressions
XML dans le langage. - Exemples:
void addUser(Element element, String
user, String password) {
element.add(
<account>
<user>{user}</user>
<password>{password}</password>
</account>);
}import java.lang.XML.\*;
java.lang.XML myElement = <foo/>- Super Packages (sorte de “friend” C++)
- Java Modules (JSR 277)
- Successeur du format Jar, repository
- BeanShell (JSR 274)
- many
more… - Futur de Java EE (réflexions)
- Applications composites (JBI, SCA)
- Intégration Portlets
- Standardisation HA, Clustering
- Scripting
- AJAX
- WS-\*
- Démonstrations
- Web Services Java EE 5 avec Vi (Enterprise Edition ;-)
- EJB 3 avec NetBeans 5.5
(intégration hints
AVK). - Look and Feel natif sur Windows Vista avec Java
6
beta, splash screen, system tray
icons, launching
native apps - Java 1.4.2 et Java 5 seront disponibles et
supportés sur Vista - Visual Basic for Java:
- Application JSF avec gestion
d’événements (logique métier) en
Basic. - Pas de code dispo pour l’instant.
- (voir partie “Scripting”)
- JavaScript in the Web Tier: Project Phobos
- JavaScript coté serveur avec un serveur
très lightweight (blog). - (voir partie “Scripting”)
Keynote
#3 (Scott, James Gosling)
- Introduction Scott McNealy
- “Top 10 best things about not being CEO”
- Digital Divide…
- Demo Show James Gosling
- GE Medical System, utilisation de Java 6 et JOGL
- Jackpot
dans NetBeans. - NetBeans Mobility (debug on device)
- Real-Time (Greg Bollella): car
racing + Real-Time app server. - Tommy
– véhicule piloté en Java (DARPA challenge)
Java EE 5
- Simplification des développements
- EJB 3: POJO + annotations, configuration par exception,
injection de dépendance (plus de JNDI) - Descripteurs de déploiement XML facultatifs
- API Persistance: providers pluggables (TopLink,
Hibernate, Kodo/OpenJPA) - JAX-WS 2.0: POJO + annotations
- Supports latest W3C standards: SOAP 1.2, MTOM/XOP, XML
Schema 1.0 - Supports latest WS-I standards: Basic Profile 1.1,
Attachment Profile 1.0 - JAXB 2.0: binding Schema/DTD <=> classes
Java. Utilisé dans WSDL/JAX-WS 2.0. - JSF 1.2: partie intégrante de la spec
et (légèrement) modifiée pour
intégrer AJAX - Injection de ressources (EJB session, DataSource, …)
dans
JSP/Servlet et dans l’ACC - Simplicité du packaging (config. par
défaut) - Compatibilité avec J2EE 1.4 assurée
- Diminution de la taille des applications entre 30% et 60%
(nombre de fichiers et de lignes de code) - Implémentations Open Source GlassFish et NetBeans
5.5 - GlassFish
- Application Server Java EE 5 complet et Open Source
(CDDL) - Support de 20+
frameworks - 2200 membres et 280 000 downloads
- Roadmap: clustering
et load-balancing dans GlassFish v2 - Repository Maven 2
- Intégration de JavaDB (Apache Derby)
- Performances
SPECjAppServer (seul serveur Open Source benché) - 712.87 JOPS@Standard avec 3 SunFire X4100 (2
bi-coeurs) avec MySQL - Progrès sensible (167%) sur
dernière publication avec AS 8.x - Ratio $/Perf (logiciel, matériel, support,
etc…) - Sun: $72.64/JOPS
- BEA: $200/JOPS
- Collaboration avec Tmax et BEA sur GlassFish
- Prototype pour un GlassFish “on-demand” basé
sur un référentiels Maven 2 - Version Real-Time
de GlassFish - Démo
CRUD dans NetBeans 5.5 (démo
flash) - JBoss Seam (JSF+EJB3+Conversation) proposé
pour un JSR “WebBeans” (JSR 299) - Autres implémentations potentielles : Struts
Shale, ADF Faces - Autres participants au JSR: JBoss, Sun,
Oracle, Borland, Google, Sybase
AJAX
- Beaucoup, beaucoup question d’AJAX (sessions, annonces,
démos) - Frameworks AJAX
- Prototype : http://prototype.conio.net/
- Script.aculo.us : http://script.aculo.us/
- Dojo : http://dojotoolkit.org/ (utilisé
par Sun dans les Blueprints, les composants AJAX de Creator et dans
jMaki) - DWR : http://getahead.ltd.uk/dwr/
- Mise à jour du Java
Petstore pour utiliser AJAX et Java EE 5. Video. - FAQ
AJAX (en Français) - Projet JMaki
- Encapsulation de fonctionnalités AJAX
(Dojo, Scriptaculous, composants Yahoo!/Google, etc.) pour utilisation
avec JSP et JSF - http://ajax.dev.java.net/
(code disponible) - Support NetBeans en cours
- Google Web Toolkit
- Compilateur Java vers JavaScript
- Propose sa propre bibliothèque de composants
Desktop
- Swing toujours aussi sexy, mais plus
accessible (abordable, simple) - Chiffres
- 41% des développeurs font du Java
coté client contre 37% coté serveur - 65% des PC possèdent la JVM Sun
installée - Il y a plus de 20 Millions (!) de
téléchargements par mois du JRE - Nombreuses nouveautés dans Java 6 (cf. plus haut)
- Nouveaux JSR
- JSR 295 – Beans Binding
– Proto dans NetBeans (blog,
démo,
source) - JSR 296 – Application
Framework – CRUD, Master/Detail, lifecycle, actions – Proto
dans NetBeans
Scripting
- Deux étapes, deux JSRs
- JSR 223 – Scripting for the Java Platform
- JavaScript (Rhino) dans Mustang (Java 6)
- Cross-invocation (y compris de script à
script) - JSR 292 – Nouveau bytecode
invokedynamic
prévu pour Dolphin (Java 7) - Plus flexible
- Plus performant
- Projet Semplice
- Langage “Basic” pour la JVM
- Langage très proche de VisualBasic
compilé en byte-code et s’exécutant sur la JVM - Performances excellentes (x13 pour un cas
d’espèce de calcul de fractale) - Intéressant pour les développeurs
VB 6 qui ne souhaitent pas passer à VB.net (trop
différent) - Démo keynote
avec Creator (pas l’unique cas d’usage) - Projet Phobos
- JavaScript coté client (DHTML + AJAX) et
coté
serveur (gestion POST/GET, dispatch, gestion session/cookies,
événements) - Serveur
très lightweight (dérivé de GlassFish). - http://phobos.dev.java.net
- Autres:
- Sessions Groovy, BeanShell
- JRuby on Rails
- PHP dans Weblogic et Caucho Resin “Quercus”
(prévu pour fin 2006, perf annoncées entre x4 et
x 6 sur des
applications réelles) - Pourquoi maintenant?
- Java is bigger than the language (it’s the VM, stupid!)
- Multi-cores systems and today’s scripting language
interpreters make the JVM/HotSpot relevant - Appels Script <=> API Java
SOA
- Java EE 5 comme socle technique
- JAX-WS 2.0, WSDL 2.0, WS-\*
- OpenESB
disponible en Milestone 10 (version finale à l’automne?) - Implementation JBI 1.0 (SOAP HTTP binding) + Moteur BPEL
(origine SeeBeyond)
+ Multi-instances - Outillé: NetBeans Enterprise Pack
- Download all-in-one: SOA
Starter Kit (déploiement single instance) - JBI.next (v2.0) en prévision
- Interopérabilité .Net: Project Tango / WSIT
- Windows Communication Foundation (WCF), ex Indigo
- Produit sous forme d’extensions à GlassFish
- Travail commun avec Microsoft pour couvrir les
spécifications WS-\* - Bootstrapping
- Optimizing communication
- Security optimization
- Reliable messaging
- Atomic transactions
- Transports multiples pour JAX-WS 2.0 (bindings JMS, FTP,
…) - Pas d’API runtime Tango, seulement JAX-WS et EJB
+ config file - Pas de modification de JAX-WS => transparent pour
le développeur (gestion de config) - http://java.sun.com/webservices/interop/downloads/index.jsp
- Support NetBeans : http://websvc.netbeans.org/wsit/
Wireless/Mobile
- A lui seul, Motorola vend plus de
téléphones par an que toute l’industrie ne vend
de PC (100 millions avec Java) - Pitch “Unifions Java ME” de Motorola
- Nombreux partenaires NetBeans
Mobility: Sprint, Orange, Ricoh, SonyEricsson, SavaJe, Nokia,
Motorola, Siemens/BenQ - JSR
209 - Disponibilité de Swing, Java 2D et
d’un sous-ensemble d’API de gestion d’images dans le
périphérique (téléphone). - Accès à tous les composants Swing,
aux
polices antialiased, aux gradients, transformations 2D,
gestion de
l’opacité, etc… - What’s next: Mobile Service Architecture (MSA), JSR 248
- Secure transactions
- 3D, SVG
- SIP (JSR 180) et Bluetooth (JSR 82)
- Possible: Location (JSR 179) et Personal
Information Management (PIM), JSR 75 - Sun
SPOT: - Programmable Sensor Device
- Détecteur
d’accélération, de température et de
luminosité - 180 MHz 32 bit ARM920T core
- 512K RAM, 4M Flash
- 2.4 GHz IEEE 802.15.4 radio with integrated antenna
- Port USB
- JVM CLDC 1.1 embarquée dédiée
(Sqwak) + Plugin NetBeans - Kits @ $500
- Java Verified Program http://javaverified.com.
Temps
réel
- RTJS 2.0 en beta (SPARC, Solaris, Java 5)
- Plug-in
NetBeans - Real-Time
App Server - Contact: RT-JAS-Interest@sun.com
Hands-on labs
- Disponibles : http://www.javapassion.com/javaone2006/handsonlab/
- NetBeans 5.0: Plug-in Development
- Application Monitoring and Management with NetBeans 5.0
- NetBeans Enterprise: Basic UML Modeling
- NetBeans Enterprise Pack: BPEL
- Web Services Based Portlet Applications Development using
Sun Java Studio Creator 2 - Building Production Quality GUI Applications using NetBeans
5.0 GUI Builder (Matisse)
- Explore Java SE 6 (Mustang) Features
- Building Java SE 6 (Mustang) as a java.net Project
- Developing Interoperable Next Generation Web Services with
GlassFish, NetBeans, and WSIT - Dive into Java EE 5 Application Server using Project
GlassFish - Smooth Migration: Leverage the EJB 3.0 Programming Model
from within EJB 2.x Container
- Building AJAX-Based JavaServer Faces Web Applications With
Sun Java Studio Creator - AJAX: Riding the Web Application Horse a Little Further
- Java Technology-Based Application Performance Analysis
- Building Grid-Enabled Applications
- Building Peer-toPeer Java Technology-Based Applications
with JXTA Technology - Using DTrace on Java Applications in Solaris 10
- Mobile Applications: Visualize it, Build it, Deploy it to
Many Devices - Simplified Development of Wireless Sensor and Actuator
Applications Using Java(TM) Technology (SPOT)
Divers
- Sun is helping with Eclipse
for Solaris/X86 - Perfs Java – Nouveaux records SPECjBB2005 avec 1.5.0_08 (Press
Release) sur T1000 et T2000. - Téléphone Jasper SavaJe
S20 (vendu pour $199 aux participants de
JavaOne, Swing dans une téléphone (JSR
209)! - [Jonathan Schwartz] “Asking
Sun how much money we make from Java is like asking GE how much
it makes from the standard plug in the wall. [Java] is the fulcrum on
which Sun’s business lies.” — San Jose Mercury
News - “I
don’t think there is any inherent discontinuity with making Java
open-source and keeping Java compatible. Compatibility must be seen as
preventing any party from taking unfair advantage of the marketplace,
so that the customer gets the best value proposition, which is lots of
competition, lots of richness and innovation,” [Simon]
Phipps said. —
eWeek
Java Facts
- 5 million+ Java developers
- 1052 Java Community Process (JCP) members
- 300+ Java Specification Requests (JSRs)
- 1.5 billion Java technology-enabled smart cards have been
issued to date (Sun, 6/05). - Over 1.2 billion Java-enabled handsets by June 2006 (Ovum).
- 8 of 10 new phones that shipped in 2005 were Java
technology-enabled phones (Ovum). - Java is a leading platform for mobile applications and
services with 150+ carrier deployments worldwide (Sun, 05/06). - Downloads of the Java Runtime Environment from java.com
have reached over 262 million (Sun, 03/06). - Over 750 million desktops with Java software Java
Technology for the Enterprise. - Over 5 million downloads of Java technology for the
enterprise (Sun, 05/06). - 30+ Java-compatible application servers (Sun, 05/06).