Hola a todos, es mi primera pregunta al foro.
Mi duda es simple, cuando se hacen arquitecturas de 3 o 4 capas, el cliente se conecta por http al servidor web (generalmente), el de aplicaciones con la base de datos por JDBC o ADO.net, y con otros servicios generalemente por Web services. Pero, ¿qué protocolo es el que se utiliza entre el servidor web y el servidor de aplicaciones?
Según arquitectura, ¿si es .Net es DCOM y si es J2EE es RMI, IIOP? o web services?, la verdad es que por más que he surfeado por la web no he encontrado ningún diagrama, y me gustaría tener esto claro a la hora de hacer el diagrama de la arquitectura lógica. Supongo que habrán muchas opciones, pero como nunca he trabajado con esto pues no sé como se comunica el servidor web con el de aplicaciones.
Un saludo agradecido
Qué idioma hablan el servidor web y el de aplicaciones?
-
- PreparaTIC XVI
- Mensajes: 87
- Registrado: 19 Oct 2004, 12:48
- Agradecido: 0
- Agradecimiento recibido: 0
RE: Qué idioma hablan el servidor web y el de aplicaciones?
El protocolo que usa el servidor Web para comunicarse con el de aplicaciones es el mismo HTTP. Cuando un navegador solicita una página a tu sistema mediante HTTP, el servidor Web puede devolverla directamente si la página es estática. Si la página es dinámica, entonces delegará la petición al servidor de aplicaciones, que será quién trate la petición HTTP.
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.
Por eso, una configuración típica en J2EE es utilizar un servidor Web Apache interconectado con un servidor de aplicaciones J2EE. Pero se podría utilizar directamente un servidor de aplicaciones y funcionaría igual.
Esto es para el caso de que un actor humano se comunique usando un navegador con tu sistema. Para el caso de que sea otra máquina la que se comunique con tu sistema, entonces el cómo se comuniqué dependerá del mecanismo de invocación remota que uses:
En el caso de los servicios Web, como se invocan vía HTTP, también puede configurarse el servidor Web para que delegue las peticiones HTTP de los servicios Web al servidor de aplicaciones, que será quién las procese y les dé respuesta (pero yo creo que esta configuración es menos habitual).
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.
Por eso, una configuración típica en J2EE es utilizar un servidor Web Apache interconectado con un servidor de aplicaciones J2EE. Pero se podría utilizar directamente un servidor de aplicaciones y funcionaría igual.
Esto es para el caso de que un actor humano se comunique usando un navegador con tu sistema. Para el caso de que sea otra máquina la que se comunique con tu sistema, entonces el cómo se comuniqué dependerá del mecanismo de invocación remota que uses:
- Java RMI usa su propio protocolo de comunicaciones JRMP.
- CORBA usa IIOP
- Los EJBs se invocan también mediante Java RMI (habitualmente utilizando IIOP como protocolo por debajo en lugar de JRMP)
- Los servicios Web usan mensajes SOAP sobre HTTP
En el caso de los servicios Web, como se invocan vía HTTP, también puede configurarse el servidor Web para que delegue las peticiones HTTP de los servicios Web al servidor de aplicaciones, que será quién las procese y les dé respuesta (pero yo creo que esta configuración es menos habitual).
- Emir
- PreparaTIC XVII
- Mensajes: 131
- Registrado: 23 Jul 2004, 11:40
- Agradecido: 0
- Agradecimiento recibido: 0
RE: Qué idioma hablan el servidor web y el de aplicaciones?
Mis felicitaciones a Cansino por sus estupendas explicaciones del mundo del desarrollo en Java.
Larga vida a Cansino, Oráculo de Java
Larga vida a Cansino, Oráculo de Java
-
- PreparaTIC XVIII
- Mensajes: 138
- Registrado: 17 Ene 2005, 17:22
- Agradecido: 0
- Agradecimiento recibido: 0
Re: RE: Qué idioma hablan el servidor web y el de aplicacion
Me uno a las felicitaciones. Gracias, Cansino.Emir escribió:Mis felicitaciones a Cansino por sus estupendas explicaciones del mundo del desarrollo en Java.
Larga vida a Cansino, Oráculo de Java