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

mardi 18 mai 2010

Alfresco présente Activiti BPMN 2 : 1er moteur BPMN 2.0 open source sous licence Apache

En avril, dernier, lorsqu’on a parlé, dans ce blog, du départ de deux membres importants quittent l’équipe JBPM, nous avons annoncé que Tom Baeyens et Joram Barrez promettent, sur le blog de Joram Barrez, le lancement imminent d’un nouveau Moteur BPM basé sur la norme BPMN 2.0 sous la licence apache.

Une partie de l’annonce était « We’re building a new BPM platform that’s architected for new IT requirements. It will be Apache licensed and it will run BPMN 2.0 natively ! »

C’est annoncé !!,

C’est sous les couleurs de Alfresco, le Leader de l’ECM open source, que les deux “mousquetaires du BPM” proposent ce nouveau moteur, nommé Activiti.

Activiti va rendre le Business Process Management (BPM) une commodité.

il a au moins la particularité d’être le 1er moteur BPM (et en plus BPMN 2.0) open source sous licence Apache.

Activiti un moteur BPM

La première version alpha d’Activiti intègre les fonctionnalités suivantes :

- Activiti Engine – Fichier JAR contenant la machine virtuelle de processus et l’implémentation du langage de processus BPMN ;

- Activiti Probe – Console d’administration système permettant de commander le moteur Activiti ;

- Activiti Explorer – Application utilisateur permettant de gérer facilement les listes de tâches et d’exécuter les tâches de processus ;

- Activiti Modeler – Outil de modélisation des processus BPMN 2.0 via un navigateur, basé sur Ajax, destiné aux analystes métier.

Selon Tom Baeyens, « Activiti va véritablement bouleverser le paysage BPM », explique Tom Baeyens. « Avec sa licence Apache et sa richesse fonctionnelle,

A l’instar de l’approche de Micorsoft avec WPF 4.0 chez les développeurs .Net, l’équipe d’Activiti, va essayer de déclencher une large adoption de la technologie BPM chez les développeurs Java.

Activiti est ainsi à même de s’imposer comme l’implémentation standard du BPM et du BPMN.

Remarquons l’utilisation du moteur de modélisation web SIGNAVIO, pour la modélisation.

clip_image002

Il est prévisible que ce moteur de BPM, Activiti deviendra le moteur de gestion des processus métier par défaut d’Alfresco.

bravo pour cette initiative, à la sauce Apache, une licence business frendly …

étape suivante : tester et mettre à l’épreuve…

site web

http://www.activiti.org/

jeudi 13 mai 2010

JBPM 5 : une version majeure en préparation

L’équipe BPM de JBoss (RedHat) a annoncé le lancement du projet JBPM 5 : la prochaine génération de plateforme BPM.

La principale information, est que jBPM 5 sera basé sur l'expérience combinée de jBPM et de Drools Flow (ainsi que les projets en relation : RiftSaw et Overlord).

Un effort de capitaliser sur les avantages des deux solutions sera la principale direction du projet, si on considère que la compatibilité totale avec BPMN 2 est déjà acquise.

Aucune feuille de route n’a été présentée pour le moment.

mardi 4 mai 2010

Tuning JVM et GC (Garbage collector) : La permanent generation

Question : quelle est le rôle de la permanent permanent generation

Ce travail a été réalisé en collaboration avec Hamed KOUBAA, Architect SOA.

Permanent generation ?

Rappelons que la zone permanent generation définit une zone de mémoire qui accueille des objets permanents. Elle contient la définition des classes Java, qui sont chargées au démarrage de la JVM et au cours de l'exécution de l'application.

clip_image002

Il arrive parfois que cette zone soit trop petite et provoque un blocage de votre application. Dans ce cas le message de l'exception

OutOfMemoryException : PermGen space.

Il n'y a pas de collectes dans cette zone.

introduction

L’objectif de cet atelier est de sensibiliser au choix des espaces mémoires de la JVM, basée sur un GC générationnel. Nous avons appliques au JDK de SUN.

Le principe de l’atelier est simple : utiliser l’application java2D (inclus dans la jdk %java_home%/demo/jfc/Java2D) avec des paramètres différents de la JVM et interpréter les résultats obtenus.

pré requis

Les expérimentations de ce tutorial peuvent être réalisé sous Solaris, Linux et Windows : là où le JDK Hotspot de Sun fonctionne.

Il suffit d’Installer une JDK ultérieure à la version 5.0.

Les tests ont été réalisés avec JDK 1.0.0 build 17.

Noter que le JDK qui inclut des "démos" est nécessaire - la JRE n'est pas suffisante.

Configurer les variables d’environnement JAVA_HOME

- télécharger si besoin visualgc .

Maintenant vous êtes prêt pour démarrer l’atelier.

clip_image003

Une génération permanente trop petite

Pour cet exercice, on réinitialise la taille maximale du Heap à notre standard de 16 MB. Nous gardons la jeune génération à notre optimale 4 MB.

Et maintenant, nous introduisons perm gen tuning en le fixant à 1 Mb.

-XX:PermSize=1m -XX:MaxPermSize=1m -XX:NewSize=4m -XX:MaxNewSize=4m -Xms16m -Xmx16m

- agrandir la fenêtre du java2D et observer le résultat

Le log de l’application montre qu’il y a une exception outOfMemory PerGen

Interprétation

Comment pouvez-vous savoir quand la permanent generation est trop petite?

Si l'application ne démarre pas ou se bloque avec une exception mémoire

Pourquoi une permanent generation qui est trop petit un problème?

Si la génération permanente est trop faible il n'y aura pas assez de place pour la JVM pour charger les bocaux et classfiles qui composent l'application elle-même.

La génération permanente est spéciale parce qu'elle contient des données utilisées par la machine virtuelle pour décrire les objets qui ne disposent pas d'une équivalence au niveau du langage Java. Par exemple, les objets décrivant les classes et les méthodes sont stockées dans la génération permanente.

Une génération permanente ayant la bonne taille

Maintenant nous avons fixé la permanent generation à 17 Mo (au lieu de 1 Mo pour l'exercice précédent). Le Heap d'ensemble et la taille des nouvelle génération reste la même à 16 Mo et 4 Mo, respectivement.

-XX:PermSize=17m -XX:MaxPermSize=17m -XX:NewSize=4m -XX:MaxNewSize=4m -Xms16m -Xmx16m

Interprétation :

Comment connaissez-vous la permanent generation a une taille adéquate?

Lorsque vous trouvez que le programme s'exécute avec une marge confortable de l'espace gen Perm.

Puis-je laisser la JVM déterminer la bonne taille permanent generation?

Bien sûr, en fait, vous pouvez définir les valeurs maximales de la permanent generation et laisser la JVM déterminer la taille adéquate selon le besoin, mais toujours sans dépasser cette taille max.

Pourquoi le tuning de la permanent generation est important?

Le tuning de la permanent generation est important si le contrôle de la consommation mémoire globale est important et que vous voulez obtenir un gain de performances supplémentaires en éliminant le temps de redimensionnement de la permanent generation.

jeudi 29 avril 2010

Tuning JVM et GC (Garbage collector) young generation : influence de la taille de la young generation (3/3)

Question : comment se manifeste l’effet d’une young generation de taille acceptable

Ce travail a été réalisé en collaboration avec Hamed KOUBAA, Architect SOA.

Introduction

L’objectif de cet atelier est de sensibiliser au choix des espaces mémoires de la JVM, basée sur un GC générationnel. Nous avons appliques au JDK de SUN.

Le principe de l’atelier est simple : utiliser l’application java2D (inclus dans la jdk %java_home%/demo/jfc/Java2D) avec des paramètres différents de la JVM et interpréter les résultats obtenus.

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

pré requis

Les expérimentations de ce tutorial peuvent être réalisé sous Solaris, Linux et Windows : là où le JDK Hotspot de Sun fonctionne.

Il suffit d’Installer une JDK ultérieure à la version 5.0.

Les tests ont été réalisés avec JDK 1.0.0 build 17.

Noter que le JDK qui inclut des "démos" est nécessaire - un JRE n'est pas suffisant.

Configurer les variables d’environnement JAVA_HOME

- télécharger si besoin visualgc .

Maintenant vous êtes prêt pour démarrer l’atelier.

Une jeune génération ayant la bonne taille

Dans cet exemple nous essayons de fixer la bonne taille de la jeune génération.

Rappelons que la valeur adéquate de la young generation dépend de l'application exécutée.

Il s'agit probablement d'une plage de valeurs acceptables.

Pour cet exemple, nous maintenons la taille maximale du Heap à 16 MB, mais nous fixons la jeune génération à 4 MB

-XX:NewSize=4m -XX:MaxNewSize=4m -Xms16m -Xmx16m

- une fois l’application lancée, cliquez rapidement sur l’onglet transform > dans le carrée transform anim (celui en bas), augmenter le nombre d’objets de string et d’images animés au maximum. (à l’instar des autres exemples)

- ce qui suit est l’état de visualGC après une minute et demie d’observation

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

Interprétation

Si les temps de GC sont plus petite, cela peut signifier que nous avons réussi notre paramétrage (même si c’est encore tôt pour juger car la JVM peut bien se comporter dans des petit délais, puis elle change de comportement au cours de l’exécution)

Comment connaissez-vous que la jeune génération est bien ajuster?

Quand ce n'est pas trop petit ou trop grand ;-)

Bien entendu, la diminution des temps de CG est une bonne indication.

Remarques

Maintenant vous avez une compréhension des zones de mémoire HotSpot que vous avez réellement vu en exécutant Visual GC.

Vous avez une idée sur le paramétrage du young génération.

Astuce :

Pour Lignes directrices générales pour le dimensionnement de la jeune génération:

* Le ratio maximal entre la jeune génération (young generation) et le Heap ne doit pas dépasser les 45%

Si vous dépassez ce ratio alors il ya un risque que la jeune génération entière contient des objets vivants qu'ils ne pouvaient pas tous être promu à la old generation.

Généralement pour les applications clientes on commence par un pourcentage de 25%.

Pour les applications serveur on commence généralement par un pourcentage de 10% du Heap.

On augmente le taux selon les besoins.

Conclusion et perspectives :

Nous avons traités l’impact des principaux paramètres de la JVM

-XX:PermSize, -XX:MaxPermSize, -XX:NewSize, -XX:MaxNewSize, -Xms, -Xmx

une idée sur les indicateurs d’une JVM mal paramétrer : détecter quand le young generation, le old generation ou la permanet generation sont trop petit ou trop grand.

Plus la taille de la young generation est grande plus les collectes mineures sont rares.

Cependant, lorsque la taille du heap est peu extensible, cela va diminuer la taille de la tenured generation ce qui aura pour conséquence d'augmenter la fréquence des collectes majeures.

Un conseil :

L’étape suivante consiste à voir l’effet des autres paramètres de la JVM tq (disableExplicitGC, agressiveheap, printCompilation, concurrentGarbageCollection …Etc) utilisant d’autres exemples et en appliquant à votre application.

mardi 27 avril 2010

Tuning JVM et GC (Garbage collector) young generation : influence de la taille de la young generation 2/3

Question : quelle est l’influence d’une young generation ayant une taille trop grande

Ce travail a été réalisé en collaboration avec Hamed KOUBAA, Architect SOA.

pré requis

Les expérimentations de ce tutorial peuvent être réalisé sous Solaris, Linux et Windows : là où le JDK Hotspot de Sun fonctionne.

Il suffit d’Installer une JDK ultérieure à la version 5.0.

Les tests ont été réalisés avec JDK 1.0.0 build 17.

Noter que le JDK qui inclut des "démos" est nécessaire - un JRE n'est pas suffisant.

Configurer les variables d’environnement JAVA_HOME

- télécharger si besoin visualgc .

Maintenant vous êtes prêt pour démarrer l’atelier.

Une jeune génération trop grande

Pour cette partie, nous maintenons la taille maximale du Heap à 16 MB.

Et nous fixons la taille de la « jeune génération » à 5,5 MB. (Souvenez-vous dans l’exemple précédent nous avons mis la jeune génération à seulement 1 Mo)

-XX:NewSize=5500k -XX:MaxNewSize=5500k -Xms16m -Xmx16m

La suite de la présentation est identique à ce qui a été fait précédemment

Lancer la démo Java2D

Lancer visualGC

- une fois l’application Java2D lancée, cliquez rapidement sur l’onglet transform > dans le carrée transform anim (celui en bas), augmenter le nombre d’objets de string et d’images animés au maximum.

- ce qui suit est l’état de visualGC après une minute et demie d’observation

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

Pour cet exemple, nous avons eu 70 collections mineures (contre 160 dans l'exercice précédent), 48 collections complètes « full » (contre 16) et nous avons passé un total de 3 seconds. Bref, 3,33% (contre 1,66%) de la durée totale en GC.

(NB: ces chiffres différent selon la machine sur laquelle on exécute, mais la tendance est la même)

NB :

Il est à noter que pour cet exemple la jeune génération n’est pas de grande taille.

Interprétation

Notez que l’effet en dents de scie n’est plus clair. Vous pouvez remarquer également que l’application «saccade » en raison du fait que chaque GC mineur prend plus de temps (collection de 5,5 Mo au lieu de 1 Mo).

Même si vous avez moins de GC, ils prennent beaucoup de temps quand ils se produisent.

Pourquoi une jeune génération « trop grande » constitue un problème?

Si la jeune génération est trop grande, les pauses des collectes GC mineur risquent d’être plus longues (ce qu’on appelle Stop the world). Cela se manifeste, par exemple, par un  “affichage saccadée” pour les applications clientes.

NB : les valeurs fixés ont un but pédagogique d’illustration …

mercredi 21 avril 2010

Innovation dans les TIC : Quelles opportunités (5/5)

NB : (suite de l’article sur la conférence, Innovation dans les TIC : entre Mobile et cloud des opportunités à saisir, du 1er avril à l’ENIT.)

Quelles opportunités

Il est communément admis, que l’IT et les processus outillés dans une entreprise, représentent un actif stratégique qui permet de « faire la différence » avec les concurrents. Les technologies combinées à des changements de processus organisationnels, confèrent des avantages concurrentiels à leurs utilisateurs.

Les opportunités dans l’IT sont nombreuses :

1) Pour le gouvernement (avec un poids de plus de 80 % du marché IT, dans un pays comme la Tunisie)

- La mise en place de cloud(s) privé(s) pour le eGov

- SaaS pour les collectivités locales

2) Pour les groupes & les entreprises multi-sites :  mettre en place un cloud privé pour le groupe  (Certains "font du XaaS" sans le savoir !!)

3) Pour les SSII & éditeurs : de nouvelles opportunités “business”

- Nouveaux paradigmes

- Nouvelles plateformes & outils de développement

- Nouvelles offres de produits

- Nouvelles offres de Services

Points de vigilances

Mais, cette « Innovation en marche » a Besoin d’un ensemble de

Pour cette (r)evolution en marche, dans la conception et la consommation de l’IT, un point important est la gestion du changement

-> C’est l’usage qui confère sa valeur à la technologie

-> Besoin d’un Observatoire des pratiques commerciales : Un Bureau de contrôle indépendant, pour protéger le futur client

-> Besoin de légiférer : pour rassurer le futur client pour faciliter l‘émergence de la demande (exemple "clauses obligatoires dans Contrat XaaS" )

-> Besoin de travaux d’Harmonisation & d’Interopérabilité : SaaS / cloud : un nouveau jeu dans le domaine de l'acquisition de logiciels : évaluer l’adhérence aux standards et la mise en ouvre des “best practice”, garanties et procédures d'audit.

Conclusion

La question qui demeure est : Dans combien de temps va ton considérer le SaaS comme LE modèle Classique?


Autres sujets :

Innovation dans les TIC : entre Mobile et cloud des opportunités à saisir (1/5)
Innovation dans les TIC : De quelle innovation on parle? (2/5)
Tendances de l’Innovation dans les technologies (3/5)
Innovation dans les TIC : ne pas oublier les processus et les modèles économiques (4/5)
Innovation dans les TIC : Quelles opportunités (5/5)

lundi 19 avril 2010

Innovation dans les TIC : ne pas oublier les processus et les modèles économiques (4/5)

NB : (suite de l’article sur la conférence, Innovation dans les TIC : entre Mobile et cloud des opportunités à saisir, du 1er avril à l’ENIT.)


L’innovation dans les TIC ne peut être cloisonnée à l’aspect technologique.

Il il est important de comprendre que l’innovation est aussi dans les processus et les modèles économiques, ainsi que l’usage des technologies.

Tendances de l’Innovation dans les processus

Les principales tendances dans les processus se résument aux aspects suivants :

1)- La généralisation de l’adoption des méthodes agiles convenablement outillées (et l’usage d’outils intégrés)

-- Méthodologie Agile (exemple SCRUM)

-- Gestion de cycle de vie des produits et des applications (ALM & PLM)

2)- Le recours aux Benchmarking et aux référentiels de maturité, par exemple

-- ITIL

-- CMMi

-- Microsoft APIO

Tendances de l’Innovation dans les modèles économiques

Dans les modèles économiques, nous observons trois grandes tendances

  • Modèle de souscription pour les licences/services : Initié par le mouvement open source

  • Modèle de payement à la consommation : Facturation selon l’utilisation de la CPU, de  la mémoire et le niveau de SLA …

  • Modèle des AppStores : Un supermarché des applications pour exposer votre application à la vente dans une vitrine internationale. Le modèle adéquat pour les applications pour Mobile (Apple, MicroSoft, Google …)


A suivre ….

Autres sujets :

Innovation dans les TIC : entre Mobile et cloud des opportunités à saisir (1/5)
Innovation dans les TIC : De quelle innovation on parle? (2/5)
Tendances de l’Innovation dans les technologies (3/5)
Innovation dans les TIC : ne pas oublier les processus et les modèles économiques (4/5)
Innovation dans les TIC : Quelles opportunités (5/5)

vendredi 16 avril 2010

Séminaire : " Les TICs, Vecteur d’emploi, d’Exportation et de Croissance Economique"

Ce samedi 24  avril 2010, à Hammamet, j’aurais le plaisir, de donner une conférence sur l’ : « Outsourcing et Consortiums Economiques ».

Ça sera dans le cadre du séminaire :" Les TICs, Vecteur d’emploi, d’Exportation et de Croissance Economique".

Le séminaire est organisé à Hammamet, par la  Jeune Chambre  Internationale (OLM de   Hammamet).

Lors de ma conférence je vais présenter l’expériences de OXIA dans le domaine du neashore, la valeur ajoutée dans nos offres et l’innovation dans le modèle de présentation de type best cost :

De plus, un exemple concret de consortium Export « le GET’It », dont OXIA est un membre fondateur et brigue la présidence depuis le début de 2010 (en la personne de Imed AYEDI, le Directeur Générale des opérations ).

Ce consortium est un exemple vivant de la capacité des acteurs privées à se rassembler pour présenter la Tunisie du « best cost » et non plus le modèle de low cost.

Ce séminaire réunira un grand nombre d‘acteurs des TICs, que ce soit dans le domaine des pouvoirs publics, des donneurs d’ordres ou des prestataires.

Programme  : http://www.hammamet-tourism.com/visiteurs.html

Contact : http://www.hammamet-tourism.com/contact.cfm

à suivre … je vais donner plus de détails dans les prochains posts …

mercredi 14 avril 2010

Tendances de l’Innovation dans les technologies (3/5)

NB : (suite de l’article sur la conférence, Innovation dans les TIC : entre Mobile et cloud des opportunités à saisir, du 1er avril à l’ENIT.)


Comme pour toute conférence de 25 minutes, il a fallu se limiter au plus important, ce qui

J’ai donc décidé d’illustrer l’innovation, encours dans les TIC, par deux exemples

  • · Le cloud computing

  • · Le mobile


Le cloud : Une transformation de l'industrie est en cours

L’émergence de l’écosystème Cloud, met en exergue la tendance de fonde de la suprématie du service et la transformation de l’IT en commodité.

Il suffit de faire l’analogie avec d’autre secteur : l’eau et l’électricité

Construire votre solution

PlugIn, souscrire & payer à l’usage

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

Electricité

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

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

Eau

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

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

Applications métiers, puissance de calcul et de stockage

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

cloud (SaaS, PaaS, IaaS)

Ainsi, le Cloud computing permet de tisser ensemble « matériel, logiciel et services » pour créer une solution spécifique.

D’autres appelle cela S+S (Software+Services).

J’ai présenté quelques exemples de ce concept de Cloud :

IaaS : Infrastructure as a Service

  • Modèle de fourniture d’infrastructure
    • Accès à une pile d’infrastructure :
      • Système d’exploitation complet
      • Firewalls
      • Routeurs
      • Load balancing
    • Payement à l’usage

Exemples

• Système d’exploitation complet, ...

• Exemples

• Flexiscale

AWS: EC2

PaaS : Platform as a Service

  • Modèle de fourniture de Plateforme
    • Fourniture d’une plateforme logicielle hébergé pour déployer des applications (ciblant la plateforme)
    • Payement à l’usage

Exemples :

• Stockage, base de données

• Examples :

• Google App Engine

• Azure de Microsoft

• Amazon WS: S3

SaaS : Software as a Service :

  • Modèle de fourniture de logiciel
      • Un « business model » pour des composants logiciels hébergés, payement à l’usage ou à la demande
    • Pas de logiciel, ni de serveur à gérer
    • Le Service est délivré à travers le navigateur web
  • CRM, Planification financière, RH, office, email
  • Exemples:
    • Salesforce.com
    • emailcloud

et le Mobile

En bref l’innovation dans le Mobile et le Web des objets

  • À l‘horizon 2020 : 80 % des accès au web seront effectués à travers un Mobile

  • Emergences de nouvelles générations de réseaux et terminaux mobiles

  • Evolution dans le monde M2M (machine to Machine)

    Tout appareil électronique possédera son IP : Le Web 3.0 sera le web des objets

  • Le mobile comme moyen de payement

ce qui reste c’est d’innover dans les usages…

A suivre …

Autres sujets :

Innovation dans les TIC : entre Mobile et cloud des opportunités à saisir (1/5)
Innovation dans les TIC : De quelle innovation on parle? (2/5)
Tendances de l’Innovation dans les technologies (3/5)
Innovation dans les TIC : ne pas oublier les processus et les modèles économiques (4/5)
Innovation dans les TIC : Quelles opportunités (5/5)

lundi 12 avril 2010

Innovation dans les TIC : De quelle innovation on parle? (2/5)

NB : (suite de l’article sur la conférence, Innovation dans les TIC : entre Mobile et cloud des opportunités à saisir, du 01/04 à l’ENIT.)

Pour ne pas “innover” dans la Définition de l’innovation, j’ai cité Wikipedia

  • « innovation technologique de produit

    • la mise au point/commercialisation d’un produit plus performant dans le but de fournir au consommateur des services objectivement nouveaux ou améliorés.

  • innovation technologique de procédé,

    • on entend la mise au point/adoption de méthodes de production ou de distribution nouvelles ou notablement améliorées. Elle peut faire intervenir des changements affectant – séparément ou simultanément – les matériels, les ressources humaines ou les méthodes de travail »

Ainsi, Dans la suite nous parlerons

  • Innovation dans les Technologies

  • Innovation dans les processus

  • Innovation dans les usages

  • Innovation dans les modèles économiques

Entre innovation et Buzz (le Hype cycle du Gartner)

Pour avoir un impact réel sur la vie des personnes et des entreprises, une innovation doit présenter un certain niveau de maturité.

Or le Gatner a publié depuis 1995, une théorie expliquant la maturité des technologies, traçant le cycle d’adoption et des applications métiers.

Innovation en technologie : un cycle classique à un rythme soutenu

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

  • " Technology Trigger" - La première phase du cycle est le déclencheur "ou percée, lancement de produit ou tout autre événement » qui génère un intérêt des médias.
  • " Peak of Inflated Expectations " - Dans la phase suivante, une frénésie de la publicité génère généralement plus d'enthousiasme et d'attentes irréalistes. Il peut y avoir certaines applications réussie d'une technologie, mais il ya généralement plus d'échecs.
  •   " Trough of Disillusionment " – la Technologie entre dans le fossé de la désillusion, parce qu'ils ne répondent pas aux attentes et deviennent vite démodés. En conséquence, la presse en général abandonne le sujet et la technologie.
  • " Slope of Enlightenment " - Bien que la presse peut avoir cessé de couvrir la technologie, certaines entreprises continuent à travers la pente "des Lumières" et l'expérience pour comprendre les avantages et les applications pratiques de la technologie.
  • " Plateau of Productivity " - Une technologie atteint le plateau "de la productivité», comme les avantages de celui-ci sont largement démontrés et reconnus. La technologie devient de plus en plus stable et évolue en deuxième et troisième générations. La hauteur finale du plateau varie selon que la technologie est largement applicable ou ne profite qu'à un marché de niche.


D’autre part, pour connaitre l’intérêt que porte le public à une nouvelle technologie, on peut utiliser Google trends :

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

Autres sujets :

Innovation dans les TIC : entre Mobile et cloud des opportunités à saisir (1/5)
Innovation dans les TIC : De quelle innovation on parle? (2/5)
Tendances de l’Innovation dans les technologies (3/5)
Innovation dans les TIC : ne pas oublier les processus et les modèles économiques (4/5)
Innovation dans les TIC : Quelles opportunités (5/5)

mercredi 7 avril 2010

Innovation dans les TIC : entre Mobile et cloud des opportunités à saisir (1/5)

J’ai eu le plaisir d’animer, le mardi 1er avril 2010, une conférence à l’ENIT (Ecole Nationale d’Ingénieur de Tunis). L’ENIT est la plus ancienne école d’ingénieur de Tunisie. La conférence a été organisée par La Jeune Chambre Internationale de Tunisie, sous le thème : « Innovation Technologique et Valorisation de la Recherche Scientifique » du 01 au03 Avril 2010.

Le titre de ma conférence: Innovation dans les TIC : entre Mobile et cloud des opportunités à saisir

Mais, avant de commencer « Qu’es ce qui se cache derrière le sigle TIC (Technologies de l‘information et des communications) ? «

Définir le secteur TIC

Il est communément connue que le secteur des TIC regroupe des industries et des services très diverses appartenant aux filières suivantes :

  • · informatique

  • · télécommunications

  • · électronique

Nous observons, depuis quelques années deux tendances principales dans ce secteur TIC

  • · la première tendance est que le secteur est de plus en plus dominé par les services

  • · la seconde tendance est la convergence fixe-mobile et les nouvelles générations de Mobiles, préparant le monde à de nouveaux types d’applications.



Rappelons que les TIC présentent un grand potentiel de stimulation de la stratégie de développement de l’entreprise

  • · faire évoluer son fonctionnement et appuyer ses processus métiers

  • · fluidifier les interactions avec son écosystème

Lors de cette conférence, j’ai essayé élargir la réflexion sur l’innovation pour ne pas la cloisonner dans les aspects technologiques.

Ainsi, j’ai pu traiter les sujets suivants :

  • · L’innovation dans les nouvelles tendances dans les TI : la mobilité, le cloud computing et ses variantes PaaS et IaaS, les réseaux sociaux et le web 2.0 .

  • o Présentation et catalogue pour démystifier

  • · L’innovation dans les processus : Agilité et management

  • · L’innovation dans les business modèles TI : SaaS et facturation à la demande,

  • · présentation des opportunités ouvertes à un jeune tunisien

Ainsi, l’émergence des réseaux sociaux n’est pas forcément associée à l’aspect technologique, mais à l’usage qu’on en fait. L’exemple le plus simple, reste twitter, où aucune innovation technique n’est associée au projet (toutes les technologies utilisées sont connue depuis longtemps), simplement un usage spécifique du web et du mobile.

Les éléments de réflexions traités lors de mon, intervention feront l’objet d’autres postes dans ce blog dans les prochains jours …

Autres sujets :

Innovation dans les TIC : entre Mobile et cloud des opportunités à saisir (1/5)
Innovation dans les TIC : De quelle innovation on parle? (2/5)
Tendances de l’Innovation dans les technologies (3/5)
Innovation dans les TIC : ne pas oublier les processus et les modèles économiques (4/5)
Innovation dans les TIC : Quelles opportunités (5/5)

-----

informations récentes sur le marché du Cloud  : Le cloud privé : priorité des DSI selon une étude PAC, selon Mathieu Poujol de PAC, responsable de l'étude sur le cloud computing en France

vendredi 12 mars 2010

Tuning des applications Java EE : Formation pratique au tuning de la JVM et Tomcat


Présentation

Dans le cadre de cycle de ATT (Advanced Technology Training), un nouveau workshop est programmé pour le 24/25 mars 2010, à Tunis.

Il s’agit workshop pratique sera dédié à une formation pratique au tuning de la Java Virtual Machine et destinée aux administrateurs d’applications Java et aux développeurs.

Ce Workshop intensif de 2 jours est le fruit de plusieurs années d’expérience de OXIA dans la mise en ouvre d’application Java EE et l’utilisation de Java dans un environnement serveur et pour des applications critiques (Banque, télécom …).

Son objectif est permettre à l’administrateur de serveurs d’applications Java EE, de mieux appréhender le tuning des applications Java (JVM) les volé technique et méthodologique. Les cas pratiques sont appliqués à Tomcat.

Les ateliers pratiques utiliseront des outils open source de profiling JVM et le serveur d’application, ainsi, que le paramétrage avancé, la résolution des remontées d’erreurs dans un environnement de production (inspiré de ITIL).


objectifs

Etre capable de choisir les paramètres de la virtual machine pour une application en production

Connaitre les étapes du Processus et Engineering de Performance

Connaitre les outils permettant de mettre ouvre le processus

Quelques sujets traités:

· Présentation de langage Java et Configuration de l’environnement

· Notion de Performance / Tuning

· Architecture de la JVM

· Options d’utilisation : les paramètres les plus importants

· Tuning de la JVM

· Gestion de la mémoire «Garbage collecting» : les générations

· Diagnostics : Gestion des erreurs

· Java en environnement de production :

· Container Web

· Serveurs d’applications

· Processus et Engineering de Performance

· Les étapes

· Comment faire ?


Les outils utilisés

Les ateliers utiliseront des outils open source pour :

· Etude du garabage collector

· Mesure de temps de réponse

· Simulation d’utilisateurs web et d’une montée en charge

· Profilers

· Etude du cycle de création des objets dans la JVM

· Détermination des fuites de mémoire



Lieu : Tunis Date : 24, 25 mars contact : info@oxia-group.com Tél : +21671282700

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

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.

lundi 9 novembre 2009

ALM, VS2010, Java et .Net: Microsoft achète Teamprise pour enrichir Visual Studio 2010

Encore une nouvelle surprise, à laquelle je ne m’attendais pas: Microsoft a décidé d’acheter la division Teamprise de SourceGear.

En assistant au WE Visual Studio Summit de Rome (du 1 au 4 novembre 2009), aucune information n’a filtré, mais la surprise était que Brian Harry (le Boss de VSTS), lui même avait présenté la solution Teamprise. Un entrainement peu être!

Teamprise est le pont entre le monde Eclipse et Java et Visual Studio. Teamprise permet de simplifier le travail dans un monde hétérogène et multiplateformes (développement .Net et Java), et de limiter les problèmes d'interopérabilité entre les composantes d’un ALM.

Teamprise permet à un développeur Java d’exploiter la solution TFS de Microsoft et à s’intégrer avec VSTS dans soucis.

Ainsi, la solution ALM de Microsoft, la fameux Visual Studio prend des options sérieuses pour jouer dans la cours des grands.

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

L 'ALM (Application Life-Cycle Management) permet aux entreprises de mieux gérer le cycle de vie des applications et de leurs projets de développement de logiciels, et d'accroître leur collaboration en équipe et la productivité tout en améliorant la qualité logicielle globale.

Dans se domaine, il est primordiale de développer une expertise, autour des problématiques suivantes :

· Industrialisation des développements et gestion du cycle de vie des applications (Software Factories…)

· Modélisation et mise en place de méthodologies de projet (UML, CMMI, MDA, etc…)

· Qualité des applications (audit de code, tests unitaires, tests de charge, intégration continue…)

· formation et de coaching et une capacité de transfert de savoir faire sur les technologies avancées

Je crois véritablement dans la pratique ALM pour le développement logiciel, et que cette discipline permet de fournir une valeur ajoutée à nos clients.

Reste à savoir si Teamprise sera intégré dans la version VS2010 de mars prochain.

Espérerons

Mais ceci est un autre sujet

information :

http://www.microsoft.com/presspass/press/2009/nov09/11-09TeamprisePR.mspx

http://www.woodwardweb.com/teamprise/a_new_chapter_f.html


Info sur OXIA

Microsoft a nommé OXIA, à son programme partenaire Inner Circle pour Application Lifecycle Management (ALM).

http://www.oxiasoft.com/site/fr/news.php?id_article=50&id_news=44

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)

dimanche 13 septembre 2009

Tutorial Mule ESB 2.x: une introduction

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

C’est quoi Mule

clip_image001

Mule est un framework de messagerie basé sur une architecture EDA et mettant en ouvre les principes d’intégration du fameux livre Enteprise Integration Patterns by Gregor Hohpe et Bobby Woolf.

Le cœur du système est le bus de message, qui route les messages entre les applications.

La version 2.x de Mule a innové dans le sens où elle n’a pas suivi l’approche classqiue des ESB/EAI qui consiste à convertir systématiquement tout message transitant dans le Bus en un format pivot. Mule convertit seulement les données qui sont nécessaires.

Mule n’exige pas l’usage d’un seul format commun de message et la nécessité d’adaptateurs pour convertir du format de l’application cible vers le format pivot..

L’information est envoyée sur un canal de communication, comme HTTP ou JMS, et est transformée seulement si nécessaire au cours du traitement.

Ainsi, Mule améliore les performances et réduit les coûts de développement par rapport à un ESB traditionnel.

Au niveau le plus simple, quand on connecte les applications à Mule, il lit les données venant d’une application, les transforme si c’est nécessaire pour que l’application cible puisse les lire, et les envoie vers une autre application.

Un message est simplement un paquet de données manipuler et envoyer entre les applications sur un spécifique channel (aussi appelée une queue).

Intégration de Mule

· Les composants MuleESB

o Les connectors

o Le container léger Spring

o Les routers

o Les transformers

clip_image003

Quand un message est envoyé par une application (comme la facture par Order Entry ) , Mule relève le message, l’envoie à un service qui le traite avec sa logique métier (comme la vérification du client, l’inventaire des données en bases), et ensuite le route correctement vers une autre application (comme l’application Order Fulfillment). Mule contient plusieurs parties qui gère le traitement et le routage des messages.

clip_image005

La part principale du service est le service component. Le service component exécute la logique métier sur les messages, comme lire l’objet Facture, lui ajouter des informations qui provient de la base données clients, et ensuite le forwarder vers l’application Order Fullfillment.

Un point important est que le service component ne contient pas de code spécifique Mule ; il peut être un simple objet Java POJO, un bean Spring, ou un web service contenant la logique métier pour traiter les données de façon spécifique.

Mule gère le service component, le lie à une configuration et l’expose comme un service, et s’assure que l’information qui lui est envoyée est correcte ceci en se basant sur les informations du service que l’on a spécifié dans le fichier de configuration de Mule.

qu’est ce qu’un service Mule

- Le service component contient la logique métier pour traiter les données dans le message. Il ne contient aucune information sur comment est reçu ou sont envoyés les messages eux mêmes.

  • - Pour être sur que le service component reçoit le bon message et le route correctement après traitement, on spécifie lors de la configuration de Mule un inbound router et un outbound router qui encapsule le service component.

  • - Un Inbound router spécifie quels messages le composant service va traiter. Il peut filtrer les messages entrants, les agréger ou les re-séquencer avant de les router vers un autre service component. Par exemple, si un service souscrit à un fil RSS, le inbound router peut filtrer quels messages recevoir sur ce fil.

  • - Après qu’un service est traité un message, le outbound router spécifie où dispatcher le message. On peut définir de multiples contraintes de routages entrant et sortant et même chaîner des routeurs ensembles de telle façon qu’un service component reçoivent et routent les messages exactement comme requis.

clip_image007

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

clip_image009

Multi protocoles

-Mule peut gérer des messages qui sont envoyés par de nombreux protocoles.

Par exemple, si une facture peut toujours être au format XML, elle peut arriver par HTTP dans un cas et dans un message JMS dans l’autre, cela dépend de quelle application a créée la facture.

- le service component ne sait pas comment lire les messages parce que par défaut les services components sont indépendants du format du message.

A la place, un composant transport apporte le message et des transformers change l’objet du message dans un format compréhensible par le service component avant que le routeur ne lui transmette. Par exemple, si une facture xml est envoyé par http, le http transporte le message, les routeurs envoient le message à chaque service qui doivent le traiter, et les transformers change la facture du xml en objet comme attendu par le service.

Transparence

-Tout le transport, les transformations, et le routage du message sont complètement transparent pour le service component.

Les transformers sont essentiels pour échanger des données, parce qu’ils permettent à Mule de convertir les données dans un format compréhensible par un autre composant ou une autre application. Plus important, les données sont transformées seulement si besoin. A la place de convertir tous les messages dans un format commun, les messages et leurs données sont transformés seulement si pour le composant ou l’application cible, c’est nécessaire.

Changer le protocole d’accès sans toucher au métier

-Enfin, on peut utiliser différents types de transport pour gérer différents canaux, comme envoyer le message sur du HTTP et ensuite le forwarder sur du JMS après qu’il ait été traité par le service Customer Data Component.

- La séparation de la logique métier de l’envoi et de la transformation des messages permet une grande flexibilité dans la mise en place de l’architecture et fait que c’est plus simple de modifier la logique métier sans avoir à se soucier des divers formats dans lequel le message peut arriver.

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 31 août 2009

Jbpm 4 Tutorial: JBPM 4, which is BPMN compliant, simplifies his programming model

Now that, JBPM, has passed the difficult age of childhood, and that it is a very popular BPM framework, his adopted father RedHat (JBoss owner) has decided to change everything: programming model and schema database.

Its goal: to simplify the programming model, to increase the number of adoptions and to reinforce the shift to the PVM (Processs Virtual Machine).

Programming model revised

This version 4 JBPM is a complete rewrite from version 3: while retaining the basic principles: open source, 100% Java, concept of process, storage of instances and definitions of process into the database, based on Hibernate, assisted by IDE.

Many users jbpm 3 will agree with me that certain APIs are difficult and that they needed to write complex queries Hibernate, leading to several problems.

With the mixture of concepts in JBPM 3 APIs, methods are scattered in classes JbpmContext, GraphSession or TaskManager.

The JBPM 4’s team has rationalized all BPM concepts, around the API ProcessEngine.

Any use of JBPM starts by acquiring the services desired from ProcessEngine: the central node of BPM by RedHat.

Use the API as needed

  • RepositoryService: allows to manage static data processes: deployment, activation / deactivation request
  • ExecutionService: exposes runtime execution operations (for process instances): start executing process instances, manage variables, retrieve instances, etc.
  • TaskService: it is the modeling of human interaction: everything to manage tasks: create, search, assign, complete..

clip_image002[4]

Two other APIs have made their appearances:

  • HistoryService: In JBPM 4 there is a clear separation between the runtime and data archiving. This service provides statistical measurements and calculations performed by the engine. This API has no relation with the runtime: it discusses the history and times past. Through this service the historical data (instances completed, work performed) can be searched and presented a statistical study Later.
  • ManagementService: This API is intended for tools to manage processes telque famous JBPM console.

Database Schema simplified

clip_image003[4]

clip_image004[4]

Hibernate mapping is as follows

1:            <mapping resource="jbpm.repository.hbm.xml" /> 
2: <mapping resource="jbpm.execution.hbm.xml" />
3: <mapping resource="jbpm.history.hbm.xml" />
4: <mapping resource="jbpm.task.hbm.xml" />
5: <mapping resource="jbpm.identity.hbm.xml" />


A first test of the new version of JBPM: Version 4 JBPM



It is a simple example of a process containing two steps: one to display a message and another to launch a backup

JBPM 4 uses the notation BPMN 2.0



clip_image001



The XML version of this process definition:



1:  <?xml version="1.0" encoding="UTF-8"?> 
2: <process name="seconde_hello_de_OXIA" xmlns="http://jbpm.org/4.0/jpdl">
3: <start g="24,72,80,40">
4: <transition to="afficherMessage"/>
5: </start>
6: <java class="com.oxia.att.jbpm4.exemple.AfficherMessage" g="120,68,138,56" method="afficherMessage" name="afficherMessage">
7: <transition to="lancerBackup"/>
8: </java>
9: <end g="165,267,80,40" name="fin"/>
10: <state name="lancerBackup" g="143,147,92,52">
11: <transition name="to fin" to="fin" g="-30,-18"/>
12: </state>
13: </process>


The java class for Handling the message (very very simple ) :



1:  package com.oxia.att.jbpm4.exemple; 
2: public class AfficherMessage {
3: public void afficherMessage() {
4: System.out.println("****** début de passage par un Etat");
5: System.out.println(" Bonjour de OXIA!");
6: System.out.println("****** fin de passage par un Etat ");
7: }
8: }


To test this process in a Java project (very basic steps )



1:  public static void main(String[] args) { 
2: // get the ProcessEngine instance
3: ProcessEngine processEngine = new Configuration().setResource("oxia.att.jbpm.cfg.xml").buildProcessEngine();
4: // get one instance of the RepositoryService
5: RepositoryService repositoryService = processEngine.getRepositoryService();
6: // Deploy the process definition du processus
7: repositoryService.createDeployment().addResourceFromClasspath("com/oxia/att/jbpm4/exemple/first_Jbpm_Sample.jpdl.xml").deploy();
8: // get one instance of the ExecutionService
9: ExecutionService executionService = processEngine.getExecutionService();
10: ProcessInstance processinstance = executionService.startProcessInstanceByKey("hello_de_OXIA");
11: System.out.println( processinstance.getId());
12: System.out.println( processinstance.getState());
13: }


The Result:



1:  ****** début de passage par un Etat 
2: Bonjour de OXIA!
3: ****** fin de passage par un Etat
4: hello_de_OXIA.6
5: ended


Conclusion



RedHat has restructured JBPM 4 around a simplified API and a clear pattern of effective database.



Reste à vérifier les annonces concernant l’amélioration des performances : grâce au nouveau schéma de base de données, la récriture des classes de bases de Job executor et activities et l’amélioration de la gestion de la concurrence.



It remains to check the listings for improving performance: thanks to the new schema database, the rewriting the basic classes of Job executor and activities and improving concurrency management.









(fr)




  • Autre sujets



    1. Un peu de monitoring Métier (BAM) avec JBPM et SeeWhy (event-driven business intelligence )



    2. Comment modéliser un processus métier avec JBPM : exemple “gestion des entretiens”



    3. Quelle est la différence entre JBPM et Intalio ?



    4. Graph Oriented Programming (GOP) avec JBPM



    5. BPM & Moteur de workflow : l’offre open source



    6. La version 4 de JBPM prend le virage de BPMN



    7. Jbpm 4 Tutorial : JBPM 4 a simplifié son model de programmation et a confirmé l’orientation BPMN


  • 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.