Sei sulla pagina 1di 14

UNIVERSIDAD NACIONAL DE MOQUEGUA

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


E INFORMATICA

PROGRAMACION DE 3 CAPAS

CURSO:
PROGRAMACION ORIENTADA A OBJETOS II
ALUMNO:
PETER NEGRON YUCRA
DOCENTE:
MGR. WILDON ROJAS PAUCAR

ILO – PERU
2019
INDICE

INDICE .................................................................................................................... 2
INTRODUCCION .................................................................................................... 3
PROGRAMACION DE 3 CAPAS ............................................................................ 4
DEFINICION............................................................................................................ 5
CAPAS ................................................................................................................ 5
TIPO DE SOLUCIONES (NIVELES) ................................................................... 6
VENTAJAS .......................................................................................................... 7
DESVENTAJAS................................................................................................... 7
TIPO DE CAPAS .................................................................................................... 8
CAPA DE PRESENTACION ............................................................................... 8
CAPA DE LOGICA DE NEGOCIO ...................................................................... 9
CAPA DE DATOS ............................................................................................. 11
CONCLUSION ...................................................................................................... 13
BIBLIOGRAFIA .................................................................................................... 14
INTRODUCCION

La programación por capas es un estilo de programación en el que el objetivo


primordial es la separación de la lógica de negocios de la lógica de diseño; un
ejemplo básico de esto consiste en separar la capa de datos de la capa de
presentación al usuario.

Cuando se construye software como producto empresarial o comercial, se llevan a


cabo varias técnicas de manera que el desarrollo se haga en forma ordenada y así
poder asegurar un avance continuo del proyecto, un producto final de calidad, y
además realizar posteriores mejoras sea una tarea más fácil.

Existen muchas prácticas de programación, dependiendo del tipo de software que


se va a desarrollar y de la disciplina o disciplinas de programación que se utilicen
en el desarrollo del producto.
Una de las más utilizadas se llama la programación por capas, que consiste en
dividir el código fuente según su funcionalidad principal.
PROGRAMACION DE 3 CAPAS

La programación por capas es un modelo de desarrollo software en el que el


objetivo primordial es la separación de las partes que componen un
sistema software o también una arquitectura cliente-servidor: lógica de negocios,
capa de presentación y capa de datos. De esta forma, por ejemplo, es sencillo y
mantenible crear diferentes interfaces sobre un mismo sistema sin requerirse
cambio alguno en la capa de datos o lógica.

La ventaja principal de este estilo es que el desarrollo se puede llevar a cabo en


varios niveles y, en caso de que sobrevenga algún cambio, solo afectará al nivel
requerido sin tener que revisar entre el código fuente de otros módulos, dado que
se habrá reducido el Acoplamiento informático hasta una interfaz de paso de
mensajes.

Además, permite distribuir el trabajo de creación de una aplicación por niveles; de


este modo, cada grupo de trabajo está totalmente abstraído del resto de niveles, de
forma que basta con conocer la API que existe entre
niveles.

En el diseño de sistemas informáticos actual se suelen


usar las arquitecturas multinivel o programación por
capas. En dichas arquitecturas a cada nivel se le confía
una misión simple, lo que permite el diseño de
arquitecturas escalables (que pueden ampliarse con
facilidad en caso de que las necesidades aumenten).

El más utilizado actualmente es el diseño en tres


niveles (o en tres capas).
DEFINICION
Es un estilo de programación en la que el objetivo primordial es la separación de la
lógica de negocios de la lógica de diseño, un ejemplo básico de esto es separar la
capa de datos de la capa de presentación al usuario. La programación en capas es
la técnica más efectiva en aplicaciones empresariales, debido a la fácil
administración que implica el dividir los componentes de la aplicación en capas y la
rapidez que esto implica en programas orientados a Cliente-Servidor. Esta
arquitectura consiste en dividir los
componentes primarios de la
aplicación, programarlos por
separado y después unirlos en
tiempo de ejecución.

CAPAS

Todas estas capas pueden residir en un único ordenador, si bien lo más usual es
que haya una multitud de ordenadores en donde reside la capa de presentación
(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 más ordenadores. Así, si el tamaño o
complejidad de la base de datos aumenta, se puede separar en varios ordenadores
los cuales recibirán las peticiones del ordenador en que resida la capa de negocio.

Si, por el contrario, fuese la complejidad en la capa de negocio lo que obligase a la


separación, esta capa de negocio podría residir en uno o más ordenadores que
realizarían 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 negocio, y
otra serie de ordenadores sobre los cuales corre la base de datos.

En una arquitectura de tres niveles, los términos «capas» y «niveles» no significan


lo mismo ni son similares.
El término «capa» hace referencia a la forma como una solución es segmentada
desde el punto de vista lógico:

 Presentación. (Conocida como capa Web en aplicaciones Web o como capa


de usuario en Aplicaciones Nativas)
 Lógica de Negocio. (Conocida como capa Aplicativa)
 Datos. (Conocida como capa de Base de Datos)

TIPO DE SOLUCIONES (NIVELES)


 Una solución de tres capas (presentación, lógica, datos) que residen en un
solo ordenador (Presentación, lógica, datos). Se dice, que la arquitectura de
la solución es de tres capas y un nivel.
 Una solución de tres capas (presentación, lógica, datos) que residen en dos
ordenadores (presentación-lógica, lógica-datos). Se dice que la arquitectura
de la solución es de tres capas y dos niveles.
 Una solución de tres capas (presentación, lógica, datos) que residen en
tres ordenadores (presentación, lógica, datos). La arquitectura que la
define es: solución de tres capas y tres niveles.
VENTAJAS
 Separar responsabilidades, cada capa tiene una función específica y no
interviene con la de las demás.
 Reutilizar código.
 La separación de roles en tres capas hace más fácil reemplazar o modificar
a una, sin afectar a los módulos restantes
 El código de la capa intermedia puede ser reutilizado por múltiples
 Capacidad de migrar nuestro motor de Base de Datos sin grandes impactos
al resto del proyecto.
 Poder cambiar el Front de nuestra aplicación sin afectar a la lógica de nuestra
aplicación ni a la Base de datos.

DESVENTAJAS
 A veces no se logra la contención del cambio y se requiere una cascada de
cambios en varias capas.
 Pérdida de eficiencia.
 Trabajo innecesario por parte de capas más internas o redundante entre
varias capas.
 Dificultad de diseñar correctamente la granularidad de las capas.
TIPO DE CAPAS
CAPA DE PRESENTACION
La capa de Presentación provee su
aplicación con una interfase de usuario
(IU). Aquí es donde su aplicación
presenta información a los usuarios y
acepta entradas o respuestas del usuario
para usar su programa. Idealmente, la IU
no desarrolla ningún procesamiento de
negocios o reglas de validación de
negocios. Por el contrario, la IU debería
relegar sobre la capa de negocios para
manipular estos asuntos. Esto es
importante, especialmente hoy en día,
debido a que es muy común para una
aplicación tener múltiples IU, o para sus
clientes o usuarios, que le solicitan que elimine una IU y la remplace con otra. Por
eje mplo, usted puede desarrollar una aplicación Win32 (un programa en Visual
Basic) y entonces solicitársele remplazarla con una página HTLM., quizás usando
tecnología ASP(Active Server Pages creación de páginas dinámicas del lado del
servidor).

Una de las mayores dificultades y factores importantes cuando desarrollamos


aplicaciones cliente/servidor es mantener una separación completa entre la
presentación, la lógica de negocios y los servicios de datos. Es muy tentador para
los desarrolladores mezclar una o más capas; poniendo alguna validación u otro
proceso de negocios dentro de la capa de presentación en vez de en la capa de
negocios.
Comprende las responsabilidades de lógica de presentación:

 Navegabilidad del sistema


 Validación de datos de entrada
 Formateo de los datos de salida
 Internacionalización
 Renderización de presentación
 Etc.

Funciones de la capa de Presentación:

 Recoger la información del Usuario.


 Enviar esta información a la Capa de Negocios.
 Recoger resultados de la Capa de Negocios
 Presentar los resultados al usuario.

CAPA DE LOGICA DE NEGOCIO

Toda aplicación tiene código para


implementar reglas de negocios,
procesos relacionados a los datos o
cálculos y otras actividades relativas a
los negocios. Colectivamente este
código es considerado para formar la
capa de negocios. Otra vez, uno de
los principios del diseño lógico
cliente/servidor, la lógica de negocios
debe mantenerse separada de la capa de presentación y de los servicios de datos.
Esto no significa necesariamente que la lógica de negocios está en cualquier parte,
por el contrario, esta separación es en un sentido lógico.

Hay muchas formas de separar la lógica de negocios. En términos orientados a


objetos, usted debería encapsular la lógica de negocios en un conjunto de objetos
o componentes que no contienen presentación o código de servicios de datos.
Teniendo separada lógicamente su lógica de negocios de ambas, la capa de
presentación y servicios de datos, usted ganará en flexibilidad en término de donde
usted puede almacenar físicamente la lógica de negocios. Por ejemplo, usted puede
seleccionar almacenar la lógica de negocios sobre cada estación de cliente, u optar
por ejecutar la lógica de negocios sobre un servidor de aplicaciones, permitiendo a
todos los clientes acceder a un recurso centralizado. Los objetos de negocios son
diseñados para reflejar o representar sus negocios. Ellos se convierten en un
modelo de sus entidades de negocios e interrelaciones. Esto incluye tanto objetos
físicos como conceptos abstractos. Estos son algunos ejemplos de objetos del
mundo real: un empleado, un cliente, un producto, una orden de compra.

Todos estos son objetos en el mundo físico, y la idea en su totalidad detrás de usar
objetos de negocios de software, es crear una representación de los mismos objetos
dentro de su aplicación. Sus aplicaciones pueden hacer que estos objetos
interactúen unos con otros como ellos lo hacen en el mundo real. Por ejemplo, un
empleado puede crear una orden de compra a un cliente que contiene una lista
de productos. Siguiendo esta lógica usted puede crear objetos de negocios de una
orden conteniendo el código necesario para administrarse a si mismo, así usted
nunca necesitará replicar código para crear ordenes, usted solo usará el objeto.
Similarmente, un objeto cliente contiene y administra sus propios datos. Un buen
diseño de un objeto cliente contiene todos los datos y rutinas necesitadas para
representarlo a través del negocio completo, y puede ser usado a través de toda la
aplicación de ese negocio. No toda la lógica de negocio es la misma. Alguna lógica
de negocio es un proceso intensivo de datos, requiriendo un eficiente y rápido
acceso a la base de datos. Otras no requieren un frecuente acceso a los datos, pero
es de uso frecuente por una interfase de usuario robusta para la validación en la
entrada de campos u otras interacciones de usuarios. Si nosotros necesitamos una
validación al nivel de pantallas y quizás cálculos en tiempos real u otra lógica de
negocios, pudiéramos considerar este tipo de lógica de negocios para ser parte de
la IU, ya que en su mayor parte es usada por la interfase de usuario.
Comprende las responsabilidades de lógica de negocio (o dominio) del sistema.

 Resultado del análisis funcional:


 Conjunto de reglas de negocio que abstraen el mundo real.
 La capa de negocio ha de ser independiente de la capa de presentación y
viceversa (en la medida de lo posible).

Funciones de la capa de Negocio:

 Recibir la información de la capa de presentación


 Interactuar con los servicios de datos para realizar la lógica de negocio y de
la aplicación.
 Enviar resultados a la capa de presentación

CAPA DE DATOS
Es donde residen los datos. Está formada por
uno o más gestor de bases de datos que
realiza todo el almacenamiento de datos,
reciben solicitudes de almacenamiento o
recuperación de información desde la capa de
negocio. Capa que sirve entre como puente entre
la capa lógica de negocio y el proveedor de
datos. Esta capa pretende encapsular las
especificidades del proveedor de datos tales
como (sql, oracle, sybase, archivos xml, texto, hojas electrónicas), a la siguiente
capa. Para que si cambia el proveedor de datos solo necesitemos cambiar en una
sola capa el proveedor de datos. Hoy en día gracias a la tecnología disponible y a
la expansión del conocimiento a través del internet, tenemos a nuestra deposición
la librería de microsoft enterprise library en su versión dos, donde podemos acceder
sin necesidad de cambiar el código a proveedores oledb, sql, oracle, xml, archivos
excel, etc. Por lo que si programamos en .net por capas la capa de acceso a datos
debemos de utilizar estas librerías para dejarle el trabajo a la misma y nosotros solo
preocuparnos con la conexión al proveedor de los datos y nada más.
Esta capa queda encargada de tomar la información de la base de datos dada una
petición de la capa de reglas del negocio, que a su vez es generada por la capa de
presentación.

Comprende las responsabilidades de lógica de persistencia de las entidades que


maneja el sistema en desarrollo.

 Inserción
 Eliminación
 Actualizaciones
 Búsquedas
 Etc

Funciones de la capa de Datos:

 Almacenar Datos
 Recibir datos
 Mantenimientos de los datos
 Integridad de los datos

Todas estas capas pueden residir en un único ordenador (no sería lo normal), si
bien lo más usual es que haya una multitud de ordenadores donde reside la capa
de presentación (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 más ordenador es. Así, si el
tamaño o complejidad de la base de datos aumenta, se puede separar en varios
ordenadores los cuales recibirán las peticiones del ordenador en que resida la capa
de negocio.
CONCLUSION

El estilo de programación se basa en segmentar un proyecto en partes para realizar


una programación independiente en cada una de ellas, ya que separa
responsabilidades, cada capa tiene una función específica y no interviene una con
de las demás.

Se puede elaborar componentes para cada capa, avanzando el desarrollo de


manera independiente y por ende se puede desarrollar más rápido. Ayuda mucho
al programador de aplicaciones para dar mantenimiento al sistema, dado que el
problema que pudiera dar en una capa respectiva. Por lo tanto, los costos de
mantenimiento tienden a ser menores. La separación de roles en tres capas hace
más fácil reemplazar o modificar a una, sin afectar a los módulos restantes. Dado
los cambios en la dinámica de los negocios este estilo de programación provee que
el sistema sea escalable y también se puede reutilizar código. Existe la capacidad
de migrar nuestro motor de Base de Datos sin grandes impactos al resto del
proyecto, gracias a la separación de capas. Obtiene perdida de eficiencia, debido
que a veces no se logra la contención del cambio y se requiere una cascada de
cambios en varias capas.
BIBLIOGRAFIA

 https://edgarbc.wordpress.com/arquitectura/
 https://web.archive.org/web/20071119134936/http://bulma.net/body.phtml?nId
Noticia=734
 https://sandramarramirez.fandom.com/es/wiki/Programación_por_Capas
 http://joseluisgarciab.blogspot.com/2014/09/programacion-en-3-capas.html
 http://lecasabe.com/programacion-en-3-capas/
 http://lecasabe.com/author/lecasabe/
 https://instintobinario.com/arquitectura-en-tres-capas/

Potrebbero piacerti anche