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.

martes, 8 de diciembre de 2009

Instalando MAMP


Que tal Amigos.

En esta ocasión quiero presentarles un pequeño tutorial de como instalar MAMP en un Mac, aunque el blog trata en sí de Java, para empezar a trabajar con acceso a datos en MySQL hay que configurar este mismo.



MAMP puede ser descargado directamente desde la web del autor en: http://www.mamp.info

MAMP es una herramienta muy útil para desarrolladores de diferentes tecnologías. Y al configurar mi propio entorno de desarrollo descubrí que no hay una fuente exacta de como hacer el cambio de password para MySQL.

Espero este pequeño tutorial les ayude a configurar su servidor.

Cualquier duda pueden dejar un comentario, o al correo cedav3000@hotmail.com y con gusto les responderé.


Instalar MAMP from Cezar Cavazos on Vimeo.


domingo, 13 de septiembre de 2009

IDE para java después de la adquisición de Oracle

Como primer entrada oficial de mi blog. Quiero comentar un poco la adquisición que hace Oracle sobre Sun Microsystems y que pasará con las tecnologías pertenecientes a Sun.

Quiero compartir con ustedes la noticia que anuncia Oracle a los clientes de SUN:

Después de no ver noticias de MySQL y Java, suponemos que Oracle quiere estar seguro de qué es lo que va a hacer después, al empezar a buscar sobre este tema me encuentro con el blog de Adam Bien

Oracle apoya JDeveloper y SUN a NetBeans. Solo me gustaría resaltar algunos puntos interesantes sobre esta diferencia de IDE's:

1. Tamaño del IDE: NetBeans con todas sus características en la versión 6.7.1 pesa alrededor de 303 MB. JDeveloper anda rondando 1 Gb en la descarga.

2. NetBeans tiene soporte para JavaFX.

3. NetBeans es más populas que JDeveloper.

4. El soporte de servidores web tales como GlassFish está completamente integrado en NetBeans.

De alguna manera se tiene que apoyar un solo IDE ya que sino, existen otros programas como Eclipse que pueden convertirse en más populares.

Estaremos al pendiente.

Estoy preparando algunos ejemplos para este blog.

Sin más por el momento y la escucha de opiniones y comentarios me despido.

Saludos,
César Cavazos

Bienvenidos.

Amigos, primero que nada les doy la bienvenida a este blog dedicado a toda la comunidad Java y desarrollo de tecnologías. Constantemente trataré de publicar información de interés así como ejemplos relacionados con J2SE, J2ME y J2EE entre otras aplicaciones.

La idea no es poner ejemplos demasiado complicados, sino apoyar a cualquier persona interesada en el desarrollo con ejemplos simples pero prácticos.

Estoy a sus ordenes en el correo: cedav3000@hotmail.com

César D. Cavazos B.
León, Gto, México.