Download Introducción a 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