Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Julien Chable

He blogs, you blog, I blog ...

Archives

JSE 6 SDK Beta et JEE 5 SDK Dispos !
Puisque tout le monde donnes des infos sur .NET, je vais vous en donner un peu sur le monde concurrent qu'est Java. Et comme on n'est subjectif que lorsque l'on connait l'ensemble des technologies ... blabla bon j'arrête de justifier pourquoi je fais ce post !

Ces derniers jours, SUN à mis à disposition le SDK de Java 6 ! Bon ok, rien d'exceptionnel puisque l'on avait déjà accès aux snaphots avant. Mais cette fois, cette offre packagée et installable permettra à beauvoup plus de monde de pouvoir tester le SDK 6 ;-)

Pour voir les nouveautés (non détaillées :( ) : http://java.sun.com/javase/6/

Egalement, la mise à disposition du JEE 5 est particuilièrement bien appréciée. Pourquoi ? Tout simplement parce qu'après la dernière release 1.4 de J2EE (ancienne appellation), on avait eu l'impression que SUN avait un peu baclé le travail. Aujourd'hui, ce qui fait que JEE 5 était relativement attendue, est l'introduction de plusieurs 'petites choses' qui vont faciliter la création et le déploiement des applications JEE :

Les descripteurs

La nécessité de faire les fichiers descripteurs (ejb-jar.xml, application.xml par exemple) est devenue relativement optionelle. Cela est rendu possible grâce à l'utilisation des metadata (les annotations de Java 5) qui vont permettre d'annoter de simple POJOs (Plain Old Java Object) qui pourront alors décrire :
  • Définir et utiliser un Web Service
  • Déveloper des applications à base d'EJB
  • Mapping classes/XML, classes/SGBD et méthodes/opérations
  • Spécifier des dépendances externes
  • Spécifier des informations de déploiement et de sécurité
EJB : la version 3 tant attendue

La création d'EJB et le déploiment étaient quelquefois très irritant (surtout les premières fois), néanmoins les spécifications EJB 3 sont là pour simplifier assez significativement le processus de création et de déploiement. Par exemple, le squelette des méthodes qui lancent toute une exception est révolue. De même que l'utilisation de l'interface SessionBean et du modèle des objets home.
L'utilisation des APIs JNDI (dont j'aime bien me servir) seront simplifiés par un simple lookup sur l'interface EJBContext.
Ajout du concept d'interceptors (programmation orientée aspect) permet d'intercepter un appel à une méthode métier.

Quelques infimes exemples d'annotations :
  • @Stateful, @Stateless : Allez on crée un EJB session stateful ou stateless
  • @MessageDriven : qui a demandé un EJB message driven ?
  • @WebServiceRef
  • @transactionManagement
  • ...
Quelle délivrance ! A noter que l'annotation @Resource permet d'injecter du code directement à la création de l'EJB par le serveur, et  par conséquent de suprimer les appels au JNDI. Les appels au JNDI peuvent tout de même être nécessaire et rien ne vous empêche d'y avoir encore recours. Cette feature d'injection est d'ailleurs très étendue dans les spécifications et vous permettra de faire pas mal de choses très sympas avec l'optique de toujours gagner en productivité (SUN aurait-il enfin compris ce que Microsoft n'arrête pas de nous répéter ?).

Pour l'exemple :
@Stateful
public class PanierBean implements Panier
{
@Resource private DataSource artDB;

@TransactionAttribute(MANDATORY)
public void addArticle(int artId,
double quantity) {
...
Connection conn = artDB.getConnection();
...
}
...
}
La persistence à la Hibernate

Suite au succès de Hibernate, SUN ne pouvait rester sans rien faire. Un nouveau framework de persistance a été créé très proche du modèle Hibernate.

Beaucoup de choses au programme, puisque bien que cela soit fait pour les EJB Entity notamment, la persistance peut se faire aussi de la façon suivante :
    private EntityManager em;
...
 Personne pers= (Personne) em.find(Personne.class, "Tata");
Personne pers = new Personne("Toto", "Titi");
em.persist(emp);
Pour ce qui est du langage de requêtes des objets, l'utilisation de EJBQL ou du langage natif (le SQL spécifique à votre SGBD sous-jacent) est possible. Egalement, il y a abstraction du provider et par conséquent vous pouvez tout à fait développer votre propre provider de persistence.

Pour ce qui du mapping, on utilisera encore les annotations (@ManyToOne, @OneToMany, ...) ou XML pour réaliser la liaison.

Web Service

Un support plus grand notamment avec l'utilisation des annotations (Web Services Metadata, un peu à la .NET), de JAX-WS 2.0 et de JAXB 2.0.

Exemple JAX-WS 2.0 :
@WebService
public class HelloBean {
public String sayHello(String name) {
return "Hello "+ name + " !";
}
...
}
Possibilité aussi avec JAX-WS 2.0 d'utiliser un appel à un WS de manière asynchrone sans vous soucier de créer vous-même la thread.

En vrac

Il reste de nombreuses APIs disponibles que je vous laisse le soin de découvrir.
JSF et JSP deviennnent plus complémentaires l'un l'autre et il est plus facile de développer avec ces 2 là.
Et enfin, apparition de la JSR 173 : Streaming API XML (StAX).

Je vous laisse le soin de découvrir toutes ces briques en téléchargeant le SDK de JEE5 (contenant la version 9 du serveur d'application de SUN) : http://java.sun.com/javaee/downloads/

Enjoy it ...

PS : pour les dotnettiens qui ne connaissent pas JEE, aller y jeter un coup d'oeil, le concept JEE n'existe pas vraiment en .NET mais attention JEE c'est assez énorme en terme de connaissances et de technologies, ça ne se découvre pas en 2 heures ;-)
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mercredi 22 février 2006 18:00 par neodante
Classé sous : ,

Commentaires

cyril a dit :

Tu sais quoi ?
j'ai rien pigé ;-)

il existe pas des webcast ou alors une coach genre coach asp.net :-) Mieux encore une vpc toute prete avec des hands-on-labs ? :p
# février 22, 2006 19:12

Toub a dit :

Super exitant!

J'espère que ma société ne va pas trop tarder à l'adopter :-)
# mars 8, 2006 10:32
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Focus Sauvegardes SharePoint par Le blog de Patrick [MVP SharePoint] le il y a 5 heures et 4 minutes

- Technofolies, votre évènement numérique de l'année par Le Blog (Vert) d'Arnaud JUND le 09-26-2014, 18:40

- Xamarin : From Zero to Hero par Fathi Bellahcene le 09-24-2014, 17:35

- Conférences d’Automne 2014 par Le blog de Patrick [MVP SharePoint] le 09-24-2014, 14:53

- [TFS] Supprimer un projet de Visual Studio Online par Blog de Jérémy Jeanson le 09-22-2014, 20:42

- Nouveau blog en anglais / New blog in english ! par Le blog de Patrick [MVP SharePoint] le 09-18-2014, 18:42

- [ #Yammer ] From Mailbox to Yammer and back / De votre messagerie vers Yammer et retour ! par Le blog de Patrick [MVP SharePoint] le 09-15-2014, 11:31

- [ #Office 365 ] New service settings panel / Nouveau panneau de paramétrage des services par Le blog de Patrick [MVP SharePoint] le 09-11-2014, 08:50

- Problème de déploiement pour une démo SharePoint/TFS? par Blog de Jérémy Jeanson le 09-10-2014, 21:52

- [ #Office365 ] Delve first impressions / Premières impressions sur Delve par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 16:57