Programando con Café

Programando con Café es el lugar de encuentro de todos sus tutoriales de programación que usted necesita en diferentes lenguajes de programación y base de datos

martes, noviembre 08, 2011

SÍGUENOS EN G+


"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"


Como se habrán enterado, ahora en G+ ya se puede crear paginas para empresas y es por ese motivo que Programando con Café también ha decidido crear su pagina en la red social de Google y nos pueden agregar haciendo clic AQUI  

Si ustedes desean crear su propia pagina, deben de entrar al siguiente enlace https://plus.google.com/pages/create y desde ahi podran crear la pagina para su empresa en G+ de una manera fácil y sencilla.

jueves, octubre 27, 2011

IBM - WEBSPHERE BUSINESS MONITOR


"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"

1.  ENTORNO


  • WebSphere Integration Developer 7.0 (WID) 
  • WebSphere Business Monitor V7.0
  • Windows 7 Professional 
  • JDK 1.6.0 - 24

2. INTRODUCCIÓN



  • WebSphere Business Monitor V7.0 es un completo sistema para monitorear la actividad de su negocio.
  • WebSphere Business Monitor V7.0 proporciona una vision en tiempo real sobre los procesos de su negocio.
  • Otorga a los usuarios una vista en tiempo real y de punta a punta de la performance de los procesos empresariales a través de paneles simples y personalizables, portales corporativos y dispositivos móviles, como así también en las desktops.
  • Proporciona una solución de alta performance para monitorear la actividad del negocio para procesos y aplicaciones ejecutando en diferentes entornos.
  • Incrementa la productividad al permitir a los usuarios crear nuevos paneles, indicadores clave de performance (KPIs) y alertas con un involucramiento mínimo de TI.
  • Acelera la innovación y la mejora continua de los procesos empresariales a través de una fuerte integración con otros productos BPM de IBM.
  • Mejora la toma de decisiones de los usuarios de negocio por medio de analíticos embebidos que proveen un análisis más profundo de las tendencias y los datos.


3. DESARROLLO


3.1. Importar el proyecto

Primero debemos importar nuestro proyecto desarrollado en el WebSphere Business Modeler












Y la importación la debemos de hacer como un "Intercambio de Proyectos"













E importamos todos los proyectos que se generaron en el WebSphere Business Modeler













3.2. Activar el monitoreo

Después debemos de activar el monitereo del proceso, para ello hacemos clic en el modelo y nos vamos a sus propiedades y seleccionamos la opción "Valores de eventos globales" para activar la opción de "Habilitar eventos predeterminados"













Y finalmente seleccionamos la opción de "Supervisor de eventos", para seleccionar que eventos deseamos deseamos monitorear. Para el ejemplo, monitorearemos todos los eventos












3.3. Generar el modelo

Después que ya se han activado las opciones de monitoreo, debemos de crear el proyecto de monitoreo. Para crear dicho proyecto debemos de hacer clic derecho en el proyecto que importamos y seleccionamos la opción de "Generar Modelo de Supervisión"



















Nos pedirá que le pongamos un nombre a nuestro proyecto
















Después debemos de seleccionar que eventos de los que definimos inicialmente queremos supervisar en las tareas que tenemos en nuestro modelo. Ya que nosotros supervisamos las tareas que hay en nuestro modelo, para poder encontrar cuellos de botella en nuestro proceso.















Presionamos el botón siguiente y luego finalizar, ya que dejaremos los nombres de los métodos que se crearan por defecto.















3.4. Generando y Agregando proyecto de supervision al servidor

Cuando ya hemos configurado que eventos vamos a supervisar y que tareas de nuestro modelo usaremos, el siguiente paso es crear el archivo EAR para poder desplegar en el servidor. Y para ello hacemos clic derecho en nuestro modelo de supervisión y seleccionamos la opción de "Generar proyector de Monitor J2EE"



















Dejamos los nombres por defecto y presionamos el botón de finalizar















Cuando ya hemos creado el proyecto debemos de agregar los EAR generados en el servidor del monitor, para ello hacemos clic derecho en el servidor y seleccionamos la opción de "Añadir y Eliminar proyectos"














Y añadimos los dos EAR que tenemos



















Y luego iniciamos el servidor y lanzamos el Espacio de Negocio para visualizar el monitoreo













3.5. Espacio de Negocio

En el espacio de negocio es donde vemos como una especie de tablero de comando (BSC) los eventos que decidimos supervisar





miércoles, octubre 12, 2011

Selenium - Herramienta para automatizar pruebas de software


"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"

1. ENTORNO


  • Mozilla Firefox 
  • Selenium IDE 

2. INTRODUCCIÓN



Selenium es un juego de herramientas que permite probar sistemas web de manera automatizada. Las pruebas que realiza son como las que haría cualquier usuario desde un navegador, con la ventaja de que las hace mucho mas rápido y nos evita el trabajo repetitivo de probar una y otra vez lo mismo “a mano”.

Selenium provee unas api en diferentes lenguajes (PHP, Ruby, JAVA, Javascript, etc) que nos permiten indicarle mediante comandos que pruebas debe hacer. Cada comando es del estilo “Haz click aquí”, “Espera a que se recargue la pagina”, “Completa tal campo de formulario”, “Haz Click en el Botón enviar”, “Verifica el resultado”, etc.

3. INSTALACIÓN



Selenium trabaja solamente para navegadores con Mozilla Firefox, por concerniente solo nos permite probar aplicaciones web, es por eso que debemos tener instalado el Mozilla Firefox y ademas debemos de bajar el plugin desde la pagina web de Selenium, hacer clic AQUÍ para descargarlo.









Después que descargamos el plugin debemos de agregarlo al Mozilla, para ello nos vamos a la opción "Add-ons"













Y el archivo que hemos descargado lo buscamos para instalarlo al Mozilla








4. APLICACIÓN DE PRUEBA



Para la prueba de Selenium podemos usar cualquier aplicación web que tengamos, yo realice una pequeña aplicación que me pide los datos de una pantalla y la muestra en otra. Para abrir el Selenium debemos de ir a la opción de Web Developer y nos saldrá para ejecutar Selenium IDE. Desde el momento que entramos a esta opción Selenium comienza a grabar todos los pasos que hagamos en el navegador.















Selenium graba los valores que registramos en cada cada caja de texto,  checkbox, radiobutton, etc

























Y para ejecutar la prueba de nuevo, hacemos clic en "Play entire test suite" y verán como los pasos que hicimos anteriormente se repite, y para verlo en cámara lenta poner la velocidad en Slow.


domingo, septiembre 18, 2011

JAVA - Struts 2 Hola Mundo Tutorial – Lo básico de Struts 2


"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"

Hola, mi nombre es Felipe Vásquez Ganoza, y Henry me ha proporcionado esta oportunidad para poder publicar algunas entradas en el blog. Empezaremos por un tutorial muy básico de Struts 2, el famoso Hola Mundo.


Struts 2 Hola Mundo Tutorial – Lo básico de Struts 2

Struts 2 es un framework de desarrollo del lado web, como framework está basado en automatizar las tareas comunes y proveer un marco común de trabajo para el desarrollador, en otras palabras, define la arquitectura de la aplicación o componente.
A diferencia de Struts 1, Struts 2 es un marco completamente nuevo, basado en los proyectos OpenSymphony  y Web Works Framework. Usa el modelo MVC y es lo bastante flexible para poder escalarlo con otros frameworks como Hibernate, Spring, etc.
Struts 2 define el Controlador con el FilterDispatcher, el cual procesa todas las peticiones (request) por parte del cliente, se encarga de verificar en el struts.xml los filtros y acciones a llevar a cabo según corresponda.
El Modelo lo implementan las clases Action, las cuales son básicamente simples POJO (plain old java object), los cuales no necesariamente deben implementar una interfaz, pero sí implementar el método execute(); sin embargo es una buena práctica que implemente la interfaz ActionSupport, de esa forma nos aseguramos automáticamente de implementar  otras interfaces que nos permiten validar y no sobre cargar el método exectue(). Cabe recordar que el Modelo es la parte que implementa la lógica del negocio.
Por último, la Vista puede ser definida por varias tecnologías como JSP, Html, XHtml, Velocity, etc.
A continuación explicaré una simple aplicación conocida por cualquier programador como Hola Mundo, la desarrollaremos en Eclipse y Apache Tomcat.
Los requisitos para desarrollarla son:
  • Tener instalada el SDK a partir de 1.5 o superior.
  • Eclipse (http://www.eclipse.org/downloads/)
  • Apache Tomcat (http://tomcat.apache.org/index.html)
  • Descargar las librerías de Struts 2 (http://struts.apache.org/download), es recomendable descargar la última y más estable versión.

  1. Creamos un proyecto dinámico en Eclipse: File à  New à Dynamic web Project

Le damos un nombre: HolaMundo


Ya tengo instalado previamente el Apache Tomcat, el cual lo descargan desde la página de Apache, el ejecutable según el SO que tengáis. Luego lo pueden agregar en Eclipse, ya sea desde la ventana anterior (la parte de Target runtime à  New Runtime, y seleccionan la carpeta donde se instaló en el disco) o desde el menú: window à  preferences à  server à  runtime enviroments, y agrergar la home del Apache Tomcat.

Luego de creado el proyecto, Eclipse nos mostrará la siguiente estructura:



Donde crearemos el siguiente directorio para las clases:
Click derecho sobre JavaResources à  src à  Folder à  le damos el nombre que deseemos: org.per.trux.actions
Recordando un poco la estructura del proyecto web, apreciemos que tenemos varias carpetas, pero las que nos interesan son WebContent, WEB-INF, lib y src, por ahora. Las páginas de vista (Jsp, Html, velocity, etc) van en la raíz de WebContent (la mayoría de veces, dependiendo de la arquitectura se puede reubicarlas), en la raíz de WEB-INF va el web.xml, dentro de lib van las librerías (.jar) que necesitemos según las tecnologías a utilizar), y dentro de src van las clases (.java) y el struts.xml. Todo esto se puede modificar dependiendo de la arquitectura que se defina, pero por defecto son como las he mencionado.
  1. Ahora agregamos las librerías y archivos de configuración básicos del proyecto para Struts 2. Primero descomprimir el .zip con las librerías descargadas de Struts 2 (en esta aplicación he utilizado: Struts 2.2.3.1), seleccionamos las siguientes librerías del folder lib:
  • struts2-core-2.2.3.1.jar
  • xwork-core-2.2.3.1.jar
  • ognl-3.0.1.jar
  • freemarker-2.3.16.jar
  • commons-logging-1.1.1.jar
  • commons-fileupload-1.2.2.jar
Para este proyecto tan simple, con estas librerías nos basta por ahora. Copiamos esos archivos, damos click derecho sobre la carpeta lib del proyecto en Eclipse, y elegimos: pegar. Nos debe quedar así:



Ahora creamos la página de inicio (Index.jsp), damos click derecho sobre WebContent à  New à  JSP File (si no encuentran esa opción directamente, seleccionen Others y busquen en una de las secciones).


Creamos ahora los archivos de configuración necesarios: web.xml y struts.xml. Click derecho sobre WEB-INFà Newà File, le damos el nombre de web.xml
Click derecho sobre el directorio srcà Newà File, le damos el nombre de struts.xml


Ahora agregamos el contenido en los archivos recién creados, primero en web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

Esta configuración es la más básica y por defecto para usar struts 2, podemos apreciar que se hace referencia al controlador (FilterDispatcher), el mapeo de las urls: /*, el cual indica al controlador que revise todas las peticiones (request) que envíe el cliente, y por último la página de inicio por defecto: index.html. Esta es una configuración muy básica, pero podemos explicar que aquí se pueden agregar más parámetros, como cadenas de conexiones, más servlets, etc. Esto dependerá de la arquitectura del proyecto.
Ahora editamos el archivo struts.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <package name="default" extends="struts-default">

            <action name="holaMundo" class="org.per.trux.actions.HolaMundo">
                  <result name="SUCCESS">/HolaMundo.jsp</result>
            </action>
     
    </package>
</struts>

Aquí podemos apreciar las acciones a ejecutar por Struts 2, previo definimos el paquete, el cual nos proporciona el poder definir una estructura elegante y separar las diferentes acciones según sea el caso, cabe destacar que  se pueden incluir (include) más archivos Xml que hereden de este base, de esa forma podemos organizar la estrutura del proyecto y no hacer que el archivo por defecto crezca y sea inmanejable, una vez más acoto que esto dependerá de la arquitectura del proyecto.
Dentro del paquete van las acciones, <action>, la cual tiene los atributos básicos: name, el cual es el nombre de la acción a realizar, en este caso, cuando en la url termine en: holaMundo.action (notar que en el archivo struts.xml no viene ese nombre, no es necesario ya que struts es lo suficiente inteligente para mapearla), luego en este caso hay una clase en el atributo class que ejecutará la acción (Modelo, la clase Action), la cual tiene la Uri donde se encuentra: actions.HolaMundo. luego tenemos el resultado que se mostrará con el result al cliente en caso que sea exitosa la acción: <result name="ok">/bienvenida.jsp</result>, esto nos dice que en caso de devolver la cadena (String) ok la acción (HolaMundo.java), nos envíe a la página: bienvenida.jsp
Esta es una simple aplicación, pero se pueden definir mucho más complejas acciones a realizar.
Por último creamos un archivo más: bienvenida.jsp, damos click derecho sobre WebContent à  New à  JSP File.
  
  1. Ahora creamos nuestra clase y agregamos contenido a nuestras páginas jsp. Primero la clase que estará en la carpeta: src/actions/HolaMundo.java

Hay que darle a refresh al proyecto para poder visualizarlo en la carpeta src.
Agregamos las propiedades de tipo String: nombre y saludo, luego usamos la funcionalidad de Eclipse para que nos autogenere los get y set de ambos atributos de clase:



Implementamos el método obligatorio execute, el cual devuelve por defecto un String:

package org.per.trux.actions;

/**
*
* @author Felipe Vásquez Ganoza
*/

import com.opensymphony.xwork2.ActionSupport;

public class HolaMundo extends ActionSupport{

      private static final long serialVersionUID = 1L;
      private String saludo;
     
      public String execute() throws Exception {
            setSaludo("Hola Mundo en Struts 2");
            return "SUCCESS";
      }
      public String getSaludo() {
            return saludo;
      }
      public void setSaludo(String saludo) {
            this.saludo = saludo;
      }

}

  1. Ahora editamos nuestras vistas: index.html


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
      <head>
    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=holaMundo.action">
      </head>

      <body>
                  <h3>Cargando...</h3>
      </body>
     
</html>


y bienvenida.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
      <h1><s:property value="saludo" /></h1>
</body>
</html>

  1. Ejecutamos el proyecto: Click derecho sobre el proyecto à  Run As à  Run on server
O podemos exportar el .war y copiarlo directamente en el directorio de nuestro servidor, para exportar el .war desde eclipse, damos click derecho sobre el proyecto à  Export à  war file
Espero haya sido explicativo este pequeño tutorial  y poder expandir o volverlo más complejo en futuros posts.

Un saludo,
Felipe Vásquez Ganoza


sábado, septiembre 17, 2011

IBM - IMPORTAR MODELO AL WebSphere Integration Developer 7.0 Y VISUALIZARLO EN EL BPC


"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"

1. ENTORNO




  • WebSphere Integration Developer 7.0 (WID)
  • WebSphere Business Modeler 7.0 (WBM)
  • Windows 7 Professional
  • JDK 1.6.0 - 24


2. INTRODUCCIÓN



Según IBM, WebSphere Integration Developer es un entorno de creación fácil de usar para la integración completa en SOA.
WebSphere Integration Developer simplifica la integración y agiliza la adopción de SOA, ya que representa los activos actuales de IT como componentes de servicio para su reutilización y eficacia.
Se trata de una herramienta basada en Eclipse para la creación de soluciones de integración y gestión de procesos de negocio basadas en SOA en WebSphere Process Server, WebSphere ESB y WebSphere Adapters.

  • Simplifica la integración en características enriquecidas que agilizan la adopción de SOA, ya que representa los activos de IT existentes como componentes de servicio para impulsar su reutilización y eficacia.
  • Una experiencia de creación simplificada que agiliza el desarrollo de soluciones, incluida la mejora en el soporte de herramientas de mediación.
  • Construye soluciones de integración y procesos utilizando una tecnología intuitiva que permite arrastrar y soltar para definir visualmente la secuencia y el flujo de procesos de negocio.
  • Integra pruebas, depuraciones y despliegue para el desarrollo de soluciones.
  • Permite el desarrollo empresarial, que se integra completamente en WebSphere Business Modeler para importar modelos con el objetivo de llevar a cabo una implementación rápida.
  • Da soporte a la generación de interfaces para la interacción de usuarios, que se pueden personalizar fácilmente 

3. DESARROLLO


3.1. Exportar proyecto del WebSphere Business Modeler Advanced 7.0

Estando en el WebSphere Business Modeler Advanced 7.0 debemos hacer clic derecho en el proyecto del modelo que hemos desarrollado en nuestro tutorial anterior, para visualizarlo hacer clic AQUÍ, y presionamos el botón exportar.














De ahí le decimos que el proyecto lo vamos a exportar a un formato para el WebSphere Integration Developer















Le asignamos la ubicación a donde lo vamos a exportar nuestro proyecto















Nos da unos detalles de los proyectos que vamos a exportar















Y al final nos pedirá que proyectos deseamos exportar y le decimos que todos los proyectos que hemos realizados
















3.2. Importar proyecto del WebSphere Business Modeler al WebSphere Integration Developer

Abrimos que el WID y nos vamos al menú de opciones Archivo --> Importar



















Y el tipo de proyecto que vamos a importar es uno del tipo Otros --> Intercambio de Proyectos



















Buscamos nuestro proyecto que exportamos en el punto 3.1. e importamos todos los proyectos que encuentre en dicho zip generado por el WBM


















Y finalmente veremos que nuestro proyecto se importo exitosamente al WID















3.3. Crear instancia en el Business Process Choreographer (BPC)

Debemos primor de agregar nuestros proyectos importados al WebSphere Process Server que tiene el WID, para ello hacemos clic derecho en el servidor y seleccionamos la opción "Añadir y eliminar proyectos"














Y añadimos todos los proyectos



















Iniciamos nuestro WebSphere Process Server














Cuando termina de iniciar el servidor ya podríamos entrar al BPC, para ello hacemos clic derecho en el servidor y nos vamos al menú de Lanzar-->BPC













Y nos abrirá la venta para entrar al BPC y ponemos nuestro usuario y clave
















Para crear una instancia en el BPC nos vamos al menú que dice "Actualmente Valida" y nos sale los procesos que están activos y hacemos clic en el enlace que dice "Envió de Solicitud"












Y luego hacemos clic en el botón que dice "Iniciar instancias"












Y llenamos la información de nuestro Business Item y damos clic en el botón de "Someter"












Y cuando nos vamos a la opción "Administradas por mi"








Veremos que ya se creo nuestra instancia














4. CONCLUSIONES



Como vimos haciendo el diseño en el modeler, importarlo al WID es muy sencillo y muy fácil su manejo. En el próximo tutorial se le enseñara como trabajar la instancia.