Hola, bienvenido a nuestro artículo de hoy sobre Apache ServiceMix. Permítame darle una descripción general de lo que es ServiceMix y lo que puede hacer con él. Apache ServiceMix es un contenedor de tiempo de ejecución para componentes de arquitectura orientados a servicios, servicios web o servicios de conectividad de sistemas heredados. Apache ServiceMix es un bus de servicios empresariales distribuidos (ESB) de código abierto de clase empresarial basado en el modelo SOA publicado bajo la licencia de Apache. Es una de las implementaciones de código abierto más maduras de un bus de servicio empresarial y un proyecto de nivel superior de Apache. Apache ServiceMix proporciona un contenedor OSGi en el que podemos ejecutar, configurar y administrar instancias de Camel y ActiveMQ y puede explorar los otros servicios que puede proporcionar.
Entonces, mientras tanto, mostraremos su ServiceMix de parada en la máquina CentOS 7 para implementar algunas rutas de integración básicas y ampliar el contenedor con algunas funciones adicionales.
Requisitos del sistema
Antes de comenzar con la instalación, debemos preparar nuestro servidor CentOS 7 con algunos requisitos básicos. Se requieren al menos 200 MB de espacio libre en disco para Apache, Karaf y algunas otras distribuciones binarias.
Conectémonos a su servidor usando las credenciales de usuario sudo o root y realicemos las siguientes tareas,
Actualización del sistema operativo
Ejecute el comando como se indica a continuación para actualizar su sistema operativo con las últimas actualizaciones y los parches faltantes.
# yum update
Configuración Java
Para ejecutar Apache ServiceMix, necesitará Java Runtime Environment (JRE) 1.6.x (Java 6) o superior. Asegúrese de que la variable de entorno JAVA_HOME debe establecerse en el directorio donde está instalado el tiempo de ejecución de Java.
Verifica la versión instalada de Java y la configuración actual de sus variables JAVA_HOME y PATH usando los siguientes comandos.
[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
Experto Apache
Apache Maven es una herramienta de comprensión y gestión de proyectos de software. Basado en el concepto de un modelo de objetos de proyecto (POM), Maven puede administrar la construcción, los informes y la documentación de un proyecto desde una pieza central de información. Ejecute el siguiente comando e instálelo en su servidor antes de instalar Apache ServiceMix.
# ]# wget http://www.eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
Ahora extraiga esto al directorio '/usr/local/' usando el siguiente comando.
# tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /usr/local/
Ahora cambie el directorio a la carpeta '/usr/local/' y cree un enlace suave con el siguiente comando.
#cd /usr/local/
# ln -s apache-maven-3.3.9 maven
Ahora configuraremos la ruta Maven en todo el sistema creando un nuevo archivo y agregando los parámetros como se muestra a continuación.
# vim /etc/profile.d/maven.sh
export M2_HOME=/usr/local/maven
export PATH=${M2_HOME}/bin:${PATH}
Después de guardar el archivo, debe cerrar sesión y luego volver a iniciar sesión para implementar las variables de entorno. Luego, para verificar la instalación exitosa de maven, verifique la versión de maven usando el siguiente comando.
# mvn -version
Descargar Apache ServiceMix
Después de configurar Java, debe descargar Apache ServiceMix eligiendo el paquete requerido.
Copie la dirección del enlace de origen y descárguelo usando el comando wget en su servidor.
]# wget http://archive.apache.org/dist/servicemix/servicemix-4/4.5.3/apache-servicemix-4.5.3.tar.gz
Use el siguiente comando para extraer el paquete.
# tar -zxvf apache-servicemix-4.5.3.tar.gz
Instalación de Apache Service Mix
Cambie su directorio al directorio 'bin' de su paquete extraído y ejecute el siguiente comando para iniciar la instalación de ServiceMix como se muestra a continuación.
[root@servicemix ~]# cd apache-servicemix-4.5.3/bin/
[root@servicemix bin]# ./servicemix
Uso de la consola Apache ServiceMix
Hemos instalado e iniciado con éxito Apache ServiceMix. Ahora le mostraremos cómo puede administrar su instancia de ServiceMix, agregar y eliminar paquetes e instalar funciones opcionales.
Ejecute el siguiente comando para obtener una lista de todos los paquetes actualmente instalados en su servidor.
karaf@root> osgi:list
Si está buscando algo específico en la lista, puede usar tuberías y utilidades similares a Unix para ayudarlo. Solo, por ejemplo, ejecute el siguiente comando para ver todos los paquetes relacionados con Apache en la lista.
karaf@root> osgi:list | grep Apache
Muchas de las aplicaciones que escriba tendrán algún tipo de salida de registro. Para ver el mensaje en el archivo de registro, puede usar el comando log:diplay.
karaf@root> log:display
karaf@root> log:display-exception
Funciones opcionales
Puede abrir la lista de características usando el comando 'características:lista'. La descripción general le muestra si la función está instalada actualmente o no, la versión y el nombre de la función como se muestra a continuación.
karaf@root> features:list
Para instalar la consola web en ServiceMix, instale la función desde su consola usando el comando como se muestra a continuación.
Características dekaraf@root> features:install webconsole
Ahora verifique que la función esté marcada como instalada en la descripción general ejecutando el siguiente comando para grep la consola web.
Características dekaraf@root> features:install webconsole
Ahora podrá dirigir su navegador a http://localhost:8181/system/console e iniciar sesión con el usuario 'smx' y la contraseña 'smx' para acceder a la consola web.
Desde la consola web, ahora puede iniciar y detener paquetes, configurar ajustes, instalar funciones opcionales o ver información del sistema, todo desde su consola web, como se muestra a continuación.
Conclusión
Al final de este artículo, hemos aprendido una de las implementaciones de código abierto más maduras de un bus de servicio empresarial y un proyecto de nivel superior de Apache que es Apache ServiceMix. ServiceMix seguramente no es la primera opción para el desarrollo de aplicaciones, en términos de software de escritorio. Pero si tiene que lidiar con entornos más complejos, donde están involucradas diferentes aplicaciones y necesitan interactuar entre sí, un bus de servicio empresarial puede aliviar en gran medida la carga de lidiar con dichos sistemas.