Publica tu how-to

Dinos como hacer lo que sabes hacer, mándanos un email a wdonet@gmail.com y lo publicamos (dos días máximo) o si te interesa unirte al equipo de redactores, también háznoslo saber por correo.

Uso del comando awk en linux

Algunas de las limitaciones del comando sed se remedian por medio del comando awk, pues aunque se parece mucho a sed, los detalles se basan más en el lenguaje de programación C que un solo editor de textos. Uso:

awk 'programa' archivos
Sin embargo, la constitución del programa es distinta:
patron { acción }
patrón { acción }
patrón { acción }

... (mas patrones y acciones)

A semejanza del comando sed, awk tampoco modifica los archivos de entrada, solamente la salida que imprime. El comando awk lee la entrada de un archivo un renglón a la vez, para el cual compara con cada patrón en orden, de esta manera, para cada patrón que concuerde se efectúa la acción correspondiente.

Los patrones son expresiones regulares como en el comando egrep o condiciones complicadas como en el lenguaje C. Por ejemplo:

awk '/expresión regular/' { print }' archivos
awk '/expresión regular/' archivos


Esta instrucción consiste en imprimir aquellas líneas que concuerden con la expresión regular, si se omite una acción, se imprime, por lo que ambas líneas muestran el mismo resultado. En caso de omitir el patrón, la parte de la acción se ejecuta a cada línea de entrada.

Ciclo de vida en JSF

JSF (Java Server Faces) es un framework de desarrollo basado en el patrón MVC (Modelo Vista Control), su intención es estandarizar el desarrollo de aplicaciones web similar al estilo de Swing o Delphi, donde la interfaz se realiza mediante componentes y basada en eventos, esto permite que sea bastante flexible y sencillo, especialmente para quienes ya están acostumbrados a los componentes y eventos.  No obstante aún no tiene la experiencia de otros frameworks y es importante entender como trabaja.

Algunos conceptos que debemos tener en mente son:
Managed Bean (o Backing Bean) . Es un pojo que se asocia con los componentes de la interfaz de usuario (UIComponent), dentro de sus funciones está
  • Almacenar referencias a los componentes de la vista y ponerlos a la disposición del controller (durante el ciclo de vida JSF).
  • Proveer de las propiedades necesarias para la vista, como el comportamiento de la pantalla, la información que se presenta e inclusive hasta algunos elementos del diseño gráfico.
  • Exponer los métodos que pueden ser usados por los componentes para comunicar al servidor de la iteracción con el usuario.

Mashups con Presto

Después del curso de Presto, hice unas pequeñas anotaciones que me interesó compartir (antes que se queden como borrador en mi correo por una eternidad).

Un portlet es una sección en la pagina web que permite ejecutar transacciones de forma separada, como una mini-aplicación independiente. De esta manera si se conjunta varios para visualizarlos como uno solo, se le llama Orquestación.

Con Presto, la orquestación la realiza 'Mashup engine' y para enlazar los servicios graficamente se hace con 'Mashup Composer'. Ambos son parte de los servicios que proporciona Presto.

Presto utiliza Mashlets, Mashups y Servicios, usando el Jackbe Universal Mashup Protocol (JUMP) y para producir salidas en formato xml o json. Los servicios se registran en 'Service Explorer'.

EMML es un lenguaje de programación que utiliza Presto para crear mashups. Algunos tags que utiliza son los que siguen.
  • <mashup> - inicia el xml para crear un mashup
  • <foreach> - para generar un ciclo
  • <display> - para desplegar el contenido de una variable
  • <constructor> - permite construir la estructura raíz de la salida
  • <operation> - define una operación a ejecutar
  • <annotate> - permite agregar elementos a un xml
  • <invoke> - permite invoca servicios publicados por Presto
  • <directinvoke> - sirve para invocar servicios que no son de Presto
  • <merge> - se usa para hacer una mezcla de los valores de dos o mas variables
  • <filter> - permite filtrar contenido
Presto también usa estos conectores para invocar servicios de Presto desde Excel, JS, Java y Csharp, entre otros.

Glosario
  • xpath es una forma de recorrer la estructura xml
  • xquery es equivalente a SQL pero para datos que vienen en formato XML.
Ejemplos en la red.

Publicar Mashup por linea de comandos

Por si necesitan instalar mashups mediante la linea de comandos (sin necesidad del Eclipse y el plugin de Presto) debes hacer lo siguiente:

  1. En la carpeta \Presto2.7.0\mashupclient\bin dejar el archivo emml (o en tu caso tener identificada la ruta del emml)
  2. Abrir una línea de comandos
  3. Ir a la ruta \Presto2.7.0\mashupclient\bin
  4. Ejecutar la siguiente línea:

emmlpub -f mashup-script-filename -u user-name -p password [-desc description -t tag [...] -app application [...] -P provider -url presto-url]

por ejemplo

emmlpub -f c:/miaplicacion/mashup/fgdasfad.emml -u admin -p adminadmin -url http://localhost:7070/presto/edge/api

Obviamente en la URL debe ser la del server en donde vas a publicar el servicio.