Qu'est-ce que Fuse?

JBoss Fuse est une solution ESB Open source de Redhat. Il s'agit d'une solution d'entreprise basée sur un projet communautaire, Apache Servicemix.

Intégration à Fuse

JBoss Fuse est une plate-forme d'intégration légère et flexible qui permet une intégration rapide des applications d'entreprise.

Fuse a été initialement développé par Progressive Software Inc. qui a été acquis par Redhat en 2012. JBoss Fuse 6.1.0.redhat-379 GA est une version stable de Fuse qui peut être téléchargée depuis leur site officiel.

Architecture

Fuse combine diverses technologies en un seul produit.

Composants

Apache CXF

Apache CXF est un cadre de développement de services Web open source qui prend également en charge le développement de services Web SOAP & Rest.

Chameau Apache

Apache Camel est un framework d'intégration basé sur EIP. Les modèles EIP ou d'intégration d'entreprise sont des solutions identifiées aux problèmes récurrents dans l'intégration d'entreprise. Une solution d'intégration complète peut être obtenue de manière fulgurante avec des combinaisons de ces modèles prédéfinis prêts à l'emploi.

Il permet d'écrire la logique de routage dans plusieurs langages spécifiques au domaine comme Java, Spring DSL et Scala, etc.

Apache AMQ

Apache AMQ est un JMS qui fournit un système de messagerie fiable selon les normes JMS. Il prend non seulement en charge la spécification JMS, mais fournit également des fonctionnalités intéressantes et utiles qui ne sont pas incluses dans les spécifications JMS.

Apache Karaf

Apache Karaf est un conteneur OSGi léger qui sert de moteur d'exécution pour les artefacts. Apache Karaf est de nature plus dynamique que JVM. Il permet d'installer ou de désinstaller des modules au moment de l'exécution. Tous les artefacts de Fuse sont déployés à Karaf.

en tissu

Fabric offre un moyen simple de gérer les déploiements d'artefacts dans un environnement étendu et distribué. Il fournit une gestion centralisée de toutes les instances de fusibles multiples.

Installation du fusible

L'installation de Fuse est assez simple. Comme d'autres produits JBoss, Fuse se présente sous la forme d'un fichier zip qui peut être extrait et après quelques modifications de configuration mineures, il peut être directement démarré.

L'installation de Fuse est un processus en quatre étapes -

Télécharger

Téléchargez Fuse 6.1.0 GA à partir du lien suivant. http://www.jboss.org/

Décompressez

Comme tous les autres produits JBoss, Fuse est également un zip indépendant de la plateforme.

Décompressez le fichier téléchargé dans le répertoire de destination que vous souhaitez utiliser comme répertoire d'installation de Fuse. Choisissez ce répertoire judicieusement car il doit rester le même pendant toute la durée de vie de l'instance Fuse.

Note - Même si Fuse se décompresse et démarre comme les autres produits JBoss, il n'est pas recommandé de déplacer l'installation de Fuse d'un emplacement à un autre une fois l'installation terminée.

Configurer

Après avoir décompressé Fuse, vous trouverez les répertoires suivants dans le répertoire extrait -

  • bin
  • etc
  • deploy
  • lib
  • licenses
  • extras
  • quickstarts

Sur lequel nous n'utiliserons que deux répertoires bin & etc.

Pratiquement après l'extraction de Fuse, nous devrions être en mesure de démarrer Fuse directement, mais cela lancera Fuse avec toutes les configurations par défaut, ce qui n'est pas conseillé pour l'environnement de production. Il est fortement recommandé d'effectuer les modifications suivantes avant de démarrer Fuse.

Définir les variables d'environnement

  • Définissez les variables d'environnement suivantes - JAVA_HOME

  • La variable doit pointer vers le répertoire d'installation java - M2_HOME

  • La variable doit pointer vers le répertoire d'installation de Maven - PATH

  • Définissez la variable de chemin pour inclure les exécutables Java et Maven.

les fenêtres

Sous Windows, les réglages peuvent être effectués en suivant les instructions ci-dessous -

Démarrer → Poste de travail → Clic droit → Propriétés → Paramètres système avancés → Variables d'environnement.

UNIX et clones

Pour chaque utilisateur, il existe un profil bash dans le *nixsystèmes d'exploitation. Nous pouvons ajouter ou modifier la variable système existante en modifiant ce fichier.

$ vi ~/.bash_proflle

Note- Toutes les modifications apportées à ce fichier sont permanentes. Il est fortement recommandé de faire une sauvegarde du fichier existant avant de changer l'original.

Configuration de base

Nous discuterons de la configuration de base de JBoss Fuse et pour cela nous devons commencer par la commande suivante Edit $FUSE_INSTALLATION_DIR/etc/

  • Dans user.properties

    • #admin=admin,admin

    • Cela doit être changé selon le premier administrateur avec le nom d'utilisateur que nous voulons, le deuxième administrateur avec le mot de passe, le troisième peut être conservé tel quel car il indique un rôle et n'oubliez pas de supprimer #

    • Par exemple - FuseAdmin = FusePAss, admin

  • Dans System.properties

    • karafName = racine

      • Cela indique le nom que vous souhaitez donner à l'instance Karaf.

      • Nous pouvons l'appeler tout ce que nous voulons, comme Cont1.

      • Assurez-vous que ce nom que vous donnez est un nom unique et n'est pas déjà utilisé par une autre instance de Fuse.

  • Dans org.ops4j.pax.web.cfg

    • Org.osgi.service.http.port = 8181

    • Cette propriété indique le port à utiliser pour accéder à l'interface basée sur le navigateur HAWTIO fournie par Fuse

    • HAWTIO est une interface de navigateur intégrée à Fuse qui est disponible à partir de la version 6.0

  • Dans org.ops4j.pax.url.mvn.cfg

    • org.ops4j.pax.url.mvn.localRepository = D: / référentiel

    • Cette propriété indique le chemin vers localRepository de notre Maven à partir duquel Fuse installera ses artefacts.

    • org.ops4j.pax.url.mvn.settings = D: /Maven/conf/settings.xml

    • Cette propriété indique settings.xml que Fuse doit utiliser pour obtenir des artefacts de Maven.

Configurer Maven

Maven est une condition préalable à l'installation de Fuse. Si vous ne savez pas ce qu'est maven, veuillez vous référer à

Maven est un outil intégré utilisé pour créer des artefacts Fuse. Fuse recherche d'abord dans le référentiel local Maven les artefacts lorsque nous émettons une commande pour installer l'artefact. Nous devons donc indiquer à Fuse où Maven est installé et le chemin du référentiel local de Maven.

Modifiez $ FUSE_INSTALLATION_DIR / etc /org.ops4j.paxurl.mvn.cfg

Mettez à jour les deux propriétés suivantes -

  • org.ops4j.pax.url.mvn.settings = $ M2_HOME / conf /settings.xml
  • org.ops4j.pax.url.mvn.localRepository = $ local_repo

Note - Veuillez changer $local_repo avec le chemin réel de votre référentiel local mentionné dans Mavens settings.xml.

Courir

Après avoir effectué les modifications de configuration de base, nous pouvons maintenant démarrer Fuse. Tous les fichiers binaires pour travailler avec Fuse se trouvent dans$FUSE_INSTALLATION_DIR.

Il existe deux façons de démarrer Fuse -

  • En utilisant ./fuse

    • Cela vous permettra de voir toute la progression et les journaux sur la même fenêtre dans laquelle vous avez démarré Fuse.

    • Il vous donnera la console Karaf dans le même terminal que celui indiqué ci-dessous.

Note- Cela démarrera le fusible en mode console, ce qui signifie que le processus de fusion sera également arrêté lorsque l'utilisateur se déconnecte de la session ou ferme le terminal, ce qui n'est pas souhaitable dans un scénario de production ou de développement. Ce script ne doit être utilisé que pour le débogage de Fuse.

  • En utilisant ./start

    • Cela n'affichera aucun journal à l'écran, pas même la progression, mais cela démarrera Fuse en arrière-plan et le service Fuse ne sera pas arrêté lorsque l'utilisateur quitte la session ou ferme le terminal.

    • Dans l'application du monde réel, ce type de comportement est souhaité. Le fusible doit fonctionner en arrière-plan même si nous fermons le terminal.

    • Si vous souhaitez vous connecter à Fuse fonctionnant en arrière-plan, vous pouvez utiliser client script qui se trouve dans le même dossier.

    • Vous devriez obtenir l'affichage comme indiqué dans la capture d'écran suivante.

    • La sortie du script client n'arrêtera pas le service Fuse. Cela fermera simplement la console Fuse.

HAWTIO

Fuse fournit également un accès GUI complet à celui-ci à l'aide de FMC (Fuse Management Console). Vous pouvez trouver l'interface graphique sur l'URL ci-dessoushttp://localhost:8181.

Tout ce que nous avons fait en exécutant des commandes peut également être fait en accédant à cette interface graphique basée sur un navigateur. Cela devient extrêmement utile lorsque nous avons plusieurs conteneurs et que nous fonctionnons dans un environnement Fabric.