martes, 27 de mayo de 2008

spring: Publicar miembros static

La documentacion de Spring framework explica claramente como hacerlo. Lo que debe hacer es utilizar el FieldRetrievingFactoryBean, que es un FactoryBean especifico para realizar esta tarea.
< id="field" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
< name="staticField" value="">
o
< id="" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
A partir de Spring 2.0 es posible hacerlo tambien de la siguiente manera:
< field="">
Vinculos:

soapui: Cliente para consumir un Web Service con Apache CXF

SoapUI ofrece una interfaz a la herramienta de consola wsdl2java incluida en la distribucion de Apache CXF.

Configuracion de Apache CXF en SoapUI

Asegurece de disponer de SoapUI y Apache CXF instalados en su sistema. Verifique que SoapUI dispone de la configuracion requerida para ejecutar las herramientas provistas por CXF. Para hacerlo, acceda al menu File -> Preferencies en SoapUI y aparecera la ventana de preferencias. Active la solapa con el nombre "Tools" como se muestra en la imagen:

Para el item CXF 2.x ingrese la ubicacion donde se encuentra instalado Apache CXF y luego presione el boton "Ok".

Una vez que CXF esta configurado en SoapUI es posible comenzar con el proceso de generacion de codigo.

Generacion de codigo con CXF mediante SoapUI

En SoapUI, seleccione el menu Tools -> Apache CXF y la siguiente ventana aparecera:

La solapa que aparece activa es la primera, con el nombre "Basic". Introduzca la ubicacion del WSDL, local o remoto, y especifique la ruta donde el codigo generado es alojado. Seleccione la ultima opcion, "All Code", para generar todo el codigo posible.
Luego active la solapa "Advanced" que tiene la siguiente apariencia:

Asegurese de seleccionar la opcion "Compile" y especifique la ubicacion donde las clases compiladas seran alojadas.
Solo resta presionar el boton "Generate" y una ventana mostrando el progreso de la generacion de codigo aparecera:

Al finalizar el proceso, aparecera un mensaje informandolo:

Podra encontrar en las ubicaciones configuradas el codigo fuente generado a partir del WSDL y la compilacion.

Vinculos:

jueves, 22 de mayo de 2008

soapui: Configurar Apache TcpMon en SoapUI 2.0

Configurar SoapUI para ejecutar TcpMon

Seleccione el menu File -> Preferencies y podra observar la ventana de preferencias de SoapUI. Active la solapa "Tools", para poder configurar la ubicacion de TcpMon:

Para definir la ubicacion de TcpMon, presione el boton "Browse" y busque en el sistema de archivos. Puede observar en la figura como TcpMon fue configurado en la ubicacion:
C:\tcpmon-1.0-bin
En la version 2.0 de SoapUI la forma de configurar TcpMon es igual, solo cambiar la distribucion de las solapas en la ventana de preferencias:

Luego, para ejecutar TcpMon desde SoapUI seleccion el menu Tools -> Launch TcpMon.

Vinculos:

miércoles, 14 de mayo de 2008

wtp: Configurar Tomcat como Server Runtime en Eclipse

Instalar WTP

Para comenzar, debera disponer de WTP instalado en su entorno Eclipse. De no ser asi, hagalo antes de continuar.

Instalar Tomcat

Debido a que se agregara Tomcat como Server Runtime, es necesario que tambien disponga de alguna de las versiones disponibles de este contenedor de servlets. De no ser asi, instale una primero. En este caso se trabajara con la version 6.

Configurar Tomcat como Server Runtime

Acceda al menu Window -> Preferencies para comenzar con la configuracion de Tomcat como Server Runtime:


Localice el item "Server" y expandalo. Seleccione entonces la opcion "Installed Runtimes":


Presione el boton "Add..." para agregar un nuevo Server Runtime, una nueva ventana aparecera:


Localice el item "Apache" y expandalo, seleccione luego la opcion "Apache Tomcat v6.0" y presione el boton Next. La siguiente pantalla del wizard aparecera:


Configure el directorio de instalacion de Tomcat presionando el boton "Browse..." y buscando en el arbol de directorios la ubicacion. Luego presione el boton "Finish". Podra observar entonces en la ventana de Preferencias que Tomcat 6 aparece listado como un Server Runtime instalado.
Presione "OK" para finalizar y proceder a comprobar la instalacion.

Ejecutar Tomcat desde Eclipse

Acceda al menu Window -> Show View -> Other para seleccionar la vista de servidores:


Una vez que la ventana "Show View" aparece, localice en la lista de vistas la que tiene el nombre "Server" y expandala. Seleccione alli la opcion "Servers" y presione el boton "OK":


Podra observar que la vista de servidores aparece en la parte inferior de Eclipse:


Presione luego el boton de inicio para ejecutar Tomcat desde Eclipse. La barra de estado mostrara el progreso de la tarea mientras que la columna "State" de la vista de servidores mostrara la leyenda "Starting...".
Si Tomcat se ejecuta exitosamente, podra observar que la columna "State" muestra la leyenda "Started".
En la vista "Console" debera encontrar la salida generada por Tomcat durante el proceso de inicio. La ultimas lineas deberan ser similares a las siguientes:
May 15, 2008 1:19:29 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2577 ms
Vinculos:

lunes, 12 de mayo de 2008

soa: Que es y porque

SOA es el paradigma que permite crear sistemas distribuidos escalables y mantener su flexibilidad a medidad que crecen. Ademas permite acortar la brecha entre quienes estan mas cerca del negocio y quienes estan mas cerca de la tecnologia.

SOA se nutre de los siguientes elementos:
  • Servicios
  • Infraestructura
  • Politicas y procesos
Los sistemas distribuidos integrados mediante SOA tienen las siguientes caracteristicas:
  • Contienen codigo legacy: SOA no implica empezar de nuevo
  • Son heterogeneos: Diversas plataformas, lenguajes de programacion, etc. conviven
  • Son maduros: El sistema y los datos que administra han evolucionado con el tiempo
  • Son complejos
  • Tiene diversos duenos: Distintos equipos, organizaciones, presupuestos, calendarios, etc.
  • Son redundantes: Parte necesaria, parte accidental.
Los conceptos presentados en este articulo fueron extraidos del libro "SOA in Practice: The Art of Distributed System Design (Theory in Practice)" by Nicolai M. Josuttis.

Vinculos:

tptp: Instalacion del runtime de TPTP en Eclipse

Descargue el runtime de TPTP desde el sitio de Eclipse. Luego emplee la facilidad de Eclipse llamada "Software Updates" para instalar el runtime. Mediante el menu principal seleccione Help -> Software Updates -> Find and Install..., como se muestra en la imagen:


Debera definir un nuevo sitio local, presionando el boton "New Local Site". Seleccione la ubicacion donde se encuentra el runtime de TPTP y agreguele al sitio un nombre significativo, como se observa en la imagen:


Luego presione el boton "OK" para continuar y que Eclipse detecte las dependencias a instalar. Seleccione el runtime de TPTP, como se muestra en la imagen:


Seleccionando la opcion "Filter features included in other features on the list" puede eliminar aquellas dependencias que ya se encuentran instaladas en Eclipse. Luego debera presionar el boton "Next" para continuar con el wizard. En la siguiente ventana, que es la que se muestra en la imagen, debera aceptarlos terminos de uso del software que esta instalando:


Continue con el wizard presionando la boton "Next" nuevamente para acceder a la siguiente ventana en la cual se muestra un resumen de las dependencias de TPTP que se instalaran, asi como la ubicacion y el espacio disponible en la unidad, como se muestra en la siguiente imagen:


El ultimo paso consiste en presionar el boton "Finish", Eclipse instalara las dependencias y luego debera reiniciarlo para que los cambios tomen efecto.

Vinculos:

jueves, 8 de mayo de 2008

pde: Ejemplo sencillo de plug-in para Eclipse

Crear el proyecto

Para comenzar, es necesario crear un nuevo proyecto en Eclipse. Para hacerlo acceda al menu File -> New -> Other. Busque el item "Plug-in Development", expandalo y seleccione la opcion "Plug-in Project", como se muestra en la imagen:


Una vez que haya efectuado la seleccion mencionada, presione el boton "Next", para continuar con el wizard.
Ahora es necesario darle un nombre al proyecto. Puede utilizar el nombre que mas le guste, pero lo usual es usar la convencion empleada para nombrar paquetes. En este caso el nombre del proyecto sera: org.sample.plugin.helloworld, como puede observar en la imagen:


Las opciones restantes en la ventana de "Plug-in Project" pueden quedar con los valores por defecto. Presione entonces el boton "Next" para continuar adelante con el wizard.
Podra observar entonces la ventana para especificar el contenido del plug-in, llamada "Plug-in Content". De las opciones presentadas, solo es necesario que complete el correspondiente a "Plug-in Provider", ya que no es autocompletado por el wizard:


Seleccione el valor "No" para la opcion "Would you like to create a rich client application". Excepto esta option, las demas pueden ser alteradas posteriormente.
En el marco de "Plug-in Options" aparece algo llamado "activator". Esto es una clase que controla el ciclo de vida del plug-in, permitiendo inicializar el plug-in con los recursos que requiere, asi como liberarlos cuando el plug-in ya no es utilizado. El activator es generado por Eclipse, y por defecto extiende la clase "AbstractUIPlugin", ofreciendo como interfaz los metodos start y stop, entre otros.

Continue con el wizard presionando el boton "Next". Observara entonces la ventana "Templates":


Asegurece que la opcion "Create a plug-in using one of the templates" este activada y seleccione de la lista de templates el que tiene el nombre "Hello, World", como se muestra en la imagen anterior. En el cuadro de la derecha podra observar una breve explicacion de que contenidos agrega el template seleccionado. Para continuar con el wizard presione el boton "Next".

Ahora debera definir el "action" que sera ejecutado cuando alguno de los controles introducidos por el template sea utilizado. En la siguiente ventana del wizard, llamada "Sample action Set", podra especificarlo:


Todos los campos son autocompletados por Eclipse, pero puede cambiarlos a gusto. Luego debera presionar el boton "Finish" para terminar con el wizard y acceder al proyecto.

Podra observar que el proyecto queda conformado de la siguiente manera:


Configuracion del plug-in

El proyecto recien creado consta de un directorio llamado META-INF donde podra encontrar el archivo MANIFEST.MF. Al abrirlo podra observar una serie de solapas, siendo la activa la solapa "Overview". Alli puede modificar datos generales asociados al plug-in y tambien realizar una ejecucion de prueba.


Active la solapa "Extensions" y observe que la unica extension que aparece en el marco "All Extensions" es "org.eclipse.ui.actionSets":

Expanda todos los elementos que la componen y asegurece que cada uno de ellos tenga asignado los valores que usted desea. Si no los cambia el plug-in funcionara igual, pero el nombre del menu y de la opcion de menu, asi como el contenido del tooltip, seran los definidos por defecto.

Configure el nombre del menu, correspondiente a la propiedad "label", activando el item "(menu)" del "(actionSet)", como se muestra en la figura:


Configure el nombre de la accion, correspondiente a la propriedad label, y el contenido del tooltip, activando el item "(action)" del "(actionSet)", como se muestra en la figura:


Probando el plug-in

El plug-in recien configurado puede ser ejecutado sin necesidad de exportarlo e instalarlo. Para hacerlo active la solapa "Overview" y ejecute la opcion "Launch an Eclipse application" que se encuentra en el marco llamado "Testing":

Observara que una nueva instancia de Eclipse se inicia. Podra ver en el menu principal un nuevo item llamado "Hello Menu" y un nuevo boton, con el icono de Eclipse, en la botonera principal:


Tanto al presionar el boton, como al seleccionar el item "Hello Action" del menu "Hello Menu", la accion configurada es ejecutada. En este caso podra observar que una nueva ventana aparece:


Finalmente, apoye el puntero del raton sobre el nuevo boton y podra observar como se depliega el tooltip asociado al mismo:


Eclipse requiere de un espacio de trabajo para ejecutarse correctamente. La instancia de Eclipse que es iniciada para la prueba del plug-in crea en el directorio "home" del usuario un directorio de trabajo cuyo nombre incluye el nombre dado al proyecto para el desarrollo del plug-in. En este caso el directorio generado tiene el nombre runtime-com.example.helloworld.application.

Conociendo las bases del desarrollo de plug-ins para Eclipse, ya puede comenzar a crear plug-ins mas sofisticados para automatizar las tareas diarias.

Vinculos: