sábado, 10 de abril de 2010

Proteger de Inyección SQL en Java y crear un Splash Screen


Para este nuevo post estaremos utilizando el ejemplo de Acceso Simple del post pasado para dos propósitos:

  • Inyección SQL: La inyección de SQL es una vulnerabilidad informática en el nivel de validación de las entradas a la base de datos en una aplicación. Esta vulnerabilidad debe de ser tomada en cuenta por todos los programadores para ser prevenida. En los sitemas de información la seguridad es un requisito base y si un usuario malintencionado puede ingresar parámetros para afectar la integridad de nuestros datos o borrarlos definitivamos, nuestro software es pobre y deficiente.
  • Splash Screen: Es una imagen que aparece al mismo tiempo que el programa se esta "cargando". En este ejemplo simplemente nos dará una presentación al programa en el que estamos trabajando aunque se pueden agregar diferentes componentes para programas muy grandes donde si hay que llevar un tiempo de espera en lo que se carga. Existe también ya una clase hecha para Java en java.awt.SplashScreen que nos podría servir para el mismo propósito.




Con este pequeño ejemplo, no sólo le damos funcionalidad a un programa ya hecho, sino agregamos una capa de seguridad a nuestro código y una presentación para el usuario final.

Cualquier duda, será contestada a la brevedad posible.
Saludos!


Splash Screen y SQL Injection en Java from Cezar Cavazos on Vimeo.


sábado, 3 de abril de 2010

Acceso Simple a Base de Datos MySQL JDBC

Que tal amigos.

Después de un largo periodo de no poner un post en el blog, tal como había prometido ahora tendremos este pequeño ejemplo de Acceso a Base de Datos.
Una base de datos nos sirve para almacenar registros sistemáticamente para su posterior uso y/o consulta.

La base de datos utilizada en este ejemplo es MySQL y su gestor o programa para administrala es Navicat, el IDE de desarrollo es NetBeans 6.5 que trae incluido por default el driver para la conexión con MySQL.


Con este ejemplo tendremos acceso a guardar, modificar, borrar y buscar datos desde nuestro programa.

En el ejemplo vamos a crear una base de datos y una tabla principal. Ya en NetBeans crearemos nuestra clase principal y su jFrame, así como también el paquete que contendrá todo el acceso a la base de datos.

Para todas las personas que se están iniciando en el lenguaje Java con Acceso a datos espero les sirva este tutorial.

Saludos!

Acceso Simple Java - MySQL from Cezar Cavazos on Vimeo.

martes, 26 de enero de 2010

Anuncio oficial de la UE sobre la adquisición de Sun

Que tal amigos.

Desafortunadamente no he tenido tiempo de agregar nuevos ejemplos al blog, y esta vez no será la excepción, pero es interesante la imagen que James Gosling ha publicado en su blog y que quiero compartir con ustedes:



Es cierto que las imagenes dicen más que las palabras y ustedes lo pueden apreciar. Oficialmente (aunque ya se sabía que si se iba a completar), la adquisición de Sun por parte de Oracle ha sido anunciada el día 21 de enero.

Quiero compartirles una entrevista que encontré que le hacen a James Gosling, a.k.a. el padre de Java, les dejo el enlace: http://www.businessreviewonline.com/blog/archives/2009/04/qa_james_goslin.html

La comunidad no se ha hecho esperar y ahora hay una página donde puedes firmar para que Oracle no adquiera MySQL, su nombre es ¡Salven a MySQL! y en la página principal se puede ver un par de leyendas: "Oracle puede adquirir SUN, pero no MySQL" y "Si Oracle compra MySQL como parte de Sun, los clientes de bases de datos pagarán la cuenta."

Oracle respondió con este compromiso hacía los clientes de MySQL, desarrolladores y usuarios.

http://www.marketwire.com/press-release/Oracle-Makes-Commitments-to-Customers-Developers-and-Users-of-MySQL-NASDAQ-ORCL-1090000.htm

En resumen Oracle promete lo siguiente:

  • Mantener la arquitectura modular de MySQL y los motores de almacenamiento, de modo que terceros puedan desarrollar soluciones de este tipo (como InnoDB, claro que InnoDB es propiedad de Oracle asi que es un mal ejemplo)
  • Mantener el actual sistema de licenciamiento para los motores de terceros, y para los que tienen licencia actual con Sun, extenderla hasta el 2014 automáticamente
  • Invertir en investigación y desarrollo para MySQL no menos que lo que invirtió Sun en promedio al año (USD 24 millones) al menos por los próximos 3 años
  • Seguir desarrollando MySQL, incluyendo pero no limitándose a completar la versión 6, ofreciéndola bajo la misma licencia GPL
  • Siempre que se desarrolle una versión comercial de MySQL AB, liberar en paralelo una versión Open Source
  • Nunca obligar a contratar soporte para acceder a la versión gratuita
  • Mantener el manual completo y disponible al público
  • Formar un consejo de clientes y un consejo de creadores de motores de almacenamiento, seis meses después de la fusión, para recibir feedback y priorizar aspectos del desarrollo
La opinión personal de un servidor, es que no me quedo tranquilo, Oracle habla de fechas como en 3 años y 2014 y mi pregunta es: ¿Que pasará después de esa fecha? ¿Habrá invertido tanto Oracle en MySQL que decida convertirlo de paga? o ¿Habrá 'gastado' tanto que decida cerrar el proyecto? Creo que en este momento el no-saber que va a pasar es lo que nos tiene preocupados.

Por último quiero compartirles el código que debería de acompañar la imagen de este post:

Oracle oracle = this.world.wallstreet.getOracle();
Sun sun = new Sun( 1982 );
sun.create( "SunSparc", "Solaris", "Java", "OpenOffice" );
sun.buy( "MySQL");
sun.create("JavaFX");
oracle.buy( sun, 2010 );
if (oracle.destroy("MySQL"))
{
humans.setMode("Wold on fire");
}
else
{
humans.setMode("All good");
}
oracle.getPatents( sun );
oracle.fireStaff( sun );
oracle.eat( sun );

sun = null;
System.gc();

Saludos. Que tengan una excelente día.