Arquitectura

Se compone por:

  • Componentes
  • Como se relacionan estos componentes
  • Ambiente en que trabajan
  • Contemplan los principios y reglas que normalizan su diseño y evolucion

La arquitectura evoluciona segun las necesidades de la empresa

Una definicion por parte de la ingenieria de software es la siguiente:

Una arquitectura de software es la estructura de estructuras de un sistema, la cual abarca componentes de software porpios externos visibles a sus componentes y sus relaciones.

Importancia

  • Porque las representaciones de la arquitectura de software facilitan las comunicaciones entre todas las partes interesadas en el desarrollo de un sistema basado en computadoras
  • Destaca desiciones tempranas de diseño que tendrian un profundo impacto en todo el trabajo de ingenieria
  • Porque constituyen un modelo relativamente pequeño e intelectualmente comprensible de como esta estructurado el sistema y de como trabajan juntos los componentes

Aplicaciones Monolíticas

Son las que conocemos como aplicaciones de estacion, interfaces graficas de usuario guy´s. Son servidores de presentacion, negocios y persisntencia de datos en la misma maquina, no hay concurrencia de datos.

Arquitectuta Cliente / Servidor

Una de sus caracteristicas es que cuenta con clientes bastantes pesados, aunque esto no es un estandar dependiendo del lenguaje. Existen conexiones dedicadas a las bases de datos. Mediante esta arquitectura generalmente los protocolos de comunicacionson pesados.

Existen ejecuciones remotas de SQL´s, existe alta administracion y rendimiento es bajo.

El trafico en la red puede estar saturado o ser muy alto.

Arquiterctura Cliente / Servidor

Se aplica la logica de negocios de bases de datos. Exiten clientes pesados aunque tampoco es un estandar. Las conexiones a las bases de datos se convierten en conexiones dedicadas. El rendimiento en este tipo de arquitectura es mucho mejor.

Arquitectura de 3 niveles

La arquitetura de logica de negicios  para definir clientes o sistemas con aplicaciones en este enfoque, se mejora la escalabilidad y la flexibilidad de las bases de datos.

Existe una profunda independencia de las bases de datos.