Este documento resume tres estilos arquitectónicos de software: Cliente-Servidor, Modelo Vista Controlador (MVC) y Arquitectura Orientada a Servicios (SOA). Cliente-Servidor separa las funciones en presentación, negocio y datos, permitiendo centralización y facilidad de mantenimiento. MVC separa datos, interfaz y eventos para facilitar pruebas y reutilización. SOA descompone funcionalidad en servicios distribuidos e independientes que se combinan para lograr procesos de negocio.
0 calificaciones0% encontró este documento útil (0 votos)
56 vistas7 páginas
Este documento resume tres estilos arquitectónicos de software: Cliente-Servidor, Modelo Vista Controlador (MVC) y Arquitectura Orientada a Servicios (SOA). Cliente-Servidor separa las funciones en presentación, negocio y datos, permitiendo centralización y facilidad de mantenimiento. MVC separa datos, interfaz y eventos para facilitar pruebas y reutilización. SOA descompone funcionalidad en servicios distribuidos e independientes que se combinan para lograr procesos de negocio.
Este documento resume tres estilos arquitectónicos de software: Cliente-Servidor, Modelo Vista Controlador (MVC) y Arquitectura Orientada a Servicios (SOA). Cliente-Servidor separa las funciones en presentación, negocio y datos, permitiendo centralización y facilidad de mantenimiento. MVC separa datos, interfaz y eventos para facilitar pruebas y reutilización. SOA descompone funcionalidad en servicios distribuidos e independientes que se combinan para lograr procesos de negocio.
Este documento resume tres estilos arquitectónicos de software: Cliente-Servidor, Modelo Vista Controlador (MVC) y Arquitectura Orientada a Servicios (SOA). Cliente-Servidor separa las funciones en presentación, negocio y datos, permitiendo centralización y facilidad de mantenimiento. MVC separa datos, interfaz y eventos para facilitar pruebas y reutilización. SOA descompone funcionalidad en servicios distribuidos e independientes que se combinan para lograr procesos de negocio.
Descargue como PDF, TXT o lea en línea desde Scribd
Descargar como pdf o txt
Está en la página 1de 7
ARQUITECTURA DE SOFTWARE
HUGO HORACIO MONCAYO BELEO
UNIVERSIDAD DE CARTAGENA FACULTAD DE INGENIERIA PROGRAMA DE INGENIERA DE SISTEMAS CARTAGENA 2014
INTRODUCCION
Aproximadamente desde 1960 se ha intentado formalizar la arquitectura de software (as), desde entonces y hasta ahora existen cientos de definiciones y los autores no se han puesto de acuerdo en algunos de los conceptos que esta disciplina encierra, ejemplo de esto es la forma indiscriminada en que se usan los trminos: estilo y patrn. Este tipo de disputa conceptual entre autores se traduce en confusin para el estudiante debido a que al trabajar con sistemas de informacin la dosis de creatividad debe ser alta, pues vemos signos y smbolos en la pantalla de nuestro computador, pero en realidad al interior de la maquina estos signos y smbolos tienen formas que realmente no alcanzamos a imaginar. El presente artculo trata sobre dos estilos arquitectnicos: Cliente Servidor y la Arquitectura Orientada a Servicios (SOA) y el patrn arquitectnico: Modelo Vista Controlador (MVC), cada con ventajas y desventajas que lo hacen particulares, pero a la vez complementarios debido a que la Arquitectura de un sistema de informacin no puede estar basado en un solo estilo, sino a la mezcla de varios y al uso de varios patrones a la vez, de acuerdo a la lgica del negocio.
CLIENTE - SERVIDOR La arquitectura cliente servidor se refiere a la forma en la que interactan las computadoras para formar un sistema. Esta arquitectura implica la existencia de una relacin entre procesos que solicitan servicios (clientes) y procesos que responden a estos servicios (servidores). La arquitectura cliente servidor nos permite la separacin de funciones en tres niveles: Lgica de presentacin: La presentacin de los datos es una funcin independiente del resto. Lgica del negocio (o aplicacin): Los flujos de trabajo pueden cambiarse segn las necesidades existentes de un procesador a otro. Lgica de datos: La gestin de los datos debe ser independiente para poder ser distribuida segn las necesidades de la empresa en cada momento. Ventajas: Centralizacin del control de los recursos, datos y accesos. Facilidad de mantenimiento y actualizacin del lado del servidor: Esto es porque el lado del servidor se puede mantener o actualizar fcilmente. Por ejemplo, una actualizacin se aplica a un nico servidor, pero los beneficios los obtienen mltiples clientes generalmente sin necesidad de que stos actualicen nada. Toda la informacin es almacenada en el lado del servidor, que suele tener mayor seguridad que los clientes. Hay muchas herramientas cliente- servidor probadas, seguras y amigables para usar. Desventajas: Si el nmero de clientes simultneos es elevado, el servidor puede saturarse. Esto sucede con menor frecuencia en las redes P2P. Frente a fallas del lado del servidor, el servicio queda paralizado para los clientes. Algo que no sucede en una red P2P.
EL MODELO VISTA CONTROLADOR - MVC El MVC es un patrn de arquitectura de software que separa los datos y la lgica del negocio de una aplicacin de la interfaz de usuario y el modulo encargado de gestionar los eventos y las comunicaciones. Se basa en la idea de reutilizacin de cdigo y la separacin de conceptos. Modelo: es la representacin de la informacin con la cual el sistema opera por lo tanto gestiona todos los accesos a dicha informacin, tanto consultas como actualizaciones, implementando tambin privilegios de acceso que se hayan descrito en las especificaciones de la aplicacin (lgica de negocio) enva a la vista aquella parte de la informacin que en cada momento se le solicita para que sea mostrada. Las peticiones de acceso o manipulacin de informacin llegan al modelo a travs del controlador.
Controlador: responde a eventos (acciones del usuario) e invoca peticiones al modelo cuando se hace alguna solicitud sobre la informacin. Tambin puede enviar comandos a su vista asociada si se solicita un cambio en la forma en que se presenta de modelo, el controlador hace de intermediario entre la vista y el modelo.
Vista: presenta el modelo (informacin y lgica del negocio) en un formato adecuado para interactuar por tanto requiere del modelo la informacin que debe representar como salida
Ventajas y Desventajas La popularidad de este diseo se debe ms que todo a que es mucho ms fcil organizar aplicaciones grandes. Las ventajas Clara separacin entre interfaz, lgica de negocio y de presentacin, que adems provoca parte de las ventajas siguientes. Sencillez para crear distintas representaciones de los mismos datos. Facilidad para la realizacin de pruebas unitarias de los componentes, as como de aplicar desarrollo guiado por pruebas (TDD). Reutilizacin de los componentes. Simplicidad en el mantenimiento de los sistemas. Facilidad para desarrollar prototipos rpidos. Los desarrollos suelen ser ms escalables.
Las desventajas: Tener que ceirse a una estructura predefinida, lo que a veces puede incrementar la complejidad del sistema. Hay problemas que son ms difciles de resolver respetando el patrn MVC. La curva de aprendizaje para los nuevos desarrolladores se estima mayor que la de modelos ms simples como Webforms. La distribucin de componentes obliga a crear y mantener un mayor nmero de ficheros.
ARQUITECTURA ORIENTADA A SERVICIOS - SOA En la arquitectura SOA la funcionalidad deseada se descompone en unidades (servicios) que pueden ser distribuidos en diferentes nodos conectados a travs de una red y que, asimismo, son combinados entre s para alcanzar el resultado deseado. Estos servicios pueden proporcionar datos a otros o llevar a cabo actividades de coordinacin entre uno o varios servicios. Las aplicaciones necesarias para obtener los correspondientes procesos de negocio se logran mediante la combinacin de colecciones de pequeos mdulos llamados servicios. Estos mdulos pueden ser empleados por grupos de usuarios provenientes de la propia organizacin o ajenos a la misma y las nuevas aplicaciones creadas del aprovechamiento de servicios presentes en un repositorio global muestran mayor flexibilidad y uniformidad. De este modo se consigue un ahorro en el esfuerzo de desarrollo pues se reaprovechan las funcionalidades comunes a las distintas aplicaciones adems de favorecer la interaccin entre organizaciones dado que se logra la homogeneizacin de la apariencia y del nivel y tipo de datos de entrada para la validacin de los usuarios. En este entorno de trabajo, las unidades bsicas son los servicios. Los servicios son unidades de funcionalidad que desarrollan su actividad de forma independiente y que se aproxima al concepto que los humanos asocian a los mismos como puede ser la visualizacin del estado de una cuenta bancaria, o la emisin de una peticin de un billete de avin o de tren. En lugar de que los servicios contengan en su cdigo fuente llamadas a otros, se definen protocolos que describen cmo pueden comunicarse entre s. 1
Podemos citar como ventajas de SOA: Reduce el nivel de acoplamiento. Clara definicin de roles de desarrollo. Definicin de seguridad ms clara. Fcil testeo. Mejora la mantencin. Favorece la reutilizacin. Favorece el desarrollo en paralelo. Permite fcil escalabilidad. Permite un mapeo directo entre los procesos y los sistemas. Permite un monitoreo preciso. Permite la interoperabilidad. 2
Desventajas
1
http://oposicionestic.blogspot.com/2012/08/arq uitectura-soa-orientada-servicios.html 2 http://soa- fpuna.blogspot.com/2011/11/ventajas-y- desventajas.html SOA depende de la implementacin de estndares. Sin estndares, la comunicacin entre aplicaciones requiere de mucho tiempo y cdigo. SOA no es para: aplicaciones con alto nivel de transferencia de datos, aplicaciones que no requieren de implementacin del tipo request/response y para aplicaciones que tienen un corto periodo de vida. Incrementalmente se hace difcil y costoso el ser capaz de cumplir con los protocolos y hablar con un servicio. Implica conocer los procesos del negocio, clasificarlos, extraer las funciones que son comunes a ellos, estandarizarlas y formar con ellas capas de servicios que sern requeridas por cualquier proceso de negocio. En la medida en que un servicio de negocio, vaya siendo incorporado en la definicin de los procesos de negocio, dicho servicio aumentara su nivel de criticidad. Con lo cual cada que se requiera efectuar una actualizacin en dicho servicio (por ejemplo, un cambio en el cdigo, una interfaz nueva, etc.), deber evaluarse previamente el impacto y tener mucho cuidado con su implementacin. Sin embargo, parte de la problemtica anterior, puede ser solventada en virtud a un buen diseo del servicio. 3
BIBLIOGRAFIA
El nuevo PHP. Conceptos avanzados. Vicente Javier Eslava Muoz, Editor Vicente Javier Eslava Muoz, 2013
Ingeniera del software. Ian Sommerville. Pearson Educacin. 2005.
Programacin en Internet: clientes Web. Sergio Lujn Mora. Editorial Club Universitario.