Java Standard Edition

Facturación Electrónica

Bueno, me tope con el lío de poder realizar la facturación electrónica segun las reglas del SAT, algo que en realidad hay muy poca información para java, casi todos utilizan php con sus mods para ssl. Pero bueno, independientemente de como lo utilize cada quien, este es el procedimiento general a seguir. Si alguien me corrige, o tiene mejoras o dudas, no duden en publicarlas.

Para poder realizar la facturacion electronica, es necesario primero que el patron se de de alta en el SAT, donde despues de seguir un proceso engorroso (queda fuera del alcance de este blog) el SAT entrega una llave privada para firmar y un certificado, ambos archivos estan cifrados con una contraseña.

Neo4J: Base de datos orientada a grafos

El movimiento NoSQL, que ha tomado algo de fuerza en los últimos dos años, propone utilizar bases de datos diferentes a las relacionales, ya sea bases de datos orientadas a columnas en vez de a tuplas, o a documentos, etc. Entre las implementaciones que se pueden usar hoy en día tenemos HBase, Cassandra, Hypertable, CouchDB y una interesante, que además está hecha en Java: Neo4J.

Más allá de la discusión filosófica en torno a la validez de esta propuesta de NoSQL, implementaciones comerciales, aplicaciones prácticas, etc, quiero enfocarme a hablar un poco de Neo4J y la manera en que almacena datos.

JavaFx y Binding...

Este es un pequeño ejemplo de como usar una de las propiedades mas poderosas de JavaFX. Aquí explica todo lo necesario

En el ejemplo se dibuja un cuadrado, que se puede mover por el escenario.

 

JavaFX y JSON

Hola solo escribo este pequeño ejemplo, por que un amigo me pidió que lo posteara en algún blog para futuras consultas..
es de como mandar un objeto Json desde una aplicacion JavaFx a un Servidor, yo uso GlassFish para mis Servlets :)
tiene unos defectillos que leyendo la documentación de la API se corrigen fácil como el caso de la persistencia de la conección y eso pero es solo un ejemplo:

 

Combos encadenados con Servlets y JQuery aplicando el MVC

Bueno A estrenar mi blog en Java México. Espero que sea de su agrado mi publicacion, en esta pagina, la verdd no soy muy experto como programador pero hacemos el intento. Bueno manos a la obra, primero definamos algunos conceptos:
MVC: Segun la wiki estilo de arquitectura que separa los datos de una aplicación la interfaz de usuario y la lógica de control en 3 componentes distintos.

Bien, Ahora Vamos a la pŕactica: Para ello Vamos a utilizar como ejemplo La creacion de unos combos encadenados de Paises y Ciudades.

CAPA DEL MODELO
Este parte del código viene dentro del paquete del modelo que seria en si la lógica de control
 

Pools de conexiones a base de datos: Apache DBCP y c3p0

En ocasiones anteriores he hablado de este tema, someramente, pero en esta ocasión quiero ya ahondar un poco más y hablar de un par de implementaciones de este mecanismo.

"Pool" en inglés no solamente significa piscina, sino también se usa para describir un conjunto de elementos disponibles para ser utilizados de alguna forma. Un pool de conexiones a base de datos es un mecanismo para optimizar el desempeño de una aplicación así como la utilización de recursos, teniendo varias conexiones ya establecidas al RDBMS, las cuales pueden ser utilizadas por cualquier proceso que las necesite.

Esto significa que en vez de que un componente establezca su propia conexión, la toma del pool y al final cuando ya no la necesita, la devuelve al pool. Hay incluso maneras transparentes de lograr esto, utilizando una implementación especial de DataSource, la cual cuando se le pide una conexión, tome una del pool, y dicha conexión se devuelva al pool cuando se invoque   (en vez de cerrarse físicamente).

Transformación de clases al vuelo con Javassist

En esta ocasión quiero describir un proceso un tanto complicado, que puede servirle a alguien tal vez, si se encuentran en la necesidad de hacer algo locochón como lo que tuve que hacer yo.

En términos generales, me encontré en la necesidad de agregar anotaciones a clases, en tiempo de ejecución. Es decir, una clase que no tiene ciertas anotaciones, porque no fue compilada así, necesita que se las agreguemos a la hora de correr una aplicación. Esto fue posible gracias a Javassist, una biblioteca de software libre que sirve precisamente para transformar clases en tiempo de ejecución, pero aún así el código y la manera de hacerlo es algo complejo.

Primero que nada, necesitamos el JAR donde se encuentra la clase que queremos modificar. Dependiendo del tipo de aplicación, la manera de obtener el JAR va a variar, pero lo importante aquí es que tengamos al final un InputStream del cual vamos a leer la clase. Una vez que tenemos el InputStream, debemos ir leyendo del JAR hasta obtener el archivo que queremos (un .class).

Sumatoria recursiva e iterativa

 

Otro

....
...

Distribuir contenido