Está en la página 1de 5

UNADMEXICO.

MX
Actividad 3. Patrones de arquitectura
de software
Diseño y arquitectura de software

28/09/2014




[Escriba aquí una descripción breve del documento. Normalmente, una descripción breve es un resumen corto del contenido del documento.
Escriba aquí una descripción breve del documento. Normalmente, una descripción breve es un resumen corto del contenido del documento.]


Patrón de arquitectura

Características

Programación por capas


La programación por capas 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.

1. Capa de presentación: es la que ve el usuario (también se la denomina "capa de
usuario"), presenta el sistema al usuario, le comunica la información y captura la
información del usuario en un mínimo de proceso (realiza un filtrado previo para
comprobar que no hay errores de formato).

2. Capa de negocio: es donde residen los programas que se ejecutan, se reciben las
peticiones del usuario y se envían las respuestas tras el proceso. Se denomina capa de
negocio (e incluso de lógica del negocio) porque es aquí donde se establecen todas las
reglas que deben cumplirse.


3. Capa de datos: es donde residen los datos y es la encargada de acceder a los mismos.
Está formada por uno o más gestores de bases de datos que realizan todo el
almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de
información desde la capa de negocio.


Arquitecturas de pizarra o repositorio
La arquitectura en pizarra consta de múltiples elementos funcionales,
denominados agentes, y un instrumento de control denominado pizarra.
Los agentes suelen estar especializados en una tarea concreta o elemental. Todos ellos
cooperan para alcanzar una meta común, si bien, sus objetivos individuales no están
aparentemente coordinados.
El comportamiento básico de cualquier agente consiste en examinar la pizarra, realizar su
tarea y escribir sus conclusiones en la misma pizarra. De esta manera, otro agente puede
trabajar sobre los resultados generados por otro.
La computación termina cuando se alcanza alguna condición deseada entre los resultados
escritos en la pizarra.




Esta arquitectura es tremendamente útil cuando el problema a resolver (o algoritmo a
implementar) es extremadamente complejo en términos cognitivos. Es decir, cuando el
flujo de control del algoritmo es enrevesado, o simplemente, no se tiene un conocimiento
completo del problema a resolver.


Las desventajas de la arquitectura son bastante obvias a priori. Es importante no
generalizar en este aspecto, puesto que cada implementación en particular puede
solventar estas desventajas en algún ámbito limitado:
 No existe garantía de que se alcanzará una solución.
 Es una arquitectura ineficiente, puesto que no existe una cota respecto al tiempo
de cómputo necesario para resolver el problema.
 Es difícil obtener una traza de los pasos que llevaron a la solución, es decir, no
ofrece explicaciones.
Arquitectura dirigida por eventos



La Arquitectura dirigida por eventos, o EDA, es un patrón de arquitectura software que
promueve la producción, detección, consumo de, y reacción a eventos.
 Un evento puede ser definido como "un cambio significativo en un estado". Por
ejemplo, cuando un consumidor compra un coche, el estado del coche pasa de
"se vende" a "vendido".
 La arquitectura del sistema del vendedor de coches debe tratar este cambio de
estado como un evento, cuyo suceso puede ser conocido en otras aplicaciones en
la arquitectura.
 Desde una perspectiva formal, lo que es producido, publicado, propagado,
detectado o consumido es un mensaje (típicamente asíncrono) llamado
notificación del evento, y no el evento en sí mismo, el cuál es el cambio de estado
que disparó la emisión del evento. Los eventos no viajan, solamente ocurren.





Una red peer-to-peer, red de pares, red entre iguales, red entre pares o red punto a
punto (P2P, por sus siglas en inglés) es una red de computadoras en la que todos o
Peer-to-peer P2P



algunos aspectos funcionan sin clientes ni servidores fijos, sino una serie de nodos que se
comportan como iguales entre sí.
 Es decir, actúan simultáneamente como clientes y servidores respecto a los
demás nodos de la red. Las redes P2P permiten el intercambio directo de
información, en cualquier formato, entre los ordenadores interconectados.
Normalmente este tipo de redes se implementan como redes superpuestas construidas en
la capa de aplicación de redes públicas como Internet.
El hecho de que sirvan para compartir e intercambiar información de forma directa entre
dos o más usuarios ha propiciado que parte de los usuarios lo utilicen para intercambiar
archivos cuyo contenido está sujeto a las leyes de copyright, lo que ha generado una gran
polémica entre defensores y detractores de estos sistemas.
 Las redes peer-to-peer aprovechan, administran y optimizan el uso del ancho de
banda de los demás usuarios de la red por medio de la conectividad entre los
mismos, y obtienen así más rendimiento en las conexiones y transferencias que
con algunos métodos centralizados convencionales, donde una cantidad
relativamente pequeña de servidores provee el total del ancho de banda y
recursos compartidos para un servicio o aplicación.


Arquitectura orientada a servicios


La Arquitectura Orientada a Servicios de cliente un concepto de arquitectura de
software que define la utilización de servicios para dar soporte a los requisitos del
negocio.
Permite la creación de sistemas de información altamente escalables que reflejan el
negocio de la organización, a su vez brinda una forma bien definida de exposición e
invocación de servicios (comúnmente pero no exclusivamente servicios web), lo cual
facilita la interacción entre diferentes sistemas propios o de terceros.
SOA define las siguientes capas de software:
 Aplicaciones básicas - temas desarrollados bajo cualquier arquitectura o
tecnología, geográficamente dispersos y bajo cualquier figura de propiedad;
 De exposición de funcionalidades - Donde las funcionalidades de la capa
aplicativa son expuestas en forma de servicios (generalmente como servicios
web);
 De integración de servicios - Facilitan el intercambio de datos entre elementos de
la capa aplicativa orientada a procesos empresariales internos o en colaboración;
 De composición de procesos - Que define el proceso en términos del negocio y
sus necesidades, y que varía función del negocio;
 De entrega - donde los servicios son desplegados a los usuarios finales.
SOA proporciona una metodología y un marco de trabajo para documentar las
capacidades de negocio y puede dar soporte a las actividades de integración y
consolidación.


Modelo vista a controlador


El Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa
los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo
encargado de gestionar los eventos y las comunicaciones.

Para ello MVC propone la construcción de tres componentes distintos que son el modelo,
la vista y el controlador, es decir, por un lado define componentes para la representación
de la información, y por otro lado para la interacción del usuario.

 Este patrón de diseño se basa en las ideas de reutilización de código y
la separación de conceptos, características que buscan facilitar la tarea de
desarrollo de aplicaciones y su posterior mantenimiento.


Fuentes:
1. http://programacionporcapas.blogspot.mx/
2. http://www.es.wikipedia.org/wiki/Arquitectura_en_pizarra_(informática)
3. http://www.genbetadev.com/paradigmas-de-programacion/introduccion-a-la-programacion-dirigida-por-eventos
4. http://ingeniatic.euitt.upm.es/index.php/tecnologias/item/574-redes-p2p
5. http://www.iprofesional.com/notas/46399-Qu-es-SOA-la-arquitectura-orientada-a-servicios
6. www.lab.inf.uc3m.es/~a0080802/RAI/mvc.html