Monday, December 26, 2005

Y WiMax??

Hace 12 meses que conoci la nueva tecnologia Wimax, pero al dia de hoy no veo productos para esta tecnologia, intel que es una de las sonadas solo la he visto en en chips, donde estan los productos de para el consumo tanto para la empresa como para la casa, donde me pregunto?

Que es lo que ha pasado, esta tednologia se anuncia con bombos y platillos, pero hasta el dia de hoy no veo producto ni para desktop ni para laptop, si alguien conoce algun producto, y claro que sea a un precio razonablemente para una empresa o una casa.

Busque en google, pero no aparece nada y lo poco que aparece es casos de exitos y algunos de los pocos productos que aparecieron son de empresas que realmente su costo esta muy por encima de cualquier tecnologia del mercado comparable.

Si alguien conoce algun producto por favor deje un comentario.

Friday, December 16, 2005

Como hacer una aplicacion java sin el Main()


class NoMainMethod
{
static
{
System.out.println("Mirenme! no soy un metodo main");
System.exit(0);
}
}

Thursday, December 08, 2005

Introducción a la tecnología movil de java, J2ME


La descripción de J2ME es que es semejante a J2SE, J2ME no es un pedazo de software, ni está una sola especificación. Esta diferencia puede ser confusa para los desarrolladores que son ya familiares con J2SE. En lugar, J2ME es una plataforma, una colección de tecnologías y especificaciones que se diseñan para el diverso mercado de los dispositivos. Porque J2ME atraviesa tal variedad de dispositivos, no tendría sentido de intentar crear una solución. J2ME, por lo tanto, se divide en configuraciones, perfiles, y paquetes opcionales.


Las configuraciones son las especificaciones que detallan una máquina virtual y un sistema bajo de APIs que se pueda utilizar con cierta clase del dispositivo. Una configuración, por ejemplo, se pudo diseñar para los dispositivos que tienen menos de 512 KB de memoria y de una conexión de red intermitente.

La máquina virtual es una Java Virtual Machine(según lo descrito en la especificación) o un cierto subconjunto del JVM. El sistema de APIs es acostumbradamente un subconjunto del J2SE APIs.

Las estructuras de un perfil en una configuración pero agregan un APIs más específico para hacer un ambiente completo para los usos. Mientras que una configuración describe un JVM y un sistema básico de APIs, por sí mismo no especifica bastante detalle para permitirle construir usos completos. Los perfiles incluyen generalmente APIs para el ciclo vital de uso, el interfaz , y el almacenaje persistente.

Un paquete opcional proporciona la funcionalidad que no se puede asociar a una configuración o a un perfil específica. Un ejemplo de un paquete opcional es el Bluetooth API (JSR 82), que proporciona un API estandardizado para usar el establecimiento de una red de Bluetooth. Este paquete opcional se podía poner en ejecución junto a virtualmente cualquier combinación de configuraciones y de perfiles.


Reportes con JasperReports y Webwork

En mi projecto de campusip utilizo Webwork como framework para la web. Ahora necesito crear unos reportes (comencé con lo más sencillo :-). Lo bueno de usar Webwork es que ya viene integrado el JasperReport y por lo tanto sencillo de utilizar. Los reportes jasper son simples xml (o si como no simples :-) los cuales se compilan y se llenan de una fuente de datos.

Primero solo crea un clase que herede de ActionSupport y que por supuesto implemente un DAO para el acceso a los datos (Esto es a tu manera). Recuerda crear una instancia de tipo colección como: List, ArrayList, etc. la cual será utilizada para llenar el reporte. ver código.

Segundo creas una entrada en el xwork.xml del .action, debes pasarle tres parametros: format, datasource y location. ver código. Tendrás que crear una entrada de .action por cada formato que desees el reporte. (PDF, HTML, XLS, CSV y XML)

Tercero diseña el reporte por supuesto (puedes utilizar unas de varias herramientas gráficas que existen) utilizando IReport o JasperAssistant, para diseñar un lindo reporte :-), no tengo que decir que ahi que compilar el reporte. (tu eliges el método, yo prefiero con ant) .

Cuarto probarlo para ver si funciona y claro que funciona :-P



package net.sf.campusip.web.webwork.action.beca;

import java.util.ArrayList;
import java.util.List;

import com.opensymphony.xwork.Preparable;

import net.sf.campusip.domain.personas.Beca;
import net.sf.campusip.web.webwork.action.AbstractAction;

/**
* @author vns
*
*/
public class PrintBecasReport extends AbstractAction implements Preparable {
private List becas = new ArrayList();

/**
*
*/
public PrintBecasReport() {
super();
}

public Object getModel() {
return this.becas;
}

/* (non-Javadoc)
* @see com.opensymphony.xwork.Preparable#prepare()
*/
public void prepare() throws Exception {
becas = jcolegio.getAll(Beca.class);
}

/**
* @return Returns the becas.
*/
public List getBecas() {
return becas;
}

}
========================

< name="reportbecas-pdf" class="net.sf.campusip.web.webwork.action.beca.PrintBecasReport">
< name="success" type="jasper">
< name="location">/mantenimiento/beca/becas_report.jasper
< name="dataSource"> becas
< name="format"> PDF


==========================



http://jasperreports.sourceforge.net/

Diseño de clases de Campusip


Este es el diagrama de clases del proyecto Campusip
https://sourceforge.net/projects/campusip/


Campusip es un software de administración de politécnicos de la República Dominicana. Y si quieren aportar este es un proyecto open source, la ayuda es bien recibida.

Este es un diseño para un caso particular pero puede ser modificado para ser usado en cualquier caso.

Diseño de reportes con JasperReport

Ahora que estoy comenzado a utilizar JasperReport para la creación de mis reportes, busquando un tutorial en la web, me tope con este tutorial. Es excelente porque también necesitaba una herramienta que fuese gráfica entonces iReport fue el que elegí, pero también existen otras herramientas gráficas.

Este trata todo los temas básicos para quien esta comenzado (como yo) a utilizar iReport para crear reportes en JasperReport. Realmente no es tan avanzado pero me ayudo en mis primeros pasos. Tampoco es que sea complicado.