20.04.2014 Views

Desarrollo de Soluciones Cliente-Servidor para la Verificación ...

Desarrollo de Soluciones Cliente-Servidor para la Verificación ...

Desarrollo de Soluciones Cliente-Servidor para la Verificación ...

SHOW MORE
SHOW LESS

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

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

74<br />

Capítulo 4. Diseño y <strong>Desarrollo</strong> <strong>de</strong> un Sistema <strong>de</strong> Autenticación Biométrica <strong>de</strong><br />

Estudiante <strong>para</strong> P<strong>la</strong>taformas LMS<br />

4.2.5. Contribuciones al Proyecto <strong>de</strong> Código Libre JBioAPI<br />

Para po<strong>de</strong>r utilizar a<strong>de</strong>cuadamente el Framework BioAPI en nuestro sistema<br />

hemos necesitado mejorar el proyecto <strong>de</strong> código libre JBioAPI con varias<br />

contribuciones[González Agul<strong>la</strong>, Elisardo y otros, 2009c]. Hemos aportado el soporte<br />

necesario <strong>para</strong> su ejecución en el entorno Windows, hemos permitido el acceso <strong>de</strong>s<strong>de</strong><br />

Java a <strong>la</strong>s primitivas <strong>de</strong> bajo nivel <strong>de</strong> <strong>la</strong> BioAPI <strong>para</strong> favorecer así su uso en arquitecturas<br />

cliente-servidor, y hemos habilitado <strong>la</strong> invocación <strong>de</strong> <strong>la</strong>s funciones <strong>de</strong> i<strong>de</strong>ntificación.<br />

Para <strong>de</strong>sarrol<strong>la</strong>r el soporte <strong>para</strong> el S.O. Windows <strong>de</strong>l proyecto JBioAPI hemos usado<br />

el código nativo <strong>de</strong> <strong>la</strong> implementación <strong>de</strong> referencia <strong>de</strong> <strong>la</strong> BioAPI 1.1 que está disponible<br />

como un proyecto <strong>de</strong> Visual Studio 6.0, y <strong>la</strong> herramienta SWIG (Simplified Wrapper and<br />

Interface Generator)[SWIG Project, WWW] que permite <strong>la</strong> generación <strong>de</strong>l código Java<br />

Native Interface necesario <strong>para</strong> realizar <strong>la</strong>s l<strong>la</strong>madas a los métodos nativos <strong>de</strong>s<strong>de</strong> Java. El<br />

proyecto JBioAPI, incluyendo estas mejoras, se distribuye bajo <strong>la</strong> licencia GNU y está<br />

disponible en Internet como proyecto <strong>de</strong> código libre <strong>de</strong>l que actualmente soy miembro<br />

[JBioAPI Project, WWW].<br />

4.2.6. Conexión <strong>Cliente</strong>-<strong>Servidor</strong> <strong>de</strong> BWA: Web Services y XCBF<br />

El middleware es un software <strong>de</strong> conectividad que ofrece un conjunto <strong>de</strong> servicios<br />

que hacen posible el funcionamiento <strong>de</strong> aplicaciones distribuidas sobre p<strong>la</strong>taformas heterogéneas.<br />

<strong>Soluciones</strong> orientadas a objetos como CORBA o Java RMI son ampliamente<br />

aceptadas <strong>para</strong> invocar métodos resi<strong>de</strong>ntes en máquinas remotas <strong>de</strong>s<strong>de</strong> objetos resi<strong>de</strong>ntes<br />

en <strong>la</strong> máquina local. Sin embargo, <strong>la</strong> interoperabilidad se pue<strong>de</strong> ver aumentada si utilizamos<br />

Servicios Web en su lugar. Servicios Web con SOAP (Simple Object Access Protocol)<br />

permiten <strong>la</strong> interoperabilidad entre clientes heterogéneos (como CORBA pero <strong>de</strong> un<br />

modo más sencillo) y re<strong>la</strong>ja <strong>la</strong> restricción <strong>de</strong> utilizar el mismo lenguaje <strong>de</strong> programación<br />

tanto en el <strong>la</strong>do <strong>de</strong>l cliente como en el servidor (Java RMI necesita Java <strong>de</strong> los dos <strong>la</strong>dos).<br />

El mismo principio <strong>de</strong> interoperabilidad nos hace emplear el estándar XML Common<br />

Biometric Format (XCBF) <strong>para</strong> el intercambio <strong>de</strong> muestras biométricas. El uso <strong>de</strong> XCBF<br />

y Servicios Web permiten el <strong>de</strong>sarrollo <strong>de</strong> nuevos clientes totalmente compatibles con<br />

nuestro sistema y que no necesitan estar realizados en Java, simplemente <strong>de</strong>ben cumplir<br />

con <strong>la</strong> interfaz <strong>de</strong>l servicio web. Esta funcionalidad es a<strong>de</strong>cuada <strong>para</strong> aquellos terminales<br />

<strong>para</strong> los que no exista una máquina virtual Java.<br />

Todavía hay otra ventaja en usar Servicios Web en lugar <strong>de</strong> CORBA o Java RMI. A<br />

menudo los usuarios acce<strong>de</strong>n a Internet a través <strong>de</strong> LANs protegidas con cortafuegos.<br />

Los cortafuegos filtran y bloquean algún tipo <strong>de</strong> tráfico por motivos <strong>de</strong> seguridad. En<br />

este entorno, muchos (casi todos) puertos están típicamente cerrados al tráfico entrante y<br />

saliente, y pue<strong>de</strong> ocurrir que el usuario final no tenga los permisos necesarios <strong>para</strong> po<strong>de</strong>r<br />

abrir esos puertos. Los Servicios Web, sin embargo, son capaces <strong>de</strong> utilizar los puertos<br />

usados habitualmente <strong>para</strong> el tráfico HTTP/HTTPS generado por los navegadores web<br />

(puerto TCP <strong>para</strong> HTTP es el 80 y <strong>para</strong> HTTPS el 443). Estos puertos suelen estar siempre<br />

abiertos por lo que no se necesita ningún cambio en <strong>la</strong> configuración <strong>de</strong>l cortafuegos, y<br />

ésta es una <strong>de</strong> <strong>la</strong>s ventajas fundamentales <strong>de</strong>trás <strong>de</strong>l éxito progresivo <strong>de</strong> los Servicios Web<br />

en el <strong>de</strong>spliegue <strong>de</strong> aplicaciones remotas.

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

Saved successfully!

Ooh no, something went wrong!