Evolución de Las Aplicaciones Informáticas
Evolución de Las Aplicaciones Informáticas
Evolución de Las Aplicaciones Informáticas
La evolucin de las aplicaciones informticas se dio debido a los siguientes factores: 1. Trabajo a distancia. 2. Compartir informacin. 3. Accesibilidad. 4. Seguridad en la proteccin de la informacin (tener la base de datos particionada en dos o ms nodos). 5. Independencia lugares. En la actualidad cualquier aplicacin cuenta generalmente con tres partes diferenciadas: 1. Una interfaz de usuario: Elemento con el que interacciona el usuario de la aplicacin, ejecutando acciones, introduciendo u obteniendo informacin. 2. Lgica Reglas de negocio: Son las que procesan la informacin para generar los resultados que persiguen, siendo el elemento fundamental que diferencia unas aplicaciones de otras. Gestin de datos: Se ocupa del almacenamiento y recuperacin de la informacin.
APLICACIONES MONOLTICAS
Son aquellas en las que el software se estructura en grupos funcionales muy acoplados, involucrando los aspectos referidos a la presentacin, procesamiento y almacenamiento de la informacin. En este rubro estn considerados las distintas aplicaciones para escritorio: sistemas operativos, ofimtica, juegos monousuario, etc.
APLICACIONES CLIENTE/SERVIDOR
Esta arquitectura consiste bsicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es ms ventajosa en un sistema operativo multiusuario distribuido a travs de una red de computadoras. En esta arquitectura la capacidad de proceso est repartida entre los clientes y los servidores, aunque son ms importantes las ventajas de tipo organizativo debidas a la centralizacin de la gestin de la informacin y la separacin de responsabilidades, lo que facilita y clarifica el diseo del sistema. La separacin entre cliente y servidor es una separacin de tipo lgico, donde el servidor no se ejecuta necesariamente sobre una sola mquina ni es necesariamente un slo programa. Los tipos especficos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propsitos varan de unos servicios a otros, la arquitectura bsica seguir siendo la misma.
APLICACIONES DE 2, 3 Y N CAPAS
Esta arquitectura consiste bsicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es ms ventajosa en un sistema operativo multiusuario distribuido a travs de una red de computadoras. En esta arquitectura la capacidad de proceso est repartida entre los clientes y los servidores, aunque son ms importantes las ventajas de tipo organizativo debidas a la centralizacin de la gestin de la informacin y la separacin de responsabilidades, lo que facilita y clarifica el diseo del sistema. La separacin entre cliente y servidor es una separacin de tipo lgico, donde el servidor no se ejecuta necesariamente sobre una sola mquina ni es necesariamente un slo programa. Los tipos especficos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propsitos varan de unos servicios a otros, la arquitectura bsica seguir siendo la misma.
Ejemplos de aplicaciones cliente/servidor. APLICACIONES DE 2 CAPAS. La arquitectura de dos capas en la actualidad es muy utilizada, aunque con muchas fallas, todava no se ha podido dejar de usar. Estas arquitecturas fueron las primeras en aprovecharse de la estructura cliente-servidor.
Aplicacin de dos capas. Las capas que esta arquitectura presenta son las siguientes:
Nivel de aplicacin
Este nivel es en el que se encuentra toda la interfaz del sistema y es la que el usuario puede disponer para realizar su actividad con el sistema.
Este nivel de la Base de Datos tambin llamado el Repositorio de Datos, es la capa en donde se almacena toda la informacin ingresada en el sistema y que se deposita en forma permanente. Existen herramientas para el desarrollo en dos capas por ejemplo Visual Basic, Access y SQL. APLICACIONES DE TRES CAPAS La arquitectura de dos capas si bien ayud en unos aos atrs, se vio la necesidad de crear una nueva arquitectura ya que en dos capas se tena algunos problemas en la capa de aplicacin ya que la principal desventaja de esta era el peso que tenia para el cliente, como se mencion anteriormente.
Aplicacin de tres capas. Por estas razones, existe una fuerte y bien avanzada tendencia a adoptar una arquitectura de tres capas. Y es as que se cre la arquitectura de tres capas las cuales son: Nivel de Aplicacin La diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que solo tiene que trabajar con la semntica propia de aplicacin, sin tener que preocuparse de cmo esta implementado este ni de su estructura fsica.
Nivel de Dominio de la aplicacin. En cambio este nivel se encarga de toda la estructura fsica y el dominio de aplicacin. Algo muy importante y que es la mayor ventaja de esta arquitectura es que ahora nicamente se cambia la regla en el servidor de aplicacin y esta actuar en todos los clientes, cosa que ni suceda con la arquitectura en dos capas que si alguna regla se la cambia, se tena que ir a cada cliente a realizar el cambio. Nivel de Repositorio. Sigue siendo la capa en donde se almacenan los datos y toda la informacin. Las herramientas para el desarrollo de tres capas son: Visual Basic en lo que se refiere a la capa de Aplicacin SQL Server en lo que se refiere al repositorio de datos. MTS en lo que se refiere al nivel del dominio de Aplicacin APLICACIONES DE N CAPAS En una aplicacin distribuida en n-capas los diferentes procesos estn distribuidos en diferentes capas no slo lgicas, sino tambin fsicas. Los procesos se ejecutan en diferentes equipos, que pueden incluso residir en plataformas o sistemas operativos completamente distintos. Cada equipo posee una configuracin distinta y est optimizado para realizar el papel que le ha sido asignado dentro de la estructura de la aplicacin, de modo que tanto los recursos como la eficiencia global del sistema se optimicen.
Aplicacin n capas. El surgimiento de la tecnologa de componentes distribuidos es la clave de las arquitecturas de n-capas. Estos sistemas de computacin utilizan un nmero variable de componentes individuales que se comunican entre ellos utilizando estndares predefinidos y frameworks de comunicacin como:
CORBA: (Common Object Request Broker Architecture) del Object Management Group (OMG). DNA: (Distributed Network Applications) de Microsoft (incluye COM/DCOM y COM+ adems de MTS, MSMQ, etc. EJB : (Enterprise Java Beans) de Sun Microsystems XML : (eXtensible Markup Language) del World Wide Web Consortium (W3 .NET: de Microsoft que incluye nuevos lenguajes como Visual Basic.net, C#.
APLICACIONES DISTRIBUIDAS
El diseo de aplicaciones modernas involucra la divisin de una aplicacin en mltiples capas; la interfaz de usuario, la capa media de objetos de negocios, y la capa de acceso a datos. Puede ser til identificar los tipos de procesamiento que podemos esperar que una aplicacin realice. Muchas aplicaciones pueden, al menos, hacer lo siguiente:
Clculos u otros procesos de negocios. Ejecucin de reglas de negocios. Validacin de datos relacionados al negocio. Manipulacin de datos. Ejecucin de las reglas de datos relacional. Interactuar con aplicaciones externas o servicios. Interactuar con otros usuarios.
Nosotros podemos tomar estos tipos de servicios y generalizarlos dentro de los tres grupos o capas que a continuacin se resumen:
o o o o o o o o o o
Interface de usuario (Capa de Presentacin) Interactuar con otros usuarios. Interactuar con aplicaciones externas o servicios. Procesos de negocios (Capa de Negocios) Clculos u otros procesos de negocios. Ejecucin de reglas de negocios. Validacin de datos relacionados al negocio. Procesos de datos (Capa de Servicios de Datos). Manipulacin de datos. Ejecucin de las reglas de datos relacional.