Clase Tratada !!

No Comments

Ya sacamos las uñas ¿Poder CiudaQUE??, que carajo, aqui ya sabemos quien manda,  imaginate que esto te lo haga tu jefe en frente de las camaras de televisión, bueno, ese es el precio que se paga por llevar una vida de zancudo. !! Estamos Listos en el Paisito !!, estos majes no pasan de Marzo.

Conociendo el Standard ISO8583

5 Comments

iso

Como ya leimos en el articulo anteriorjPOS trabaja de la mano del Standard ISO8583, que no es nada mas que un standard para sistemas que intercambian transacciones electrónicas realizadas por poseedores de tarjetas de crédito o si lo quieres mas sencillo, segun la wiki el ISO 8583 es un Standard para Transacciones Financieras con Mensajes originados en una tarjeta.
Como ya vimos un Mensaje ISO8583 esta compuesto de 3 partes fundamentales.

  1. MTI
  2. Bitmap
  3. DataElements.

El meollo de todo el asunto se encuentra en la informacion que trae el Bitmap o mapa de Bits, Porque.. ? por que el Bitmap se encarga de mostrarte que elementos de datos del standard se encuentran incluidos en el mensaje.Estos elementos de datos son los que llevan la informacion detallada que se esta utilizando en la transaccion.

Tenemos el siguiente Mensage ISO8583: 0400 2020000000800000 000000000001 21292501, el cual esta divido asi, segun lo que ya hemos aprendido

MTI(4 digitos)--0040
 
Bitmap(8 bytes o 16 caracteres Hexadecimales) 20200000  00800000

Luegos eparamos esta información y la convertimos en binario para obtener que bit de la cadena es verdadero, una vez tengamos los bit verdaderos presentaes en el Bitmap, conoceremos que elementos de datos acompañan al mensaje. Haciendo la separacion y convirtiendo la info, quedaria algo como asi, ahora solo te toca conocer la posicion de los bits verdaderos

20 = 0010 0000
20 = 0010 0000
00 = 0000 0000
00 = 0000 0000
00 = 0000 0000
80 = 1000 0000
00 = 0000 0000
00 = 0000 0000

Si, comprendistes, habras encontrado que los campos que estan presentes en el mensaje son: 3,11,41, Ahora tienes que repasar la tablita del standard donde econtraras los 128 campos que lo componen, por lo menos en las versiones del ISO8583 del año 1987 y 1992. Si ya checastes el Standard te habras dado cuenta que el campo Numero 3, es un campo numerico de 6 posiciones, el Campo 11; es un campo numerico de 6 posiciones y el campo 41 es un campo ans, es decir que acepta caracteres alfanumericos, numericos y caracteres especiales y tiene una longitud de 8. Una vez que ya tienes esta informacion , regresas a tu mensaje y obtienes los elementos:

Campo 3( Codigo Procesamiento)=000000
Campo11(Numero de Rastreo del Sistema para auditoria)=000001
Campo41(Identificacion de la terminal que acepta la tarjeta)=21292501

Una vez puedas decodificar el Mapa de Bits, el resto es pan comido.

Qué es jPOS?

5 Comments

jposJPOS, es un framework desarrollado en Java, para la implementación del estandar ISO-8583 que fue pensado para las Transacciones Financieras con Tarjetas de Crédito, entre los POS (Puntos de Venta) o ATM (Cajeros Automaticos).

Para trabajar con JPOS, primero es necesario entender completamente el ISO-8583,  un mensaje en el 8583 puede ser algo asi.

0200bbbbbbbb165500007891111111003000000000000100

Es capaz de traducir lo siguiente en una transaccion común y corriente, por ejemplo.

Los primeros cuatro dígitos pertenecen al MTI (0200), Requerimiento de fondos, usualmente de un ATM o Cajero Automatico, la segunda parte del mensaje se llama Mapa de Bits (bbbbbbbb16550000), esta parte indica que campos del mensaje estan presentes, puede venir en 8 bytes o 16 caracter, y luego están los Data Elements, que son los campos del mensaje, puede ser, el Id del Comercio, de la terminal, el monto de la transaccion, el numero de la tarjeta, la fecha de caducidad, depende del tipo de transacción.

Un mensaje, no siempre tiene el mismo tamaño, y varia para cada procesadora de tarjetas de crédito, VISA, MASTERCARD tienen sus formas de generar sus propias cadenas para comunciarse con las entidades bancarias.

Un ejemplo de como crear un mensaje iso con JPOS

import org.jpos.iso.*;
ISOMsg m = new ISOMsg();
m.set (new ISOField (0, "0800"));
m.set (new ISOField (3, "000000"));
m.set (new ISOField (11, "000001"));
m.set (new ISOField (41, "29110001"));
m.set (new ISOField (60, "jPOS 6"));
m.set (new ISOField (70, "301"));

ISOMsg, es una de las clases mas usadas en aplicaciones jPOS basadas en el ISO 85-83.

Existen las siguientes fuentes de información, todas en inglés, pero, son dirigidas por los mismos creadores de jPOS.

Liberada RichFaces 3.3.0 GA, editor y queue novedades

No Comments

richfaces331

Hoy se liberó la versión 3.3.0 de RichFaces, entre los elementos nuevos que trae son 2, los Queue y el Editor (imagen de arriba)

http://livedemo.exadel.com/richfaces-demo/richfaces/editor.jsf?c=editor&tab=usage

y abajo un ejemplo del Queue.

http://livedemo.exadel.com/richfaces-demo/richfaces/queue.jsf?c=queue&tab=usage

quequerichfaces

Descargate las librerias y los nuevos Skins de la siguiente direcciónes.

darkX-3.3.0.GA.jar Plug’n'Skin Example v.3.3.0. Skin Dark-X. 27.4 KB 14 Jan 2009 LGPL 76 Download
glassX-3.3.0.GA.jar Plug’n'Skin Example v.3.3.0. Skin Glass-X. 30.7 KB 14 Jan 2009 LGPL 66 Download
laguna-3.3.0.GA.jar Plug’n'Skin Example v.3.3.0. Skin Laguna. 25.2 KB 14 Jan 2009 LGPL 64 Download
richfaces-ui-3.3.0.GA-bin.zip JBoss RichFaces 3.3.0 Binary (zip) 30.4 MB 14 Jan 2009 LGPL 331 Download

http://www.jboss.org/jbossrichfaces/downloads/

ohloh, la comunidad social para programadores

1 Comment

Aquí no se suben fotitos, ni videos, ni templates rosados chillones, es una comunidad seria para programadores, aqui se alojan ni mas ni menos que los proyectos Open Source más usados en internet, desde WordPress, Firefox, Firebug, Putty, Subversion, Apache o MySQL y miles de proyectos más.

https://www.ohloh.net/

Aqui puedes ser parte de un proyecto, facilmente, si te gusta programar y te gusta poco el dinero, creo que es el lugar perfecto para aprender, puedes aportar parte de tu conocimiento a Firefox o a WordPress y así sentirte realizado.

stat2

El gráfico de arriba pertenece al desarrollo de encuestame y las líneas de codigo que tiene el proyecto.

En el grafico siguiente

stat1

Podemos apreciar el porcentaje de los lenguajes en el que esta elaborado el proyecto.

Es una manera muy sana de aprender a programar y tambien de aprender a colaborar, he visto varios Nicas registrados y que durante un tiempo aportaron activamente a los proyectos que participaron.

Te puede servir para demostrar, en un futuro, sobre todo si sos Universitario, una trayectoria como programador, cuando busques empleo, ya que, por experiencia, si no tienes el respaldo de lo que has elaborado como profesional, estas perdido en este mundo de la programación, un ejemplo de lo que les digo, miren el perfil del Lider del Proyecto de Subversión Karl Fogel.

https://www.ohloh.net/p/subversion/contributors/4294970893

Protege tus creaciones

No Comments

logocommunity

Siempre se nos ocurren buenas ideas, una canción, un software, un buen logo, pero claro, luego llega un listo y nos roba la idea, no dejes que eso te vuelva a pasar, tal vez, tu logo, algun día, valga mucho dinero, pero como protegemos nuestras obras? existen unabuena forma de hacerlo.

La primera en tu propio país, existen legislaciones en cada país, pero, si esta opciones, no es muy conocidas en tu país, como por ejemplo en Nicaragua, no tengo la mas mínima idea de como proteger una creación, entonces puedes acudir a safecreative.org.

Puedes proteger lo que tu quieras, poemas, libros, monografias, software, bases de datos, imagenes, dibujos, tu lo subes a sus servidores y ellos veleran por los derechos de tu obras.

Yo protegí un logo que creé, que no es una maravilla, pero, es creación propia, y se debe proteger.  Aqui el ejemplo que te ofrecen para agregarlo a tu web o blog.


Safe Creative #0901072367254

Dale estilo a tu SVN

No Comments

Que tosco es el modulo de SVN para apache, pero podemos darle un mejor aspecto, es muy facil, en solo 5 minutos.

Primero descarga el Repos Style

http://www.reposstyle.com/

Copialo a tu root de Apache, o crea un Alias, como desees, pero trabajemos con la primera opción, luego dentro de tu bloque LOCATION de SVN, solo tienes que incluir lo siguiente


SVNIndexXSLT "/repos-web/view/repos.xsl"

Hazle un Reload o un Restart a tu Apache2, y listo, el resultado es este,

Joda-Time para manejar fechas y horas

1 Comment

Java ofrece unas librerias para manejar horas y fechas, son Calendar y Date, del paquete java.util.

Pero al ahora de hacer cosas complejas estas librerias se vuelven muy tediosas para hacer cosas a veces sencillas, como por ejemplo, manejar programaciónes al estilo Outlook.

Joda-Time ofrece un paquete fenomenal para manejar todas estas cosas, primero descargate el paquete aqui.

Un ejemplo de como se calcula la diferencia entre dos fechas era esta

Date date1 = new Date();
Date date2 = new Date();
Long dif = date1.getTime() - date2.getTime();
System.out.println("Dias entre fechas: " + date1.getTime());
System.out.println("Dias entre fechas: " + date2.getTime());
System.out.println("Dias entre fechas: " + dif / 86400000L);

Con Joda-Time es mucho mas sencillo, vean el siguiente ejemplo.

        DateTime start = new DateTime(); //Devuelve la fecha actual al estilo Date
        DateTime end = new DateTime(); //Devuelve la fecha actual al estilo Date
        //Buscar la diferencia
        int days = Days.daysBetween(start, end).getDays();
        System.out.println("days = " + days);

Como convertir un objeto DateTime a un Date y a un Calendar, pues la mayoria de los otros frameworks trabajan con  el objeto Date por defecto, aunque Joda tambien puede trabajar de la mano con Hibernate.

	DateTime datetimeRented = new DateTime();
	Date date = datetimeRented.toDate();
	Calendar calendar = Calendar.getInstance();
	calendar.setTime(datetimeRented.toDate());

Ahora que hemos visto un ejemplo que presentó algunas de las API, echemos un vistazo a las principales clases que un usuario de Joda-Time puede usar. Puedes ver el detalle de esta tabla aqui.

Concepto Sub-Concepto Inmutable Mutable
Instante Actual
DateTime
DateMidnight
Instant
MutableDateTime
Parcial LocalDate
LocalDateTime
LocalTime
Partial
Intervalos Interval MutableInterval
Duración Duration
Periodo Cualquier Campo
Period MutablePeriod
Solo un campo
Seconds
Minutes
Hours
Days
Weeks
Months
Years
Cronologia BuddhistChronology
CopticChronology
EthiopicChronology
GJChronology
GregorianChronology
IslamicChronology
ISOChronology
JulianChronology

PDT 2.0, eclipse para php

No Comments

dtp2

Ya está disponible la versión 2.0 de los PHP Development Tools (PDT) de Eclipse, para los desarrolladores en PHP de acuerdo a los estándares del proyecto Eclipse.

PDT 2.0 y Eclipse 3.4.1, incluye además un robusto soporte de características de orientación a objetos, como herencia y polimorfismo, siendo también más pequeño y rápido gracias a la reducción de sus dependencias innecesarias (como componentes Java y J2EE).

Descárgate  aquí la versión para tu plataforma