Download Introducción de WebMathematica
Document related concepts
no text concepts found
Transcript
Introducción a WebMathematica WebMathematica es una nueva tecnología que permite la generación de contenido web dinámico con Mathematica. Se integra en Mathematica a través de un servidor web. WebMathematica utiliza toda la tecnología de Mathematica para construir sofisticadas herramientas web, proporcionando acceso inmediato al mejor software computacional desde cualquier buscador. Esos sitios creados a través de webMathematica no tienen que saber utilizar Mathematica. De hecho, no necesitan saber que están utilizando Mathematica. WebMathematica es la mejor elección para agregar cálculos interactivos a la web. Esta tecnología única permite al usuario crear sitios Web que permite a los usuarios realizar cálculos y visualizar los resultados directamente en una aplicación web. Está basada en las principales técnicas de software computacional y en Java Servlets, una probada tecnología de servidor; además webMathematica es totalmente compatible con Mathematica y los principales sistemas dinámicos avanzados de la web. En este capítulo mostraremos cómo opera webMathematica y cómo se desarrolla un sitio de webMathematica. Esta introducción considera las razones de usar Mathematica en un sitio Web, examina algunas áreas en las cuales se puede utilizar webMathematica, y se discute brevemente la tecnología subyacente a las páginas de Mathematica, y se describen los requisitos para ejecutar webMathematica. La tecnología de WebMathematica es escalable, confiable y fácil de utilizar. Conduce al despliegue del uso de calculadoras, de algoritmos, y de resolutores de problemas sobre la red de intranets, de sitios Web que proporcionan cálculos especializados a los clientes, del desarrollo de cursos interactivos por la web, y publicación de textos interactivos y suplementos del libro en la web. ¿Por qué utilizar Mathematica en su sitio Web? Hay las varias características importantes que Mathematica puede ofrecer a un sitio Web, incluyendo capacidad de cómputo, un lenguaje de programación interactivo, conectividad, el front-end de Mathematica y ayuda especializada para MathML. Capacidad de cómputo Mathematica contiene una gran colección de funciones para hacer cálculos en diferentes áreas, tales como el cálculo numérico, simbólico, y gráfico. webMathematica permite a todo el mundo acceder a estas funciones a través de la red. Muchas tecnologías de la web, de gran alcance en muchas áreas, no están bien adaptadas a cómputo científico; ello es debido a que, simplemente, no es su objetivo principal. Mathematica, por otra parte, es especialmente adecuado para el cómputo científico, y puede proporcionar acceso a él a través de la web. Capítulo 8 – pág. 1 Lenguaje de programación interactivo Mathematica contiene un lenguaje de programación de alto nivel, interactivo, funcional. Es un prototipo rápido que puede llegar a realizar grandes cálculos intensivos. Ésta es también una ventaja para la generación de contenidos web, puesto que los sitios grandes se pueden desarrollar con menor esfuerzo por parte del programador. Conectividad Mathematica se conecta fácilmente con servicios externos, que pueden ser proporcionar por lenguajes como por ejemplo Java, C, Fortran o Perl. Estos servicios pueden proporcionar una fuente de datos para los cálculos y también tomar los resultados de Mathematica. Es particularmente fácil de conectar a Java vía J/Link, una herramienta para integrar Java en Mathematica. El Front-End de Mathematica y Alternativas El interfaz de uso del notebook de Mathematica (el front-end) ha sido de siempre el mecanismo para trabajar con el kernel del Mathematica. Ahora, webMathematica proporciona un interfaz alternativo vía la web. Incluso en un ambiente web, el front-end es extremadamente útil. Se utiliza para escribir matemáticas y para traducir objetos gráficos de dos y tres dimensiones en imágenes. Además, el front-end puede generar documentos notebook y enviarlos al cliente. Escritura matemática y MathML Mathematica es un sistema avanzado de escritura matemática interactiva. Se trata, también, de un sistema de gran alcance para trabajar con MathML, que está diseñado para permitir el uso y la reutilización del contenido matemático y científico dispuesto en la web. Éstas características son un componente valioso de webMathematica, que trabaja bien con el gran número de herramientas que se encuentran disponibles para MathML. webMathematica añade cálculos y visualizaciones interactivas a un sitio web integrando Matemática con la última tecnología de servidores. ¿En qué se diferencia webMathematica de Mathematica? Podríamos decir que webMathematica y Mathematica tienen el mismo motor, pero poseen diferentes interfaces y están dirigidos a diferentes tipos de usuarios. WebMathematica ofrece acceso a aplicaciones específicos de Mathematica a través de la web. El interfaz clásico de Mathematica no requiere mucha práctica para poder ser usado con eficacia. En la mayoría de los casos, los usuarios ni tienen que estar al corriente del uso de Mathematica ni necesitan saber que lo están utilizando. En un cierto sentido, se puede considerar Mathematica como un entorno para desarrollar sitios de webMathematica. Por ejemplo, Mathematica es adecuado para trabajar en código que modela un cierto fenómeno físico que pueda entonces estar emplazado en un sitio de Capítulo 8 – pág. 2 webMathematica para permitir al público en general hacer funcionar el modelo y utilizar sus resultados en su trabajo cotidiano. WebMathematica resuelve el problema de cómo crear y distribuir soluciones de problemas técnicos de carácter computacional de manera rápida en entornos de redes. El usuario de webMathematica puede desarrollar nuevas aplicaciones rápidamente sin requerir que los desarrolladores aprendan nuevas técnicas o a escribir una gran cantidad de código de Java para los algoritmos matemáticos, gráficos, y entradas y salidas. Los desarrolladores no tienen que preocuparse de la gestión de la sesión ni de las recuperaciones de los errores. webMathematica tiene cuidado de todos los aspectos del desarrollo, dejando a su personal de I+D concentrarse en las soluciones y no en los detalles de su puesta en práctica. WebMathematica nos permite construir, examinar y desplegar servicios web especializados para la computación y la visualización de manera más rápida y económica. Las tres principales ventajas técnicas al usar webMathematica son en conjunto las siguientes: Capacidad de cómputo WebMathematica proporciona una gran biblioteca de comandos Mahtematica para el desarrollo de la web. Esto nos permite construir servicios web técnicomatemáticos de carácter computacional, incluyendo aplicaciones numéricas, simbólicas y gráficas que resuelven nuestros problemas matemáticos habituales de manera rápida y fácil. También, Mathematica puede importar y exportar 40 tipos de ficheros de datos, formatos de sonido e imagen, permitiendo a los usuarios el proceso de dichos datos en línea. Computación basada en servidores No hay software a comprar, instalar o a mantener a la hora de utilizar los sitios webMathematica sitios. Todo lo que los usuarios finales necesitan es un explorador web y, para algunas características más avanzadas tales como 3D gráficos interactivos, un medio en el que correr Java. Facilidad de empleo Todos los elementos del interfaz utilizados son elementos estándar GUI tales como campos del texto, cajas y listas drop-down. Esto nos permite ahorrar tiempo ya que sus empleados no tienen que aprender un software diferente. En muchos de los casos no se requiere experiencia en el manejo de Mathematica. Capítulo 8 – pág. 3 WebMathematica hace accesible a través de la red toda la funcionalidad de Mathematica. Este fácil acceso a los algoritmos de cómputo de más alto nivel así como a las funciones más avanzadas de análisis de datos, gráficos y escritura significa que podemos concentrarnos en resolver los problemas y no en programar como resolverlos. Sin importar el tamaño de la aplicación que creemos, el desarrollo de la misma en webMathematica recortará nuestro tiempo de desarrollo y hará la aplicación más robusta al mismo tiempo que más fácil de usar y mantener. Principales ventajas de webMathematica para los profesores Entre las principales ventajas de webMathematica para los profesores se encuentran las siguientes: Integración de Mathematica y de HTML WebMathematica permite que un sitio formado por páginas HTML pueda ser mejorado con el uso de comandos de Mathematica. Cuando se realiza una petición a una de estas páginas, los comandos de Matemática se evalúan y el resultado se inserta en la página en cuestión, ver el Ejemplo 1 al final de este capítulo. Esto se hace con páginas de JavaServer (JSP), una tecnología estándar de Java, que hace uso de etiquetas a medida. Después de la instalación inicial, todo lo que se necesita para desarrollar las aplicaciones webMathematica es un conocimiento básico del HTML y Mathematica. Tecnología estándar del servidor WebMathematica está basado en dos tecnologías estándares de Java: Java Servlet y JSP. Los Servlets son programas especiales de Java que funcionan en un servidor web Java. Hay diversos tipos de servlet que funcionan bajo diversos sistemas operativos y arquitecturas. Pueden también ser integrados en otros servidores web, tales como el Apache web server. Tecnología de conexión Cualquier otro software se puede incorporar fácilmente a webMathematica con la tecnología MathLink. Es particularmente fácil conectar Java con Mathematica usando J/Link, lo cual da lugar a muchas interesantes posibilidades en el desarrollo de webMathematica. No hay problema a la hora de integrar bibliotecas de Fortran o de C. El profesor puede tener acceso a examinar las cabeceras de los HTTP, crean y examinar cookies, o utilizar JDBC para la conexión a bases de datos. Paquetes de aplicaciones de Mathematica webMathematica trabaja sin problema con los paquetes de aplicaciones de Mathematica. Ello permite añadir funciones especializadas adicionales sin tener que pasar meses de largo desarrollo. Todos los paquetes estándares de Mathematica se pueden añadir a webMathematica a través de páginas JSP. También el profesor puede añadir sus propios paquetes a los de cursos ya creados. Capítulo 8 – pág. 4 Plantillas de páginas WEB diseñadas de de forma profesional WebMathematica incluye plantillas de páginas Web page diseñadas de forma profesional, que pueden ser modificadas por los profesores atendiendo a sus necesidades, con el consiguiente ahorro de tiempo. Todas las tecnologías estándares de la web, los estilos CSS permiten al profesor crear sitios más atractivos y de mayor alcance. Uso de plataformas estándares independientes WebMathematica ha sido construido sobre plataformas estándares independientes tales como HTML, Java, y tecnología de Java Servlet. Por ejemplo, Java Servlet se apoya tanto en sistemas nativos como a través de plug-in servlets, usando los más modernos servidores web incluyendo Apache, Microsoft IIS- o por servidores de aplicación como IBM WebSphere. Separación completa de la administración del servidor y de la generación del contenido La instalación del servidor y la generación del contenido están completamente separados, de tal forma que los administradores de sistemas y los webmasters pueden instalar el sistema una vez y posteriormente otros ocuparse de él. Los generadores de contenidos, ya sean ellos los profesores, escritores, o los instructores no tienen que entender o incluso no tienen que acceder a la tecnología subyacente. El gestor del kernel de webMathematica Una parte importante de webMathematica es el gestor del núcleo, que hace llamadas a Mathematica de una manera robusta, eficiente, y segura. El gestor mantiene activos uno o más kernels de Mathematica; de esta forma, puede procesar más de una petición a la vez. Cuando una petición se recibe para su cómputo, un proceso del kernel es utilizado para procesar dicha petición. Si cualquier cómputo excede de una cantidad de tiempo previamente establecida, el proceso del kernel se cierra y se reinicia. Cuando se cierra el servidor, todos los procesos del kernel también se cierran. Estas características maximizan el funcionamiento y la estabilidad del servidor. Tecnología principal de las páginas de webMathematica WebMathematica se integra de manera eficiente con las tecnologías estándares de la web. Usted elige instalar y configurar el servidor web, Java, y el servlet de su opción en la plataforma que soporta la elección. Entonces podemos añadir la aplicación webMathematica, agregar Mathematica y editar la configuración de los ficheros webMathematica de acuerdo a sus necesidades. Esto le permite utilizar tecnología probada para manejar el sitio web. Capítulo 8 – pág. 5 WebMathematica está basado en dos tecnologías estándares de Java: Java Servlet y JSP. Los Servlets son programas especiales de Java que funcionan en un servidor web Java. Hay diversos tipos de servlet que funcionan bajo diversos sistemas operativos y arquitecturas. No hay necesidad de conocer los detalles técnicos por los profesores que crean las páginas jsp. WebMathematica permite que un sitio formado por páginas HTML pueda ser mejorado con el uso de comandos de Mathematica. Cuando se realiza una petición a una de estas páginas, los comandos de Matemática se evalúan y el resultado se inserta en la página en cuestión. Esto se hace con páginas de JavaServer (JSP), una tecnología estándar de Java, que hace uso de etiquetas a medida. La tecnología webMathematica utiliza el estándar petición/ respuesta seguido por los servidores web. La entrada puede venir en los formatos HTML, applets, Javascript y restantes aplicaciones permitidas por la web. Es también posible enviar ficheros de datos a un servidor webMathematica para su procesado. La salida puede utilizar muchos formatos como HTML, imágenes, notebooks de Mathematica, MathML, SVG, XML, PostScript y PDF. Áreas de uso profesional de webMathematica webMathematica permite a los usuarios de Mathematica en instituciones comerciales, de investigación o de otro tipo proporcionar a sus colegas acceso interactivo a los paquetes y funciones de Mathematica. Toda la capacidad computacional de Matemática está a disposición para desarrollar cálculos especiales o resolutores de problemas que se encuentran en la web o en la intranet de una empresa. Capítulo 8 – pág. 6 El proceso de desarrollo es tan simple que la mayoría de los usuarios de Mathematica pueden proceder con él sin tener que pasar con ciclos de formación largos o necesitar de los servicios de desarrolladores. En muchos casos, todo lo que se requiere es añadir comandos de Matemática y un par de simples etiquetas a una página web. Para la realización de cálculos en la Web The Integrator es el sitio web desarrollado por Wolfram Research para resolver problemas de integración. The Integrator es una función propia de Mathematica. Desarrollado originalmente en 1997, el primer Integrator utilizaba programas MathLink y una gran variedad de scripts de Perl para enviar y recibir comandos entre el servidor web y el kernel del Mathematica y desde el kernel hasta el frontend. La programación era complejo y llevaba mucho tiempo, incluso para usuarios experimentados de Mathematica y programadores web. El actual Integrator es una implementación de webMathematica. Usando el mismo interfaz web, el sistema subyacente fue remodelado totalmente en cuestión de horas. http://integrals.wolfram.com/index.jsp Para los profesores/para los estudiantes WebMathematica es el entorno web ideal para crear cursos en línea estructurados para satisfacer las necesidades específicas de cualquier situación docente. Los gráficos y funciones de webMathematica - todos construidos utilizando la intuitiva programación de Mathematica – ayudan a los estudiantes a aprender y a conservar más conocimientos en menos tiempo. En muchos casos, el profesor puede tomar los materiales docentes realizados con Mathematica usos educativos e incorpórarelos como herramientas educacionales en la web. Así los educadores pueden desarrollar rápidamente calculadoras especiales y los resolutores de problemas para su uso en línea. Con webMathematica, las demostraciones de de clase cobran vida con excelentes gráficos y capacidades interactivas. Las visualizaciones 3D, las fórmulas y las animaciones pueden ayudar a que los estudiantes aprendan rápidamente los conceptos matemáticos de manera más profunda. http://staff.jccc.net/mmartin/webmath.html Capítulo 8 – pág. 7 Para los profesores Un ejemplo simple de cómo los profesores han utilizado Mathematica en la Educación se puede encontrar en el MathIWYG de Terra Dotta. Terra Dotta proporciona un amplio abanico de soluciones educativas para las escuelas y las universidades. Han diseñado MathIWYG, que es un editor matemático WYSIWYG utilizando webMathematica. MathIWYG es una aplicación Flash comercial que se puede incluir en cualquier página web y que no requiere descargarse ningún otro plugin Flash. Con MathIWYG, podemos crear desde las más sencillas hasta las más complejas ecuaciones matemáticas y mostrarlas en la página web. El editor aprovecha las capacidades de webMathematica'capacidad para MathML,el estándar para la codificación de matemáticas, y puede almacenar la salida y traducirla a la mayoría de los sistemas que soportan MathML. Existen unos 200 símbolos y funciones disponibles en MathIWYG, así que se pueden crear casi cualquier expresión matemática que se desee. http://www.terradotta.com/ Para los estudiantes (solamente para los usuarios registrados) Addison-Wesley, una de las editoriales de libros de texto mundiales más respetadas del libro de textos, venden a traves de la web tutoriales de cálculo y tests que utilizan la tecnología de webMathematica. MathXL para el cálculo es un programa web diseñado para determinar las habilidades en Cálculo de los estudiantes y para crear un plan de estudios personalizado de cada uno de los estudiantes basado en los resultados de la prueba individual. Para desarrollar MathXL para el Cálculo, AddisonWesley necesitó de la capacidad de exhibición y evaluación de un sistema de cálculo simbólico en línea, y webMathematica era la única herramienta que cubrió todas esas necesidades. "webMathematica ha hecho posible que nosotros desarrollemos un tutorial de cálculo algorítmico y tests en MathXL para evaluar las respuestas de los estudiantes. Al usar webMathematica, podemos continuar añadiendo capacidades a MathXL para cerciorarnos de que se mantiene como el mejor tutorial de matemáticas on-line” dijo a Marlene Thom, ejecutivo de Addison-Wesley. http://www.mathxl.com/ Capítulo 8 – pág. 8 Para los cálculos en línea Calc101.com, que apareció en 1999, utiliza webMathematica para desarrollar en línea, soluciones paso a paso de problemas matemáticos cuyo nivel se corresponde a la educación secundaria o la universidad. Mezcla métodos de cálculo tanto libres como de pago para dar a conocer entre los estudiantes de secundaria y de universidad la integración y la diferenciación. Este sitio incluye sistemas libres de cálculo integral, pero requiere de la compra de una contraseña para obtener el desarrollo paso a paso. Posee también una página de representación de gráficas que proporciona a los estudiantes una comprensión comprensiva de cómo dibujar las funciones. http://www.calc101.com/ Capítulo 8 – pág. 9