A N Lisis D E Tecn Olog As Sw P Ara Lab Oratorios Rem Otos

3y ago
33 Views
2 Downloads
323.76 KB
8 Pages
Last View : 4d ago
Last Download : 5m ago
Upload by : Grady Mosby
Transcription

Análisis de tecnologías sw para laboratorios remotosJavier García Zubía *, Pablo Orduña *, José María Sáenz Ruiz de Velasco **, InésJacob Taquet **, Jesús Luis Díaz Labrador ** y Javier Oliver Bernal *** Dpto. de Arquitectura de Computadores, Automática y Electrónica y Telecomunicaciones** Dpto. Ingeniería del softwareUniversidad de DeustoAvda. Universidades 24, 48007, Bilbao, Españazubia@eside.deusto.esResumenLos Laboratorios Remotos o WebLab son ya unrecurso didáctico de primer orden en lasfacultades de ingeniería, sin embargo en muchoscasos adolecen de un pobre diseño sw, tanto en elcliente como en el servidor, lo que degrada sucalidad y su utilidad académica. El presentetrabajo analiza y selecciona las mejorestecnologías para implementar el cliente y elservidor de un WebLab.1. IntroducciónActualmente los WebLabs han demostradosobradamente su utilidad académica no tanto parasustituir a los laboratrios presenciales, como paracomplementarlos y potenciarlos. En una primeraetapa, los WebLabs estaban organizados ypromovidos por un laboratorio o departamento,pero su éxito ha conllevado que deba ser la propiauniversidad la encargada de ofrecer este servicio.Este cambio supone un reconocimiento para losWebLabs, pero también nuevos requisitos(seguridad, accesibilidad, universalidad, etc.) quegeneralmente no son tomados como esenciales alinicio del diseño, pero que son los que conformanun servicio profesional. Un planteamientoincorrecto es diseñar primero un prototipo quefuncione –it runs- y luego añadirle ento no es válido y muchas veces acabaen que hay que rehacer la totalidad de laaplicación. Esto es fácilmente asumible por unprofesional de la informática, pero no es tanevidente en otros casos.Por ejemplo, en el mes de noviembre del 2006la Universidad de Deusto organizó un workshopinvitando a una decena de investigadores en elárea de los laboratorios remotos [1]. Buena partede las dicusiones se centraron en los aspectos hwy académicos, pero sin embargo quedó patenteque no era lo mismo desarrollar en Java, que enAdobe o en AJAX, y que una mala eleccióninicial de la tecnología lastraba la calidad dellaboratorio remoto, sobre todo en aspectosesenciales como la universalidad, la seguridad y laaccesibilidad.Lasrazonessonquemayoritariamente los investigadores tienen unperfil electrónico o de regulación y que lastecnologías web 2.0 son de reciente aparición.Otro ejemplo clarificador se obtiene al leer elimponente trabajo [2]. En él se analizan más de uncentenar de artículos centrados en laboratorios,pues bien, solo uno de ellos [3] relaciona sw ylaboratorios remotos, centrándose el resto en elhw y en los aspectos académicos.Figura 1. Evolución tecnológica del WebLabDeusto.

146Robótica e informática industrial /Arquitectura de ordenadoresEl presente trabajo aprovecha la experiencia delequipo investigador desde el 2001 en el desarrollode WebLabs (ver Fig. 1 y [4][5][6]) para analizary seleccionar entre las tecnologías propias delcliente y del servidor la más adecuada paradiseñar un laboratorio remoto. El trabajo describelas necesidades de un WebLab, las posibilidadesde las diferentes tecnologías para el cliente –aplicaciones de escritorio, ActiveX, Java, AdobeFlash, AJAX y HTML– y las correspondientes alservidor –Python, .NET y Java.Los apartados 2 y 3 describen y analizan lasdistintas tecnologías para implementar el cliente yel servidor de un WebLab, seleccionandojustificadamente una para cada entorno, AJAX yPython, respectivamente. El apartado 4 refleja lasconclusiones del trabajo.2. Aplicación del clienteEl cliente en un laboratorio remoto es el sw que elusuario va a utilizar para acceder al servicio.Dependiendo del experimento, el cliente puedenecesitar enviar un fichero, o recibirlo; puedenecesitar ver por WebCam qué está pasando en ellaboratorio; puede necesitar interactuar con elexperimento; o puede necesitar otros servicios.La parte cliente debería evitar cualquierrestricción innecesaria en el usuario más allá delas funcionalidades, es decir, cualquier alumnocon cualquier PC, SO y navegador debe poderacceder al WebLab, ya que lo contrario esdifícilmente asumible por la universidad (aunquesí podría serlo por el laboratorio). Así pues, uncliente es mejor cuanto más “fino” es, cuanto másSO soporta, cuanto más accesible es, cuantomenos dependiente es de plug-in, etc. LosWebLabs deben ser herramientas didácticasuniversales.2.1. Tecnologías del clienteActualmente existe un abanico muy amplio detecnologías que pueden ser utilizadas paraimplementar el cliente de un laboratorio remoto,desde la más ligera aplicación web hasta la máspesada aplicación de escritorio. Todas ellaspueden ser clasificadas en dos grupos:x Aplicaciones de escritorio. Aquellas que seejecutan en el escritorio del ordenador delusuario.x Aplicaciones web. Aquellas que sonejecutadas en el navegador del escritorio delusuario.Una aplicación de escritorio puede serdesarrollada en muchas plataformas (C, C ,Delhi, Java, .NET, Python, etc) y tener muy pocasrestricciones, pero es poco portable, más intrusivaque las aplicaciones web, ya que usualmentetienen acceso a todo el sistema del usuario, ynecesita de un proceso de instalación. Estasdesventajas se compensan con una mayor potenciay complejidad, ya que al no tener las restriccionespropias de un navegador y de los estándaresasociados a él, estas aplicaciones pueden explotarpor cuenta propia recursos como 3D, protocolosbinarios específicos para la aplicación, etc. Encualquier caso la calidad y seguridad de unaaplicación de escritorio recae totalmente en sudiseñador y programador, y esto desde el punto devista del administrador de sistemas de launiversidad suele ser totalmente inaceptable a noser que ellos hayan sido los desarrolladores; no sedebe olvidar que este departamento es elencargado de asegurar y ser responsable de laintegridad del servicio informático de launiversidad, y que un mal diseño puedecomprometerla.Atendiendo a las razones anteriores, el trabajose va a centrar principalmente en las aplicacionesweb, que junto a las aplicaciones de escritorio,pueden reclasificarse en:x Aplicaciones intrusivas. Estas aplicacionestienen los mismos privilegios que lasaplicaciones del usuario, por ejemplo puedenacceder al disco duro, pueden leer y escribirficheros, pueden ejecutar programas, puedenabrir y cerrar conexiones, etc.x Aplicaciones no intrusivas. Estas aplicacionesgarantizan al usuario que pueden ejecutadassin poner en riesgo su seguridad, ya que nopueden hacer nada que no pueda hacer elnavegador en el que están siendo ejecutadas.Figura 2. Clasificación de las tecnologías delcliente

XIII Jornadas de Enseñanza Universitaria de la InformáticaViendo la Fig. 2 se puede decir que cuanto máspotente es una tecnología, menos universal y másintrusiva es. Conceptualmente, la mejor tecnologíaes aquella que cubriendo todos los requisitos delsistema, más universal sea. El resto del trabajo vaa analizar las diferentes estrategias para acabarseleccionando AJAX, ya que aunque no es la máspotente sí es la más universal, y en el caso de unservicio académico su “universalidad” es unrequisito irrenunciable.Aplicaciones de escritorioSon las más intrusivas y las que máscomprometen la seguridad del usuario.Específicamente las tecnologías Java y .NETpueden ser no intrusivas bajo control del usuario[7] [8]. En cualquier caso su calidad dependeclaramente del equipo de desarrollo, y por tantono serán tenidas en cuenta en el análisis final.ActiveXJava y ActiveX son probablemente, entre lastecnologías de aplicaciones web, los sistemas máspotentes en términos de flexibilidad, pero ActiveXsolo está disponible bajo Internet Explorer y susaplicaciones son por defecto intrusivas, aunque elcliente debe aceptar la ejecución de sw intrusivo.Estas características hacen que las aplicaciones enActiveX estén más cerca de las aplicaciones deescritorio que de las aplicaciones web.Java appletsJava es una plataforma potente para desarrollarRich Internet Applications, RIA. Para poder usarJava, el cliente debe tener instalada la máquinavirtual de Java, JRE [9] [10].Una buena característica de Java es que puedeser instalada en diferentes sistemas operativos, ypuede ser embebida en muchos navegadores. Ladesventaja de JRE es su disponibilidad, que sibien era mucha hace tres o cuatro años, ahora estáempezando a decrecer, y no todos los ordenadoresla tienen instalada. Otra desventaja es que si elWebLab ha sido desarrollado para JRE 1.5, nofuncionará para JRE 1.4, y el usuario tendrá queactualizar la máquina virtual, pero además, y aunsiendo extraño, una aplicación hecha bajo JRE 1.3puede no funcionar bajo JRE 1.5, todo esto exigeal usuario tener disponibles varias máquinasvirtuales y saber bajo cuál debe ejecutar cadaaplicación, y/o exige a los desarrolladores tenerdiferentes versiones de un mismo WebLab para147las diferentes JRE, con el problema demantenimiento que esto supone.Es interesante volver sobre la disponibilidadde la JRE, ya que si no está instalada y el usuarioestá en un cibercafé o en un ordenadoruniversitario sin privilegios de administrador, nopodrá instalar la máquina virtual y por tanto nopodrá acceder al laboratorio remoto, quedandodegradada su universalidad.Por último cabe destacar que una aplicaciónJava no es inicialmente intrusiva ya que se ejecutaen la sand box, pero si el cliente debe acceder aalgún fichero, entonces la aplicación deberá“abandonar” la sand box, convirtiéndose en unaaplicación intrusiva, perdiendo una de susprincipales ventajas. La solución a este problemapodría implementarse en HTML o JavaScriptdentro de la aplicación Java, pero esto complicaríainnecesariamente el desarrollo y mantenimientodel sistema.Adobe FlashAdobe Flash [11] es actualmente la tecnologíalíder en RIA. El usuario de una aplicación AdobeFlash debe tener instalado el Adobe Flash Player,el cual interpretará los ficheros en formato swf.Una vez instalado el Adobe Flash Player, lasaplicaciones desarrolladas serán no intrusivas,multiplataformas y muy potentes: vídeo, vídeo entiempo real, sonido, acceso no intrusivo aficheros, uso de ActionScript, acceso a serviciosweb, etc. La combinación del potencial de AdobeFlash en servicios web y en animación hacen deesta tecnología una de las más adecuadas paraimplementar laboratorios remotos.El uso de Adobe Flash está muy extendido yestá disponible en Windows, Linux y Mac OS[12]. En cualquier caso esta disponibilidad esrelativa ya que todavía no está disponible para 64bits, lo que es una clara desventaja. Además, laversión 7 es la única disponible para Linux hastamediados de enero de 2007, mientras que paraWindows ya está desarrollada la versión 9 [13].Otro problema importante es que solo tiene ungran distribuidor, Adobe, y es por tanto un swpropietario. Por ejemplo, en diciembre de 2006fue descubierto un error de seguridad en AdobeReader que comprometía gravemente a Windows[14], de tal forma que si el site tenía disponible unpdf, la sesión del cliente podía ser robada. Estomismo podría pasar con el Adobe Flash Player y

148Robótica e informática industrial /Arquitectura de ordenadoresquedar remarcado por la posición aislada deAdobe.AJAXEn los últimos dos años la tecnología dereferencia en RIA es AJAX [15]. AJAX es lacombinación de varias tecnologías web yaexistentes (XHTML, Javascript, CSS, DOM, etc)con un nuevo componente: XHTMLHttpRequest.Este componente permite llamar a servicios webXML asíncronamente desde Javascript. AJAX esel acrónimo de Asynchronous Javascript AndXML.El aspecto principal de AJAX es que todos loscomponentes, excepto XMLHttpRequest, sonestándares que los navegadores ya soportan. Así,si un navegador soporta el nuevo componente,entonces cualquier aplicación cliente en AJAX sepodrá ejecutar en dicho navegador del usuario.Esta característica es muy importante, y hace deAJAX la más portable y universal de lastecnologías explicadas hasta ahora, ya que estacaracterística no reside tanto en el SO como en elnavegador que es el encargado de soportar losestándares. De esta forma, una aplicaciónimplementada en AJAX es directamenteejecutable en un teléfono celular, PDA, etc.siemprequesunavegadorsoporteXMLHttpRequest. Este es el caso del navegadorOpera usado por muchos teléfonos celulares [16],el de las últimas versiones del Explorer paraWindows CE y el del navegador en código abiertodesarrollado por Nokia para sus últimos modelos.Por tanto, un laboratorio remoto implementado enAJAX es accesible desde una multitud dedispositivos, lo que no hace sino otorgarle másuniversalidad, que es uno de los principalesrequisitos de este tipo de aplicaciones.Grandes empresas como Google o Yahoo handesarrollado algunas de sus más famosasaplicaciones en AJAX, por ejemplo Google Maps,Google Mail o Flickr, y por ello AJAX está siendoutilizado en diversidad de aplicaciones, lo que nohace sino aumentar su potencial.La principal desventaja de AJAX es que notiene recursos de vídeo y audio. Un laboratorioremoto con bajas exigencias de vídeo y sin audio,bien puede ser desarrollado solo en AJAX, pero sise necesita un buen rendimiento, la aplicaciónnecesita integrar funciones implementadas enAdobe Flash, por ejemplo.Aplicaciones tradicionales en HTMLLas aplicaciones HTML son aplicaciones web quesolo usan estándares como HTML, XHTML, CSS,etc. Estas aplicaciones no tienen por sí mismascapacidad de interacción con el servidor, devídeo, de audio, etc., lo que supone una claradesventaja en el caso de un WebLab, más allá dela ventaja que supone su perfecta integración encualquier navegador.Un aspecto destacable es que es posibledesarrollar aplicaciones accesibles en HTML, loque permite que personas discapacitadas puedanacceder a los servicios web así implementados. Loanterior no es tan fácil en el resto de tecnologías,excepto para Adobe Flash, cuya versión 6 ayudaal diseñador con funciones para la accesibilidad[17]. Lo anterior puede parecer poco importante,pero los responsables de un laboratorio remoto yla propia universidad no pueden ignorar el alcancede las leyes que favorecen la integración de losdiscapacitados en la enseñanza [18] [19].2.2. Análisis y selección de la tecnología delclienteLa pregunta que surge es, ¿cuál es la mejortecnología para implementar el cliente de unlaboratorio remoto? Teniendo claros los requisitosdel WebLab a implementar, la pregunta sería¿pueden cubrirse los requisitos con HTML? Si larespuesta es sí, entonces esta es la tecnología; si larespuesta es no, entonces se repite la preguntapara AJAX; y así sucesivamente para Adobe, etc.Es decir, se debe recorrer la Fig. 2 de izquierda aderecha hasta encontrar la tecnología adecuadapara los requisitos.La Tabla 1 puntúa de 1 a 5 las característicasde cada tecnología para implementar la aplicacióndel cliente. Las características utilizadas son:x Paradigma: ¿Es la tecnología correspondienteel paradigma actual de diseño?x Multiplataforma: ¿Es ejecutable la aplicaciónbajo cualquier SO?x Intrusividad: ¿Hasta qué punto no es intrusivala aplicación?x Proveedores: ¿Cuántos proveedores tiene latecnología de desarrollo?x Instalación previa: ¿Require la aplicación lainstalación previa de un sw, plug-in, máquinavirtual, etc?x Precio: ¿Es gratuita la tecnología?

XIII Jornadas de Enseñanza Universitaria de la Informáticax Dispositivosmóviles:¿Esejecutabledirectamente la aplicación en un teléfonomóvil, PDA, etc?x Flexibilidad: ¿Es utilizable la tecnología endiferentes contextos?x Accesibilidad: ¿Es adecuada la tecnologíapara desarrollar aplicaciones accesibles pordiscapacitados?x Comunidad de desarrolladores: ¿Existe unacomunidad de usuarios y desarrolladoresdetrás de la tecnología?x Protocolos: ¿Son diversos y potentes losprotocolos que soporta la tecnología?x Herramientas de desarrollo: ¿Son potentes lasherramientas de desarrollo?x Estandarización: ¿Esta la tecnología basada enestándares?x Ancho de banda: ¿Cuánto ancho de bandanecesita la tecnología?x Audio y vídeo: ¿Permite la tecnología el usode audio y vídeo?x Integración en el navegador: ¿Es la tecnologíaparte intrínseca del navegador?Analizando los resultados de la Tabla 1:x AJAX es la tecnología mejor valorada.x Mirando solo a los aspectos más destacables,AJAX es también la tecnología mejorvalorada (ver Tabla 2).x Si la aplicación del cliente necesita vídeo yaudio de calidad, al menos debe ser usadoAdobe Flash.x Si se necesita interacción con el hw, como esusual en un laboratorio remoto, entoncesHTML debe ser descartado.x Java Applets es similar a Adobe Flash en lamayoría de características, pero está menosdisponible en términos de máquina virtual.x ActiveX no es recomendable para desarrollarWebLabs porque no aporta ninguna ventajaque otras tecnologías no tengan, y sinembargo no es multiplataforma.Para un WebLab específico, el equipo dedesarrollo debe elegir de la Tabla 1 los requisitosmás importantes, o añadir nuevos a la tabla. Porejemplo la Tabla 2 muestra la comparación entreAJAX y Adobe Flash para el desarrollo delWebLab-Deusto. La tecnología más adecuadapara el WebLab-Deusto es AJAX.149Java AdobeApplets FlashParadigma*** ****Multiplatafor ******ma(1)(2)Intrusividad *****/ cio***** dad **** ****Accesibilidad ******Comunidad ***** *****dedesarrolladoresProtocolos***** *****Herramientas ***** ***de desarrolloEstandarizaci **** ***ónAncho de***** *****bandaAudio y*** *****vídeoIntegración**en elnavegadorSuma5657Tabla 1.AJAX HTML Active X***** ********* *****(3)(3)***** *******(4)****** ********** ************ ********(7)**** ****(9)****** ********** *******(8)*********************** ***************** ****************************** *****6564***(10)45Análisis de las tecnologías del cliente1. Mientras la máquina virtual de Java está disponiblebajo varios SO, no es posible asumir que esté siempreinstalada, sobre todo la última.2. Es común encontrar Adobe Flash Player instalado(más que la máquina virtual). En cualquier caso, no estádisponible para arquitecturas de 64 bits.3. Es totalmente asumible que todos los usuarios tieneninstalados navegadores.4. Solo se ejecuta bajo un único navegador, el Explorer,y en único SO, Windows.5. Depende de si se trabaja en la sand box o no.6. El Player es gratuito, pero el diseñador sí paga por eleditor de Adobe, aunque ya hay alternativas gratuitas.7. ActiveX exige Windows, que no es gratuito.8. Con restricciones y dependiendo del dispositivo.9. Es necesario usar navegadores con AJAX, comoOpera o Nokia OSS Web Browser.10 ActiveX es solamente parte integral del Explorer, nodel resto de navegadores.

Robótica e informática industrial /Arquitectura de ordenadores150Adobe ****Instalación previa***Dispositivos móviles**Herramientas de desarrollo***Audio y vídeo*****Integración en el navegador*Suma27Tabla sis de las tecnologías del clientecentrado en WebLab-DeustoLas ventajas que AJAX tiene en términos dedisponibilidad, independencia de un únicoproveedor, buena carga de trabajo e integración enel navegador, hacen de ella la tecnología másadecuada cuando la página web necesitainteracción. La principal desventaja de AJAX paraWebLabs es que no dispone de capacidad paravídeo y audio de calidad, que sí son aportadas porAdobe Flash o Java. Pero como Adobe y Java soninteroperables con AJAX, entonces la integraciónde módulos desarrollados para audio y vídeo enAdobe Flash o Java en la aplicación es trivial. Porejemplo, Google Mail es una aplicación AJAXque soporta conversaciones online y usa unmódulo en Adobe Flash para generar sonidos cadavez que alguien manda un mensaje [20]. Si elusuario no dispone del Adobe Flah Player, todo elGoogle Mail funcionará con normalidad, exceptolos sonidos de mensaje; esta misma situación sepuede dar al diseñar laboratorios remotos.Recientemente la plataforma de código abiertoGoogle Web Toolkit [21][22] ofrece a

en que hay que rehacer la totalidad de la aplicaci n. E sto es f cilm ente asum ible por un profesional de la infor dente en otros casos. P or ejem plo, en el m es de noviem bre del 2006 la Universid ad de Deusto organiz un workshop invitando a una decena de investigadores en el

Related Documents:

de que se la busque y de que se la ame, no es la del cuer po, sino esa belleza del alma, cuyo culto ennoblece á la vez al amante y al amado. Sócrates se dirige en seguida á Menexenes, el compa ñero favorito de Lisis, y le suplica, puesto que tiene la fortuna de experimentar y hacer que otro experimente el

akuntansi musyarakah (sak no 106) Ayat tentang Musyarakah (Q.S. 39; 29) لًََّز ãَ åِاَ óِ îَخظَْ ó Þَْ ë Þٍجُزَِ ß ا äًَّ àَط لًَّجُرَ íَ åَ îظُِ Ûاَش

Collectively make tawbah to Allāh S so that you may acquire falāḥ [of this world and the Hereafter]. (24:31) The one who repents also becomes the beloved of Allāh S, Âَْ Èِﺑاﻮَّﺘﻟاَّﺐُّ ßُِ çﻪَّٰﻠﻟانَّاِ Verily, Allāh S loves those who are most repenting. (2:22

El Análisis de Mayor y Mejor Uso y su Relevancia en la Aplicación de las Normas Internacionales de Valuación Ing. Luis Cuéllar Ulloa luiscuellar1@yahoo.com.mx Ing. Alfonso Medina Meave amedinameave@gmail.com Noviembre, 2012.

El segundo comprende el marco conceptual, el dise o de la metodolog a, as como la interpretaci n y el an lisis de la informaci n y los datos obtenidos. La tercera parte retoma la propuesta de ÒMetodolog a para el Estudio Nacional en HondurasÓ, previa a esta investigaci n y que le sirve de gu a se delimita en t rminos .

Computaci n. Av. Juan de Dios B tiz, esquina con Miguel Oth n de Mendiz bal, M exico, D.F., 07738 y Alejandro ZAVALA-GALINDO Instituto Polit cnico Nacional , SEPI -Escuela Superior de Ingenier a Mec nica y El ctrica (SEP I-ESIME -IPN), Av. Luis Enrique Erro

Sistema de Informaci!n Gerencial de Seguridad Alime ntaria %ndice de tablas Tabla 1: Bolivia-Poblaci!n y desnutrici!n global . De hecho, para el a%o 2005, la deserci!n escolar Ðjunto con la mortalidad infantilÐ implic! un costo de 6' del PIB nacional. Mediante el an"lisis prospectivo, que

TO REAL ANALYSIS William F. Trench AndrewG. Cowles Distinguished Professor Emeritus Departmentof Mathematics Trinity University San Antonio, Texas, USA wtrench@trinity.edu This book has been judged to meet the evaluation criteria set by the Editorial Board of the American Institute of Mathematics in connection with the Institute’s Open Textbook Initiative. It may becopied, modified .