Affichage des articles dont le libellé est web. Afficher tous les articles
Affichage des articles dont le libellé est web. Afficher tous les articles

jeudi 24 juin 2010

Eclipse 2010 : Helios est sortie vivement Indigo

Chaque année, la fondation Eclipse et de ses projets assemble une version coordonnée selon un calendrier planifié en commun. Cette année il s’agit de la version Helios.

Après, Callisto en 2006 , Europa en 2007 , Ganymede en 2008 , Galileo en 2009 voici Helios en 2010 September 24, 2010.

La prochaine version se nommera Indigo et sortir en juin 2011 (espérons que Micorsoft ne réclame pas des droits d’auteur sur le nom.)

Eclipse Helios est la publication 2010 des projets Eclipse : cette année 39 équipes de projet font partie de la release.

Remarquons la présence de Acceleo : un outil de pour réaliser des générateurs de code basé sur l’approche MOF.

Les projets Helios : Eclipse juin 2010

Project Name

Version

Acceleo

Acceleo 3.0.0

Accessibility Tools Framework

0.8.0

ATL - Atlas Transformation Language

3.1.0

BPMN modeler

1.2

Buckminster Component Assembly

Helios

Business Intelligence and Reporting Tools (BIRT)

2.6.0

C/C++ Development Tooling (CDT)

7.0

CDO Model Repository

3.0.0

Dali Java Persistence Tools

2.3

Data Tools Platform

1.8

Dynamic Languages Toolkit

2.0

Eclipse Communication Framework

ECF 3.3

Eclipse Git Team Provider

 

Eclipse Modeling Framework (EMF)

2.6.0

Eclipse Packaging Project

1.3.0

Eclipse Platform

3.6

Eclipse Project

3.6.0

Eclipse Web Tools Platform Project

WTP 3.2.0 (Helios)

EclipseLink Project

2.1 - Helios

EMF Compare

1.1.0

EMF Query

 

EMF Teneo Model Relational Mapping

 

EMF Transaction

 

EMF Validation

 

Equinox

3.6

Extended Editing Framework

0.8.0

Fortran Development Tools

6.0

GEF - Graphical Editor Framework

3.6.0

GMF Tooling

 

Graphical Modeling Framework

2.3.0

Graphical Modeling Framework (GMF) Notation

1.4.0

Graphical Modeling Framework (GMF) Runtime

1.4.0

Java Emitter Templates (JET2)

M2T JET 1.1.0 (Helios)

Java implementation of Git

 

Java Workflow Tooling

 

JavaScript Development Tools

3.2.0 (Helios)

JavaServer Faces

 

JDT - Java development tools

 

Linux Tools

0.6.0

Marketplace Client

Helios

MDT OCL (Object Constraint Language)

3.0 (Helios)

MDT UML2

UML2 3.1.0

MDT XSD (XML Schema Definition)

 

Memory Analyzer

 

Memory Analyzer

 

Mint

0.9.0

Mobile Tools for Java

1.1

Model Discovery

MoDisco 0.8.0

Modeling Amalgamation Project

amalgam 1.1.0

modeling.emft.ecoretools

 

modeling.emft.mwe

MWE 1.0.0 (Helios)

modeling.m2t.xpand

Xpand 1.0.0 - Helios

MoDisco

 

Mylyn

3.4

Net4j Signalling Platform

3.0.0

Parallel Tools Platform (PTP)

4.0

PDE - Plugin Development Environment

3.6

PHP Development Tools

 

Rich Ajax Platform

1.3

rt.jetty

 

SCA Tools

2.1.0

Sequoyah

1.0

Server Tools

 

SOA Tools

2.1

Subversive - SVN Team Provider

 

Swordfish

0.10

Target Management

3.2

Test and Performance Tools Platform Project

4.7.0

Web Services Tools

WTP 3.2

WTP Common Tools

3.2 (Helios)

WTP EJB Tools

WTP 3.2 (Helios)

WTP Java EE Tools

WTP 3.2 (Helios)

WTP Source Editing

3.2.0 (Helios)

Xtext

Xtext 1.0.0 (Helios)

mardi 18 mai 2010

RichFaces 3.3.3 supporte JSF 2.0 : la version est disponible

L'équipe de RichFaces vient d'annoncer la sortie de la version 3.3.3 final de RichFaces.

Cette version est une étape importante pour l’équipe RichFaces et Jboss : RichFaces 3.3.3 amène un support (certes basic, mais suffisant) pour JSF 2.0.


Bien que cette version a stabilisé lees composants pour le support de la norme JSF 2.0, il n’est pas encore conseillée de passer en production en JSF 2.0, sauf si on souhaite être le premier.

Affaire à suivre …

Télécharger RichFaces 3.3.3 http://www.jboss.org/richfaces/download.html

jeudi 18 février 2010

JSF2.0 & Richfaces : la version 3.3.3 CR1 de Richfaces supporte JSF 2.0

Avec la sortie officielle des spécifications JSF 2.0 comme partie de la norme Java EE 6, les implémentations classiques de JSF commencent à l’adopter.

Richfaces avait annoncé le premier son intention de suivre la totalité de la norme JSF 2.0 dans la version 4.0.

Mais, devancent le lancement official de la version 4.0, la version 3.3.3 RC1 , de Richfaces supporte une partie de la spécification JSF 2.0.

Il s’agit d’un signale fort concernant la concurrence acharnée dans le domaine (IceFaces, …)

Richfaces 3.3.2 : une version aboutie

Je reconnais que la version 3.3.2 de Richfaces, couplée avec Facelets 1.1, est une implémentation aboutie de JSF 1.2. J’ai pu vérifier ce constat, récemment, dans un projet exploitant Richfaces et des composants flex : Aucun besoin de javaScript bien que l’interface soit très dynamique et l’usage d’ajax généralisé.

Rappelions que la version 3 de Richfaces supporte essentiellement les spécifications 1.2 de JSF.

Richfaces 3.3.3 & JSF 2.0 :Limitations

Attention : On pourra lire les avertissement suivants sur le wiki de Richfaces : http://community.jboss.org/wiki/RichFaces333andJSF20

Limitations List

RichFaces 3.3.3 does not support JSF 2 built-in facelets (VDL)

Facelets 1.1.15 should still be used because of dependencies in RichFaces from the Tag Handlers classes.

JSF 2 native ajax problems

f:ajax

As RichFaces 3.3.3 does not supports VDL - it does not support any new tags like f:ajax, h:outputScript and so on.

JSF ajax java script api

As JSF 2 currently does not provide a mechanism of cleaning Script objects for components removed by ajax - huge memory leaks could arise on updates RF components via JSF native ajax.

JSR-303 support

JSF 2 does not registering Bean validators while runned in compatibility mode (with VDL turned off and external facelets used.). This is not RichFaces 3.3.3 limitation but should be considered during porting applications to JSF 2.

https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1518 - issue at mojarra tracker.

Annotations Scanning

During initialization JSF 2 ConfigManager checks for faces-config presense and looks if it's version is equals to 2.0. So in order to get JSF annotations works with your existent application you should:

  • have no faces-config in application
  • or just version of application config should be changed to 2.0

mardi 29 septembre 2009

Formation SOA & Open Source par la pratique: Atelier de Mise en ouvre des architectures orienté service (SOA) avec des outils open source

J’anime, à Tunis, du 26 au 30 octobre prochain un Atelier pratique de formation sur la mise en ouvre des architectures orienté service (SOA) avec des outils open source.

Bien que SOA n’est pas une histoire d’outils, l’objectif de cet Atelier est de mettre en pratique, par les participants des concepts de base de la démarche SOA et de l’intégration d’application d’entreprise. Les participants, exploiteront mettront en ouvre des web services avec la démarche Contract-First, utilseront l’ESB Mule pour réaliser des intégrations avec ou sans web service et mettront en place un outil de gouvernance,

1.1 Objectif de l’Atelier

La complexité croissante des Systèmes d’Information et les opportunités technologiques rendent de plus en plus indispensable de disposer d’un cadre pour organiser, structurer et fédérer les travaux sur le Système d’Information et d’instaurer une interopérabilité naturelle dans les services afin de réduire le besoin d’intégration.

Ce workshop apporte un retour d’expérience des meilleures pratiques pour la mise en œuvre des architectures orientées services avec des outils open source.

L’objectif de ce workshop est de former les participants à la pratique des architectures orientés services. Les outils open source suivants seront utilisés :

  1. Java 1.6
  2. Eclispe IDE
  3. Mule ESB
  4. ActiveMQ (MOM)
  5. Spring
  6. Hibernate
  7. Et d’autres outils de monitoring, de suivi, et de gestion d’environnements SOA …

1.2 Compétences à acquérir

A l'issue de ce séminaire, les participants seront en mesure de:

  1. Comprendre les problèmes d’intégration d’applications en SI
  2. Comprendre les fondements des architectures orientées services SOA
  3. Capacité de mettre en ouvre des services web avec différentes méthodes
  4. Capacité d’exploiter et de mettre en ouvre l’ESB Mule 2.2.1
  5. Evaluer les étapes d’un projet de mise en ouvre par la pratiques d’une approche SOA

1.3 A qui s'adresse ce séminaire?

· Développeur Java

· Intégrateur SI

· IT manager

· Architectes d'applications

1.4 Niveau requis

Pour bénéficier pleinement de ce cours, les stagiaires doivent avoir :

  • Une connaissance de Java.
  • Une compréhension des enjeux des SI dans l’entreprise

1.5 Détails du programme

1.5.1 Introduction à l’Architecture d’Entreprise et à l’EAI (Entreprise Application Intégration

Présenter des problématiques d’intégration des applications d’Entreprise (EAI)

  • Définition du SI
  • Les motivations de l’Architecture de SI
  • Nouvelles architectures informatiques
  • Métaphore de la cité & Plan d’occupation des sols (POS)
  • intégration des applications d’Entreprise (EAI)
  • EAI & Architecture d’entreprise
1.5.2 Présentation de XML
  • Architectures d’interopérabilité
  • Présentation de XML
    • XML les objectifs de conception
    • Notion de base : balise et attributs
    • Pourquoi XML?
    • La notion de Schéma XML
  • Formats d’échange, Interopérabilité et portabilité des données
1.5.3 SOA (Architecture Orientée Service) et EDA

Présenter la démarche SOA, et présenter des concepts et de la démarche SOA (architecture orientée services), des besoins en infrastructures et de la notion de maturité SOA

  • Problématique de l’intégration en entreprise et intra-entreprises
  • SOA : initialement un simple besoin d‘intégration
  • SOA, différents points de vue
  • Présentation du concept SOA
  • La notion de service (au sens SOA)
  • SOA s’applique à tous les niveaux de l’EAI
  • Principes fondamentaux de l’architecture SOA

1.6 Rôle d’un ESB et présentation de Mule ESB

  • Les concepts de Mule ESB et l’infrastructure nécessaire
  • Un premier exemple avec MULE ESB
  • Les différentes composantes de Mule
  • Place de Mule ESB dans un SI

1.7 Présentation de Spring Ioc et Hibernate

  • Les concepts Spring & de l’Ioc
  • Mule ESB et Spring
  • Introduction à Spring & Hibernate

1.8 Présentation des MOM

  • Besoins & définitions :
    • Middleware Orienté Message : les clés de l'intégration grâce aux mécanismes asynchrones. Les fonctions principales d'un MOM : routage, intégrité transactionnelle, déclenchement de process.
  • - L'opportunité de désolidariser les applications pour assurer la flexibilité d'une solution EAI. Acteurs et enjeux : IBM, BEA, TIBCO.
  • La norme JMS de Java EE
    • La norme JMS
    • ActiveMQ un MOM open source

1.9 Mule d’un point de vue développements

  • Intégration avec Spring
  • L’IDE Eclipse
  • La gestion des exceptions
  • Etendre Mule
    • Les transformations,
    • Les Filtres
    • Les Routeurs
  • Les Test unitaires
  • Le transport dans Mule
  • Les Web Services
    • Rappel sur SOAP
    • Contract Fist
    • La consommation
  • Les transactions dans Mule
    • Transaction étendue XA
    • Garantie de délivrance des messages
    • Transaction base de données et MOM
  • Gestion des codes sources dans un environnement multi développeurs
  • Le log & les pistes d’audit
  • La Sécurité
  • Intégration automatique
  • Les bests practices

1.10 Mule ESB d’un point de vue Analyste métier

  • Définir les services : cycle de vie d’un service
  • Spécifier les besoins
  • Spécifier le contrat de service
  • Spécifier les aspects métiers du SLA

1.11 Mule d’un point de vue Système

  • Les différentes possibilités de déploiements de Mule
  • EAI pattern
  • Scheduling
  • Choix du déploiement et conséquences
    • Sans Serveur d’application
    • Avec Serveur d’application
    • Hub & Spoke ou Network centric
    • Rôle du MOM
    • LDAP ou SSO
  • Monitoring & supervision
    • Lien avec le système de supervision en place
  • La gestion des SLA
  • Intégration continue
  • Les bests practices

1.12 Définition d’une architecture cible

  • Liste des architectures de déploiement possibles
    • Comparaisons
  • Développement de l’architecture cible
    • Règles d’architecture

1.13 Mise en place de la gouvernance

  • Cycle de vie d’un service
  • Zoom sur la phase d’identification des services : quelle approche
  • Comité de gouvernance
  • Cycle de vie des services
  • Template de spécification des services
    • Spécifications fonctionnelle
    • SLA (Service Level Agreement)

mardi 22 septembre 2009

Mule lance iBeans : intégration simplifiée à partir des applications web

La naissance de iBeans

Aujourd’hui 22 septembre 2009, MuleSoft vient de lancer un nouveau projet : iBeans (pour integration Beans)

Le produit a pour objectif de simplifier au minimum l’intégration d’une application web avec le reste du SI.

L’idée est de permettre d’utiliser des outils d’intégration, directement dans des applications web, en quelques minutes.

Rendre l’utilisation de la plateforme de Mule aussi simple que l’ajout d’une annotation à une classe java.

Exemple d’utilisation de iBeans

Par exemple pour ajouter l’action d’envoi d’un message à la fin de la méthode bonjour(..)

· Ajouter une annotation @Send (spécifique à iBeans)

@Send(uri = "smtp://oxia@net-progress?to=khaled.bendriss@gmail.com")

public String bonjour(String name)

{

.ou bien

· Ajouter cette ligne à la fin de la méthode

...

ibeans.send("smtp://oxia@net-progress?to=khaled.bendriss@gmail.com ")

Cibles de iBeans

iBeans est un ensemble de composants d’intégration réutilisables (l’ajout d’un nouveau composant se fait en quelques minutes).

Les Développeurs d’applications web utilisant iBeans peuvent se connecter à d’autre applications et des sources de données externes, via Web Services, flux RSS, service RESTful, événements AJAX, JMS, ..

Pour le moment, iBeans est taillé pour Tomcat 6 (et vient package avec Tcat de MuleSoft), les exemples fournit permettent déjà d’interroger son status sur twitter ou d’envoyer des photos vers flickr.

La cible est bien sûre l’intégration avec les applications SaaS et les applications de social networking, Twitter , Flickr ,Facebook, SalesForce , Jabber ,Amazon S3 , GMail client for sending and receiving email

Est-ce que c’est les prémisses d’une offre Cloud de MuleSoft ?

Pourquoi pas ?


Mais ceci est un autre sujet

lundi 21 septembre 2009

La guerre des Phones (Phone Wars): Episode I - Google & Apple iPhone

Nous avons remarqué les prémisses de la guerre des appstores entre Apple, Google et Microsoft ...


Maintenant, c’est l’épisode des applications pour téléphones.

Google accuse Apple d'avoir rejeté son application de téléphonie par internet (VoIP), Google Voice, destinée à l'iPhone.


Apple accuse (sans le dire explicitement) l’application de Google de jouer le cheval de trois, en utilisant la plateforme de iPhone pour sa propre vision et court-circuiter le monopole de AT&T.

Apple risque de voir fondre les recettes et royalties« cachés de l’iphnone »
clip_image002

Des rumeurs “Google Voice un cheval de trois”

Les rumeurs parlent de la possibilité qu’à Google Voice de modifier le fonctionnement de l'iPhone pour substituer son système d’appels téléphoniques, d’envoi de SMS et da messagerie vocale au système native de Apple. L’application de Google,Google Voice, utiliserait le réseau de AT&T pour ces appels VoIP et pas seulement les connexions wifi, comme son concurrent Skype.


Astucieux !

Apparemment, Google a très bien étudie le livre de Sun Tzu, l’art de la guerre : bien connaitre son ennemi (chapitre évaluation) et lancer sa bataille sur le terrain de celui-ci (chapitre topographie). Maitriser la plateforme de son rival, permet aussi à Google d’affiner les détails de son Android et de son Google OS, bref sa riposte.

Rappelons que le PDG de Google, vient d’être congédie de son poste dans le conseil d’administration de Apple et n’a plus aucun accès « officiel » aux projets de ce dernier.


Apple aurait refusé Google Voice pour iPhone,

L’excuse est un peu bizarre dans une économie libérale: « Apple a expliqué qu'une disposition de son contrat d'exclusivité avec AT&T lui interdisait de proposer sur l'iPhone des services permettant au consommateur d'utiliser le réseau mobile d'AT&T pour lancer ou fermer une session de VoIP (voix sur IP, téléphonie par internet), sans l'accord préalable de l'opérateur. »

Dans une économie vraiment libérale, ça provoquerait la fin du monopole de AT&T dans le pays.

En paraphrasant le discours des jours de foot, Apple « joue la montre »: on continue à étudier, nous nous ne rejetons par écrit le logiciel de Google, juste des réticences lors de réunion ou conférence téléphonique…rien d’officiel, ça peut durer quelques mois encore …

Nous savons que dans ce domaine le time to market est primordial

Des visions opposés du futur du M-Application

Rappelons que Google a une vision diamétralement opposée à celle de Apple concernant le futur du m-application : Google considère le web browser (fureteur, selon l’académie française !!) comme le point d’entré, alors que Apple souhaite que les applications soit installé sur le mobile indépendamment du browser.

L’approche d’Apple, risque de couper l’herbe sous les pieds de Google dont le « business model » se base sur la fidélité à son moteur de recherche et les recettes publicitaires.

Rappelons qu’il s’agit pour le moment qu’une simple « escarmouche », les sujets ne manquent pas

- Android contre iphone

- Google OS vs iphone OS / apple OS

- Goggle store Vs AppStore

- La guerre des plateformes de vidéos online

Une guerre d’autant plus importante qu’on prédit, 80% des accès au web à travers le Mobile d’ici quelques années.


Mais ceci est un autre sujet

vendredi 18 septembre 2009

La technologie Captacha dans le giron de Google : numériser tous les livres du monde

Google met la main sur ReCaptcha et sa technologie de numérisation.

Basé à Pittsburgh, aux Etats-Unis, ReCaptcha est une émanation de l'université Carnegie Mellon, emploie moins de dix personnes.

 

ReCaptcha a lancé la technologie Captcha (Completely Automated Public Turing test to tell Computers and Humans Apart) permettant de forcer la saisie d’un code dessiné dans une image, et distinguer ainsi les utilisateurs humains d'un site des robots logiciels.

SNAG-603OCR et numérisation

Ce qui intéresse google c’est le savoir faire en reconnaissance optique de caractères (OCR) de l’équipe de ReCaptcha.

Le projet de numérisation du savoir papier du Monde entier, a besoin de ce type de technologie.

Ainsi, Goggle va pourvoir améliorer la qualité de numérisation de livres anciens via Google Books. Tout l’enjeu est de pouvoir augmenter la pertinence des recherches de son moteur destiné aux livres et de générer derrière de la publicité.

La question qui persiste, Que va faire Goggle pour les livres chinois, arabe et autres langues … ?

Mais ceci est un autre sujet.

mercredi 16 septembre 2009

Tutorial Mule ESB : les principales composantes

NB : cet article fait partie d’une série de présentation et de tutoriaux pour démystifier Mule ESB : http://net-progress.blogspot.com/)

Présentation

Usage simple de Mule pour réaliser une intégration synchrone entre deux services

clip_image002

Ce tutorial contient plusieurs leçons,

Le didacticiel contient des leçons qui vous guident à travers la création d'un projet Mule et de nouveaux fichiers de configuration et d'application.

Une simple application Mule qui présente les concepts EIP et qui montre l’usage des nampaces, ses connecteurs, ses transformateurs et des points de connexion (Endpoints)

Installer Mule et son IDE

Installer Mule

Comme la majorité des applications Java, l’installation de Mule est très simple. Il suffit d’avoir Java 5 installé sur son poste pour que tout fonctionne sans problème.

Deux étapes

1) installer Java :

la version 1.5 + (la version 1.6 est recommandée)

2) installer Mule :

Nous allons utiliser la version 2.2.1 (mule-standalone-2.2.1.zip est la version stable en Juillet 2009). La version 3.0.0 est encours de finalisation et ajoute le support d’OSGI

Télécharger Mule à partir du site web de Mule http://www.mulesource.org/display/MULE/Download

1) Il suffit de décompresser le fichier mule-standalone-2.2.1.zip, dans un répetoire

2) Créer une variable d’environnement MULE_HOME F:\01_Tools\mule2.2.1

clip_image004

3) Ajouter %MULE_HOME%\bin au Path

clip_image005

4) Tester l’installation

clip_image006

5) Tester l’exemple echo :

%MULE_HOME%\examples\echo\echo.bat

Le résultat devrait être comme suit :

clip_image008

6) Mule est opérationnel et prêt à l’emploi.

Installer l’IDE de Mule

Suivant l’exemple des solutions commerciales (Biztalk, Websphere, Sonic …) Mule propose des outils d’aide à la création de projets d’intégration avec son ESB : un IDE pour simplifier la création de configuration Mule.

Comme tous les leaders de la communauté Java, Mule a compris qu’il a intérêt à suivre la mouvement Eclipse : l’IDE de Mule est proposé en tant que Plugin’Eclispe.

Nous allons supposer l’usage de la version Ganymede de Eclispe : la 3.4.x

1) Le site de mise à jour est le suivant : http://dist.muleforge.org/mule-ide/updates/3.4/

Une fois installé, la configuration de Eclipse est simple

Allez dans Window > Preferences.

Cliquer Mule, et Add.

Indiquer le répertoire Home de Mule

clip_image010

Eclipse, est maintenant informé de la version de Mule sur votre environnement de développement

Vous pouvez commencer à créer des projets d’intégration avec Mule

mais, ceci est un autre sujet …

mercredi 9 septembre 2009

Formation : Architecture SOA et intégration d’application d’entreprise, rôles des ESB et des MOM (Middleware Orienté Messages), quel programme et quels sujet traités dans un séminaire de 2 jours

J’anime le 21-22 octobre prochain un séminaire formation, à Tunis, sur le SOA (Architecture orienté messagerie), l’intégration des applications d’entreprise dans un système d’information, rôles des ESB et des MOM (Middleware Orienté Massages).

et pour la nième fois, je me pose la même question « quels thèmes aborder en 2 jours » quel programme?, quels messages ?

la réponse doit tenir compte qu’on est le 09/09/09, presque la fin de la première décennie du 2iemme siècle.

Pour répondre à cette question, même recette, fixer d’abords :

· Les objectifs

· les compétences cibles à acquérir par les participants

· A qui s’adresse

· Le niveau requis

Fixons d’abord les Objectifs

La complexité croissante des Systèmes d’Information et les opportunités technologiques rendent de plus en plus indispensable de disposer d’un cadre pour organiser, structurer et fédérer les travaux sur le Système d’Information et d’instaurer une interopérabilité naturelle dans les services afin de  réduire le besoin d’intégration.

Ainsi, on passe d'une informatique essentiellement composée d'applications à une informatique orientée services afin d'améliorer la réactivité et l’interopérabilité du système d'information.

Ce workshop apporte un retour d’expérience des meilleures pratiques pour la définition d'une architecture SOA ainsi que le choix d’un MOM autre technologies.

L’objectif de ce workshop est de former les participants aux choix des MOM (Middleware Orienté Messagerie) et à la compréhension des concepts EAI et SOA.

Il fournir des clés pour mieux appréhender la démarche d’intégration d’application dans un Systèmes d’Information :

· Objectifs,

· Enjeux,

· Approches,

· Bénéfices,

· Champs d’application

Quelles Compétences à acquérir

A l'issue de ce séminaire, les participants seront en mesure de:

· Comprendre les problèmes d’intégration d’applications en SI

· Comprendre les fondements des architectures orientées services SOA

· Comprendre les bases des MOM

· Apprendre la démarche de choix d’un MOM

· Evaluer les enjeux du choix d’un MOM dans un contexte SOA

A qui s'adresse ce séminaire?

· IT manager

· Architectes d'applications

· chefs de projet

· Analyste métier

· Assistant à la maîtrise d’ouvrage

· Urbaniste.

Niveau requis

Pour bénéficier pleinement de ce cours, les stagiaires doivent avoir :

· Une Connaissance générale en informatique.

· Une compréhension des enjeux des SI dans l’entreprise

Ainsi, en cette fin 2009, le programme du séminaire :

Introduction à l’Architecture d’Entreprise et à l’EAI (Entreprise Application Intégration

Présenter des problématiques d’intégration des applications  d’Entreprise (EAI)

· Définition du SI

· Les motivations de l’Architecture de SI

· Nouvelles architectures informatiques

· Métaphore de la cité & Plan d’occupation des sols (POS)

· intégration des applications  d’Entreprise (EAI)

· EAI & Architecture d’entreprise

Architecture des systèmes distribués, interopérabilité et standards

Présenter l'évolution des architectures de système d’information et définir les architectures n-tiers et le besoin d’interopérabilité

o Evolution des architectures informatiques

o Comparaison de l’architecture centralisée, client/serveur et n-tiers

o Applications distribuées : contraintes de Conception

o Applications distribuées :  l’Interopérabilité

o Cadre Commun d’interopérabilité :  préconisations

o Architectures d’interopérabilité

o Présentation de XML

-- XML les objectifs de conception

-- Notion de base : balise et attributs

-- Pourquoi XML?

-- La notion de Schéma XML

o Formats d’échange, Interopérabilité et portabilité des données

SOA (Architecture Orientée Service) et EDA

Présenter la démarche SOA, et présenter des concepts et de la démarche SOA (architecture orientée services), des besoins en infrastructures et de la notion de maturité SOA

o Problématique de l’intégration en entreprise et intra-entreprises 

o SOA : initialement un  simple besoin d‘intégration

o SOA, différents points de vue

o Présentation du concept SOA

o La notion de service (au sens SOA)

o Exemple de tendance du marché : Adoption de SOA dans le domaine des ERP

o SOA s’applique à tous les niveaux de l’EAI

o Principes fondamentaux de l’architecture SOA

o Cycle de vie d’un service

o Zoom sur la phase d’identification des services : quelle approche

MOM : Middleware Orienté Messagerie

Présenter les fonctions d'un MOM

o - Middleware Orienté Message : les clés de l'intégration grâce aux mécanismes asynchrones. Les fonctions principales d'un MOM : routage, intégrité transactionnelle, déclenchement de processus.

o - L'opportunité de désolidariser les applications pour assurer la flexibilité d'une solution EAI. Acteurs et enjeux : IBM, BEA, TIBCO.

o La norme JMS de Java EE

o Les offres du marché de l'EAI

-- Un marché très mouvant

-- - L'évolution des acteurs.

-- Typologie des offres existantes.

-- Les bénéfices escomptés et constatés.

-- - Les applications Extranet inter-entreprises : quels usages, quel cadre technique, quelles performances ?

-- Panorama du marché : offre commerciales et open source

SOA entre les concepts, la technique et les standards

Présenter les aspects techniques, les standards qui soutiennent le concept SOA

o Quels sont les éléments clé d’une architecture orientée services ?

o Services Web  : les spécifications XML de base

-- SOAP

-- WSDL

-- UDDI

-- BPEL

o Besoins d'interopérabilités : WS-I et Basic Profiles

o SOA : quelles infrastructures?

o EDA : Event Driven Architeucre

o ESB : un bus au service de SOA

o La relation entre SOA & EDA

o Notion de SLA et les besoins non fonctionnels

o Le besoin de supervision dans une architecture SOA

o La notion de maturité SOA

Choix et mise en œuvre

o Les critères de choix d’un MOM

o Une démarche spécifique et globale

o - L'organisation de l'équipe, le profil des différents intervenants.

o Ce qui change et ce qui reste par rapport à une approche classique.

o Le rôle de l'utilisateur. Les nouveautés de la phase de conception.

o La gestion des flux et des informations.

o L'administration de données.

o La migration des applications existantes pour les connecter au système EAI.

Synthèse

o - Enjeux, projection du marché et des acteurs.

o Principaux pièges à éviter et recommandations.

---------

NB

Pour s’inscrire au séminaire une adresse : info@oxia-group.com

oxia

lundi 10 août 2009

Tomcat, Spring, Grails, Groovy : dans le giron de Vmware

10 août 2009 : Un jour d’été pas comme les autres, une montée fulgurante d’une société, crée il y a 5 ans sur la base du consulting autour d’un framework Ioc, pour devenir la référence d’une communauté java toujours en quête d’évolution.

Aujourd’hui 10 août 2009 Vmware le leader incontesté de la vritualisation a annoncé l’acquisition de springSource le leader incontesté de la voie alternative de la communauté Java, du Server Side et java Software

Rappelons les grandes dates pour Spring :

novembre 2002: Rod Johnson publie son réquisitoire contre la voie officielle de J2EE : “J2EE Design and Development”

février 2003: Lancement d’un IOC en open source ‘Spring le Framework’
Juillet 2004: Lancement de SpringSource ‘Spring l’entrerpise’

janvier 2008: Acquisition par SpringSource de Covalent Technologies ( Apache java Software Foundation projects, Tomcat, Axis …)

novembre 2008: Acquisition par SpringSource de G2One : Groovy and Grails.

mai 2009: Acquisition par SpringSource der Hyperic (monitoring de système).

Le but ultime de ce mariage, reste à mon avis, la préparation de prochaine bataille de l’IT: celle du cloud computing ( Qu’il s’agisse de Cloud privé ou public).

Rappelons que les offres cloud de Microsoft et de Google menacent directement le modèle &économique de VMware : Les deux Big Brothers offrent des infrastructures vitalisées par essence. Les offres cloud de Microsoft et de Google parlent en plus directement aux développeurs : .Net C# ou Java, conserver vos habitudes, programmez simplement et déployer facilement. Chère développeur Azure ou Google Appengine : des Vmware ou des Framework (Spring compris…) il n’y guère besoin, le cloud est là pour simplifier votre travaille. ….

Il s’agit donc, d’un autre mariage de raison, entre deux leaders préparant leurs avenirs :

Vmware est focalisée sur la simplification et l’automatisation des infrastructures pour les applications et Spring est focalisée sur la simplification et l’automatisation du développement des applications.

Pour le monde java, c’est une bonne nouvelle si ça aboutit à une vraie simplification des modèles de développement, déploiement et monitoring.

Restons vigilant sur l’ouverture du code de Tomcat, Spring, Grails et Groovy …

d’autre part, VMware, doit batailler pour s’imposer dans le monde des clouds privées ou va t’elle fusionner avec Amazon ?

Mais ceci est une autre histoire


news : http://blog.springsource.com/2009/08/10/springsource-chapter-two/

http://www.marketwatch.com/story/vmware-to-acquire-privately-held-springsource-2009-08-10

http://www.infoq.com/news/2009/08/vmware-springsource

http://www.marketwire.com/press-release/Vmware-Inc-NYSE-VMW-1028298.html

dimanche 9 août 2009

Grails, Groovy, xFire & SoapUI : créer un web service et le tester en 22 lignes de codes, 7 commandes et 5 minutes

Préambule : Avant de commencer, s’agissant de publier des services, je rappelle que je reste adepte du concept Contrat-first. Mais, ce tutoriel est destiné à montrer la puissance de l’approche Grails. Il doit être affiné pour suivre l’approche contract-first. Qu'il s'agisse d'une solution java développée 'from scratch' ou basée sur du 'java software' payé en $$ ou sur du .net basée sur Biztalk : l'essentiel c'est que le contrat soit défini dès le début

Question : comment créer un web service en exposant la liste à partir d’une base de données

Contexte : confronté, sur un nouveau projet, à une demande du client qui souhaite rapidement : apprendre à consommer des web services, dans un projet classique JSF/Spring/Hibernate . L’idée est d’utiliser Spring webservice template, mais, Il a fallu fournir des web services rapidement, pour les consommer

Réponse : le simple c’est d’utiliser Grails (yes it's a java software from Spring cretors, based on Groovy : a dynamique java software from the Spring source ...)

Des webservices en moins de 5 minutes, 6 commandes et 22 lignes de codes …

En prime : les écrans de gestion de l’entité cible dans la base de donnée

Etape 1: installer Grails

http://www.objis.com/formation-java/tutoriel-grails-installation.html

Etape 2 : créer une application

(Commande 1)>grails create-app webservice-xfire

(Commande 2)>cd webservice-xfire

(Commande 3)>grails create-domain-class com.oxia.att.grails.Role

Ajouter ce code (en somme du Plain old Groovy objects, dit POGO)

1:  package com.oxia.att.grails
2: class Role {
3: String name
4: static constraints = {
5: name(blank: false, size: 1..20)
6: }
7: public String toString() {
8: return name
9: }
10: }


(commande 4)>grails create-controller com.oxia.att.grails.Role



Etape 2 : installer le plugin xFire



http://www.grails.org/plugin/xfire



(commande 5)> grails install-plugin xfire


Etape 3 : générer les bases du service en relation avec le POGO Role

(commande 6)> grails create-service com.oxia.att.grails.Role

Etape 4 : ajouter un peu de code Groovy pour exposer le métier

1:  class RoleService {
2: static expose=['xfire']
3: def serviceMethod(Role dc) {
4: return true
5: }
6: Role[] getRoles(){ Role.list() as Role[] }
7: }

clip_image001[4]

Etape 5 : lancer

(commande 7)> grails run-app
http://localhost:8080/webservice-xfire/services/role?wsdl
clip_image003[4] Avant de tester le web service : ajouter au moins 1 Role (le fameux admin…) ( les écrans d’administration ont été générés aussi) clip_image004[4]

Etape 6 : tester avec SoapUI

Créer un projet avec SOAP UT à partir du WSDL

clip_image005[4]

SOAPUI va créer ce projet

clip_image006[4]

Lancer le teste

clip_image008[4]

Le résultat n’est pas « orienté » Contrat-first

Mais … avec du XPATH on pourra se débrouiller !

Avouons qu’il faut travailler encore le CONTRAT

Etape 7: statistique

Code utile : 22 lignes de codes (les tests unitaires sont aussi utiles mains non comptabilisées dans ce cas)

 +----------------------+-------+-------+
| Name | Files | LOC |
+----------------------+-------+-------+
| Controllers | 1 | 4 |
| Domain Classes | 1 | 10 |
| Services | 1 | 8 |
| Unit Tests | 3 | 36 |
+----------------------+-------+-------+
| Totals | 6 | 58 |
( sans formatage de texte )

Etape 8 : consommer le service

Utiliser Spring Web service template

Mais, ceci est un autre sujet

--------------------------------------------------

autres sujets Grails

-- Groovy & Grails : L’instabilité en vue du coté JRuby, une opportunité de plus pour Groovy & Grails

-- Groovy et Grails dans le giron de SpringSource : Un bel avenir pour les langage dynamique
--------------------------------------------------

autres sujets à venir

- le concept Java 3G : Grails, Groovy et Google appengine

- les plugins Grails


jeudi 6 août 2009

Twitter, Faut il envisager la vie sans : Twitter a subit sa première cyber-attaque

Twitter touché par un déni de service attaque DDOS : la nouvelle paru dans CNN il y a à peine quelques heures (CNN.com et reteurs ) , ce jeudi 06 juillet 2009.

L’attaque, coordonnée, sur Twitter a causé la fermeture du site de réseautage social, dit de microbloging, pour au moins deux heures.

En théorie cette attaque de twitter.com devrait, perturber uniquement les twitteurs.

Le principale problème, dans cette histoire, est que la panique généralisée a touché essentiellement les faceboukeurs dépendant (remarquons qu’avec l’addiction, il faut faire attention à la coupure brutale et envisager servage lors de toute thérapie …),

Trois points sont à retenir :

1. Twitter devient le talon d’Achille du réseautage social : La panique n’a pas touché seulement, les utilisateurs directs de Twitter, mais les utilisateurs des autres sites liés et référent twitter (un nombre croissant d’applications ping Twitter pour des infos). Ce type d‘attaque est accentué par les utilisateurs de twitter eux-mêmes qui en paniquant envoient plus de

http://lonewolflibrarian.files.wordpress.com/2009/05/twitterverse.jpg

( selon Lone Wolf Librarian)

clip_image002

2. Un site dépendant des services de twitter, comme FaceBook, doit être conçue en envisageant la vie sans : La place que prend twitter dans le paysage du réseautage social, devient de plus en plus handicapante pour les sites liés, lorsque l’architecte n’a pas envisagé quoi faire lorsque twitter est HS (hors service)

3. les infrastructures de twitter ont montré leur fragilité, twitter gagnerait à les renforcer en attendant de trouver le bon modèle économique pour les rentabiliser ...

Cette attaque sur twitter, n’est peut être qu’un exercice militaire, la suite cette été, comme ce qu’a subi l’Estonie, été 2007

Mais ceci est un autre histoire suivre, …

pour plus d’info

http://www.stumbleupon.com/s/#2IQI48/mashable.com/2009/08/06/twitter-outage//

http://www.stumbleupon.com/s/#2IQI48/mashable.com/2009/08/06/twitter-outage//

http://edition.cnn.com/2009/TECH/08/06/twitter.attack/index.html

http://www.reuters.com/article/rbssITServicesConsulting/idUSN0612153720090806

lundi 3 août 2009

Groovy & Grails : L’instabilité en vue du coté JRuby, une opportunité de plus pour Groovy & Grails

Il semble que la chance sourit encore à Groovy & Grails.

Après le support total de SpringSource, allant jusqu’à l’acquisition, voilà qu’une tempête se profile de coté de son principal conçurent dans le monde Java, le fameux Jruby.

L’info tombé en ce fin du mois de juillet : les principaux développeurs derrière le projet JRuby ont quitté SUN pour rejoindre la société Engine Yard spécialisée en hébergement Ruby On Rails et se présente comme l'une des plus importantes entreprises de l'écosystème de Ruby on Rails

Les transfuges ont prétexté de l’incertitude autour du sort du projet JRuby, suite à l’acquisition de SUN par Oracle. Le plus difficile pour un Techos c’est l’absence de décision : « Supporte » ou « ne supporte pas » : or Oracle excelle dans l’art de cacher les intentions… , après tout on décidera dans quelques mois, lorsqu’on aurait ouvert tous les cartons de SUN …

D’un autre coté, Engine Yard mise sur l'adoption de JRuby par les développeurs Web Java et qui manquait jusque là d'experts dans ses équipes

Rappelons que Grails, suit le chemin tracé par Rails & Rubby "coding by convention", mais en se basant sur Groovy, le langage dynamique de référence du monde Java.

En privilégiant le concept de « Convention not Configuration », Grails cherche à simplifier le développement des applications Web.

De plus, la capacité d’heberger Garils & Groovy sur le Google AppEngine, leur ouvre de nouvelles perspectives et met en danger les hébergeurs web en générale et Engine Yard en particulier.

Mais, souhaitons que le projet JRubby puisse continuer à avance, la concurrence stimule, et la compétition génère de l’innovation. Et surtout espérerons que la prochaine version de JRuby (1.4) soit livrée à temps : en Septembre.

Finalement, ne pas oublier que la concurrence réelle pour Grails reste l’écosystème Rubby on Rails, qui lui continue son chemin, tranquillement …

Le monde Java a maintenant de bonnes réponses à Ruby en Groovy, Scala, et Clojure et de bonnes réponses à Rails dans Grails...

Mais ceci est un autre sujet..

---------------------------------

source :http://www.computerworld.com/s/article/9135958/Sun_s_JRuby_team_jumps_ship_to_Engine_Yard


-----------------

autres sujets : Grails




mercredi 29 juillet 2009

Microsoft-Yahoo Vs Google : La guerre des moteurs ou la recherche moteur de la guerre

En ce mois de juillet 2009, un accord, pour sauver les bénéfices de Yahoo, en chute libre depuis quelques mois

Enfin, un accord de 10 ans pour mettre sur les rails le nouveau moteur de recherche de Microsoft BING (et à dieu msn).

Enfin un accord sur les rôles : Microsoft pour la technologie recherche et Yahoo pour la gestion des annonces.

Un accord entre le numéro 2 et numéro 3,

Bing-yahoo est désormais le numéro 2 de la recherche sur le web

Une alternative sérieuse pour les annonceurs face à l’hégémonie de Google dans le domaine de la publicité en ligne.

Quelle serait la réaction du coté de Google ?

et ne me dites pas qu'il a encore deux ans devant lui avant que la fusion des technlogies de Bing et yahoo ne soient effectives.

Google, a déjà lancé des attaques frontales avec Microsoft sur les thèmes de : cloud et Google AppEngine, les appstore, les OS, les navigateurs, les suite bureautique, les outils collaboratives (Wave, messagerie en ligne, messagerie instantanée, Plateform de blog, wiki ..) … Google cherche à mener ses batailles sur le terrain de l’enemi,

Le voilà, attaqué sur son propre terrain, Il va falloir relire les conseils de Sun Tzu.

Rappelons que la guerre est aussi lancée sur le front de la présentation des résultats: trop tabulaire, trop classique, peu précise.

Nous entendons de plus parler de "fact engine" à la place de "search engine",

Ça me rappelle une ancienne bloque sur le CNRS : « on y trouve des chercheurs on, mais on cherche des, toujours, des trouveurs» ..

C’est ce que propose Goggle Squared ou le tout nouveau Walfram Alpha (créateur Matimatica de mon application préféré, lorsque je travaillais sur le théorie du chaos et la modélisation des phénomènes non linaires…, bref le bon vieux temps).

clip_image001

clip_image003

Walfram Alpha est supposé comprendre des questions formulés en langage naturel, il peine à le faire pour le moment, mais espérons qu’il réussisse.. ;

clip_image004

Goggle Squared propose ce type d’information (copié souvent chez Wekipedia)

clip_image006

Car, s’il devient vraiment performant, le moteur de recherche deviendra Le vrai assistant personnel, un moteur d’aide à la décision, de l’internaute : qui l’assistera à explorer, chercher, et trouver ce qu’il souhaite…

Suite à ce rapprochement, il reste une question à régler : à qui appartiendra les données sur le comportement des internautes ?

Mais, ceci est un autre sujet

jeudi 2 juillet 2009

Recherche sur le web des termes technologique : la Tunisie et le Maroc en bonne position

En observant les résultants de Google Insgihts for Search pour le mot richfaces ; http://www.google.com/insights/search

clip_image001

On remarque que la Tunisie est en avant sur le terme

(richFaces ou le terme JBPM, …)

clip_image002

Regional interest for richfaces (JSF framework de JBOSS – Redhat)


Region City

Nombre

1.

Tunisia

100

2.

India

61

3.

Brazil

52

4.

Hong Kong

45

5.

Colombia

37

6.

Austria

36

7.

Czech Republic

31

8.

Switzerland

30

9.

Russian Federation

28

10.

Morocco

28

Quelle explication ?

En Tunisie l’informatique (TIC et compagnie …) est à construire et se construit en ce moment.

On part sur de nouveau projets où il n’y a pas le poids de l’existant et de l’historique Java d’où le besoin de se documenter.

En Tunisie les 60000 étudiants en Informatique (pour une population de 10M) et un goût prononcé pour l'open source : seul pays possédant un secrétariat d'état à l'open source.

Mais aussi, les jeunes, cherchent par eux même par manque de ressources confirmés et de cochaing : le middle management technique est en faible quantité et le recours à la formation et aux coaching n’est pas une tradition dans les grands comptes et les SSII

Mais ceci est un autre sujet

dimanche 14 juin 2009

Utiliser un Wiki pour optimiser le développement d’application web et améliorer la qualité des livrables

Les applications web prennent de plus en plus de place dans le SI de l’Entreprise 2.0 (voir la définition sur le site LMI).

Selon une étude présentée par le site d’information TIC lemondeinformatique: toujours plus d'entreprises découvrent les avantages des wikis : Ils mémorisent les expériences des employés, organisent les projets et accélèrent les flux de travail. Les outils légers Open-Source et les wikis d'entreprise plus compliqués participent à ce processus.

Avant de commencer : Que sont exactement les wikis, et plus particulièrement les wikis d’entreprise?

Au niveau purement technique, un wiki est composé uniquement d’un serveur qui permet aux utilisateurs de créer et de modifier par navigateur les contenus de sites web. Par principe, les wikis ne sont donc rien d’autres que des ensembles de sites web sur lesquels de nombreux utilisateurs écrivent ou qu’ils tiennent à jour [source LMI, pas wikipedia].

Mais, alors, Comment les Wiki peuvent t il aider les équipes de développement des applications web.

Je suggère au moins deux axes d’amélioration :

  • L’axe cycle de vie

  • et l’axe produit livré

Sur l’axe de cycle vie de développement :

  • l’introduction d’un wiki (tel que le fameux confluence de Atlassian le créateur de JIRA ou de XEclipse de Xwiki) dans la gestion du projet de développement permet de capitaliser sur le savoir faire de l’équipe de développement et de communiquer. Depuis quelques années on admet qu’on arrive à utiliser avec succès le wiki dans la définition du cycle de vie.

Sur l’axe du produit livré:

  • l’usage d’un Wiki permet de réduire le coût de la réalisation de la documentation du logiciel (l’application web). Le manuel d’exploitation, le manuel d’installation, le manuel utilisateur, ainsi que le support de formation pourront faire l’objet d’un ou plusieurs wikis.

L’idéal serait d’impliquer la maitrise d’ouvrage et/ou les utilisateurs dans la création du contenu du manuel utilisateur, dès la phase de réception provisoire.

L’amélioration de ce manuel utilisateur pourra se poursuivre tout au long de la vie de l’application et lors des phases de maintenances (évolutive ou corrective).

Le coût globale de réalisation sera réduit, l’adéquation avec les besoins des utilisateurs sera assurée par le simple fait qu’il a été produit par leurs représentants dans l’équipe de développement.

Le Wiki pourra même être intégré à l’application en réalisant le bon choix:

  • Dans le cas d’application Java EE : il suffit d’utiliser, par exemple, XWiki

  • Dans la cas .Net : utiliser le wiki de SharePoint (version "gratuite" WSS 3.0 de Windows 2003)

samedi 13 juin 2009

JSF : la performance est le principal argument pour choisir entre IceFaces et RichFaces :

En 2009, le choix de JSF pour développer une nouvelle application RIA Java EE s’impose. Plus besoin de perdre son temps avec du Struts, struts-layout, struts-menu et du JavaScript. Pas question de perdre son temps à apprendre la nouvelle version de Struts, la 2.0 qui ne cherche qu’à mimer du JSF.

La version JSF 1.2 est mature et les composants conformes à la version 2.0 sont en route (prévue avant la fin de la l’année).

Reste la question cruciale du choix de jeux de composants JSF.

Les principaux prétendants au trône sont : IceFces et Richfaces ?

Le choix reste difficile, même en déroulant la liste classique de critères:

· conformité aux standards JSF

· open source,

· nombre de composants offerts

· support d’AJAX

· richesse fonctionnelle

· intégration avec Facelets

· pérennité : taille de l’entreprise qui le supporte

· maturité

· nombre de téléchargement annoncé

· taille de communauté

· nombre d’entrée dans le forum de discussion

· activité Jira

· fréquence des versions

· documentation

· outillage

· …

Dans la majorité des projets, que j’ai observés, le choix entre ces deux implémentations n’a finalement pas été fondé sur un écart visible dans la réponse à cette liste de critères. Le coté subjectif ou la constatation d’une difficulté avec l’un entraine le choix de l’autre.

C’est là où la présentation des résultats « Performance Report of Server Side RIA Frameworks » devient intéressante.

L’étude, réalisée par un membre de l’équipe ZK, et avait pour objectif, montre la supériorité de ZK par rapport aux autres framework RIA. L’étude a développé trois applications web avec 3 technologies différentes ZK, IceFces et Richfaces. Et a réalisé des mesures de monté en charge.

Ce qui est intéressant, du point de vue JSF, c’est que cette étude pointe du doigt les grandes lacunes de IceFaces : la performance et l’empreinte mémoire sur le serveur.

Icefaces est 2 fois plus lent que RichFaces (dans le tratiement des grilles par exemple)

IceFaces présente un défaillance importante de point de vue empreinte mémoire  sur le serveur : il consomme trop de mémoire.

clip_image002

Consommation mémoire (coté serveur)

Et

clip_image004

Temps de réponse

Vue ces résultats, en restant dans un choix JSF, IceFaces perd de sa crédibilité

Bien sûre, JSF aussi prend « un coup sur la tête » faces à d’autres alternatifs (ZK, ou GWT), mais ceci est un autre sujet

mercredi 10 juin 2009

Portails Open source Java EE : La consolidation est lancée

Le communiqué officiel, est tombée depuis quelques heures : « eXo Platform fusionne le développement de son portail avec la communauté JBoss (de RedHat) ».

L’annonce par Jboss et Exo Platform d’une nouvelle alliance dans les Portails montre le chemin : La consolidation est en route.

La nouvelle a été savamment orchestrée lors du sommet du Gartner (Gartner Portals, Content and Collaboration Conference à Orlando, ce 10 Juin 2009)

· L’objectif de RedHat & Jboss est clair : proposer enfin une "offre crédible" de Portail java EE.

· L’objectif de l’équipe d’Exo est de s’appuyer sur la notoriété de RedHat et Jboss pour attaquer le marché anglo-saxon, dominé pour le moment par Liferay.

Précisons que le partenariat ne porte que sur la partie Portail et que « eXo Platform SAS », entreprise open source Européenne, membre du consortium OW2, conserve sa liberté.

EXo Platform, dont le fondateur Benjamin Mestrallet a reçu en 2009 le prix jeune dirigeant Ivy, possède beaucoup d’atouts dans ce domaine, notamment sa flexibilité et sa vision stratégique : le mode SaaS lancé avec eXo WebOS depuis 2008.

Cette nouvelle alliance permettra de dynamiser le monde «Professional Open Source » des Portails Java EE: les concurrents (Liferay, Jahia, Jakarta Pluto, Jakarta JetSpeed, Gridsphere, uPortal, Nuxeo, Magnolia, Alfresco, … tous ceux qui se présentent comme des fournisseurs de Portails) se doivent de réagir.

Ainsi, la réaction de Lifeary est attendue dans les semaines à venir.

Certes Liferay fût un des pionniers du domaine, mais depuis l’achat de SUN par Oracle, il a perdu un allier très important.

Trouvera t il refuge dans une alliance avec SpringSource.

Pourquoi pas ?

SpringSource n’a pas encore d’offre Portail, pour le moment !

mais, ceci est un autre sujet ...

info sur Exo à la TV tunisienne http://blog.exoplatform.org/2009/05/30/exo-on-tunisian-tv-news/


mardi 2 juin 2009

Comment faire du « log » coté client pour une application JSF : avec RichFaces utilisez le Tag Log4j

La question posée aujourd’hui est simple : « comment savoir ce qui se passe avec une application JSF, lorsque la page ne fonctionne pas comme ce qui est attendu ?»

La réponse st simple : utiliser un log, comme le Log4J coté serveur

Mais, on est du coté client !

Evidement : il s’agit du Tag Log spécifique à RichFaces : <a4j:log hotkey="K"/>

Il suffit de l’ajouter au Template du projet Web.

Une fois la page affichée : utiliser Ctrl+Shift+K et une page web s’affiche

clip_image001

Ainsi, on un suivi de ce qui se passe du coté serveur, l’état du DOM, la requête, la réponse,…

image

mardi 26 mai 2009

Les implémentations de JSF ne cohabitent pas en paix : le cas de RichFaces et Sun

Dans un contexte d’une application web : JSF1.2 avec RichFaces 3.3.1, Spring et JPA/Hibernate (et SpringWebflow),

… du très classique, …

sauf qu’on m’a soumit ce bug :

 

ATTENTION: JSF1059: WARNING! The com.sun.faces.verifyObjects feature is to aid developers not using tools. It shouldn''t be enabled if using an IDE, or if this application is being deployed for production as it will impact application start times.

26 mai 2009 20:45:48 org.apache.catalina.core.StandardContext listenerStart

GRAVE: Exception lors de l'envoi de l'événement contexte initialise¿½ (context initialized) à l'instance de classe d’écoute (listener) com.sun.faces.config.ConfigureListener

com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null

at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:212)

at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:174)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

at org.apache.catalina.core.StandardService.start(StandardService.java:516)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

at org.apache.catalina.startup.Catalina.start(Catalina.java:578)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

Caused by: java.lang.NullPointerException

at com.sun.faces.config.processor.ManagedBeanConfigProcessor.process( ManagedBeanConfigProcessor.java:241)

at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:94)

at com.sun.faces.config.processor.ValidatorConfigProcessor.process(ValidatorConfigProcessor.java:107)

at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(///

at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:94)

at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:132)

at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:202)

... 16 more

Et l’application ne s’affiche pas, sans aucune autre explication,

Ça laisse perplexe : les «bugs JSF sont connus pour leurs manques d’informations »

Mais,

En étudiant de très prés les librairies du projet on découvre l’existence de deux implémentations de JSF : celle de Sun et celle de Jboss.

Il suffit, alors, d’enlever le fichier « jsf-impl-1.2_06.jar », implémentation de JSF 1.2 par SUN, pour que le projet fonctionne sans aucun problème.

En fait, c’est très simple : les différentes implémentations de JSF ne cohabitent pas aussi pacifiquement qu’on pourrait penser ?

Architecte SOA & Professionnel Open Source Headline Animator

 
Khaled BEN DRISS
Cloud Computing, SOA et Web 2.0 : Des sujets techniques sur SOA et l'Open Source : de Java & .Net, PHP5, Symfony, à SaaS / PaaS en passant par Azure, google appengine, le BPM, la Modélisation et d'autres sujets du coté du serveur et cloud computing.