2011-01-17 10 views
6

Hola, soy un novato en la arquitectura n-tier y estaba tratando de descubrir la diferencia entre lo que hace una capa de aplicación de código de servidor de aplicaciones, y lo que hace un servicio web?Cuál es la diferencia entre un servicio web y una capa de código de aplicación en un servidor de aplicaciones

Así que les diré a las personas mi comprensión del concepto de n niveles, tenemos la UI -> Servidor web -> lógica de negocios/lógica de aplicaciones en un servidor de aplicaciones -> Servidor de bases de datos. (Por supuesto, también existirían equilibradores de carga y varias instancias de servidor para fijar y almacenar el estado de los procesos)

Pero, para ser específicos, la capa de lógica de negocios no estaría vinculada a una UI, por lo que es más o menos independiente y puede ser reutilizado

Un servicio web por otro lado también proporciona una funcionalidad similar a la lógica de negocios, donde no está vinculada a una interfaz de usuario, y puede reutilizarse para diferentes casos.

¿Alguien podría explicar si lo que acabo de explicar es correcto? Y como mencioné antes, soy un novato en esto, así que si esto suena estúpido o ingenuo, por favor no me critique :)

Respuesta

17

Aquí hay una explicación rápida, sucia y muy general de una arquitectura de 4 niveles, que estoy asumiendo que mejor pueda aplicar a su aplicación:

capa de presentación: la interfaz con el mundo exterior (sitio web)
capa de aplicación: la mecánica necesarias para crear la interfaz (s) en el exterior mundo (marcos de aplicaciones web, servicios web)
Business Logic Layer: La lógica real que encarna/simula/emula los procesos de su negocio y flujos de trabajo (algoritmos, transformaciones, procesos de aprobación, etc.)
base de datos de capa: La base de datos y la lógica necesaria para consultar la información de ella

En general, los servicios web no son parte de la capa de lógica de negocios. Esa capa generalmente está protegida tanto como la capa de la base de datos, porque podría haber secretos comerciales o formas confidenciales de hacer las cosas ahí, y normalmente no quiere que nadie acceda a ella directamente, excepto programáticamente oa través de interfaces aprobadas (como servicios web).)

Los servicios web, las capas de aplicaciones y la lógica de negocios se pueden comparar con Coca-Cola y sus negocios. Por lo general, las botellas y las latas son como Joe Blow consume el producto de Coke (por ejemplo, el sitio web en la capa de presentación), pero otras empresas también quieren servir Coca-Cola a sus clientes, por lo que Coke les permite usar agua carbonatada y Coca-Cola jarabe (por ejemplo, servicios web en la capa de aplicación). La fórmula secreta de Coke (por ejemplo, la capa de lógica de negocios) y los procesos de distribución de Coke para acceder a la tienda (por ejemplo, la capa de aplicación) están ocultos para el consumidor. A Joe Blow no le importa cómo llega a la tienda, simplemente sabe que puede obtener Coca de una variedad de fuentes (sitio web, cliente móvil, etc.). Y Coke no quiere que la gente conozca su fórmula secreta (lógica comercial). Si desea una Coca, debe ir a una tienda o restaurante (interfaces aprobadas).

+1

¡Ese fue un buen ejemplo, eres mucho mejor de lo que los profesores normales enseñan en la universidad! – macha

+0

¡Gracias, lo intento! – Snapman

Cuestiones relacionadas