SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Capítulo 4. Herramientas para el desarrollo del sistema
4.1 Java Serve Pages (JSP)
La tecnología de JavaServer PagesTM (JSP TM) permite a los desarrolladores y a los
diseñadores de Web desarrollar rápidamente y mantener fácilmente páginas dinámicas, ricas
en información como son las que soportan a sistemas de negociación. La tecnología de los
JSP separa la interfaz del usuario de la parte lógica del contenido permitiendo a los
diseñadores cambiar a su disposición

las plantillas de la interfaz sin alterar el contenido

dinámico subyacente [Big-boys, 2001].

Otra definición es que es una tecnología de Java que permite introducir código para la
generación dinámica de HTML dentro de una página web. Esta surge por la necesidad de
crear aplicaciones dinámicas para Web de forma fácil, ya que la mayor parte del resultado de
un programa CGI es estático. Se podría pensar entonces en JavaScript, pero este genera
HTML dinámicamente en el cliente y no puede acceder a los recursos del servidor. La ventaja
como ya se dijo es que permite diseñar la página web y el código de forma independiente. Las
páginas JSP pueden residir en cualquier parte del servidor (no están restringidas a un
directorio servlets).

En otras palabras, un JSP es simplemente una página de Web en HTML que contiene dígitos
binarios adicionales de código que ejecuta la lógica de la aplicación para generar contenido
dinámico. Esta lógica de la aplicación puede implicar el uso de JavaBeans, objetos de JDBC,
Enterprise Java Beans (EJB), u objetos de RMI, los cuales pueden ser fácilmente accesados
desde un JSP. Por ejemplo, un JSP puede contener código HTML que despliega texto

y

gráficos estáticos, y además puede invocar a métodos de un objeto de JDBC (Bean) que tenga
acceso a una base de datos; cuando se d
espliegue la página en el browser de un usuario, ésta
contendrá el contenido estático HTML y la información dinámica extraídos de la DB. Es de
esta forma en la que la mayor parte del CILE está modelada y desarrollada y es gracias al uso
de Beans que fue posible por lo que a continuación haré una breve descripción de ellos. En la

33
figura 4.1 se muestra un diagrama de su funcionamiento en conjunto con los demás
componentes que hicieron posible el desarrollo del CILE.

Figura 4.1 Modelado del funcionamiento de un JSP con Beans y una DB.

Dentro de JSP existen diferentes acciones una de ellas es la que hace uso de los Beans y se
identifica con el nombre jsp:useBean y se describe como a continuación se hace:
<jsp:useBean id=?nombre? class=?paquete.clase? />
Esto permite obtener una referencia a un Bean (componente Java), as instancias de los
componentes pueden ser compartidas. Las clases de los Beans deben estar en el
CLASSPATH del servidor. Inicialización del bean:
<jsp:useBean ... >
Cuerpo
</jsp:useBean>
Cuerpo: código JSP ejecutable la primera vez que se instancia el Bean.
? id: nombre de la variable que contendrá la referencia al Bean.
?
? class: indica la clase del Bean
?
? scope (opcional): indica el contexto en el que el bean estará disponible:
?
? page (por default): disponible sólo para la página.
?
? request: disponible sólo para la petición.
?
? session: disponible durante la sesión.
?
? application: para las páginas que compartan ServletContext.
?

34
Otra ventaja de los JSP es que se compilan automáticamente según se vaya necesitando, es así
que se pueden realizar cambios sin recompilar la lógica de la aplicación, simplemente se le
hace un reload o un refresh al navegador para visualizar los cambios. Esto hace a JSP un
método más flexible para generar contenido dinámico para el Web que los servlets de Java, ya
que en éstos los cambios al código de la presentación requieren la modificación y la
recompilación del archivo fuente del servlet. Los JSP solo heredan la funcionalidad de los
servlets como después se especificará. Una página JSP se convierte en un servlet para su
ejecución, ya que es compilada a un servlet la primera vez que se solicita. El último paso del
desarrollo de una JSP es realizar una petición.

4.1.1 ¿Cómo se accesa a JavaServer Pages?
Para realizar una petición de una página JSP se sigue una forma similar al de una página
HTML estática, aunque el demás proceso, el cual es transparente para el usuario es diferente.
Para una página no dinámica se teclea un URL en el browser y éste usando un protocolo
HTTP mandará una petición del archivo con extensión html (ej. archivo.html) a un servidor
Web (ej. translator) y dominio determinado (go.com). Posteriormente el servidor extraerá el
archivo y lo mandará a el browser, el cual hace uso de las etiquetas de HTML del archivo
para ser presentarlo a l usuario final.

En el otro caso para una página dinámica se hace la petición de un archivo con extensión jsp
(ej. article.jsp) y de este punto en adelante las cosas cambian empezando con que no solo se
puede hacer la petición desde un browser sino también desde un servlet o de otra página JSP.
La petición llegará también a un servidor Web pero que será capaz de reconocer la extensión
jsp y que mandé la petición a un contenedor JSP, el cual invoque el método _jspService() de
la página JSP compilada. La respuesta dada por este método será enviada al contenedor y de
éste al usuario.

4.2 Características de JSP
A continuación se dará en resumen las características de esta tecnología:

35
? Conjunta el poder de Java en el servidor y la flexibilidad de HTML (HyperText Markup
?
Language) en el browser.
? No sólo se puede utilizar HTML, sino también XML ( eXtensible Markup Language) o
?
WML (Wireless Markup Language).
? Hace más fácil reusar componentes como JavaBeans y Enterprise JavaBeans los cuales
?
realizan tareas más específicas.
? Forma parte integral de Java 2 Enterprise Edition (J2EE).
?
? Su función es saber como procesar una solicitud para crear una respuesta.
?
? Soporta contenido dinámico que refleja las condiciones del mundo real.
?
? Existe independencia entre la parte del diseño (interfaz) y la lógica (programa).
?
1. Write Once, Run Anywhere

TM

, independencia de plataforma.

?Mejora del performance. No se tiene que ir al servidor cada vez que se haga una solicitud,
por lo tanto soluciona el problema del cuello de botella.
?Ante un cambio se compila automáticamente. Ya que se realizó un precompilado en el
servlet antes de ser usado.
?Es más rápido y fácil crear aplicaciones de Web.
?Capaz de instanciar cualquier clase de Java.
?Corre en todos los servidores de Web principales.

4.3 JSP y otras tecnologías

4.3.1 JSP vs CGI
Los CGI´s

(Common Gateway Interface) es la tecnología vieja para realizar peticiones de

tipo HTTP en una aplicación de servidor y se hacía uso de PERL, C++ o Python para su
desarrollo. Cuando una petición se mandaba del browser a un sitio Web, el CGI solo requería
al servidor para ser un puente entre la petición del cliente y el script, y se preparaba para
recibir la respuesta y regresarla al cliente o usuario. Algo nada eficaz es que cada petición
genera un nuevo proceso cada vez que la respuesta ha sido enviada por lo que se crean los
fastidiosos cuellos de botella y la aplicación se vuelve lenta. Su implementación no hace uso

36
de threads para cada petición, ni mantiene código en la memoria para mantener el
performance y escalabilidad. Realmente no tiene mucho soporte para construcción de
aplicaciones web. En comparación los JSP mantienen el estado en el servidor entre las
peticiones, ya que se usan las sesiones de S
ervlets. Crea un nuevo thread para cada peticion.
No tiene que ser reiniciado cada vez que se requiera, una vez que ha sido iniciado. Corre en
ready loaded JVM (Java Virtual Machine) como una extensión del servidor de Web [Avedal,
2000].

Tecnología

JSP

Plataformas

Cualquier plataforma que seaMicrosoft Windows

ASP

soportada

por

Java

(Solaris,

Linux, Windows NT, Mac OS,
AIX, HP-UX

y una variedad

de variantes de UNIX)
Servidor Web

Cualquiera. Los más popularesMicrosoft IIS o Personal Web
como Apache, Netscape, IIS.
Java

Lenguaje Scripting

Server
VBScript, JavaScript

Componentes reusables y deJavaBeans,
cross plataforma
Protección

de

No

Enterprise JavaBeans
memoria

deSi

No

Etiquetas especiales

Si

No

Integración de bases de datos

Cualquier Base de Datos que Cualquier Base de Datos que

escape

soporte

tecnología

JDBC

usoporte tecnología ODBC

ODBC
Interpretación de código

Una sola vez

Componentes

En cada caso

JavaBeans,

COM / DCOM

Enterprise JavaBeans
Extensiones JSP

Tabla 4.1 Comparación entre JSP y ASP

37
4.3.2 JSP vs ASP
ASP (Active Server Pages) es otra tecnología similar a JSP por lo tanto ésta no es la única ni
la más conocida ya que ASP fue desarrollada por Microsoft y como todos sabemos es la
plataforma con más usuarios en el mundo. Puede combinar HTML, las escrituras y los
componentes reutilizables del servidor de ActiveX para crear también páginas dinámicas de
Web [Big-boys, 2001]. Ambas tecnologías son alternativas viables para los CGI´s, sin
embargo hay diferencias significativas entre las dos [Tremblett, 2000]. En JSP el código está
escrito en Java y es portable entre sistemas operativos. En la tabla 4.1 se muestra una tabla
con una comparación entre JSP y ASP.

4.3.3 JSP vs Servlets

La especificación de JSP está construida bajo el API de Java Servlet ya que los Servlets
proveen la habilidad de construir contenido dinámico para sitios Web usando a Java como
lenguaje. Sin embargo JSP trabaja de una manera más limpia o clara la separación de la
presentación de la parte lógica y además es simple de escribir. Ambas tecnologías trabajan
mejor en conjunto [Avedal, 2000].

Como ya se comentó los JSP son una extensión del API de Servlets. De hecho, las páginas de
JSP se compilan en servlets antes de que se utilicen, así que tienen todos las beneficios de los
servlets, incluyendo el acceso al API de Java. Debido a que los JSP son generalmente código
de presentación (por ej. HTML) con la lógica de la aplicación incrustada (por ej. Java), se
puede pensar en ellos como en servlets "inside-out". Además facilita el mantenimiento de la
aplicación.

4.4 Aplicaciones de JSP
Para una mayor visualización de las áreas de cómputo donde se puede desarrollar la
tecnología JSP se muestran la siguiente tabla (ver tabla 4.2), cabe destacar que dicha
tecnología se puede aplicar en muchas más aplicaciones a las aquí mencionadas, como es el

38
caso del CILE a desarrollar o de un desarrollo de aplicaciones para la construcción de sitios
interactivos en Internet para el comercio electrónico. Se describirán a continuación unos
ejemplos de aplicaciones existentes.

Ad Management

File Management

Bulletin Board Systems

Graphics & Charts

Calendar & Time

Guest Book

Chat

Search & Directory

Content Management

Shopping & Commerce

Document Management

Site Statistics

Email

Vote & Questionnaire

Tabla 4.2 Algunas áreas donde desarrollar aplicaciones en JSP.

eSearch
Para los negocios y las organizaciones que dependen del acceso rápido y confiable a la
información, hay una mejor opción - recuperación de datos con una máquina de búsqueda
para el uso en una intranet o en el Internet. De la retroalimentación de la comunidad de
desarrolladores se creó una lista de características y de funciones deseadas. Desarrollo bajo

JSP 1.2 [Jcorporate, 2001]. La lista es la siguiente:
1. Desarrollado en Java, y por lo tanto con plataforma - independiente.
2. Que provea las capacidades básicas de la búsqueda comparables a otros buscadores
existentes para intranet e Internet.
3. Que permita capacidades básicas para incluir agentes inteligentes y otros comportamientos
de sistemas expertos.
4. Escalable a las dimensiones verdaderamente de colecciones y de usuarios.
5. Que pueda indexar dinámicamente múltiples servidores y fuentes simultáneamente.

e-Commerce Constructor
Está aplicación realiza la creación, administración y presentación de información de una
Tienda Virtual que posteriormente se genera dinámicamente y es utilizada para el proceso de

39
eventos y acciones así como la producción de servicios. Trabaja en una arquitectura
Cliente/Servidor llamada Web Sales Server que provee la manipulación de datos, así como su
presentación y almacenamiento. Éste sistema se presenta como una herramienta para su
aplicación en la Comercio Electrónico (e-commerce en inglés) en específico en su modelo de
negocio denominado: Tienda Virtual (e-shop en inglés). Y como un esfuerzo de crear una
base de conocimientos para el desarrollo de aplicaciones para la construcción de sitios
dinámicos e interactivos en el Web. La decisión de diseñar una aplicación para el Comercio
Electrónico se toma del gran auge de esta actividad electrónica, y en una respuesta al
desarrollo de aplicaciones que faciliten procesos, disminuya costos y permita aplicar
soluciones a situaciones reales así como tener la oportunidad de expansión [Fuentes, 2001].

4.5 Java Media Framework (JMF)
Dentro del área del desarrollo de tecnologías de la información se han creado herramientas
capaces de implementar multimedios no solo como aplicaciones de diseño como son Flash,
Director entre otros, sino que también dentro de los lenguajes de programación tan poderosos
como es el de Java. Pues bien empezaré dando una breve descripción la cual especifica a
grandes rasgos lo que es JMF.
Java Media Framework es una aplicación de interface (API) la cual incorpora audio,
video y otras medias basadas en tiempo dentro de las aplicaciones y los applets de Java.
Es un paquete opcional para extender las capacidades de multimedia de la plataforma
J2SE (Java 2 Standard Edition). (describir que quieren decir estas siglas) [JMF, 2001].

En otras palabras podemos decir que JMF es un paquete extra que posee la plataforma J2SE,
la cual proporciona clases para agregar tecnologías de información a la programación en Java.
Esta herramienta es de lo más reciente que se ha desarrollado para la plataforma UNIX y se
cree que tiene un gran futuro dentro de los desarrollos de tecnología que proveen multimedia,
ya que detrás de ella existe el respaldo del poderoso lenguaje de Java.

4.5.1 Características de JMF

40
Dentro de las características de Java Media Framework se encuentran las siguientes:
? Los diferentes estándares para el desarrollo de la transmisión de video en tiempo real.
?
? Mediante su tecnología permite poner en ejecución soluciones basadas en el API
?
existente.
? Fácilmente integra nuevas características con el marco existente.
?
? Proveé el acceso a los datos de media sin procesarlos.
?
? Permite el desarrollo de customs, demultiplexores, multiplexores, procesadores de efectos
?
y rendereadores mediante plug-ins especiales de JMF.
? Mantiene compatibilidad con versiones anteriores (JMF 1.0). Pero es recomendable tener
?
presente que hay que verificar las versiones para saber que es lo que se va renovando o
cambiando en cada una de ellas.

4.5.2 Ventajas y desventajas
Como toda tecnología JMF cuenta con ciertas ventajas y desventajas, así que es conveniente
mencionarlas y aclararlas de la mejor manera. Una de sus fuertes ventajas se ve ampliamente
en la parte de transmisión de video en tiempo real, ya que ésta es totalmente gratuita, no es
necesario contar con otra aplicación que involucre un gasto, como lo es la de Real Player de la
plataforma Macintosh o la de Windows Media Player para la plataforma de Windows. Tal vez
podría mencionar como desventaja en este punto que para que se realice tal tarea es necesario
que la computadora del usuario cuente con alguna versión de JMF, es decir que se instale ésta
en la máquina, siendo esto no del todo sencillo, no para cualquier tipo de usuario, sino que va
tener que recurrir a un especialista en el área, siendo esto algo tedioso para la persona que
requiera de este servicio.

La virtud de JMF como ya se comentó es la de capturar, correr, transmitir y codificar audio,
video y otras medias dadas por los desarrolladores de multimedia. Desarrollo que tiene en
aplicaciones a través de diferentes plataformas y en applets. Otras ventajas que podríamos
mencionar son las siguientes:

41
1.- Es fácil de programar.
2.- Soporta la captura de datos de media.
3.- Capaz de desarrollar media streaming y aplicaciones de conferencias bajo la tecnología de
Java.
4.- Provee el acceso a los datos de media sin procesarlos.
5.- La nueva versión es compatible con la de JMF 1.0.
6.- La transmisión de video en tiempo real es gratis, siempre y cuando se cuente con una
versión instalada en la máquina a usar.

En el caso del desarrollo de este proyecto recurrimos a esta tecnología debido a que no existe
el plug-in de QuickTime para Solaris para poder visualizar video. Cabe mencionar que no se
pretende desarrollar aplicaciones de media streaming o transmitir estos videos en tiempo real,
solamente se prentende visualizarlos mediante el uso de un applet. Cabe mencionar que no es
necesario que el usuario de Solaris tenga que instalar alguna versión de JMF para hacer uso de
ella. Al estar las librerías instaladas en el servidor de Web en donde también estará el . lass
c
de la clase es suficiente para que sean usadas por el usuario a través del servidor.

Otro punto a tratar es el del desempeño / velocidad con el que cuentan los applets y más
tratándose de un multimedio con es el de video. Es recomendable entonces que el usuario
haga uso del plug-in de Java que viene incluido en el J2RE (Java 2 Runtime Environment)
para tener un mejor desempeño de los applets. Aunque podemos regresar a la misma
desventaja de JMF comentada anteriormente de que dicha instalación no del todo sencilla
para cualquier tipo de usuario, sino que se va a tener que recurrir a un especialista en el área.
Por otro lado puedo comentar que JMF ha hecho posible que los usuario de plataforma UNIX
puedan contar con multimedios y a los desarrolladores poder desarrollarlos en sus
aplicaciones.

42

Más contenido relacionado

La actualidad más candente (20)

Tutor Java Web
Tutor Java WebTutor Java Web
Tutor Java Web
 
Webutil
WebutilWebutil
Webutil
 
webutil oracle forms
webutil oracle formswebutil oracle forms
webutil oracle forms
 
Jdbc Mysql
Jdbc MysqlJdbc Mysql
Jdbc Mysql
 
Introducción a las aplicaciones web con java
Introducción a las aplicaciones web con javaIntroducción a las aplicaciones web con java
Introducción a las aplicaciones web con java
 
2009_asp.net_capitulo_1
2009_asp.net_capitulo_12009_asp.net_capitulo_1
2009_asp.net_capitulo_1
 
[ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition [ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition
 
JSP
JSPJSP
JSP
 
Sistema.inventario@hotmail.com
Sistema.inventario@hotmail.comSistema.inventario@hotmail.com
Sistema.inventario@hotmail.com
 
Java DataBase Connectivity
Java DataBase ConnectivityJava DataBase Connectivity
Java DataBase Connectivity
 
Clase 14 intro ej bs
Clase 14  intro ej bsClase 14  intro ej bs
Clase 14 intro ej bs
 
Servlet
ServletServlet
Servlet
 
Jdbc
JdbcJdbc
Jdbc
 
Webutil
WebutilWebutil
Webutil
 
EQUIPO 2,LAS AGUILAS
EQUIPO 2,LAS AGUILASEQUIPO 2,LAS AGUILAS
EQUIPO 2,LAS AGUILAS
 
Webutil
WebutilWebutil
Webutil
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones web
 
Revision de tecnologias web
Revision de tecnologias webRevision de tecnologias web
Revision de tecnologias web
 
Ekipo 2
Ekipo 2Ekipo 2
Ekipo 2
 
Introduccion java ser
Introduccion java serIntroduccion java ser
Introduccion java ser
 

Destacado

Procesos de negocios a los q apoya itil
Procesos de negocios a los q apoya itilProcesos de negocios a los q apoya itil
Procesos de negocios a los q apoya itilNena Patraca
 
2.2 procesos de negocios a los que apoya cobit
2.2 procesos de negocios a los que apoya cobit2.2 procesos de negocios a los que apoya cobit
2.2 procesos de negocios a los que apoya cobitNena Patraca
 
Unidad1 introducción a la gestión de servicios copia
Unidad1 introducción a la gestión de servicios   copiaUnidad1 introducción a la gestión de servicios   copia
Unidad1 introducción a la gestión de servicios copiaNena Patraca
 
Definición y antecedentes itil
Definición y antecedentes itilDefinición y antecedentes itil
Definición y antecedentes itilNena Patraca
 
Temario Estrategia de Gestión de Servicios de TI
Temario Estrategia de Gestión de Servicios de TITemario Estrategia de Gestión de Servicios de TI
Temario Estrategia de Gestión de Servicios de TINena Patraca
 
2.4 ventajas y desventajas cobit
2.4 ventajas y desventajas cobit2.4 ventajas y desventajas cobit
2.4 ventajas y desventajas cobitNena Patraca
 
2.5 tendencias cobit
2.5 tendencias cobit2.5 tendencias cobit
2.5 tendencias cobitNena Patraca
 
2.3 fases de cobit
2.3 fases de cobit2.3 fases de cobit
2.3 fases de cobitNena Patraca
 
2.6 comparativos entre marcos de referencia
2.6 comparativos entre marcos de referencia2.6 comparativos entre marcos de referencia
2.6 comparativos entre marcos de referenciaNena Patraca
 
2.1 definición y antecedentes cobit
2.1 definición y antecedentes cobit2.1 definición y antecedentes cobit
2.1 definición y antecedentes cobitNena Patraca
 

Destacado (20)

Introducción a la Gerencia Informática
Introducción a la Gerencia InformáticaIntroducción a la Gerencia Informática
Introducción a la Gerencia Informática
 
Fases de itil
Fases de itilFases de itil
Fases de itil
 
Investigación de Operaciones
Investigación de OperacionesInvestigación de Operaciones
Investigación de Operaciones
 
Proyectos Informaticos
Proyectos InformaticosProyectos Informaticos
Proyectos Informaticos
 
S2214750014000067 gr1.jpg
S2214750014000067 gr1.jpgS2214750014000067 gr1.jpg
S2214750014000067 gr1.jpg
 
Gestión de proyecto
Gestión de proyectoGestión de proyecto
Gestión de proyecto
 
Alarmas de-sistemas-automaticos
Alarmas de-sistemas-automaticosAlarmas de-sistemas-automaticos
Alarmas de-sistemas-automaticos
 
Procesos de negocios a los q apoya itil
Procesos de negocios a los q apoya itilProcesos de negocios a los q apoya itil
Procesos de negocios a los q apoya itil
 
Introducción a la Informática.
Introducción a la Informática.Introducción a la Informática.
Introducción a la Informática.
 
2.2 procesos de negocios a los que apoya cobit
2.2 procesos de negocios a los que apoya cobit2.2 procesos de negocios a los que apoya cobit
2.2 procesos de negocios a los que apoya cobit
 
Unidad1 introducción a la gestión de servicios copia
Unidad1 introducción a la gestión de servicios   copiaUnidad1 introducción a la gestión de servicios   copia
Unidad1 introducción a la gestión de servicios copia
 
Definición y antecedentes itil
Definición y antecedentes itilDefinición y antecedentes itil
Definición y antecedentes itil
 
Temario Estrategia de Gestión de Servicios de TI
Temario Estrategia de Gestión de Servicios de TITemario Estrategia de Gestión de Servicios de TI
Temario Estrategia de Gestión de Servicios de TI
 
2.4 ventajas y desventajas cobit
2.4 ventajas y desventajas cobit2.4 ventajas y desventajas cobit
2.4 ventajas y desventajas cobit
 
2.5 tendencias cobit
2.5 tendencias cobit2.5 tendencias cobit
2.5 tendencias cobit
 
2.3 fases de cobit
2.3 fases de cobit2.3 fases de cobit
2.3 fases de cobit
 
Tendencias itil
Tendencias itilTendencias itil
Tendencias itil
 
2.6 comparativos entre marcos de referencia
2.6 comparativos entre marcos de referencia2.6 comparativos entre marcos de referencia
2.6 comparativos entre marcos de referencia
 
2.1 definición y antecedentes cobit
2.1 definición y antecedentes cobit2.1 definición y antecedentes cobit
2.1 definición y antecedentes cobit
 
Auditoria de sistemas
Auditoria de sistemasAuditoria de sistemas
Auditoria de sistemas
 

Similar a Herramientas de Desarrollo de Sistemas

[ES] Introdución al desarrollo de aplicaciones web en java
[ES] Introdución al desarrollo de aplicaciones  web en java[ES] Introdución al desarrollo de aplicaciones  web en java
[ES] Introdución al desarrollo de aplicaciones web en javaEudris Cabrera
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xmlgilhorak
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)diegob1098
 
Programacion Web 2o dept
Programacion Web 2o deptProgramacion Web 2o dept
Programacion Web 2o deptLeonardo Moreno
 
Introducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en JavaIntroducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en JavaEudris Cabrera
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con JavaEudris Cabrera
 
P web(2.2,'entorno bd web')
P web(2.2,'entorno bd web')P web(2.2,'entorno bd web')
P web(2.2,'entorno bd web')Cronio Antmao
 
Módulo 7–Programación Web con Java.pdf
Módulo 7–Programación Web con Java.pdfMódulo 7–Programación Web con Java.pdf
Módulo 7–Programación Web con Java.pdftripfrap
 
Programación en Internet
Programación en InternetProgramación en Internet
Programación en InternetFernando Solis
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Robert Rayco Quiroz
 

Similar a Herramientas de Desarrollo de Sistemas (20)

[ES] Introdución al desarrollo de aplicaciones web en java
[ES] Introdución al desarrollo de aplicaciones  web en java[ES] Introdución al desarrollo de aplicaciones  web en java
[ES] Introdución al desarrollo de aplicaciones web en java
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)
 
Jsp
JspJsp
Jsp
 
Programacion Web 2o dept
Programacion Web 2o deptProgramacion Web 2o dept
Programacion Web 2o dept
 
Introducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en JavaIntroducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en Java
 
Jsp
JspJsp
Jsp
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java
 
proyecto java
proyecto javaproyecto java
proyecto java
 
P web(2.2,'entorno bd web')
P web(2.2,'entorno bd web')P web(2.2,'entorno bd web')
P web(2.2,'entorno bd web')
 
Curso Jsp Mas
Curso Jsp MasCurso Jsp Mas
Curso Jsp Mas
 
Resumen jee
Resumen jeeResumen jee
Resumen jee
 
Módulo 7–Programación Web con Java.pdf
Módulo 7–Programación Web con Java.pdfMódulo 7–Programación Web con Java.pdf
Módulo 7–Programación Web con Java.pdf
 
Jsp
JspJsp
Jsp
 
Curso Java Avanzado 3 Js Ps
Curso Java Avanzado   3 Js PsCurso Java Avanzado   3 Js Ps
Curso Java Avanzado 3 Js Ps
 
Programación en Internet
Programación en InternetProgramación en Internet
Programación en Internet
 
JSP
JSPJSP
JSP
 
20001215 Programación de Servlets y WML
20001215   Programación de Servlets y WML20001215   Programación de Servlets y WML
20001215 Programación de Servlets y WML
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 
JSP
JSPJSP
JSP
 

Más de José Tomás Diarte Añazco

Introducción a la Arquitectura de Computadoras.
Introducción a la Arquitectura de Computadoras.Introducción a la Arquitectura de Computadoras.
Introducción a la Arquitectura de Computadoras.José Tomás Diarte Añazco
 

Más de José Tomás Diarte Añazco (20)

Primer trabajo practico de dreamweaver cs3
Primer trabajo practico de dreamweaver cs3Primer trabajo practico de dreamweaver cs3
Primer trabajo practico de dreamweaver cs3
 
VARIABLE COMPLEJA
VARIABLE COMPLEJAVARIABLE COMPLEJA
VARIABLE COMPLEJA
 
Control Industrial
Control IndustrialControl Industrial
Control Industrial
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Investigación Cientifica
Investigación CientificaInvestigación Cientifica
Investigación Cientifica
 
Introduccion a la Robótica
Introduccion a la RobóticaIntroduccion a la Robótica
Introduccion a la Robótica
 
Sistemas de ecuaciones Lineales
Sistemas de ecuaciones Lineales Sistemas de ecuaciones Lineales
Sistemas de ecuaciones Lineales
 
Algebra de Boole
Algebra de BooleAlgebra de Boole
Algebra de Boole
 
Introducción al Lenguaje de Programación
Introducción al Lenguaje de ProgramaciónIntroducción al Lenguaje de Programación
Introducción al Lenguaje de Programación
 
Auditoria de SISTEMAS
Auditoria de SISTEMASAuditoria de SISTEMAS
Auditoria de SISTEMAS
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informatica
 
Introducción a la Arquitectura de Computadoras.
Introducción a la Arquitectura de Computadoras.Introducción a la Arquitectura de Computadoras.
Introducción a la Arquitectura de Computadoras.
 
Introducción de Ingeniería de Software
Introducción de Ingeniería de SoftwareIntroducción de Ingeniería de Software
Introducción de Ingeniería de Software
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Inteligencia Artificail
Inteligencia ArtificailInteligencia Artificail
Inteligencia Artificail
 
LA CIENCIA COGNITIVA Y EL ESTUDIO DE LA MENTE
LA CIENCIA COGNITIVA Y EL ESTUDIO DE LA MENTELA CIENCIA COGNITIVA Y EL ESTUDIO DE LA MENTE
LA CIENCIA COGNITIVA Y EL ESTUDIO DE LA MENTE
 
Nociones basicas de derechos
Nociones basicas de derechosNociones basicas de derechos
Nociones basicas de derechos
 
Conocimiento Económico
Conocimiento EconómicoConocimiento Económico
Conocimiento Económico
 
La Cinemática
La CinemáticaLa Cinemática
La Cinemática
 
Clase redes de computadoras
Clase redes de computadorasClase redes de computadoras
Clase redes de computadoras
 

Último

Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPANEP - DETP
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 

Último (20)

Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETP
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 

Herramientas de Desarrollo de Sistemas

  • 1. Capítulo 4. Herramientas para el desarrollo del sistema 4.1 Java Serve Pages (JSP) La tecnología de JavaServer PagesTM (JSP TM) permite a los desarrolladores y a los diseñadores de Web desarrollar rápidamente y mantener fácilmente páginas dinámicas, ricas en información como son las que soportan a sistemas de negociación. La tecnología de los JSP separa la interfaz del usuario de la parte lógica del contenido permitiendo a los diseñadores cambiar a su disposición las plantillas de la interfaz sin alterar el contenido dinámico subyacente [Big-boys, 2001]. Otra definición es que es una tecnología de Java que permite introducir código para la generación dinámica de HTML dentro de una página web. Esta surge por la necesidad de crear aplicaciones dinámicas para Web de forma fácil, ya que la mayor parte del resultado de un programa CGI es estático. Se podría pensar entonces en JavaScript, pero este genera HTML dinámicamente en el cliente y no puede acceder a los recursos del servidor. La ventaja como ya se dijo es que permite diseñar la página web y el código de forma independiente. Las páginas JSP pueden residir en cualquier parte del servidor (no están restringidas a un directorio servlets). En otras palabras, un JSP es simplemente una página de Web en HTML que contiene dígitos binarios adicionales de código que ejecuta la lógica de la aplicación para generar contenido dinámico. Esta lógica de la aplicación puede implicar el uso de JavaBeans, objetos de JDBC, Enterprise Java Beans (EJB), u objetos de RMI, los cuales pueden ser fácilmente accesados desde un JSP. Por ejemplo, un JSP puede contener código HTML que despliega texto y gráficos estáticos, y además puede invocar a métodos de un objeto de JDBC (Bean) que tenga acceso a una base de datos; cuando se d espliegue la página en el browser de un usuario, ésta contendrá el contenido estático HTML y la información dinámica extraídos de la DB. Es de esta forma en la que la mayor parte del CILE está modelada y desarrollada y es gracias al uso de Beans que fue posible por lo que a continuación haré una breve descripción de ellos. En la 33
  • 2. figura 4.1 se muestra un diagrama de su funcionamiento en conjunto con los demás componentes que hicieron posible el desarrollo del CILE. Figura 4.1 Modelado del funcionamiento de un JSP con Beans y una DB. Dentro de JSP existen diferentes acciones una de ellas es la que hace uso de los Beans y se identifica con el nombre jsp:useBean y se describe como a continuación se hace: <jsp:useBean id=?nombre? class=?paquete.clase? /> Esto permite obtener una referencia a un Bean (componente Java), as instancias de los componentes pueden ser compartidas. Las clases de los Beans deben estar en el CLASSPATH del servidor. Inicialización del bean: <jsp:useBean ... > Cuerpo </jsp:useBean> Cuerpo: código JSP ejecutable la primera vez que se instancia el Bean. ? id: nombre de la variable que contendrá la referencia al Bean. ? ? class: indica la clase del Bean ? ? scope (opcional): indica el contexto en el que el bean estará disponible: ? ? page (por default): disponible sólo para la página. ? ? request: disponible sólo para la petición. ? ? session: disponible durante la sesión. ? ? application: para las páginas que compartan ServletContext. ? 34
  • 3. Otra ventaja de los JSP es que se compilan automáticamente según se vaya necesitando, es así que se pueden realizar cambios sin recompilar la lógica de la aplicación, simplemente se le hace un reload o un refresh al navegador para visualizar los cambios. Esto hace a JSP un método más flexible para generar contenido dinámico para el Web que los servlets de Java, ya que en éstos los cambios al código de la presentación requieren la modificación y la recompilación del archivo fuente del servlet. Los JSP solo heredan la funcionalidad de los servlets como después se especificará. Una página JSP se convierte en un servlet para su ejecución, ya que es compilada a un servlet la primera vez que se solicita. El último paso del desarrollo de una JSP es realizar una petición. 4.1.1 ¿Cómo se accesa a JavaServer Pages? Para realizar una petición de una página JSP se sigue una forma similar al de una página HTML estática, aunque el demás proceso, el cual es transparente para el usuario es diferente. Para una página no dinámica se teclea un URL en el browser y éste usando un protocolo HTTP mandará una petición del archivo con extensión html (ej. archivo.html) a un servidor Web (ej. translator) y dominio determinado (go.com). Posteriormente el servidor extraerá el archivo y lo mandará a el browser, el cual hace uso de las etiquetas de HTML del archivo para ser presentarlo a l usuario final. En el otro caso para una página dinámica se hace la petición de un archivo con extensión jsp (ej. article.jsp) y de este punto en adelante las cosas cambian empezando con que no solo se puede hacer la petición desde un browser sino también desde un servlet o de otra página JSP. La petición llegará también a un servidor Web pero que será capaz de reconocer la extensión jsp y que mandé la petición a un contenedor JSP, el cual invoque el método _jspService() de la página JSP compilada. La respuesta dada por este método será enviada al contenedor y de éste al usuario. 4.2 Características de JSP A continuación se dará en resumen las características de esta tecnología: 35
  • 4. ? Conjunta el poder de Java en el servidor y la flexibilidad de HTML (HyperText Markup ? Language) en el browser. ? No sólo se puede utilizar HTML, sino también XML ( eXtensible Markup Language) o ? WML (Wireless Markup Language). ? Hace más fácil reusar componentes como JavaBeans y Enterprise JavaBeans los cuales ? realizan tareas más específicas. ? Forma parte integral de Java 2 Enterprise Edition (J2EE). ? ? Su función es saber como procesar una solicitud para crear una respuesta. ? ? Soporta contenido dinámico que refleja las condiciones del mundo real. ? ? Existe independencia entre la parte del diseño (interfaz) y la lógica (programa). ? 1. Write Once, Run Anywhere TM , independencia de plataforma. ?Mejora del performance. No se tiene que ir al servidor cada vez que se haga una solicitud, por lo tanto soluciona el problema del cuello de botella. ?Ante un cambio se compila automáticamente. Ya que se realizó un precompilado en el servlet antes de ser usado. ?Es más rápido y fácil crear aplicaciones de Web. ?Capaz de instanciar cualquier clase de Java. ?Corre en todos los servidores de Web principales. 4.3 JSP y otras tecnologías 4.3.1 JSP vs CGI Los CGI´s (Common Gateway Interface) es la tecnología vieja para realizar peticiones de tipo HTTP en una aplicación de servidor y se hacía uso de PERL, C++ o Python para su desarrollo. Cuando una petición se mandaba del browser a un sitio Web, el CGI solo requería al servidor para ser un puente entre la petición del cliente y el script, y se preparaba para recibir la respuesta y regresarla al cliente o usuario. Algo nada eficaz es que cada petición genera un nuevo proceso cada vez que la respuesta ha sido enviada por lo que se crean los fastidiosos cuellos de botella y la aplicación se vuelve lenta. Su implementación no hace uso 36
  • 5. de threads para cada petición, ni mantiene código en la memoria para mantener el performance y escalabilidad. Realmente no tiene mucho soporte para construcción de aplicaciones web. En comparación los JSP mantienen el estado en el servidor entre las peticiones, ya que se usan las sesiones de S ervlets. Crea un nuevo thread para cada peticion. No tiene que ser reiniciado cada vez que se requiera, una vez que ha sido iniciado. Corre en ready loaded JVM (Java Virtual Machine) como una extensión del servidor de Web [Avedal, 2000]. Tecnología JSP Plataformas Cualquier plataforma que seaMicrosoft Windows ASP soportada por Java (Solaris, Linux, Windows NT, Mac OS, AIX, HP-UX y una variedad de variantes de UNIX) Servidor Web Cualquiera. Los más popularesMicrosoft IIS o Personal Web como Apache, Netscape, IIS. Java Lenguaje Scripting Server VBScript, JavaScript Componentes reusables y deJavaBeans, cross plataforma Protección de No Enterprise JavaBeans memoria deSi No Etiquetas especiales Si No Integración de bases de datos Cualquier Base de Datos que Cualquier Base de Datos que escape soporte tecnología JDBC usoporte tecnología ODBC ODBC Interpretación de código Una sola vez Componentes En cada caso JavaBeans, COM / DCOM Enterprise JavaBeans Extensiones JSP Tabla 4.1 Comparación entre JSP y ASP 37
  • 6. 4.3.2 JSP vs ASP ASP (Active Server Pages) es otra tecnología similar a JSP por lo tanto ésta no es la única ni la más conocida ya que ASP fue desarrollada por Microsoft y como todos sabemos es la plataforma con más usuarios en el mundo. Puede combinar HTML, las escrituras y los componentes reutilizables del servidor de ActiveX para crear también páginas dinámicas de Web [Big-boys, 2001]. Ambas tecnologías son alternativas viables para los CGI´s, sin embargo hay diferencias significativas entre las dos [Tremblett, 2000]. En JSP el código está escrito en Java y es portable entre sistemas operativos. En la tabla 4.1 se muestra una tabla con una comparación entre JSP y ASP. 4.3.3 JSP vs Servlets La especificación de JSP está construida bajo el API de Java Servlet ya que los Servlets proveen la habilidad de construir contenido dinámico para sitios Web usando a Java como lenguaje. Sin embargo JSP trabaja de una manera más limpia o clara la separación de la presentación de la parte lógica y además es simple de escribir. Ambas tecnologías trabajan mejor en conjunto [Avedal, 2000]. Como ya se comentó los JSP son una extensión del API de Servlets. De hecho, las páginas de JSP se compilan en servlets antes de que se utilicen, así que tienen todos las beneficios de los servlets, incluyendo el acceso al API de Java. Debido a que los JSP son generalmente código de presentación (por ej. HTML) con la lógica de la aplicación incrustada (por ej. Java), se puede pensar en ellos como en servlets "inside-out". Además facilita el mantenimiento de la aplicación. 4.4 Aplicaciones de JSP Para una mayor visualización de las áreas de cómputo donde se puede desarrollar la tecnología JSP se muestran la siguiente tabla (ver tabla 4.2), cabe destacar que dicha tecnología se puede aplicar en muchas más aplicaciones a las aquí mencionadas, como es el 38
  • 7. caso del CILE a desarrollar o de un desarrollo de aplicaciones para la construcción de sitios interactivos en Internet para el comercio electrónico. Se describirán a continuación unos ejemplos de aplicaciones existentes. Ad Management File Management Bulletin Board Systems Graphics & Charts Calendar & Time Guest Book Chat Search & Directory Content Management Shopping & Commerce Document Management Site Statistics Email Vote & Questionnaire Tabla 4.2 Algunas áreas donde desarrollar aplicaciones en JSP. eSearch Para los negocios y las organizaciones que dependen del acceso rápido y confiable a la información, hay una mejor opción - recuperación de datos con una máquina de búsqueda para el uso en una intranet o en el Internet. De la retroalimentación de la comunidad de desarrolladores se creó una lista de características y de funciones deseadas. Desarrollo bajo JSP 1.2 [Jcorporate, 2001]. La lista es la siguiente: 1. Desarrollado en Java, y por lo tanto con plataforma - independiente. 2. Que provea las capacidades básicas de la búsqueda comparables a otros buscadores existentes para intranet e Internet. 3. Que permita capacidades básicas para incluir agentes inteligentes y otros comportamientos de sistemas expertos. 4. Escalable a las dimensiones verdaderamente de colecciones y de usuarios. 5. Que pueda indexar dinámicamente múltiples servidores y fuentes simultáneamente. e-Commerce Constructor Está aplicación realiza la creación, administración y presentación de información de una Tienda Virtual que posteriormente se genera dinámicamente y es utilizada para el proceso de 39
  • 8. eventos y acciones así como la producción de servicios. Trabaja en una arquitectura Cliente/Servidor llamada Web Sales Server que provee la manipulación de datos, así como su presentación y almacenamiento. Éste sistema se presenta como una herramienta para su aplicación en la Comercio Electrónico (e-commerce en inglés) en específico en su modelo de negocio denominado: Tienda Virtual (e-shop en inglés). Y como un esfuerzo de crear una base de conocimientos para el desarrollo de aplicaciones para la construcción de sitios dinámicos e interactivos en el Web. La decisión de diseñar una aplicación para el Comercio Electrónico se toma del gran auge de esta actividad electrónica, y en una respuesta al desarrollo de aplicaciones que faciliten procesos, disminuya costos y permita aplicar soluciones a situaciones reales así como tener la oportunidad de expansión [Fuentes, 2001]. 4.5 Java Media Framework (JMF) Dentro del área del desarrollo de tecnologías de la información se han creado herramientas capaces de implementar multimedios no solo como aplicaciones de diseño como son Flash, Director entre otros, sino que también dentro de los lenguajes de programación tan poderosos como es el de Java. Pues bien empezaré dando una breve descripción la cual especifica a grandes rasgos lo que es JMF. Java Media Framework es una aplicación de interface (API) la cual incorpora audio, video y otras medias basadas en tiempo dentro de las aplicaciones y los applets de Java. Es un paquete opcional para extender las capacidades de multimedia de la plataforma J2SE (Java 2 Standard Edition). (describir que quieren decir estas siglas) [JMF, 2001]. En otras palabras podemos decir que JMF es un paquete extra que posee la plataforma J2SE, la cual proporciona clases para agregar tecnologías de información a la programación en Java. Esta herramienta es de lo más reciente que se ha desarrollado para la plataforma UNIX y se cree que tiene un gran futuro dentro de los desarrollos de tecnología que proveen multimedia, ya que detrás de ella existe el respaldo del poderoso lenguaje de Java. 4.5.1 Características de JMF 40
  • 9. Dentro de las características de Java Media Framework se encuentran las siguientes: ? Los diferentes estándares para el desarrollo de la transmisión de video en tiempo real. ? ? Mediante su tecnología permite poner en ejecución soluciones basadas en el API ? existente. ? Fácilmente integra nuevas características con el marco existente. ? ? Proveé el acceso a los datos de media sin procesarlos. ? ? Permite el desarrollo de customs, demultiplexores, multiplexores, procesadores de efectos ? y rendereadores mediante plug-ins especiales de JMF. ? Mantiene compatibilidad con versiones anteriores (JMF 1.0). Pero es recomendable tener ? presente que hay que verificar las versiones para saber que es lo que se va renovando o cambiando en cada una de ellas. 4.5.2 Ventajas y desventajas Como toda tecnología JMF cuenta con ciertas ventajas y desventajas, así que es conveniente mencionarlas y aclararlas de la mejor manera. Una de sus fuertes ventajas se ve ampliamente en la parte de transmisión de video en tiempo real, ya que ésta es totalmente gratuita, no es necesario contar con otra aplicación que involucre un gasto, como lo es la de Real Player de la plataforma Macintosh o la de Windows Media Player para la plataforma de Windows. Tal vez podría mencionar como desventaja en este punto que para que se realice tal tarea es necesario que la computadora del usuario cuente con alguna versión de JMF, es decir que se instale ésta en la máquina, siendo esto no del todo sencillo, no para cualquier tipo de usuario, sino que va tener que recurrir a un especialista en el área, siendo esto algo tedioso para la persona que requiera de este servicio. La virtud de JMF como ya se comentó es la de capturar, correr, transmitir y codificar audio, video y otras medias dadas por los desarrolladores de multimedia. Desarrollo que tiene en aplicaciones a través de diferentes plataformas y en applets. Otras ventajas que podríamos mencionar son las siguientes: 41
  • 10. 1.- Es fácil de programar. 2.- Soporta la captura de datos de media. 3.- Capaz de desarrollar media streaming y aplicaciones de conferencias bajo la tecnología de Java. 4.- Provee el acceso a los datos de media sin procesarlos. 5.- La nueva versión es compatible con la de JMF 1.0. 6.- La transmisión de video en tiempo real es gratis, siempre y cuando se cuente con una versión instalada en la máquina a usar. En el caso del desarrollo de este proyecto recurrimos a esta tecnología debido a que no existe el plug-in de QuickTime para Solaris para poder visualizar video. Cabe mencionar que no se pretende desarrollar aplicaciones de media streaming o transmitir estos videos en tiempo real, solamente se prentende visualizarlos mediante el uso de un applet. Cabe mencionar que no es necesario que el usuario de Solaris tenga que instalar alguna versión de JMF para hacer uso de ella. Al estar las librerías instaladas en el servidor de Web en donde también estará el . lass c de la clase es suficiente para que sean usadas por el usuario a través del servidor. Otro punto a tratar es el del desempeño / velocidad con el que cuentan los applets y más tratándose de un multimedio con es el de video. Es recomendable entonces que el usuario haga uso del plug-in de Java que viene incluido en el J2RE (Java 2 Runtime Environment) para tener un mejor desempeño de los applets. Aunque podemos regresar a la misma desventaja de JMF comentada anteriormente de que dicha instalación no del todo sencilla para cualquier tipo de usuario, sino que se va a tener que recurrir a un especialista en el área. Por otro lado puedo comentar que JMF ha hecho posible que los usuario de plataforma UNIX puedan contar con multimedios y a los desarrolladores poder desarrollarlos en sus aplicaciones. 42