Blog de la Comunidad de PHD 2014 Consultores - Bus de Servicio Empresarial.

www.phd2014consultores.com

viernes, 4 de julio de 2014

Creación de un Proxy Service en WSO2


En este taller vamos a crear un nuevo Proxy Service para agregarle secuencias básicas de entrada y salida y el escenario de seguridad UsenameToken para garantizar que los usuarios deban autenticarse para acceder al servicio.

Vamos a asumir que ya el entorno esta preparado para empezar a trabajar. Esto es, tenemos ya instalado y configurado:
- Apache 2 Web Server
- PHP 5.4
- Nusoap 0.9.5
- WSO2 ESB 4.8.1
- Un Web Service desarrollado en php y desplegado en Apache, podemos utilizar el ejemplo de WSFactorial almacenado aquí: 
WS Factorial.


1.- Iniciamos WSO2 y vamos a crear un nuevo Proxy Service seleccionando el tipo Custom Proxy.

Le damos el nombre CustomProxyTallerPHP. En la opción publishing WSDL seleccionamos Specify source URL y en WSDL URI pegamos la dirección de nuestro web service WSfactorial.php:


 

2.- Vamos a definir secuencias básicas de entrada y salida. Aquí tenemos la opción de usar los diferentes mediadores que nos ofrece WSO2. Para este taller vamos a implementar solo un log en la secuencia de entrada.

 

Este es el paso 2 de 3 en la creación de proxy service. Seleccionamos Define Inline en Define In Secuence y le damos al botón Create.

En el menú desplegable que aparece seleccionamos core y luego log.

 

En Define Endpoint seleccionamos nuevamente Define Inline y seguidamente Create.

 

Nos aparece una lista de los diferentes tipos de Endpoint que podemos usar, seleccionamos la primera: Address Endpoint.

 

En la entrada address colocamos nuevamente el url de nuestro web service taller.php.

 

Seleccionamos Save & Close y volvemos al paso 2 de 3 y damos next.

3.- Ahora vamos a definir la secuencia de salida.

En Define Out Secuence seleccionamos Define Inline y click en Create. Luego seleccionamos core y send. En Send Midiator dejamos la opción None.

 

Ya tenemos nuestro Proxy Service creado:

 

4.- Vamos a probar el servicio en dando click en Try this service

Si probamos usando el endpoint Soap 1.2 nos arroja un error

 

Si la cambiamos la versión a Soap 1.1 vemos que si funciona

 

5.- Ahora vamos a darle seguridad a nuestro Proxy Service

En la lista de servicios hacemos click en en la opción Unsecured de nuestro Proxy Service


En la opción Enable Security? elegimos Yes.


 

6.- Probemos de nuevo el servicio con el Try this service

Podemos ver que ahora aparece un encabezado “security” en el formulario de prueba.

Asegurémonos de seleccionar la versión Soap 1.1. En Username coloquemos: admin y en password: admin que son las credenciales del WSO2.

Colocamos un valor valido de búsqueda y le presionamos send.



 

Si volvemos a probar pero no le colocamos las credenciales del usuario admin o lo dejamos en blanco, debe devolver un error.

 

7.- Por último podemos habilitar SOAP Message Tracer para ver un poco más de la información que está viajando a través de HTTP.

En las opciones del menú de WSO2 vamos a la pestaña Monitor y le elegimos SOAP Tracer.

En la opción Enable SOAP Tracer? Seleccionamos Yes.

 

Nos vamos de nuevo al Try this service y volvemos a probar el servicio con el usuario válido.

Regresamos al SOAP Tracer y podemos ver lo que esta viajando por HTTP.

 

En la cónsola desde donde lanzamos el servidor de WSO2 debemos ver mensjaes del Log Mediator que definimos en la secuencia de entrada.


miércoles, 18 de junio de 2014

WSO2 - Taller 1: Instalación y Ejecución (Linux)


       ¿Qué haremos?

1.                  Ejercicio #1: Descargar WSO2 – Enterprise Service Bus.

2.                  Ejercicio #2: Instalar Pre-requisitos WSO2 – Enterprise Service Bus.

3.                  Ejercicio #3: Instalar WSO2 – Enterprise Service Bus.

4.                  Ejercicio #4: Ejecutar WSO2 – Enterprise Service Bus.


Ejercicio #1: Descargar WSO2 – Enterprise Service Bus

Siga las siguientes instrucciones para descargar WSO2 ESB. También puede descargar y generar el código fuente.

1.                  En su navegador web vaya a http://wso2.com/products/enterprise-service-bus/.

2.                  Sí es la primera vez que descargas un producto WSO2 deberás registrarte e iniciar sesión.

3.                  Luego de que inicies sesión deberás hacer clic en el botón “Binary” en la esquina superior derecha de la página.

4.                  La distribución binaria contiene los archivos binarios ESB para los sistemas operativos Linux y Windows. Comprimidos en un único archivo ZIP. Se recomienda esta distribución para muchos usuarios.


Ejercicio #2: Instalar Pre-requisitos WSO2 – Enterprise Service Bus

Instalación de Java:

1.                  Verifique que Java y Java Development Kit (JDK) sea la versión de Java por defecto se su Sistema Operativo. Para eso haga:

$> java -version



Si obtiene una respuesta parecida a la siguiente es porque no tiene instalada ninguna versión de Java en su Sistema.

The program 'java' can be found in the following packages:
 * default-jre
 * gcj-4.6-jre-headless
 * openjdk-6-jre-headless
 * gcj-4.5-jre-headless
 * openjdk-7-jre-headless
Try: apt-get install <selected package>

Si tienes instalada una versión obsoleta de Java, elimínala y crea un directorio para almacenar los binarios de JDK 7. Esto evitará que haya conflictos y confusión entre las distintas versiones de Java.     

$> sudo mkdir -p /usr/local/java

2.                  Descarga Jdk (última versión). Asegúrate de seleccionar los binarios correctos para tu sistema operativo.           

3.                  Copia los binarios en el directorio: “usr/local/java”, creado en el paso 1.

En la mayoría de los casos los binarios de JDK se descargan en: “home/<usuario>/Downloads”.

$> cd /home/<usuario>/Downloads
$> sudo cp -r <archivo_java>.tar.gz /usr/local/java/
$> cd /usr/local/java/

4.                  Ejecuta los siguientes comandos en los archivos “tar.gz” descargados. Asegúrate de hacerlo como root.

$> sudo -s
$> sudo chmod a+x <archivo_java>.tar.gz
$> sudo tar -xvzf <archivo_java>.tar.gz


5.                  Revisa los directorios. Hasta este momento deberás tener dos (2) directorios binarios en “/usr/local/java/”.     

6.                  Edita el archivo PATH del sistema “/etc/profile” y agrega las siguientes variables de sistema al PATH. Usa el editor de texto de tu preferencia, pero asegúrate de hacerlo como root para abrir “/etc/profile”.


$> sudo gedit /etc/profile

7.                  Desplázate hacia el final del archivo y agrega las siguientes líneas:

JAVA_HOME=/usr/local/java/jdk<versión>
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

8.                  Guarda el archivo y salte.

9.                  Informa a tu sistema donde está ubicado el JDK. Esto le dirá a tu sistema que hay una nueva versión nueva de Java.

$> sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk<versión>/bin/java" 1

Este comando notifica al sistema que JRE está listo para usarse.

$> sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk<versión>/bin/javac" 1

Este comando notifica al sistema que JDK está listo para usarse.

$> sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk<version>/bin/javaws" 1

Este comando notifica al sistema que Java Web Start está listo para usarse.

10.               Informa a tu sistema que el Java que acabas de instalar debe ser el Java por defecto.

$> sudo update-alternatives --set java  /usr/local/java/jdk<versión>/bin/java


$> sudo update-alternatives --set javac /usr/local/java/jdk<versión>/bin/javac


$> sudo update-alternatives --set javaws /usr/local/java/jdkversión>/bin/javaws

11.               Vuelve a cargar el PATH de tu sistema:

$> su - <nombre_usuario>

Este comando carga el archivo
“/etc/profile”. El PATH se volverá a cargar después de reiniciar tu sistema.       

12.               Prueba si el Java se instaló correctamente en tu sistema.         

$> java -version


Instalación de Apache Ant

1.                  Descargue la última versión de Apache Ant desde la página oficial http://ant.apache.org/bindownload.cgi

2.                  Coloquese en el directorio donde desea realizar la instalación, se recomienda “/home/<usuario>/app/”, realice los siguientes pasos:     

3.                  Descomprima el archivo con el siguiente comando:

$> tar -xvzf apache-ant-<version>-bin.tar.gz

4.                  Una vez terminada la instalación se recomienda cambiar el nombre del directorio “apache-ant-<version>-bin” a simplemente “ant”; quedando instalado en una ruta absoluta: “/home/<usuario>/app/ant/”.   

5.                  Ant requiere configurarse con diversas variables de entorno para su correcta operación.

6.                  Abra con un editor de texto el archivo “/etc/profile” y copie al final del mismo las siguientes líneas.          

ANT_HOME=/home/<usuario>/app/ant
PATH=$PATH:$ANT_HOME/bin
export ANT_HOME
export PATH

7.                  Luego cargue el archivo y reinicia tu sistema para cargar el PATH.

$> su - <nombre_usuario>


Instalación de Apache Maven

1.                  Descargue la última versión de Apache Maven desde la página oficial http://maven.apache.org/download.cgi

2.                  Colóquese en el directorio donde desea realizar la instalación, se recomienda “/home/<usuario>/app/”, realice los siguientes pasos:     

3.                  Descomprima el archivo con el siguiente comando:       

$> tar -xvzf apache-maven-<version>-bin.tar.gz

4.                  Maven requiere configurarse con diversas variables de entorno para su correcta operación.

5.                  Abra con un editor de texto el archivo “/etc/profile” y copie al final del mismo las siguientes líneas.

MAVEN_HOME=/home/<usuario>/app/apache-maven-<version>-bin
PATH=$PATH:$MAVEN_HOME/bin
export MAVEN_HOME
export PATH

6.                  Luego cargue el archivo y reinicia tu sistema para cargar el PATH.

$> su - <nombre_usuario>



Ejercicio #3: Instalar WSO2 – Enterprise Service Bus

1.                  Si no lo ha hecho, descargue la última versión del WSO2 ESB siguiendo los pasos del Ejercicio #1.

2.                  Descomprima el archivo “wso2esb-<version>.zip” en el directorio “/home/<usuario>/app”.

$> sudo cp -r wso2esb-<version>.zip /home/<usuario>/app/
$> sudo unzip wso2esb-<version>.zip
$> sudo rm *.zip


Ejercicio #4: Ejecutar WSO2 – Enterprise Service Bus

Iniciar el Servidor

1.                  Para iniciar el servidor, ejecuta el script “wso2server” en el directorio “bin/”.



2.                  Pero antes debemos asegurarnos de que sudo tenga correctamente configuradas las variables de entorno. Esto es porque cuando ejecutamos un comando con sudo se restean las variables de entorno para evitar que estemos tratando de engañar al comando que ejecutamos con sudo.       

Ahora bién,      

$> su - <usuario>
$> cd /home/<usuario>/app/wso2esb-<version>/bin/
$> sudo -E ./wso2server.sh

Con la opción -E podemos preservar el entorno del usuario <usuario>.

3.                  Cuando se ejecuta el servidor, el log muestra el mensaje:

WSO2 Carbon started in <n> sec

Ejecutar la Consola de Administración

1.                  Una vez que el servidor se ha iniciado, puede ejecutar la consola de administración, abra un navegador web y escriba la dirección URL de la consola de administración. La URL se muestra en el log. Por ejemplo:     

[2014-04-03 19:16:10,041]  INFO - CarbonUIServiceComponent Mgt Console URL  : https://10.230.187.97:9443/carbon/

2.                  Usted puede utilizar esta URL para acceder a la consola de administración en su ordenador desde cualquier otro ordenador conectado a Internet o LAN. Al acceder a la consola de administración desde el mismo servidor donde está instalado, puede escribir “localhost” en lugar de la dirección IP.

3.                  Puedes iniciar sesión con las credenciales “admin/admin”. Luego, puede utilizar la consola de administración para gestionar el WSO2 ESB. Las fichas y los elementos del menú en el panel de navegación de la izquierda pueden variar dependiendo de las características que se instalan. En nuestro caso, la Consola de Administración para WSO2 ESB.






4.                  Para obtener información de alguna página en particular haga clic en el enlace “Help”. Para abrir la documentación del WSO2 ESB haga clic en el enlace “Docs”.

5.                  Si deja la Consola de Administración desatendida, la sesión se interrumpirá. El valor de tiempo de espera predeterminado es de 15 minutos, pero se puede cambiar en el archivo: “/home/<usuario>/app/wso2esb-4.8.1/repository/conf/tomcat/carbon/WEB-INF/web.xml”.

<session-config>
    <session-timeout>15</session-timeout>
</session-config>


Detener el Servidor

1.                  Para detener el servidor es suficiente con presionar “Ctrl+C” o hacer clic en el enlace “Shutdown/Restart ” de la Consola de Administración.


sábado, 17 de mayo de 2014

Instalando Oracle Java 8 en Debian, Ubuntu o Canaima Linux

Para utilizar Apache Cassandra y otros programas desarrollados en Java, necesitamos instalar el kit de deasarrollo Oracle JDK. 

La versión de Java por defecto de éstas distribuciones de Linux, OpenJDK, actualmente tiene limitaciones que no permiten trabajar adecuadamente con el software que necesitamos. 


Instalación:


Añadimos los repositorios con:
sudo add-apt-repository ppa:webupd8team/java
Actualizamos los repositorios con:
sudo apt-get update
E instalamos la versión de Java que necesitemos:
  • Java 8:
sudo apt-get install oracle-java8-installer
Para comprobar que la instalación ha tenido éxito, ejecuta en una terminal el comando para saber la versión de Java que utiliza tu Ubuntu:
java -version
La terminal te debe devolver algo parecido a esto:
java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)

Si por algún motivo se refleja el uso de otra máquina virtual de java, como la Open Java, insertamos el siguiente comando:

sudo update-java-alternatives -s java-8-oracle