¿que es la arquitectura de software?
La arquitectura de software se selecciona y diseña con base en objetivos (requerimientos) y restricciones. Los objetivos son aquellos prefijados para el sistema de información, pero no solamente los de tipo funcional, también otros objetivos como la mantenibilidad, auditabilidad, flexibilidad e interacción con otros sistemas de información. Las restricciones son aquellas limitaciones derivadas de las tecnologías disponibles para implementar sistemas de información.
La arquitectura de software, tiene que ver con el diseño y la implementación de estructuras de software de alto nivel. Es el resultado de ensamblar un cierto número de elementos arquitectónicos de forma adecuada para satisfacer la mayor funcionalidad y requerimientos de desempeño de un sistema, así como requerimientos no funcionales.

MAQUINA VIRTUAL


MAQUINA VIRTUAL
Una máquina virtual es un contenedor de
software aislado que puede ejecutar sus propios sistemas operativos y
aplicaciones como si fuera una computadora física
Este software en un principio fue definido como "un
duplicado eficiente y aislado de una máquina física". La acepción del
término actualmente incluye a máquinas virtuales que no tienen ninguna
equivalencia directa con ningún hardware real,
El enfoque de máquina virtual,
por otra parte, no incluye alguna funcionalidad adicional, sino que más bien
proporciona una interfaz que es idéntica al hardware simple que está
en la base. A cada proceso se le presenta una copia (virtual) del computador
particular.
El computador físico comparte recursos
para crear a las máquinas virtuales (VM). puede compartir CPU para crear la
apariencia de que los usuarios tienen sus propios procesadores.

ARQUITECTURA CAPAS
La arquitectura basada en capas se
enfoca en la distribución de roles y responsabilidades de forma jerárquica
proveyendo una forma muy efectiva de separación de responsabilidades. El rol
indica el modo y tipo de interacción con otras capas, y la responsabilidad
indica la funcionalidad que está siendo desarrollada.
Por ejemplo, una aplicación web
típica está compuesta por una capa de presentación (funcionalidad relacionada
con la interfaz de usuario), una capa de negocios (procesamiento de reglas de
negocios) y una capa de datos (funcionalidad relacionada con el acceso a
datos).
El estilo de arquitectura basado en
capas se identifica por las siguientes características:
• Describe la descomposición de
servicios de forma que la mayoría de la interacción ocurre solamente entre
capas vecinas.
• Las capas de una aplicación pueden
residir en la misma maquina física (misma capa) o puede estar distribuido sobre
diferentes computadores.
• Los componentes de cada capa se
comunican con otros componentes en otras capas a través de interfaces muy bien
definidas.
• Este modelo ha sido descrito como
una “pirámide invertida de re-uso” donde cada capa agrega responsabilidad y
abstracción a la capa directamente sobre ella.

Capas y Niveles
1.
Capa de presentación: 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).
También es conocida como interfaz gráfica y debe tener la característica de ser
"amigable" (entendible y fácil de usar) para el usuario. Esta capa se
comunica únicamente con la capa de negocio.
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. Esta capa se comunica con la
capa de presentación, para recibir las solicitudes y presentar los resultados,
y con la capa de datos, para solicitar al gestor de base de datos almacenar o recuperar datos de él. También
se consideran aquí los programas de aplicación.
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.

ARQUITECTURA 2 Y 3 NIVELES
Arquitectura 2 niveles: Esta se utiliza para
describir los sistemas cliente/servidor en donde el cliente solicita recursos y
el servidor responde directamente a la solicitud, con sus propios recursos.
Esto significa que el servidor no requiere otra aplicación para proporcionar
parte del servicio.


Arquitectura 3 niveles: Existe un
nivel intermediario. Esto significa que la arquitectura generalmente está
compartida por: Un cliente, es decir, el equipo que solicita los recursos,
equipado con una interfaz de usuario (generalmente un navegador Web) para la
presentación. El servidor de aplicaciones (también denominado software
intermedio), cuya tarea es proporcionar los recursos solicitados, pero que
requiere de otro servidor para hacerlo. El servidor de datos, que proporciona
al servidor de aplicaciones los datos que requiere. Comparación entre ambos
tipos de arquitecturas La arquitectura en 2 niveles es, por lo tanto, una
arquitectura cliente/servidor en la que el servidor es polivalente, es decir,
puede responder directamente a todas las solicitudes de recursos del cliente.
Sin embargo, en la arquitectura en 3 niveles, las aplicaciones al nivel del
servidor son descentralizadas de uno a otro, es decir, cada servidor se
especializa en una determinada tarea, (por ejemplo: servidor web/servidor de
bases de datos). La arquitectura en 3 niveles permite: Un mayor grado de
flexibilidad Mayor seguridad, ya que la seguridad se puede definir
independientemente para cada servicio y en cada nivel Mejor rendimiento, ya que
las tareas se comparten entre servidores.

ARQUITECTURA CLIENTE SERVIDOR
La arquitectura cliente-servidor es un modelo de aplicación distribuida
en el que las tareas se reparten entre los proveedores de recursos o servicios,
llamados servidores, y los
demandantes, llamados clientes.
Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta. Esta
idea también se puede aplicar a programas que se ejecutan sobre una sola
computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
Algunos ejemplos de
aplicaciones computacionales que usen el modelo cliente-servidor son el Correo electrónico, un Servidor de impresión y la Word
Wide Web.

ARQUITECTURA CLOUD
COMPUTING
Es un
nuevo modelo de prestación de servicios de negocio y tecnología, que permite
incluso al usuario acceder a un catálogo de servicios estandarizados y
responder con ellos a las necesidades de su negocio, de forma flexible y
adaptativa, en caso de demandas no previsibles o de picos de trabajo, pagando
únicamente por el consumo efectuado, o incluso gratuitamente en caso de
proveedores que se financian mediante publicidad o de organizaciones sin ánimo
de lucro.

MODELO VISTA CONTROLADOR
Es un patrón de arquitectura de software que separa los datos de la lógica
de negocio de una aplicación de la interfaz del 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 arquitectura de software 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.

No hay comentarios:
Publicar un comentario