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.


3
http://soa-
fpuna.blogspot.com/2011/11/ventajas-y-
desventajas.html
http://www.alegsa.com.ar/Respuesta/v
entajas_y_desventajas_del_modelo_cl
ienteservidor.htm

http://prestashop5estrellas.wordpress.
com/2010/03/29/el-patron-mvc-
modelo-vista-controlador/

También podría gustarte