Ciao, benvenuto nel nostro articolo di oggi su Apache ServiceMix. Lascia che ti dia una panoramica di cos'è ServiceMix e cosa puoi fare con esso. Apache ServiceMix è un contenitore di runtime per componenti dell'architettura orientata ai servizi, servizi Web o servizi di connettività di sistema legacy. Apache ServiceMix è un ESB (enterprise service bus) distribuito open source di classe enterprise basato sul modello SOA rilasciato con la licenza Apache. È una delle implementazioni open source più mature di un bus di servizio aziendale e un progetto di primo livello Apache. Apache ServiceMix fornisce un contenitore OSGi in cui possiamo eseguire, configurare e gestire istanze Camel e ActiveMQ e puoi esplorare gli altri servizi che può fornire.
Quindi, nel frattempo, mostreremo il tuo ServiceMix di stallo su una macchina CentOS 7 per distribuire alcuni percorsi di integrazione di base ed estendere il contenitore con alcune funzionalità aggiuntive.
Requisiti di sistema
Prima di iniziare l'installazione, dobbiamo preparare il nostro server CentOS 7 con alcuni requisiti di base. Sono necessari almeno 200 MB di spazio libero su disco per Apache, Karaf e poche altre distribuzioni binarie.
Connettiamoci al tuo server usando le credenziali sudo o utente root ed eseguiamo le seguenti attività,
Aggiornamento del sistema operativo
Esegui il comando come indicato di seguito per aggiornare il tuo sistema operativo con gli ultimi aggiornamenti e le patch mancanti.
# yum update
Configurazione Java
Per eseguire Apache ServiceMix stesso, avrai bisogno di Java Runtime Environment (JRE) 1.6.x (Java 6) o versione successiva. Assicurati che la variabile di ambiente JAVA_HOME debba essere impostata sulla directory in cui è installato Java runtime.
Puoi controllare la versione installata di Java e le impostazioni correnti delle tue variabili JAVA_HOME e PATH usando i comandi seguenti.
[root@servicemix ~]# java -version
java version "1.7.0_91"
[root@servicemix ~]# echo $JAVA_HOME
/usr/lib/jvm/jre
[root@servicemix ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Apache Maven
Apache Maven è uno strumento di comprensione e gestione dei progetti software. Basato sul concetto di un modello a oggetti di progetto (POM), Maven può gestire la creazione, il reporting e la documentazione di un progetto da un'informazione centrale. Esegui il comando seguente per installarlo sul tuo server prima di installare Apache ServiceMix.
# ]# wget http://www.eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
Ora estrailo nella directory '/usr/local/' usando il comando seguente.
# tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /usr/local/
Ora cambia la directory nella cartella '/usr/local/' e crea un collegamento software con il comando seguente.
#cd /usr/local/
# ln -s apache-maven-3.3.9 maven
Ora configureremo il percorso Maven a livello di sistema creando un nuovo file e aggiungendo i parametri come mostrato di seguito.
# vim /etc/profile.d/maven.sh
export M2_HOME=/usr/local/maven
export PATH=${M2_HOME}/bin:${PATH}
Dopo aver salvato il file è necessario disconnettersi e quindi accedere nuovamente per implementare le variabili di ambiente. Quindi, per verificare la corretta installazione di maven, controlla la versione di maven utilizzando il comando seguente.
# mvn -version

Scarica Apache ServiceMix
Dopo aver configurato Java, è necessario scaricare Apache ServiceMix scegliendo il pacchetto richiesto.

Copia l'indirizzo del link sorgente e scaricalo usando il comando wget nel tuo server.
]# wget http://archive.apache.org/dist/servicemix/servicemix-4/4.5.3/apache-servicemix-4.5.3.tar.gz
Usa il comando seguente per estrarre il pacchetto.
# tar -zxvf apache-servicemix-4.5.3.tar.gz
Installazione di Apache ServiceMix
Cambia la tua directory nella directory 'bin' del tuo pacchetto estratto ed esegui il seguente comando per avviare l'installazione di ServiceMix come mostrato di seguito.
[root@servicemix ~]# cd apache-servicemix-4.5.3/bin/
[root@servicemix bin]# ./servicemix

Utilizzo di Apache ServiceMix Console
Abbiamo installato e avviato con successo Apache ServiceMix. Ora ti mostreremo come puoi gestire la tua istanza ServiceMix, aggiungere e rimuovere bundle e installare funzionalità opzionali.
Esegui il comando seguente per ottenere un elenco di tutti i bundle attualmente installati sul tuo server.
karaf@root> osgi:list

Se stai cercando qualcosa di specifico nell'elenco, puoi utilizzare pipe e utilità simili a Unix per aiutarti. Ad esempio, esegui il comando seguente per vedere tutti i bundle relativi ad Apache nell'elenco.
karaf@root> osgi:list | grep Apache

Molte delle applicazioni che scrivi avranno una qualche forma di output del registro. Per guardare il messaggio nel file di registro, puoi usare il comando log:diplay.
karaf@root> log:display
karaf@root> log:display-exception
Caratteristiche opzionali
Puoi aprire l'elenco delle funzionalità usando il comando 'features:list'. La panoramica mostra se la funzionalità è attualmente installata o meno, la versione e il nome della funzionalità come mostrato di seguito.
karaf@root> features:list

Per installare la console Web in ServiceMix, installa la funzione dalla tua console utilizzando il comando mostrato di seguito.
Caratteristiche dikaraf@root> features:install webconsole
Ora verifica che la funzionalità sia contrassegnata come installata nella panoramica eseguendo il comando seguente per grep la webconsole.
Caratteristiche dikaraf@root> features:install webconsole

Ora potrai puntare il tuo browser su http://localhost:8181/system/console e accedere con utente 'smx' e password 'smx' per accedere alla console web.

Dalla console web, ora puoi avviare e interrompere bundle, configurare impostazioni, installare funzionalità opzionali o visualizzare le informazioni di sistema, tutto dalla console web come mostrato di seguito.

Conclusione
Alla fine di questo articolo abbiamo appreso una delle implementazioni open source più mature di un bus di servizio aziendale e un progetto Apache di primo livello che è Apache ServiceMix. Sicuramente ServiceMix non è la prima scelta per lo sviluppo di applicazioni, in termini di software desktop. Ma se devi gestire ambienti più complessi, in cui sono coinvolte applicazioni diverse e devono interagire tra loro, un bus di servizio aziendale può alleviare notevolmente l'onere di gestire tali sistemi.