avanzados, especficamente la programacin en 3 capas. Describir y utilizar cada una de las capas de programacin para la generacin de aplicaciones orientadas a objetos Introduccin La programacin por capas es un estilo de programacin en el que el objetivo primordial es la separacin de la lgica de negocios de la lgica de diseo;un ejemplo bsico de esto consiste en separar la capa de datos de la capa de presentacin al usuario
Arquitectura de 3 capas: se basa ms bien en como
ser construido el entorno, una manera de decirlo en romper el clsico concepto Cliente-Servidor para introducir conceptos como Back End (Base de Datos), Middleware (Servidor de Aplicaciones), Front End (Interfaz de Usuario). Introduccin Ventajas:En el desarrollo se puede llevar a cabo en varios niveles y en caso que sobrevengan algn cambio. En el diseo de sistemas informticos actuales se suele usar las arquitecturas multilineal o programacin por capas. Ademas, permite distribuir el trabajo de creacin de una aplicacin por niveles; cada grupo de trabajo esta totalmente abstrado del resto de niveles ,de forma que basta con conocer la API que existe entre niveles API(Aplication Programming Interface) Es un conjunto de funciones y procedimientos o mtodos que ofrece cierta biblioteca para ser utilizado por otros software como una capa de abstraccin Ejemplos: Microsoft Framework.NET OpenGL Symfony para PHP
Gracias a la separacin en capas quiere decir que
podemos cambiar de proveedor de base de datos, y no necesitaremos reescribir toda la aplicacin de vuelta, sino solamente esa pequea capa y reutilizaramos la interfaz y las reglas de negocios, o tambin podemos mantener las reglas de negocios y el motor de base de datos, y fcilmente cambiarnos de una interfaz WinForm a WebForm, siempre la ms dura de cambiar en la de negocios ya que afecta en un nivel mnimo a las otras 2 capas. Capas y niveles El diseo que mas se utiliza actualmente es el de 3 capas ;sin embargo,la programacin puede desglosare en mas capas Capa de presentacin Capa de negocios Capa de datos. Capa de entidad
Cuando se habla de programacin en N-Capas nos
referimos a la capa Entidad que generara la cuarta capa llamada N-Capas de la programacin, si nos referimos al hecho que la aplicacion proviene de un anlisis, entonces debemos remontarnos al Diagrama de Clases de Anlisis que propone una clase llamada la clase Entidad en donde expone las entidades que participan directamente en un proceso de la aplicacin Capas de presentacin
Esta es la capa que ve el usuario ,presenta el sistema al usuario ,le comunica la informacin y captura la informacin del usuario en un mnimo de proceso
Presentacin. (Conocida como capa Web en
aplicaciones Web o como capa de usuario en Aplicaciones Nativas) Capa de Negocio Esta es la capa que recibe las peticiones del usuario y se enva las respuesta tras el proceso. Se denomina capa de negocio(e incluso de lgica de negocio)Porque es aqu donde se establecen todas las reglas que deben cumplirse. Responsable del procesamiento. Capa intermedia con capacidad de mantenimiento y reutilizacin
Otras responsabilidades de la capa de negocio
Dependiendo de la arquitectura, permitir ser llamados
desde las interfaces de servicio, flujos de negocio u otros componentes de negocio.
Validar entradas y salidas.
Exponer operaciones de compensacin. Dependiendo del diseo, realizar llamados a los componentes de la capa de acceso a datos, para obtener o actualizar los datos de la aplicacin, o llamar servicios externos. Llamar flujos de negocio u otros componentes de negocio Capa de datos Esta capa se encarga de acceder a los datos,se debe usas la capa de datos para almacenar y recuperar toda la informacin de sincronizacin del sistema
El da de maana podemos utilizar el mismo sistema
con otra base de datos que no sea Access, por ejemplo MySQL, cambiando solo el Acceso a datos, quedando el esquema as: Programacin en capas Todas estas capas pueden residir en un nico ordenador (no sera lo normal), si bien lo ms usual es que haya una multitud de ordenadores donde reside la capa de presentacin (son los clientes de la arquitectura cliente/servidor). Las capas de negocio y de datos pueden residir en el mismo ordenador, y si el crecimiento de las necesidades lo aconseja se pueden separar en dos o mas ordenadores. As, si el tamao o complejidad de la base de datos aumenta, se puede separar en varios ordenadores los cuales recibirn las peticiones del ordenador en que resida la capa de negocio. Arquitectura de 3 niveles De una aplicacin basada en la WEB
Si por el contrario fuese la complejidad en la
capa de negocio lo que obligase a la separacin, esta capa de negocio podra residir en uno o mas ordenadores que realizaran solicitudes a una nica base de datos. En sistemas muy complejos se llega a tener una serie de ordenadores sobre los cuales corre la capa de datos, y otra serie de ordenadores sobre los cuales corre la base de datos. El nivel intermedio implementa la lgica comercial, la lgica de control y la lgica de presentacin, para controlar las interacciones entre los clientes de la aplicacin y los datos de la misma. Arquitectura MULTINIVEL
En una arquitectura de tres niveles, los trminos "capas" y
"niveles" no significan lo mismo ni son similares. El trmino "capa" hace referencia a la forma como una solucin es segmentada desde el punto de vista lgico:Presentacin/ Lgica de Negocio/ Datos. En cambio, el trmino "nivel", corresponde a la forma en que las capas lgicas se encuentran distribuidas de forma fsica. Por ejemplo: Una solucin de tres capas (presentacin, lgica, datos) que residen en un solo ordenador (Presentacin+lgica+datos). Se dice, que la arquitectura de la solucin es de tres capas y un nivel. Una solucin de tres capas (presentacin, lgica, datos) que residen en dos ordenadores (presentacin+lgica, lgica+datos). Se dice que la arquitectura de la solucin es de tres capas y dos niveles. Una solucin de tres capas (presentacin, lgica, datos) que residen en tres ordenadores (presentacin, lgica, datos). La arquitectura que la define es: solucin de tres capas y tres niveles.