Utilizar una clase Java en Oracle 10g

No Gravatar

Existen dos formas de subir una clase Java a un esquema. La primer forma solo implica subir el archivo .Class y la segunda sube el archivo .Java


Clase Ejemplo

public class MiClaseOracle{

public static String mensaje() {

return “Mexico lindo y querido”;

}

public static void invierteNumeros(int[] primerNumero, int[] segundoNumero) {

int temporal = primerNumero[0];

primerNumero[0] = segundoNumero[0];

segundoNumero[0] = temporal;

}

}

Subir .Class

Primero se debe de revisar la versión del jdk con la que se compila y la versión del jdk que tiene la base de datos. El comando para revisar la versión es java -version. En caso de que se desee olvidar de esta ambigüedad se debe compilar utilizando el comando localizado en el directorio [ORAHOME]/db_1/jdk/bin/.

Una vez generado el archivo .Class se debe de ejecutar el siguiente comando en la linea de comandos: loadjava -user [usuario]/[contraseña]@[baseDatos] [NombreClase].class

Ejemplo

loadjava  –user  miusuario/mipwd@mibase   MiClaseOracle.class

Subir .Java

Obviamente en este caso se requiere tener el archivo .Java y ejecutar el siguiente comando en la línea de comandos: loadjava -user [usuario]/[contraseña]@[baseDatos] -resolve [NombreClase].java


Ejemplo

loadjava  –user  miusuario/mipwd@mibase -resolve MiClaseOracle.java

Después de haber ejecutado la anterior línea (ojo, no debe de mandar algún aviso la línea de comando) se debe de acceder a la base de datos (utilizando el mismo usuario con la que se ejecuto el comando anterior) y ejecutar el comando alter java class “[NombreClase]“  compile;


Ejemplo

alter java class ” MiClaseOracle”  compile;

Ejecución

Para poder consumir las funciones implementas en la clase MiClaseOracle se deben de crear en la base de datos una función y un procedimiento almacenado.

Función Mensaje


CREATE FUNCTION mensaje RETURN VARCHAR2

AS LANGUAGE JAVA

NAME ‘MiClaseOracle.mensaje() return java.lang.String’;

Procedimiento InvierteNumeros


CREATE PROCEDURE invierteNumeros

( primerNumero IN OUT NUMBER

, segundoNumero IN OUT NUMBER

) AS  LANGUAGE JAVA

NAME ‘MiClaseOracle.invierteNumeros(int[], int[])’;

Consumo

Para verificar la funcionalidad de lo que hemos venido haciendo es necesario escribir y ejecutar el siguiente PL

DECLARE

mensajerecibido VARCHAR2(200);

primerNumero NUMBER;

segundoNumero NUMBER;

BEGIN

primerNumero := 1;

segundoNumero := 9;

invierteNumeros(primerNumero,segundoNumero);

mensajerecibido := mensaje();

DBMS_OUTPUT.PUT_LINE(‘Primer = ‘ || primerNumero || ‘ — Segundo = ‘ || segundoNumero );

DBMS_OUTPUT.PUT_LINE(‘Mensaje = ‘ || mensajerecibido);

END;


Twiter @QBit_Mike

Sesion caducada, una regla de la usabilidad

No Gravatar

Uno de los puntos mas importantes en el desarrollo de aplicaciones web y que generalmente se olvidan son las sesiones caducadas y es que en las aplicaciones puede llegar a ocurrir que se esta a punto de ejecutar una tarea importante o de enviar informacion sensible, pero por que nos hemos tomado mucho tiempo en el sitio quizas capturando la informacion, la sesion ha caducado y esa preciada informacion capturada se ve perdida.. Eso seguro les ha pasado mas de una vez..

Pero entonces como controlar si la sesion ha finalizado antes de enviar la informacion.. Uff, la respuesta esta mas que sencilla, ya que con un poco de ingenio, algunas lineas de codigo javascript antes de enviar la informacion de un formulario y ajax, un simple request bastara para saber si o no una sesion todavia existe..

La usabilidad radica en que no hay que permitir que a los usuarios de nuestras aplicaciones les ocurra esto, ya que es algo que mediante QA se debe detectar y prevenir. La regla no es basica, pero si muy importante, con certeza diria que los usuarios se sentiran reespaldados tras ver que se les ha avisado que su sesion ha caducado y que pueden volver a entrar a la aplucacion y que sus datos capturados no se les ha perdido..

Qbit Computadoras Cuánticas

No Gravatar

La tecnología nos apasiona… desde que descubrimos las computadoras y decidimos dedicarnos a crear con ellas, y tal vez desde un poco antes, cuando descubrimos la televisión o la radio, los videojuegos y recientemente Internet y los móviles, o tal vez aún antes, cuando nos leian historias de ciencia ficción de viajes a la luna y a otros planetas, lo cierto es que la tecnología ha estado ahí desde hace mucho tiempo y seguirá estando en todos los ámbitos del quehacer humano, avanzando siempre y sorprendiéndonos con cada nuevo progreso.

Uno de esos grandes progresos será sin duda la computación cuántica; en la actualidad la mayoría de las computadoras modernas basan sus operaciones en valores eléctricos binarios. En la computación digital, un bit sólo puede tener dos valores, 0 o 1. El bit es la unidad mínima de información empleada en informática en cualquier dispositivo digital, o en la teoría de la información. Con él, podemos representar dos valores cuales quiera, como verdadero o falso, abierto o cerrado, blanco o negro, norte o sur, masculino o femenino, rojo o azul, etc. Basta con asignar uno de esos valores al estado de “apagado” (0), y el otro al estado de “encendido” (1).

Que es la computación cuántica?

“La computación cuántica es un paradigma de computación distinto al de la computación clásica. Se basa en el uso de qubits o qbits en lugar de bits, y da lugar a nuevas puertas lógicas que hacen posibles nuevos algoritmos. Una misma tarea puede tener diferente complejidad en computación clásica y en computación cuántica, lo que ha dado lugar a una gran expectación, ya que algunos problemas intratables pasan a ser tratables. Mientras un computador clásico equivale a una máquina de Turing, un computador cuántico equivale a una máquina de Turing indeterminista. ”
http://es.wikipedia.org/wiki/Computaci%C3%B3n_cu%C3%A1ntica

Una computadora cuántica no tiene chips, sino que sólo utiliza los átomos individuales para llevar a cabo cálculos en teoría a una velocidad que resulta increíble…

“Los átomos sirven para procesar y «mover» la información de una manera diferente. Se denominan «qbits», el equivalente al 0 y 1, el lenguaje binario en el que hablan los ordenadores actuales. En otras palabras, es como sustituir las memorias «bit» de los ordenadores por átomos. La enorme ventaja aquí es que un átomo puede estar en dos estados distintos «a la vez»: 0, 1, o una «mezcla» entre los dos, llamada «superposición». Un sólo átomo o «qbit» ofrece varias posibilidades. Y un ordenador de 500 «qbits», con todas las combinaciones posibles de sus «estados superpuestos», equivaldría a uno convencional con un número de procesadores inimaginable, de 10 elevado a 150, imposible de construir.” Ignacio Cirac 1995.

Visto en http://www.laflecha.net/canales/ciencia/200503142/

Entre las aplicaciones que se pueden obtener con la computación cuántica se encuentran la criptografía cuántica, la teleportación cuántica, la electrónica molecular asi como el desarrollo del mismo hardware para este nuevo tipo de tecnología.

Todo un nuevo campo de oportunidades y futuras aplicaciones que nos esperan a no muchos años de distancia.

Mas información :

http://es.wikipedia.org/wiki/Criptograf%C3%ADa_cu%C3%A1ntica

http://en.wikipedia.org/wiki/Quantum_teleportation

http://es.wikipedia.org/wiki/Electr%C3%B3nica_molecular

http://forums.canadiancontent.net/science-environment/46627-four-ways-build-quantum-computer.html

http://scienceblogs.com/pontiff/2007/11/qubit_qbit_qbit_or_qbert_1.php

http://labellateoria.blogspot.com/2007/12/coherencia-y-computacin-mecanico.html

http://www.gigle.net/ordenadores-cuanticos-y-moleculares/

http://www.nsti.org/procs/Nanotech2007v1/2/W78.720

Calculadora de impuestos

No Gravatar

En QBit siempre estamos desarrollando nuevos proyectos. En esta ocasión se nos ha ocurrido la idea de crear una Calculadora de Impuestos que sirva como auxiliar a contadores y personas con ciertas nociones al respecto. La aplicación calculara el IVA, ISR e IETU a pagar, así como los recargos y actualizaciones. Siempre con base en las tablas que el SAT publica y en las reglas que rige el calculo de cada impuesto.

CalcImp es muy facil de usar, unicamente hay dos datos que capturar, ingresos y gastos. Aunque la aplicacion esta en fase beta y es solo para personas fisicas, ya es lo suficientemente estable y segura.

https://qbit.com.mx/calcimp

El plan es irla complementado con otro calculos, como la declaracion anual y el soporte para personas morales.

Zeru.

Nuevo Juguete

No Gravatar

La semana pasada fuimos por fin a comprar el nuevo juguete de Qbit, una Mac mini.

Después de pedirsela Jack a Santa y luego Zeru a los Reyes Magos sin éxito, por fin ya tenemos la nueva Mac mini de Qbit para comenzar a realizar aplicaciones para el iPhone.

En manos de Jack Mac Controlito
En Manos de Jack Recien desempacada Mac Controlito
Es una cajita pero nos ha gustado mucho, esperemos que no nos tome mucho tiempo aprender a usarla pues ya hay un proyecto por comenzar.

BarCamp 2009, eventos similares y PyMEs

No Gravatar

El 7 de febrero algunos de los miembros de QBit asistimos al segundo BarCamp en México. A grandes rasgos un BarCamp es una red de evento, en donde se las ponencias son ofrecidas por los asistentes, sin un itinerario previo. Es decir, que quien quiera puede ofrecer una platica, tutorial o presentación. Basta con anotarte en una lista y esperar tu turno.

Por la naturaleza misma del evento, los temas a tratar, no están bien definidos hasta pocos minutos antes de que el evento comience. Y por lo tanto pueden varia mucho, desde temas técnicos y tutoriales hasta temas sociales y de evangelización, pasando por la presentación de proyectos personales y en grupo.

Pienso que a nivel tecnológico, para las PyMEs, los beneficios de asistir a este tipo de conferencias son limitados, pues los temas, aunque interesantes, son de poca complejidad técnica y gran parte de las ponencias son tutoriales básicos. Por supuesto hay excepciones.

Sin enbargo hay otros aspectos en los que estas reuniones son utiles para las PyMEs, como:

  • Establecimiento de nuevos contactos. Ya sea como clientes o como proveedores.
  • Promoción de proyectos, servicios y marcas.
  • Conocer acerca de las tendencias sociales alrededor de las tecnologías.
  • Reclutamiento de talento.

A su vez las PyMEs podemos aportar cosas, pues finalmente de esto se trata, de aportar ideas y experiencias. Y en este caso tal vez un poco mas, se me ocurren las siguientes maneras de ayudar en estos eventos:

  • Patrocinio. Aunque no pueda compararse con el ofrecido por las grandes compañías como Google o Microsoft.
  • Apoyo a proyectos personales.
  • La experiencia de quienes llevamos tiempo trabajando en el medio.
  • Fuentes de empleo.

La primera asistencia de QBit a este tipo de evento fue como escuchas solamente. Nuestra intención es participar mas activamente en futuros eventos, aportando todo lo posible a una comunidad que esta llena de talento e ideas nuevas.

Este tipo de experiencias nos enriquecen a todos los asistentes, es de admirar toda la gente que no se conforma con ser un usuario mas de la tecnología, sino que además de preocupa por entenderla y se ocupa en desarrollarla.

Zeru
@zerugiran

Barcamp México 2009 gracias a Tequilla Valley

No Gravatar

El pasado sábado 7 de Febrero, se organizó en la ciudad de Querétaro la segunda reunión del Barcamp en México; organizada por los chicos de Tequila Valley (una comunidad de todos para todos, gracias de verdad).. un evento al que más de alguno de sus participantes y organizadores iban con espectativas muy bajas.. conocerse.. entablar relaciones de futuros proyectos, colaboración, ponencias y mucha pero mucha cultura geek fue lo que se compartió ese día.

Al evento asistieron un poco más de 200 participantes entre ponentes y auditorio.. temas diversos desde programación, diseño, software libre, talleres, charlas y experiencias fue lo del día.. Yo pensaba llegar con un tema para discutirlo (RIA’s) con Luis Zavaleta pero “sorpresa” llegué como a eso de las 11 de la mañana y una pizarra improvisada en un monitor me sugeria espacios limitados de 15 minutos ya casi al finalizar el evento, por lo que me tuve que conformar con no participar..

Cosas interesantes como aburridas tambien se presentaron, algunos temas eran polémicos y otros estaban menos entretenidos.. la experiencia fue enriquecedora y seguramente sus organizadores ya saben que hay un mundo que puede vivir y respirar de eventos como esos (somos parte de esa nueva cultura).. detrás de las muchas cuentas de twitter hay personas que apoyan y quieren colaborar para hacer de la internet un medio masivo más social; más allá de las redes que se albergan bajo un solo dominio.

Proximamente o para futuros eventos ya sabemos, los temas abrá que prepararlos con tiempo de anticipación .. quizás encuestas para saber cuales son los temas que más importan a la audiencia sería una buena forma de retroalimentarse y prepararse mejor..

De verdad que aunque no aporta nada a mis conocimientos técnicos como lo comentaba con zerugiran, el hecho no es ir a aprender a programar, dibujar o criticar los puntos de vista de los demás.. sino algo mucho más trascendental que es compartir el conocimiento y convivir con personas que tienen nuestros mismos intereses por la tecnología y la web.

Algunas fotografías del evento tomadas por participantes se pueden encontrar por flickr

Clickstatistics (lento pero seguro)

No Gravatar

Desde diciembre del año pasado tenía la inquietud e idea de desarrollar una pequeña, pero muy pequeña aplicación la cual me permitiera conocer las áreas mas atractivas para los visitantes de mis sitios web.. Al fin me decidí, pensé que utilizando mootools y unos cuantos archivos de php podría generar un mapa a partir de las coordenadas de las zonas por donde se mueve el mouse.. (creanme que suena sencillo, pero tomó muchas horas hacerlo realidad).. en fin su desarrollo avanzó muy lentamente.. y cuando pensaba que ya estaba listo.. fue cuando por primera vez visité en SHDH.. de ahí la retroalimentación de algunos de sus participantes.. me hicieron pensar en como mejorarlo.. y de esa forma es que regresé a casa con muchas ideas de como hacer una mejor aplicación basada en la opinion de los demás..

Al unos pocos días de volver al 2do. SHDH organizado en el año, muchas cosas han cambiado en clickstatistics, aquellas ideas ya han formado parte de mi pequeño proyecto y pues esta vez volveré con aquel grupo de programadores y mostraré el avance que he logrado desde entonces..

El siguiente evento del SHDH será este 21 de febrero.. la ubicación todavía se desconoce.. pero con seguridad unos cuantos días antes del evento pot twitter se estará dando a conocer que lugar de mexico será iluminado por tantas mentes brillantes.. XD

Enlace al sitio oficial del Super Happy Dev House

Una nueva herramienta en desarrollo SICAP

No Gravatar

SICAP es una herramienta de colaboración para llevar el control, manejo y ejecución de proyectos de construcción civiles, hidroelectricos, mecanicos e hidráulicos.. El sistema como tarea básica es el encargado de administrar la documentación completa desde que se inicia un proyecto hasta su fin..

Puede que esto nos mantenga ocupados un par de meses, esta desarrollado para la web.. Realizado con C# para ASP.NET y componentes de DevExpress es una chulada visual.. Quizás con algo más de tiempo mientras se continua trabajando en su desarrollo podamos filtrar algunas capturas de pantalla..

Usando un potente motor de BD (Oracle) y como complemento el desarrollo de modelos tridimensionales por ahora solamente como aplicación de escritorio (quizas en un futuro para la web con cualquier engine 3D de flash), es una herramienta muy completa.. competitiva y confiable.. jejeje.!! vaya comercial el que me he lanzado.. n_n

sicap, qbit, proyectos, c#, asp, devexpress, oracle, manejo, proyectos, administracion, control, 3d

Iniciando el 2009 con TequillaValley y Super Happy Dev House

No Gravatar
   

El 2009 ha iniciado y yo un poco retrasado escribiendo sobre eventos que han iniciado con el año.. Segun veo este año pinta para ser aun mucho más social que el año anterior e iniciamos fuertemente con TequilaValley, una comunidad de emprendedores y desarrolladores de contenidos sociales enfocados en la idea de ofrecer servicios tecnológicos para méxico basados en internet. Ya se han organizado algunas reuniones en el DF y algunos otros estados de la República Mexicana y la comunidad crece día con día.

También se inicia el año con otro evento de una nueva comunidad llamada Super Happy Developer House (SHDH), organizado por y para desarrolladores de software y contenidos web, gente interesada en tecnología que desean compartir ideas y conocimientos acerca de sus proyectos personales. Estuve presente en este evento el pasado 10 de Enero y fue toda una experiencia donde todos los participantes teníamos proyectos los cuales deseamos desarrollar.

Estas comunidades buscan gente emprendedora, personas con ganas de aprender y discutir sobre ideas, lenguajes, culturas y nuevos servicios tecnológicos.

tequila, valley, super, happy, developer, house


Qbit Mexhico Web Blog is using WP-Gravatar