servidores web y servidores de aplicaciones

Temas relacionados con el examen del caso práctico
Cerrado
Pacos
Usuario registrado
Mensajes: 57
Registrado: 29 May 2007, 11:14
Agradecido: 0
Agradecimiento recibido: 0

servidores web y servidores de aplicaciones

Mensaje por Pacos »

Para muchos de vosotros esto estará mas que claro pero yo tengo algún punto de confusión en algunos aspectos, en los límites entre uno y otro.

Es decir, ¿Dónde empieza y temina un servidore web? puedo considerar a Tomcat como servidor de aplicaciones? y los JSP y Servlets? y php?

El caso es que he visto a muchos que defienden ponerlos solo como partes del servidor de aplicaciones y a otros lo contrario.

Por otro lado tampoco tengo muy claro como se mete entre ellos un workflow para interactuar.

Gracias por adelantado

Avatar de Usuario
AXiS
PreparaTIC XVIII
Mensajes: 327
Registrado: 08 Feb 2007, 00:45
Agradecido: 0
Agradecimiento recibido: 0

RE: servidores web y servidores de aplicaciones

Mensaje por AXiS »

No es que yo lo tenga del todo clarísimo, pero te cuento mi idea.

Un Servidor Web sirve simplemente contenido estático: archivos HTML, imágenes, etc. Un ejemplo típico es Apache.

Un Servidor de Aplicaciones se encarga de la lógica de negocio, no de la presentación. En el caso de J2EE, se tiene que encargar de los EJB's, así como de Servlets, JSP's, etc. Ejemplos: JBoss, IBM WebSphere, BEA WebLogic...

El Tomcat sí es capaz de manejar Servlets y JSP's, pero no EJB's. Por lo tanto, no se le puede considerar un Servidor de Aplicaciones J2EE. Muchas veces he leído referirse a él como un "contenedor de servlets" (así lo define Wikipedia).
Una frase literal sacada del artículo Servidor de Aplicaciones de Wikipedia: "Mucha gente confunde a Tomcat (The Apache Software Foundation) con un servidor de aplicaciones, sin embargo es sólamente un contenedor de servlets."

PHP es otra tecnología diferente que nada tiene que ver con J2EE, equivalente en cierto modo a JSP, aunque la verdad es que esto ya no lo tengo tan claro...

En fin, no sé si te habré ayudado mucho, pero te he contado lo poco que sé (o creo saber).

Saludos!

Avatar de Usuario
AXiS
PreparaTIC XVIII
Mensajes: 327
Registrado: 08 Feb 2007, 00:45
Agradecido: 0
Agradecimiento recibido: 0

RE: servidores web y servidores de aplicaciones

Mensaje por AXiS »

Por cierto, del workflow ni te he hablado porque es un tema del que no tengo ni idea... :roll:

consuerte
PreparaTIC XVI
Mensajes: 18
Registrado: 20 Mar 2007, 13:03
Agradecido: 0
Agradecimiento recibido: 0

RE: servidores web y servidores de aplicaciones

Mensaje por consuerte »

Ciertamente, como comenta AXIS_, un servidor web sirve contenido estático, ya que no es más que un programa que implementa y responde a peticiones HTTP. El más conocido es sin lugar a dudas Apache.

El concepto de servidor de aplicaciones, por su parte, se refiere de forma general a un software que ejecuta ciertas aplicaciones y servicios de aplicación a ordenadores cliente, de forma que se encargan de realizar de forma centralizada la lógica de negocios y la de acceso a datos de una aplicación.

Hoy en día, se asocia inexorablemente a J2EE, si bien es aplicable a cualquier plataforma de software. Un ejemplo típico es JBoss.

Por otra parte, las especificaciones J2EE definen un contenedor como el software responsable de ofrecer una serie de servicios de ejecución a los componentes J2EE de aplicación.

De este modo, el contenedor puede incluir la funcionalidad declarada en los ficheros de configuración proporcionados en la instalación de los componentes tales como gestión de transacciones, seguridad, gestión de estados y conexiones.

La especificación J2EE define varios tipos de contenedores, entre ellos, los más destacados son los contenedores web o también llamados contenedores de servlets, y los contenedores de EJBs.

Un servidor de aplicaciones J2EE deberá cumplir la especificación y, por tanto, implementar ambos. Así, Tomcat NO es un servidor de aplicaciones, pero SÍ ofrece un contenedor de servlet de hecho el contenedor de servlet considerado como referencia en toda la industria.

Respecto a lo de PHP, como comentaba AXIS_, es otra tecnología y otro lenguaje de programación, que permite generar contenido dinámico en forma de código HTML. Se ejecuta en el servidor, por lo que debe instalarse en éste las librerías de código y la configuración necesarias.

Espero que la explicación te aclare un poco las ideas.

Saludos!

consuerte
PreparaTIC XVI
Mensajes: 18
Registrado: 20 Mar 2007, 13:03
Agradecido: 0
Agradecimiento recibido: 0

RE: servidores web y servidores de aplicaciones

Mensaje por consuerte »

Ah!, y en relación al workflow, piensa que al final, existen comunicaciones entre el servidor web y el contenedor web (se remite la petición realizada por el cliente entre ellos, y la respuesta consiguiente).

Un worklow no es más que un flujo de trabajo, o como dice la Wikipedia: "cómo se estructuran las tareas, cómo se realizan, cuál es su orden correlativo, cómo se sincronizan, cómo fluye la información que soporta las tareas y cómo se le hace seguimiento al cumplimiento de las tareas".

Muchas veces el workflow no será más que otra librería en J2EE o bien otra aplicación diferente que se ejecuta sobre el entorno del servidor, y permite que la respuesta a una petición HTTP cliente se conforme como una lógica de negocio que sigue un determinado proceso.

Por tanto, cliente y servidor siguen un protocolo HTTP de pregunta/respuesta, pero el servidor elabora la respuesta de la forma que sea precisa, ejecutando en su entorno un flujo de trabajo estructurado en tareas y actividades.

Avatar de Usuario
gabiotillo
Usuario registrado
Mensajes: 387
Registrado: 18 Mar 2006, 19:52
Agradecido: 0
Agradecimiento recibido: 0

RE: servidores web y servidores de aplicaciones

Mensaje por gabiotillo »

Bueno, y por cerrar el tema. Asunto portlets. Por lo que me ha parecido entender, necesitan también un tipo de contenedor especial conforme al estándar JSR168 (he visto por ahí Jetspeed2 o Pluto). Pero si tengo una página formada por portlets, supongo que generada o estática el caso da igual, ¿los portlets en realidad invocan a JSPs/servlets o van a su bola?

Pacos
Usuario registrado
Mensajes: 57
Registrado: 29 May 2007, 11:14
Agradecido: 0
Agradecimiento recibido: 0

RE: servidores web y servidores de aplicaciones

Mensaje por Pacos »

por cerrar el asunto, ¿Considerarías la parte php de un proyecto como parte del Servidor Web o como parte del servidor de aplicaciones?

consuerte
PreparaTIC XVI
Mensajes: 18
Registrado: 20 Mar 2007, 13:03
Agradecido: 0
Agradecimiento recibido: 0

RE: servidores web y servidores de aplicaciones

Mensaje por consuerte »

Asunto portlets: como comentas, necesitan un contenedor específico conforme al estándar JSR-168 (o JSR-286 para la versión 2.0).

Por diseño, la especificación Java Portlet es muy muy similar a la especificación Java Servlet, y de hecho está construida en sus primeras versiones sobre la misma, de igual manera que las JSPs están construidas sobre los servlets.

Eso no impide que tengan su propia existencia de forma separada, si bien, en el contexto de un portal sea normal que existan páginas JSPs, y existan portlets que ofrezcan canales de información o determinadas funcionalidades.

Por tanto, los JSPs y servlets deben poder comunicarse con los portlets, de igual manera que desde una JSP o un servlet se puede invocar otros servlets o JSP.

No obstante, tal como yo lo veo, sin ser un experto en este tema, es que los portlets pueden "vivir por su cuenta" y también invocar a JSPs/servlets si es el caso.

consuerte
PreparaTIC XVI
Mensajes: 18
Registrado: 20 Mar 2007, 13:03
Agradecido: 0
Agradecimiento recibido: 0

RE: servidores web y servidores de aplicaciones

Mensaje por consuerte »

Pacos,

El código PHP lo consideraría del servidor web, ya que hablar de servidor de aplicaciones en PHP sería liar las cosas.

Recientemente han surgido algunas empresas y desarrollos que se autodenominan "servidores de aplicaciones PHP" porque ofrecen herramientas para agilizar el desarrollo (conexión a base de datos, LDAP, seguridad, etc).

Como no son de uso generalizado, ni creo que para el cuarto ejercicio sea procedente indicar su uso, cualquier desarrollo realizado en el lenguaje PHP formará parte del servidor web, al igual que lo formaría cualquier CGI.

Para J2EE, sin embargo, tendría claro lo que es contenido estático (HTML, imágenes, flash) que sería parte del servidor web, del contenido dinámico formado por JSPs, servlets, EJBs, etc, que sería parte del servidor de aplicaciones o del contenedor de servlets (si solamente se usa un Tomcat y no se hace uso de EJBs y especificaciones asociadas).

Saludos.

jestela
PreparaTIC XVII
Mensajes: 48
Registrado: 06 Jun 2006, 13:29
Agradecido: 0
Agradecimiento recibido: 0

RE: servidores web y servidores de aplicaciones

Mensaje por jestela »

Buenas,

Respondiendo a los anteriores posts:

En cuanto a la parte de PHP comentar que creo que pertenece a la parte del servidor web, ya que no puede ser considerado un servidor de aplicaciones . PHP nuke es el "estandar" de este tipo de servidores y necesita un Apache y un MySQL para funcionar. PHP esta pensado para definir un portal sencillo, con noticias y un gestor de contenidos. Yo no lo utilizaria para definir una aplicación compleja, desde mi punto de vista esta orientado a un entorno semi-profesional.

Con respecto al tema de los portlets os comento mi experiencia con los portlets de Oracle, que fueron la base de la definición del estandar JSR-168. Los portlets no son mas que JSP/Servlets que tienen una estructura definida (xmls de configuración) y son publicados en el servidor de aplicaciones bajo esta estructura para ser utilizados por un Portal. Una vez publicados, el administrador del Portal (Oracle Portal, JBoss Portal...) ha de definir el servidor de aplicaciones que tiene contenidos los portlets (puede haber varios servidores) y los usuarios que tienen permisos para usarlos en sus páginas. A partir de ese momento cualquier usuario con permisos puede incluir los portlets (son mini aplicaciones autocontenidas) en sus páginas. En definiva los portlets pasan a ser un contenido más que puede ser añadido por un usuario no técnico de la misma forma que añadiria contenidos estáticos mediante la interfaz de gestión del portal. ¿Esto es útil en comparación con usar JSPs? Pues depende, si queremos hacer una aplicación con un objetivo concreto no aporta nada, ya que podemos agregar JSPs con, por ejemplo, la libería Tiles de Struts y reutilizar JSPs. Sin embargo si lo que vamos a hacer es un portal con contenidos y aportar pequeñas funcionalidades a nuestros usuarios (calendario, correo, tiempo...) para que las introduzcan en sus páginas personales (PEj: distintos departamentos de la universidad) entonces si que tiene sentido, ya que cada usuario podrá incluir uno o varios portlets y publicar solo lo que desea sin necesidad de tener que programar nada.

Espero no haber causado mucho lio y haber aclarado algo!!! :D

dgr
Usuario registrado
Mensajes: 23
Registrado: 31 May 2005, 14:05
Agradecido: 0
Agradecimiento recibido: 0

Re: RE: servidores web y servidores de aplicaciones

Mensaje por dgr »

jestela escribió: En cuanto a la parte de PHP comentar que creo que pertenece a la parte del servidor web, ya que no puede ser considerado un servidor de aplicaciones . PHP nuke es el "estandar" de este tipo de servidores y necesita un Apache y un MySQL para funcionar. PHP esta pensado para definir un portal sencillo, con noticias y un gestor de contenidos. Yo no lo utilizaria para definir una aplicación compleja, desde mi punto de vista esta orientado a un entorno semi-profesional.
Los scripts PHP se invocan a través de módulos instalados en el servidor web o mediante CGI (poco habitual hoy en día) así que, en rigor, no puede hablarse de un servidor de aplicaciones. Eso no significa que PHP no pueda ser utilizado en entornos profesionales: la "sede electrónica" del BOE utiliza PHP, al menos para el front-end.

Marisa
Usuario registrado
Mensajes: 26
Registrado: 15 Mar 2006, 18:44
Agradecido: 0
Agradecimiento recibido: 0

Re: RE: servidores web y servidores de aplicaciones

Mensaje por Marisa »

AXiS_ escribió: Un Servidor Web sirve simplemente contenido estático: archivos HTML, imágenes, etc. Un ejemplo típico es Apache.

Un Servidor de Aplicaciones se encarga de la lógica de negocio, no de la presentación. En el caso de J2EE, se tiene que encargar de los EJB's, así como de Servlets, JSP's, etc. Ejemplos: JBoss, IBM WebSphere, BEA WebLogic...

El Tomcat sí es capaz de manejar Servlets y JSP's, pero no EJB's. Por lo tanto, no se le puede considerar un Servidor de Aplicaciones J2EE.
Saludos!
Viendo algunas propuestas de ejercicios, he visto que se incluyen tanto "servidor web" como "servidor de aplicaciones", los dos juntos. ¿Es realmente necesario, que teniendo un servidor de aplicaciones, haya que añadir un servidor web? Supongo que no es por ofrecer las páginas estáticas (digo yo que los servidores de aplicaciones podrán proporcionar páginas estáticas). Quizá sea por seguridad... ¿alguien lo sabe?

Gracias

consuerte
PreparaTIC XVI
Mensajes: 18
Registrado: 20 Mar 2007, 13:03
Agradecido: 0
Agradecimiento recibido: 0

RE: servidores web y servidores de aplicaciones

Mensaje por consuerte »

La razón la explicaba perfectamente mi compañero Cansino en el siguiente hilo: http://foro.preparatic.com/viewtopic.php?t=1558

Extraigo lo principal: "Los servidores de aplicaciones también son servidores Web en cuanto a qué pueden devolver recursos estáticos vía HTTP. Una razón de utilizar un servidor Web específico es que éstos están optimizados para altas cargas de peticiones HTTP. Los servidores de aplicaciones por el contrario están especializados en lo que se ejecuta dentro del servidor. Otra buena razón es que puedes securizar el servidor Web dentro de una DMZ, como único punto de entrada a tu sistema, el diagrama ese es un clásico en el cuarto ejercicio".

Marisa
Usuario registrado
Mensajes: 26
Registrado: 15 Mar 2006, 18:44
Agradecido: 0
Agradecimiento recibido: 0

RE: servidores web y servidores de aplicaciones

Mensaje por Marisa »

Muchas gracias (lo había olvidado). :oops:

Cerrado

Volver a “CUARTO EXAMEN 2007”