Mostrando entradas con la etiqueta application server. Mostrar todas las entradas
Mostrando entradas con la etiqueta application server. Mostrar todas las entradas

miércoles, 29 de mayo de 2013

StratosLive, la propuesta de WSO2 en PaaS. Ejemplos prácticos.

StratosLive es una Plataforma como servicio ,o Paas, desplegada en Amazon usando Stratos, la solución para la nube de WSO2.
Quisiera mostrarles un ejemplo de cómo se puede emplear para el despliegue de aplicaciones y servicios.

El escenario en cuestión es el siguiente:
  • Se tiene una aplicación web en Java que se desea desplegar en una Nube Pública.
  • Se conoce de StratosLive como una PaaS y se desea probar como es este proceso.
En el ejemplo se está usando la aplicación del framework Axis2 para ser desplegada en la Nube. Para seguir el ejemplo esta aplicación se puede descargar de aquí y  bajar su .war que está en un fichero .zip.
StratosLive usa Apache Tomcat por debajo, como todas las aplicaciones de WSO2, por eso es que es tan fácil ya desplegar aplicaciones web con WSO2. Lo que debemos hacer entonces ahora es registrarnos en la Nube.



La información que deben introducir es la siguiente:
  • Dominio.
  • El tipo de pago que se hará, si solo se quiere usar como prueba seleccionen Demo.
  • Nombre y Apellidos.
  • Usuario y contraseña.
  • Dirección de correo electrónico.


Una vez pasado el registro recibirán un correo para validar su cuenta y darles acceso al sistema. Al cual podrán entrar usando su usuario@dominio.

Luego es lo mismo que con el AS normal, van a Manage->Web Applications->Add


Dan clic en “Choose File” y seleccionan su war, en este caso el de axis2 pero puede ser cualquier otro.

Una vez que se cargue pueden ver la aplicación en Manage->Web Applications->List

Como se ve en la imagen se pueden hacer varias cosas con la aplicación, borrarla, recargarla o detenerla y además se puede ir a la aplicación dando donde dice “Go To URL”.
Si damos clic en el nombre de la aplicación en la columna Context veremos algo como esto:
Aquí se pueden ver las sesiones activas, expiradas, la cantidad máxima de sesiones, las rechazadas y algunas estadísticas más siempre interesantes para saber como va ejecutándose la aplicación.
Para probar la aplicación debemos dar clic donde decía “Go To URL” y veremos lo siguiente:
La página clásica del framework de axis2.
A partir de aquí todo es como se trabaja normalmente con axis2 desplegado en un contenedor de aplicaciones para Java.
Cosas interesantes:
  • Ya no necesitamos un contenedor de aplicaciones para desplegar las aplicaciones que hagamos. Tampoco hay que preocuparse por configurarlo.
  • No necesitamos configurar un servidor y darle salida a internet.
  • Podemos usar las potencialidades de Stratos para desplegar no solo la aplicación si no su BD y usar varios de los patrones de integración en la Nube que existen con el objetivo de asegurar las comunicaciones.
  • Iremos pagando en función de lo que usemos.

Los invito a crear una cuenta en StratosLive y a probar todos los ejemplos que vaya poniendo aquí en dicha solución. Así no tendrán que descargarse y configurar las herramientas de WSO2 y podrán probar esta magnífica solución.
De momento creo que podrían ir desplegando el servicio, tal y como hicimos en esta entrada

jueves, 23 de mayo de 2013

Desplegando un servicio Axis2 en el Application Server de WSO2

En esta entrada veremos como desplegar el servicio axis2 que creamos en la entrada anterior.

Para ello nos descargamos la instalación del Application Server versión 5.1.0 del siguiente sitio.

Una vez tengamos el .zip lo descompactamos, vamos a la carpeta [AS]/bin/ y ejecutamos el fichero wso2server.sh si estamos en Linux o wso2server.bat si estamos en Windows. [AS] es donde descompactamos el .zip.

Aquí pueden ver lo que tiene el .zip adentro.

Una vez que se inicie el servidor si se fijan en la consola podrán ver que muestra la URL que deben poner en el navegador para tener acceso a la herramienta. Tengan en cuenta también que por defecto  el usuario es admin y la contraseña es admin.

Por defecto la URL tiene esta estructura: https://IP:9443/carbon/ donde IP es la IP de su máquina, aunque también pueden poner el nombre.
Cuando entran a esa URL la página que se les muestra es la siguiente:

Ahí ponen usuario y contraseña y listo.
Una vez que entren buscan en el menú la opción “AAR Service”, dan clic y verán esta pantalla.
Es la que se usa para desplegar un archivo .aar así que da clic en el botón que dice “Examinar” buscan donde tienen su servicio, el primero que creamos, y lo despliegan dando clic en el botón Upload.
Deben de esperar unos segundos y refrescar la página para que vean el servicio.

El servicio en mi caso se llama “Holamundo” y eso es porque ese es el nombre que tiene en el fichero services.xml como pueden ver en la entrada anterior.
Para ver su WSDL basta con que den clic en WSDL1.1 y si quieren probar el servicio dan clic donde dice “Try it”.

Cuando le den al try it verán una página como esta.
Vean que le cambié la posición a horizontal para que se viera bien todo el XML del mensaje.

Cuando entren un nombre y un apellido y le den al botón “Send” les dará un error. Así que ya saben, no se preocupen. La causa está en que este servicio está inicialmente para desplegarse en una instalación de axis2, pero no en el Application Server y si se fijan en el endpoint verán que no apunta al puerto por el que escucha el Application Server si no por el 8080 como si fuera a desplegarse en axis2.

La solución es bastante sencilla y me permite enseñarles un poco más de la herramienta.
Debemos ir al dashboard del servicio: listamos todos los servicios, damos clic en el nombre del servicio y ya estamos en el dashboard. Luego damos clic donde dice “parameters” y veremos algo como esto:


Damos clic en “Add New” y ponemos el nombre “modifyUserWSDLPortAddress” damos OK y luego cambiamos esto “TODO: Enter value here” por esto “true”.

Le damos al botón Update y listo. Así le hemos dicho al Application Server que para este servicio modifique los puertos para que se correspondan con las herramientas.
Ahora vuelven a probar

Y ya pueden ver como tiene bien el endpoint. Esto una vez que se aprende se puede hacer en el mismo services.xml de la implementación del servicio cuando se está trabajando en el developer studio.

Cuando le dan al botón Send, la respuesta nos dice.


Y así probamos ya el primer servicio.

El segundo caso es casi lo mismo, aquí lo único que hice fue cambiarle el nombre al servicio en el WSDL que estoy usando, aunque si hubiera tenido el mismo nombre aún se lo hubiera podido cambiar en el fichero services.xml.
Lo desplegamos de la misma forma y cuando vamos a probarlo vemos lo siguiente.

Como ven ya en este caso tenía bien el puerto porque el parámetro se añadió automáticamente al services.xml cuando el servicio se creó desde un WSDL.
Le puse nombre y apellidos y la respuesta es la siguiente:

Y eso es todo.

En otra entrada veremos cómo crear un cliente para un servicio axis2 desde JAVA también usando el Developer Studio de WSO2.