Cos'è Fuse?

JBoss Fuse è una soluzione ESB open source di Redhat. È una soluzione aziendale basata su un progetto comunitario, Apache Servicemix.

Integrazione a Fuse

JBoss Fuse è una piattaforma di integrazione leggera e flessibile che consente una rapida integrazione delle applicazioni aziendali.

Fuse è stato inizialmente sviluppato da Progressive software Inc., che è stata acquisita da Redhat nel 2012. JBoss Fuse 6.1.0.redhat-379 GA è una versione stabile di Fuse che può essere scaricata dal loro sito ufficiale.

Architettura

Fuse combina varie tecnologie insieme in un unico prodotto.

Componenti

Apache CXF

Apache CXF è un framework di sviluppo di servizi web open source che supporta anche lo sviluppo di servizi web SOAP & Rest.

Cammello Apache

Apache Camel è un framework di integrazione basato su EIP. I modelli EIP o Enterprise Integration sono soluzioni identificate ai problemi ricorrenti in Enterprise Integration. Una soluzione di integrazione completa può essere ottenuta in modo rapido con combinazioni di questi modelli predefiniti fuori dagli schemi.

Consente di scrivere la logica di routing in diversi linguaggi specifici del dominio come Java, Spring DSL e Scala ecc.

Apache AMQ

Apache AMQ è un JMS che fornisce un sistema di messaggistica affidabile secondo gli standard JMS. Non solo supporta le specifiche JMS, ma fornisce anche alcune funzioni interessanti e utili che non sono incluse nelle specifiche JMS.

Apache Karaf

Apache Karaf è un container OSGi leggero che funge da runtime per gli artefatti. Apache Karaf è di natura più dinamica rispetto a JVM. Permette di installare o disinstallare moduli in fase di runtime. Tutti gli artefatti in Fuse sono schierati a Karaf.

Tessuto

Fabric fornisce un modo semplice per gestire le distribuzioni di artefatti in un ambiente ampio e distribuito. Fornisce una gestione centralizzata per tutte le istanze multiple di fusibili.

Installazione del fusibile

L'installazione di Fuse è abbastanza semplice. Come altri prodotti JBoss, Fuse si presenta come un file zip che può essere estratto e dopo alcune piccole modifiche alla configurazione può essere avviato direttamente.

L'installazione di Fuse è un processo in quattro fasi:

Scarica

Scarica Fuse 6.1.0 GA dal seguente link. http://www.jboss.org/

Decomprimere

Come tutti gli altri prodotti JBoss, anche Fuse è uno zip indipendente dalla piattaforma.

Decomprimere il file scaricato nella directory di destinazione che si desidera utilizzare come directory di installazione di Fuse. Scegli questa directory con saggezza poiché dovrebbe rimanere la stessa per tutta la durata dell'istanza di Fuse.

Note - Anche se Fuse si decomprime e si avvia come altri prodotti JBoss, non è consigliabile spostare l'installazione di Fuse da una posizione a un'altra una volta completata l'installazione.

Configura

Dopo aver decompresso Fuse, troverai le seguenti directory all'interno della directory estratta:

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

Di cui useremo solo due directory bin & etc.

Praticamente dopo aver estratto Fuse, dovremmo essere in grado di avviare direttamente fuse, ma questo avvierà Fuse con tutte le configurazioni predefinite che non è consigliabile per l'ambiente di produzione. Si consiglia vivamente di apportare le seguenti modifiche prima di avviare Fuse.

Imposta le variabili d'ambiente

  • Imposta le seguenti variabili d'ambiente: JAVA_HOME

  • La variabile dovrebbe puntare alla directory di installazione di java - M2_HOME

  • La variabile dovrebbe puntare alla directory di installazione di Maven - PATH

  • Imposta la variabile di percorso per includere eseguibili Java e Maven.

finestre

Su Windows, le impostazioni possono essere effettuate seguendo le istruzioni fornite di seguito:

Start → Risorse del computer → Fare clic con il pulsante destro del mouse → Proprietà → Impostazioni di sistema avanzate → Variabili d'ambiente.

UNIX e cloni

Per ogni utente c'è un profilo bash nel file *nixsistemi operativi. Possiamo aggiungere o modificare la variabile di sistema esistente cambiando questo file.

$ vi ~/.bash_proflle

Note- Eventuali modifiche in questo file sono permanenti. Si consiglia vivamente di eseguire un backup del file esistente prima di modificare l'originale.

Configurazione di base

Discuteremo della configurazione di base di JBoss Fuse e per questo dobbiamo iniziare con il seguente comando Edit $FUSE_INSTALLATION_DIR/etc/

  • In user.properties

    • #admin=admin,admin

    • Questo deve essere modificato in base al primo amministratore con il nome utente che vogliamo, il secondo amministratore con la password, il terzo potrebbe essere mantenuto così com'è perché indica un ruolo e non dimenticare di rimuovere #

    • Ad esempio: FuseAdmin = FusePAss, admin

  • In System.properties

    • karafName = root

      • Questo indica il nome che vuoi dare all'istanza di Karaf.

      • Possiamo chiamarlo come vogliamo come Cont1.

      • Assicurati che il nome che fornisci sia univoco e non sia già utilizzato da un'altra istanza di Fuse.

  • In org.ops4j.pax.web.cfg

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

    • Questa proprietà indica la porta che deve essere utilizzata per accedere all'interfaccia basata su browser HAWTIO fornita da Fuse

    • HAWTIO è un'interfaccia browser integrata per Fuse disponibile dalla 6.0 in poi

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

    • org.ops4j.pax.url.mvn.localRepository = D: / repository

    • Questa proprietà indica il percorso per localRepository del nostro Maven da cui Fuse installerà i suoi artefatti.

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

    • Questa proprietà indica settings.xml che Fuse dovrebbe usare per ottenere artefatti da Maven.

Configurazione di Maven

Maven è un prerequisito per l'installazione di Fuse. Se non sai cosa sia Maven, fai riferimento ahttp://www.tutorialspoint.com/maven/

Maven è uno strumento costruito utilizzato per costruire artefatti Fuse. Fondere le prime ricerche nel repository locale di Maven per gli artefatti quando emettiamo il comando per installare l'artefatto. Quindi dobbiamo far sapere a Fuse dove è installato Maven e il percorso del repository locale di Maven.

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

Aggiorna le seguenti due proprietà:

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

Note - Per favore cambia $local_repo con il percorso effettivo del tuo repository locale menzionato in Mavens settings.xml.

Correre

Dopo aver apportato modifiche alla configurazione di base, ora possiamo avviare Fuse. Tutti i file binari in cui lavorare con Fuse si trovano in$FUSE_INSTALLATION_DIR.

Ci sono due modi per avviare Fuse:

  • Utilizzando ./fuse

    • Ciò ti consentirà di vedere tutti i progressi e i log nella stessa finestra in cui hai avviato Fuse.

    • Ti darà la console Karaf nello stesso terminale come mostrato di seguito.

Note- Questo avvierà il fusibile in modalità console, il che significa che il processo di fusibile verrà interrotto anche quando l'utente si disconnette dalla sessione o chiude il terminale, cosa non desiderabile nello scenario di produzione o sviluppo. Questo script dovrebbe essere usato solo per il debug di Fuse.

  • Utilizzando ./start

    • Questo non mostrerà alcun registro sullo schermo, nemmeno l'avanzamento, ma avvierà Fuse in background e il servizio Fuse non verrà interrotto quando l'utente esce dalla sessione o chiude il terminale.

    • Nell'applicazione del mondo reale, questo tipo di comportamento è desiderato. Fuse dovrebbe essere in esecuzione in background anche se chiudiamo il terminale.

    • Se vuoi connetterti a Fuse in esecuzione in background, puoi usare client script che si trova nella stessa cartella.

    • Dovresti ottenere il display come mostrato nello screenshot seguente.

    • L'uscita dallo script client non interromperà il servizio Fuse. Chiuderà semplicemente la console di Fuse.

HAWTIO

Fuse fornisce anche un accesso GUI completo ad esso utilizzando FMC (console di gestione dei fusibili). Puoi trovare la GUI sul seguente URLhttp://localhost:8181.

Tutto ciò che abbiamo fatto eseguendo i comandi può essere fatto anche accedendo a questa GUI basata su browser. Diventa estremamente utile quando abbiamo più di un container e siamo in esecuzione in un ambiente Fabric.