12.07.2015 Views

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

implementación <strong>de</strong> libre distribución <strong>de</strong>l JDBC2.0. En ese mismo sentido, <strong>la</strong> web <strong>de</strong> Sun ofreceun sistema <strong>de</strong> localización <strong>de</strong> drivers para unelevado número <strong>de</strong> SGBD comerciales [6].El entorno Java utilizado fue el Java 2 (JDK1.2 y posteriormente JDK 1.3) <strong>de</strong> Sun. Se eligióWindows 9x como p<strong>la</strong>taforma <strong>de</strong> <strong>de</strong>sarrollo porser <strong>la</strong> habitual para el uso <strong>de</strong> nuestro campusvirtual.Des<strong>de</strong> el momento en que se pudo disponer <strong>de</strong><strong>la</strong>s herramientas prácticas se empezó a verificarsus capacida<strong>de</strong>s. Como es habitual, fue necesario<strong>de</strong>tectar aquellos puntos en los que <strong>la</strong> realidad <strong>de</strong>nuestro entorno (Informix + Windows 9x + Java 2+ driver JDBC Informix type 4) no seguía <strong>la</strong>sespecificaciones estándar. En esa misma línea, severificó el comportamiento <strong>de</strong> otros productosSGBD, <strong>de</strong> diferentes tipos <strong>de</strong> drivers y <strong>de</strong> variasp<strong>la</strong>taformas operativas.Tras este trabajo se estaba en condiciones <strong>de</strong><strong>de</strong>terminar qué capacida<strong>de</strong>s podían formar parte<strong>de</strong>l eje <strong>de</strong> una <strong>de</strong>scripción generalista <strong>de</strong>l mo<strong>de</strong>lo.2.2. La exposición teórica.Entendiendo que inicialmente el material quese <strong>de</strong>bía e<strong>la</strong>borar iba a ser complementario a otrosuficientemente <strong>la</strong>rgo y complejo, se optó por unaexposición basada en ejemplos y en <strong>la</strong>comparación con los mo<strong>de</strong>los <strong>de</strong> SQL/CLI en Cya estudiados. No se pretendía, pues, rechazar <strong>la</strong>experiencia <strong>de</strong> <strong>la</strong> que se disponía utilizando elmo<strong>de</strong>lo en C, si no <strong>de</strong> que ésta, por comparación,subrayase <strong>la</strong>s posibilida<strong>de</strong>s <strong>de</strong> Java. Se trataba,pues, <strong>de</strong> reforzar una serie <strong>de</strong> aspectos básicos:• La apuesta por el mo<strong>de</strong>lo CLI que evita <strong>la</strong><strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> base con el SGBD.• La simplificación <strong>de</strong>l mo<strong>de</strong>lo CLI <strong>de</strong> JDBC enre<strong>la</strong>ción al mo<strong>de</strong>lo en C tradicional.• La comprensión en profundidad <strong>de</strong> losfundamentos <strong>de</strong> dicho mo<strong>de</strong>lo al liberarlo <strong>de</strong><strong>la</strong>s complejida<strong>de</strong>s artificiales que inducenotros lenguajes.• La justificación teórica <strong>de</strong> los elementosprácticos.• La integración <strong>de</strong>l mo<strong>de</strong>lo JDBC con <strong>la</strong>filosofía <strong>de</strong> Java.De esta forma, <strong>la</strong> exposición empieza<strong>de</strong>tal<strong>la</strong>ndo los fundamentos teóricos que justificanel mo<strong>de</strong>lo JDBC, para seguir con <strong>la</strong> presentación<strong>de</strong> <strong>la</strong> estructura <strong>de</strong> un programa sencillo basado endicho mo<strong>de</strong>lo:• Localización y carga <strong>de</strong>l driver.• Conexión con el SGBD.• Operaciones con el SGBD y tratamiento <strong>de</strong>excepciones.• Desconexión <strong>de</strong>l SGBD.Para cada punto se especifica cómo realizarloen el entorno <strong>de</strong> trabajo <strong>de</strong> referencia (variables <strong>de</strong>sistema, configuraciones <strong>de</strong> <strong>la</strong>s herramientas,librerías requeridas por el lenguaje, etc.)El programa presentado utiliza una sencil<strong>la</strong>interfaz texto para no mezc<strong>la</strong>r <strong>la</strong>s complejida<strong>de</strong>s<strong>de</strong> un entorno gráfico con <strong>la</strong>s necesida<strong>de</strong>s JDBC.Este programa pasa a utilizarse entonces comouna aplicación patrón y a partir <strong>de</strong> el<strong>la</strong> seconstruyen todos los ejemplos que introducen losdiferentes aspectos <strong>de</strong>tal<strong>la</strong>dos:• Sentencias <strong>de</strong> modificación.• Sentencias <strong>de</strong> consulta.• Cursores con movimiento libre.• Control <strong>de</strong> transacciones.• Sentencias preparadas.• Procedimientos almacenados.• Modificaciones por lotes.Se intenta también perfi<strong>la</strong>r con c<strong>la</strong>ridad cuálesson <strong>la</strong>s c<strong>la</strong>ses <strong>de</strong>l API protagonistas <strong>de</strong> <strong>la</strong>estructura básica <strong>de</strong>l patrón, así como sus métodoselementales y los que <strong>la</strong>s interre<strong>la</strong>cionan (fig.1).Finalmente se revisan <strong>la</strong>s capacida<strong>de</strong>sadicionales <strong>de</strong>l mo<strong>de</strong>lo JDBC en aspectosre<strong>la</strong>cionados con los tipos SQL:1999.En <strong>de</strong>finitiva, <strong>la</strong> i<strong>de</strong>a subyacente es que <strong>la</strong>lectura motive al estudiante a probar loscontenidos expuestos. De hecho, cada uno <strong>de</strong> losaspectos pue<strong>de</strong> incorporarse a <strong>la</strong> aplicación patróny probarse contra una pequeña base <strong>de</strong> datos <strong>de</strong>ejemplo.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!