Pregunta

Acabo de encontrar la siguiente oración:

  

A medida que la industria ha pasado de tres   modelo de niveles a modelos de n niveles, el desajuste de impedancia relacional del objeto se ha vuelto más frecuente.

Pero no puedo encontrar una explicación concisa de la diferencia entre tres niveles y n niveles. Sé lo que son los tres niveles, y supongo que el nivel n solo agrega uno o más niveles. No estoy seguro de cuáles serían estos niveles adicionales. Si alguien tiene una breve explicación o simplemente un buen enlace, sería muy apreciado.

¿Fue útil?

Solución

La cita parece ser de esta página de codeproject . También parece hacer un trabajo bastante bueno al explicar n-tier para incluir cosas como servicios web, javascript, flujos de trabajo, etc. Todas las cosas que los modelos de 3 niveles no necesariamente incluyen.

Otros consejos

En desarrollo, entendemos un nivel como " nivel de responsabilidad " abstracción.

Tal nivel de responsabilidad agrupa conceptos para proporcionar una visión semántica coherente de la realidad, o al menos algo similar a la realidad.

En ese sentido, los llamados modelos de 3 niveles o modelos de n niveles son solo implementaciones diferentes de esos conceptos.

Un buen ejemplo de un nivel sigue el modelo jerárquico donde las responsabilidades se dirigen cuidadosamente a las personas apropiadas. Por ejemplo, una empresa común tiene un departamento comercial, de marketing, de sistemas, de desarrollo y de pruebas (por ejemplo), que representan niveles de negocio. De esa manera, las responsabilidades son claras, el desarrollo proporciona el producto, las pruebas lo prueban, el marketing lo promueve y el comercial lo vende, todo eso mientras los sistemas mantienen la infraestructura en funcionamiento (es solo un ejemplo).

Esta metáfora se abordó por primera vez con el modelo de 3 niveles, donde se identifican tres niveles. Por lo general, estos niveles son Capa de abstracción de la base de datos , que se encarga de la comunicación y la abstracción sobre la base de datos, Capa de reglas comerciales , que contiene las reglas que describen el proceso comercial y Capa de interfaz de usuario que abstrae la interacción del usuario con el sistema.

De esa manera, tenemos roles para las responsabilidades de cada capa, de modo que si el usuario necesita interactuar con el sistema, se comunicará con una capa, no se equivocará en el sistema de agujeros.

N-tier representa una evolución del concepto anterior mediante el uso de más niveles para abordar necesidades específicas. Por lo general, la capa de interfaz de usuario y la capa de abstracción de la base de datos no se modifican, ya que sus funciones son bastante claras, mientras que la capa de reglas de negocio se refina aún más.

Para eso, siempre tenemos en cuenta las características del problema, así como las características que queremos ofrecer ahora y en el futuro. Por ejemplo, si una aplicación necesita trabajar con clientes inteligentes o está previsto que funcione con clientes inteligentes, la capa empresarial generalmente se divide en una capa proxy y una capa de fondo, la primera enruta las llamadas a donde deben ir.

Al final, lo importante es el concepto de abstracción de responsabilidades entre las diferentes capas y centralizar todas las operaciones relacionadas desde una vista semántica en el mismo lugar.

Tenga en cuenta que, además, la arquitectura de n niveles permite la distribución de esas "responsabilidades" entre los desarrolladores De esa manera, un equipo determinado puede tener responsabilidad sobre la Capa de abstracción de la base de datos, mientras que otro equipo trabaja en la Capa de proxy y otro trabaja en la Capa de abstracción de gráficos. Cuando un miembro de un equipo necesita acceder a la base de datos, busca la documentación de DAL y utiliza una de las instalaciones proporcionadas o le pide al equipo de DAL que brinde la funcionalidad que necesita, de modo que no se dirija directamente a la base de datos, sino a a través de las personas que mejor conocen el diseño y las complejidades de la base de datos en sí.

Si miramos los niveles como si fueran capas de un pastel; cada capa tendría sus propios ingredientes y haría sus propias cosas. Los niveles de cada aplicación interactúan solo con el nivel superior o inferior.

3 niveles significa que el pastel tiene 3 capas. Por lo general, se trata de datos en la parte inferior, luego un nivel de lógica de aplicación (PHP / ruby ??/ etc), y luego un nivel de presentación en la parte superior (html)

Tener una arquitectura de n niveles significa que diseñas algo con capas múltiples. El número de capas que tenga dependerá de cómo decida hacerlo.

Parece tener mucho más sentido con aplicaciones web más grandes.

Generalmente termino con una aplicación de 5 niveles. Cada nivel solo puede interactuar con el que está arriba o debajo. Esto puede proporcionar una extensibilidad y estandarización fantásticas en su aplicación.

Nivel de cliente

Navegador web


Nivel de presentación

Renderizar el HTML: Coldfusion / Flash / Ruby / PHP, etc.


Nivel de lógica de negocios

Ejecute los procesos y cálculos según sea necesario: Coldfusion / Flash / Ruby / PHP, etc.


Nivel de integración de datos

(Consultas de mi lenguaje de desarrollo, procedimientos almacenados, etc.)


Nivel de datos

(Base de datos - MySQL, etc.)

n-tier implica que n es cualquier número - cuando n = 3 entonces es lo mismo que n-tier.

La definición habitual de 3 niveles es presentación, lógica y amp; datos (en cualquier orden), y sí, SOA puede confundir al neófito porque a veces se encuentra en el nivel de datos, a veces el nivel lógico y a veces tanto lógico & amp; niveles de datos.

Todo el tema es ... subjetivo. Si necesita algunos niveles, llámelo n-tier; si sabe que n = 7, llámelo 7-tier o n-tier.

Oye, ni siquiera puedo obtener una definición de 3 niveles. A veces, descuentan javascript en el cliente y, a veces, javascript en el cliente y el navegador web del cliente se consideran otro nivel. Por lo tanto, una página ASP que se comunica con una base de datos puede ser de 3 niveles si asume que base de datos = nivel 3, servidor web = nivel 2, navegador web del cliente = nivel 1. Y otras veces servidor web = nivel 1, middleware = nivel 2, base de datos = nivel 3. Realmente depende de quién está escribiendo la definición / libro.

En general, n-tier parece referirse a la división de la capa de middleware más. Pero aparte de eso, no veo definiciones consistentes.

¿De dónde es esa cita? ¿A qué industria se refieren? Tendría que imaginar que esto tiene algo que ver con SOA porque ese es el único Lo que tiene sentido para este tipo de afirmación.

La mayoría de las personas que he escuchado que hacen este tipo de afirmación creen que, en un dominio orientado a servicios, cada servicio es de alguna manera su propio nivel. No estoy de acuerdo, ya que la mayoría de las veces estos servicios dispares se pueden agrupar lógicamente en los tres niveles comunes (presentación, lógica y datos). Pero de nuevo, todo es bastante subjetivo.

hola, por favor revisa este enlace, para que puedas tener una buena idea al respecto

http://msdn.microsoft.com/en-us/library /ms973829.aspx

Este capítulo del libro Wiki sobre arquitectura de aplicaciones es un capítulo guía sencilla de capas, niveles y decidir qué necesita usar.

Sin ver la oración en contexto, supongo que se refiere a la explosión en servicios y middleware.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top