Affichage des articles dont le libellé est Tools. Afficher tous les articles
Affichage des articles dont le libellé est Tools. 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)

mercredi 10 mars 2010

SOAPUI 3.5 ajoute le support des tests JMS, JDBC et AMF (flex)

Eviware a annoncé la version 3.5 de son outil de test de web service, le plus complet et le plus populaire du monde open source : SoapUI.

Les principales nouveautés de cette version 3.5 de SoapUI :

- Le support de test des bases de données à travers JDBC : cette fonctionnalité permet de tester des requêtes SQL et des appels à des procédures stockées pour toutes bases de données accessibles à travers JDBC. Les résultats sont convertit en XML.

- Le support de l’envoi et de la réception de messages (text, xml, binaire) vers des files d’attente avec le protocole JMS (point à point : Queues & ou publish / subscribe : Topics). Comme pour les entêtes http et soap, il est possible de spécifier les entêtes et les propriétés JMS. SoapUI se base sur HemesJMS pour le support de JMS .

- Le support de test des interfaces Flex en exploitant le protocole AMF (un exemple expliqué ici) (envoi des appels à distance de type AMF sur http, AMF c’est le format de message qu’utilise les ActionScript Flash/Flex pour interagir avec le serveur dit backend).)

architecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpm

Ainsi, d’un simple outil permettant le test des web service, de REST, SoapUI devient de plus en plus «une sorte de couteau suisse » pour le teste d’autres protocoles et amorce un virage vers le teste des applications de type RIA.

architecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpm

mardi 12 janvier 2010

Séminaire ALM : Mettez de l’agilité dans vos projets avec la solution Microsoft VSTS/ALM

architecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpm

L’année 2010 sera l’année de l’ALM par excellence.

L’arrivée, dans quelques semaines de VS2010, va démocratiser le sujet et relancer la concurrence et en proposant des nouveautés, au moins sur deux aspects :

L’année 2010 sera l’année de l’ALM par excellence. L’arrivée, dans quelques semaines de VS2010, va démocratiser le sujet en relançant la concurrence et en proposant des nouveautés, au moins deux aspects (entre autres …) :

- L’unification de l’atelier ALM entre .Net et Java EE, suite à l’absorption de TeamPrise par Microsoft.

- L’aspect lien entre débogage et test avec le concept d’intelliTrace

C’est dans ce cadre que OXIA organise avec Microsoft Tunisie, un séminaire sur l’ALM. Le séminaire est intitulé «  Gestion de projets : Mettez de l’agilité dans vos projets avec la solution Microsoft VSTS/ALM »

architecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpm

La date a été fixée pour le jeudi 28 Janvier 2010 à Tunis.

Ce rendez-vous sera une occasion pour vous présenter l’importance de l’Agilité dans la gestion des projets de développements informatiques face à une situation économique instable où les entreprises se doivent plus que jamais d’être réactives.

Avec l’approche ALM, nous n’allons plus dans une direction figée, mais le projet s’élabore selon un processus continu. Avec au final, un projet livré, un outil qui fonctionne et qui a été réalisé en collaboration avec le client, selon ses attentes.

Tous les acteurs, le client y compris, peuvent donc effectivement le voir grandir petit à petit. Au cœur d’une méthode agile, chaque acteur travaille en interaction avec les autres. Le chef de projet n’étant plus qu’un coordinateur, un facilitateur efficace du projet.

Ce Workshop mettra en avant les caractéristiques fondamentales de la plateforme  ALM (Application Life Cycle Management) avec VSTS & TFS de Microsoft.

Ce séminaire sera rehaussé par l’allocution du Mot d’Ouverture par M. Michael Mansour de Microsoft (MANAGER of Sales and Marketing of MEA Microsoft HQ).

J’aurais le plaisir de faire une présentation des concepts ALM et le privilège de démystifier son utilisation : le Application Life Cycle Management concerne autant les clients que les SSII ou éditeurs.

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

on en parle dans les News

Tunisie Informatique Introduire agilité gestion projets Solution VSTS/ALM Microsoft

vendredi 20 novembre 2009

Quartz & Terracotta : Terracotta aquiert le projet open source Quartz.

Après eHcache, voici le Scheduler le plus populaire de la communauté open source java qui rejoint la famille de produits open source Terracotta.

Quartz est un framework open source de scheduling de travaux, très utilisé pour les travaux batch.

Quartz est utilisé pour créer tous types d’application Java et Java E, de la plus simple application swing, à complexes programmes lancé avec un code java.

Quartz est à sa version 1.6.6 sous la licence Apache 2.0.

Quartz s’intègre bien avec Spring et est supporté par des Templates Spring.

Terracotta propose des solutions de clustering d’objets et de JVM pour adresser les problématiques de haute disponibilité et de partage d’instance d’objets entre plusieurs JVM.

En quelques sortes Terracotta offre à l’application une mémoire distribuée sur toutes les JVM connectées (concept de Network Attach Memory).

Cette alliance entre Terrcotta et Quartz permettra (espérons) de corriger les limitations de clustering connue avec Quartz.

jeudi 15 octobre 2009

Tutorial Mule ESB : pas à pas

Cet article présente une série de présentations et de tutoriels pour démystifier Mule ESB : http://net-progress.blogspot.com/)

1 les projets d’intégration avec ESB.

1.1 de la nécessité d’un projet d’intégration dans un S.I. (Système d’information).

1.2 Les types d’intégration.

1.3 Intégration par les données :.

1.4 Intégration par les API :.

1.5 Intégration par les processus.

1.6 Un ESB est service de l’intégration.

2 Mule ESB 2.x est il un ESB.

2.1 Ce qu’est un ESB.

2.2 Rôle d’un ESB.

2.3 Mule ESB est il un ESB.

2.4 La concurrence open source.

2.5 Autres usages possible pour Mule.

3 Tutorial Mule ESB : une introduction.

3.1 C’est quoi Mule.

3.2 qu’est ce qu’un service Mule.

3.3 Séparer la logique métier de la logique de routage.

4 Tutorial Mule ESB : les principales composantes.

4.1 Présentation.

4.2 Installer Mule et son IDE.

4.2.1 Installer Mule.

4.3 Installer l’IDE de Mule.

5 Tutorial Mule ESB : Créer un projet d’intégration avec Mule en utilisant l’IDE Eclipse.

5.1 Créer un projet Mule.

5.2 Créer une configuration Mule.

5.3 Lancer l’exécution du projet à partir d’Eclipse.

5.4 Sélectionner la configuration Mule.

6 Tutorial Mule ESB & Eclipse : déployer un projet d’intégration avec Eclipse.

6.1 Déployer le projet à partir d’Eclipse.

6.2 Exécuter le projet.

7 Tutorial Mule ESB : Une application simple, Echo sans altération de message.

7.1 Introduction.

7.2 Présentation générale du fichier de configuration de Mule.

7.3 Construction pas à pas d’un exemple simple :

8 Tutorial Mule ESB : Une seconde application simple, Echo avec modification du message

9 Tutorial Mule ESB & Spring Ioc: Utilisation des beans Spring avec Mule.

10 Tutorial Mule ESB : illustration des capacités de Mule.

10.1 Description :.

10.2 Le sujet :

10.3 Pour commencer :

10.4 Configuration de Mule.

10.5 Définir les transformateurs.

10.6 Définir le modèle.

10.7 Définir un service.

10.8 Définir les entrées du service.

10.9 Définir le composant du service.

10.10 Définir la sortie du composant.

10.11 Finaliser le projet.

10.12 Exécuter le projet.

10.13 Retour sur les transformations.

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

dimanche 20 septembre 2009

Tutorial Mule ESB & Eclipse : Créer un projet d’intégration avec Mule en utilisant l’IDE Eclipse

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/)

Créer un projet Mule

Une fois installé, le plugin de Mule ajoute un nouveau type de projet dans Eclipse : le projet de type Mule

Dans Eclipse : ajouter un projet Mule est simple

Choisir

File à New à other

clip_image002

Choisir Mule : Mule Project

clip_image004

Cliquer Next >

clip_image006

Donner un nom au projet

Cliquer Next >

clip_image008

Ajouter des répertoires sources, des librairies nécessaires (comme pour un projet java Eclipse classique)

Cliquer Finish

Le projet est ainsi crée

clip_image009

Nous remarquons l’existence de

Répertoire

description

src

Mettre les codes sources

Conf

Mettre les fichiers de configuration de Mule

Bin

Contient les .class

Créer une configuration Mule

Sélectionner le projet Mule

Cliquer sur : File à New à other

clip_image011

Choisir Mule configuration

clip_image013

A ce stage, un assistance de création d’entête de Namespaces est disponible, selon les besoins en protocole de transport, en routeurs …

clip_image015

Le résultat est un fichier de configuration Mule (vide) prêt à l’emploi

clip_image017

Le fichier est le suivant :

1:  <?xml version="1.0" encoding="UTF-8"?> 
2: <mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
3: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4: xmlns:ftp="http://www.mulesource.org/schema/mule/ftp/2.2"
5: xmlns:file="http://www.mulesource.org/schema/mule/file/2.2"
6: xmlns:http="http://www.mulesource.org/schema/mule/http/2.2"
7: xmlns:https="http://www.mulesource.org/schema/mule/https/2.2"
8: xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.2"
9: xsi:schemaLocation="
10: http://www.mulesource.org/schema/mule/ftp/2.2 http://www.mulesource.org/schema/mule/ftp/2.2/mule-ftp.xsd
11: http://www.mulesource.org/schema/mule/file/2.2 http://www.mulesource.org/schema/mule/file/2.2/mule-file.xsd
12: http://www.mulesource.org/schema/mule/http/2.2 http://www.mulesource.org/schema/mule/http/2.2/mule-http.xsd
13: http://www.mulesource.org/schema/mule/https/2.2 http://www.mulesource.org/schema/mule/https/2.2/mule-https.xsd
14: http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
15: http://www.mulesource.org/schema/mule/vm/2.2 http://www.mulesource.org/schema/mule/vm/2.2/mule-vm.xsd">
16: </mule>


Lancer l’exécution du projet à partir d’Eclipse



Cette version de l’IDE est limité, en terme d’assistant graphique, mais présente l’avantage de permettre de lancer l’exécution du projet à partir de Eclipse et de présenter la capacité de débogage nécessaire à la mise en ouvre de tout projet Java.



Préparer une configuration Mule valide : l’exemple suivant permet de montrer les capacités de Mule qui intègre par exemple le support du Schedular Quartz.



1:  <?xml version="1.0" encoding="UTF-8"?> 
2: <mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
3: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4: xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2"
5: xmlns:quartz="http://www.mulesource.org/schema/mule/quartz/2.2"
6: xmlns:spring="http://www.springframework.org/schema/beans"
7: xsi:schemaLocation="
8: http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
9: http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
10: http://www.mulesource.org/schema/mule/stdio/2.2 http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd
11: http://www.mulesource.org/schema/mule/quartz/2.2 http://www.mulesource.org/schema/mule/quartz/2.2/mule-quartz.xsd">
12: <spring:bean id="bonjourOXIA" class="java.lang.String">
13: <spring:constructor-arg>
14: <spring:value><![CDATA[
15: BONJOUR OXIA
16: BONJOUR OXIA
17: BONJOUR OXIA
18: ]]>
19: </spring:value>
20: </spring:constructor-arg>
21: </spring:bean>
22: <model name="bonjouroxiaModel">
23: <service name="bonjourService">
24: <inbound>
25: <quartz:inbound-endpoint jobName="welcome" repeatInterval="3000" repeatCount="1">
26: <property key="payload" value-ref="bonjourOXIA" />
27: <quartz:event-generator-job />
28: </quartz:inbound-endpoint>
29: </inbound>
30: <outbound>
31: <pass-through-router>
32: <stdio:outbound-endpoint system="OUT"/>
33: </pass-through-router>
34: </outbound>
35: </service>
36: </model>
37: </mule>


Sélectionner la configuration Mule



clip_image002[4]




Le serveur est ainsi lancé, sous le contrôle d’Eclispe avec la configuration souhaité






clip_image004[4]

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 …

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


dimanche 5 juillet 2009

Monitoring web : LambdaProbe un super outil de monitoring de Tomcat : en open source et exploite JMX

Vous réalisez une application web sous Tomcat, utilisant ou non Spring, intégrant ou non JBPM ou d’autres moteurs de workflow, vous avez besoin d’un monitoring système ?

La solution : Lambda Probe

clip_image001

Lambda Probe est une application Web autonome, s’installe sur le serveur de production.

Lambda Probe permet de visualiser les différents paramètres de toutes les applications web installées dans Apache Tomcat.

Lambda Probe est est conçu spécialement et exclusivement pour fonctionner avec Tomcat.

clip_image003

page d’accueil de Probe

Le monitoring se fait en temps réel. Il offre la possibilité de consulter l'adresse IP de la session, la possibilité de consulter les servlets, les filtres, les Descripteurs cde ploiement.

Lambda Probe est en mesure d'accéder à toutes informations exposées par des agents JMX.

Si on click sur le lien de l’application « books » on accède à plusieurs paramètres de l’application tel que les sessions en cours, les pages JSP, les servlets, etc.

clip_image005

les sessions ouvertes sur l’application surveillé

Pour chaque session, nous avons accès aux objets qui se trouvent le dedans ainsi que d’autres informations tel que le type, la taille, la valeur de chaque objet.

clip_image007

Cette fonctionnalité permet de Controller le contenu de la session (elle met en exergue les objets non Serializable)clip_image009

Utilisation de la mémoire par le serveur Tomcat

clip_image011

Attention n’a pas bougé depuis 28 Nov 2006

licence GPL

mais ceci est un autre sujet


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

Sujets sur l’étude de performance :

  1. Est-ce que vous voulez connaitre ce que fait votre application coté base de données : employer un espion (open source)
  2. Performance Engineering Process & Solutions (PEP&S) : Partie 2
  3. La nouvelle version 3.0 de SOAPUI améliore le test des services REST
  4. Performance Engineering Process & Solutions : PEP&S
  5. Améliorer la performance de vos travaux de fin de journée par “JDBC Batch” et Spring
  6. Application web : la différence entre Mesure de performance, montée en charge et vitesse d’exécution
  7. Are the data from the GoogleApp Engine Dashbord valid?
  8. Quel crédit donner aux résultats affichés par le DashBoard de GoogleApp Engine (GAE) ?
  9. InfraRED : un outil de suivi des temps de réponse d’application J2EE, de monitoring et diagnostique de problèmes de performance.

vendredi 3 juillet 2009

Est-il nécessaire de planifier pour un site collaboratif SharePoint comme un projet classique?

SharePoint 2007 (MOSS) semble simple et facile dès la première présentation.

Cela vous paraitra évident si la première impression est donnée par un spécialiste chevronnée.

(bien sûre, il n’est pas possible d’avoir une seconde chance pour faire une bonne première impression)

En quelques secondes, votre site est là et fonctionnel avec la recherche full texte ... en relation directe avec votre LDAP (Active Direcory) et vos droits.

avec des Workflow par défaut, certes simple, mais avec des circuits de validation et de durée de vie de documents,

Mais...

Ne jamais oublier que la mise en place d’un Portail collaboratif n’est pas une affaire d’outillage !

Certes un bon outil facilite la mise en ouvre!

Mais, la mise en place d’un Portail collaboratif est un projet, reste un projet complexe et figure même parmi les plus difficiles,

Car sa réussite c’est la fédération de toutes les ressources de l’entreprise.

Satisfaire 1500 utilisateurs, n’est pas une histoire simple !

Donc

Faire attention aux points suivants

  • - Manque de planification : allez-y on y va par prototypage successif et on livre …
  • - Tomber dans le « ShowRoomisme » des possibilités de SPS et oublier de développer une vraie solution : SPS offre beaucoup de possibilités, est ce qu’on a besoin de toutes les utiliser ?
  • - Manque de vision métier de la solution : pour quel but ? et quelle valeur métier ?, quel retour sur investissement : spécifier des objectifs mesurables

Par exemple :

  1. Augmenter la vitesse pour trouver une information (gagner 10 minutes par jours)
  2. Il est important d’impliquer les utilisateurs : de façon organisée, méthodique et convergente
  3. Utiliser un Site SharePoint pour le change management
  • Créer un Change Request site : un site pour le change request
  • Change control Borard

Utiliser un wiki SharePoint pour le manuel utilisateur et le eLearning

La technologie ne rapporte pas de bénéfices indépendamment de son usage dans un contexte de business : c’est cet usage qui permet un ROI

Mais ceci est un autre sujet



mercredi 1 juillet 2009

Monitoring : StackProbe : Un Profiler Java efficace, permet de comprendre ce qui se passe dans la JVM et exploite JMX

StackProbe est un outil pour la surveillance des applications Java: Il vous aide à trouver des fuites de mémoire et d'optimiser la vitesse.

Nécessite d’un profiler

Savoir ce qui se passe dans une application Java EE n’est pas chose facile, surtout lorsqu’on qu’on en dispose des documents d’architecture ni de la description de la structure des codes sources.

Mais, dans la majorité des situations, qu’on dispose du code source ou non, on a besoin d’inspecter ce qui ce passe réellement dans la JVM, qu’est ce qui se passe dans la JVM.

Un Profiler JVM est une solution de surveillance des applications Java qui vous permet de détecter, d'isoler et de diagnostiquer (d’une façon pro active) les problèmes de performance.

clip_image001

VisualVM, intègre à Java 6 de Sun, permet de savoir quelques informations.

NetBeans offre un profiler de qualité, et Eclipse n’arrive pas à simplifier l’installation de son TPTP.

Les outils commerciaux CA Wily Introscope ou ceux de HP Mercury sont légende dans la profession,

L’outil JProfiler est extrêmement populaire, mais nécessite d’être installé.

Mais, cette fois je présente un autre produit plus simple, sans installation : stackProbe

installer stackProbe

stackProbe est capable de profiler toute application java tournant sous le JDK 6.x de SUN.

Il suffit de le télécharger stackprobe.jar (120 kB !! ) et de lancer dans une JVM

java -jar stackprobe.jar

bien sûre après avoir obtenu une licence (StackProbe est un profiler commercial, il est gratuit pour les projets open source)

Il est possible de l’utiliser avec le service JNLP, ce qui permet d’utiliser toujours la dernière version stable disponible.

Le profiler : StackProbe

Il s’agit d’une inspection minutieuse de l’intérieur de la JVM.

clip_image002

clip_image004

Exemple : présentation des activités de Thread

clip_image005

Utiliser des filtres de type:

Présentation des activités des méthodes : on est capable de choisir le package pour isoler

  • Thread-[0-9]+ pour "Thread-1", "Thread-2", ….
  • com\.oxia\..* n’importe quelle méthode du package "com.oxia".

clip_image006

Présentation des résultats en suivant le chemin d’appelle des méthodes

clip_image007

Méthode : StackProbe utilise la méthode de sampling

StackProbe utilise la méthode de sampling, alors que la majorité des autres profiler utilisent l’instrumentation de bytecode.

Comment ça fonctionne :

StackProbe demande périodiquement à la JVM la liste des StackTraces pour tous les threads. Ces listes sont appelées échantillons. Plus l’application passe de temps dans une méthode, plus elle sera présente dans l’échantillonnage.

Le principal avantage de cette technique est que, même si elle présente une perturbation, cette surcharge est réparti également entre toutes les méthodes de l'application observée, il n'ya donc pas de risque d'introduction de faux goulets d'étranglement.

Le Profiler offre un panneau de paramétrages qui vous permet de régler le profilage à vos besoins.

clip_image008

L’avantage de StackProbe, c‘est qu’il n’a pas besoin d’être installé et il est capable d’inspecter la JVM sans instrumenter le code de l’application.

StackProbe ne fait pas la Détection et résolution de problèmes

Ce profiling, doit être intégré dès les premières phases d’un projet, ce qui permet d’anticiper les problèmes

Ce type outil doit être mis à la disposition de tous les développeurs et de l’équipe système, il pemrt d’offrir les données pour

Détection des fuites mémoire

La fuite mémoire apparait lorsqu'un objet n'est plus utilisé mais reste actif et ne peut être nettoyé par le GC.

Rechercher & donner des solutions pour les goulots d'étranglement de performances

Détecter et identifier quelle portion de code génère des problèmes de performances n'est pas une tâche simple et rapide.

Détecter & résoudre des « Deadlock »

Le < deadlock > est une condition ou des threads sont bloquées en attente d'entrer dans un bloc de synchronisation ou lorsque deux ou plusieurs threads s'exécutent simultanément et attendent les mêmes ressources.

Détecter la mauvaise utilisation de la mémoire

Détecter les objets qui utilisent d'une façon anormale plus de mémoire que nécessaire, sans qu'il y ait de fuite mémoire. Cette situation entraine une consommation excessive de la mémoire et engendre des besoins importants de swap.

Malheureusement, ce travail de détective reste à votre charge.

La solution de Profiling idéale devrait apporter, automatiquement, des solutions aux problèmes de performances du code

Mais ceci est un autre sujet.

d’autres sujets :

autres sujets traités :

1. Est-ce que vous voulez connaitre ce que fait votre application coté base de données : employer un espion (open source)
2. Performance Engineering Process & Solutions (PEP&S) : Partie 2
3. La nouvelle version 3.0 de SOAPUI améliore le test des services REST
4. Performance Engineering Process & Solutions : PEP&S
5. Améliorer la performance de vos travaux de fin de journée par “JDBC Batch” et Spring
6. Application web : la différence entre Mesure de performance, montée en charge et vitesse d’exécution
7. Are the data from the GoogleApp Engine Dashbord valid?
8. Quel crédit donner aux résultats affichés par le DashBoard de GoogleApp Engine (GAE) ?
9. InfraRED : un outil de suivi des temps de réponse d’application J2EE, de monitoring et diagnostique de problèmes de performance.

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.