jueves, 22 de noviembre de 2012

Arquitectura cliente-servidor


Arquitectura cliente-servidor


Esta arquitectura se divide en dos partes claramente diferenciadas, la primera es la parte del servidor y la segunda la de un conjunto de clientes. 
Normalmente el servidor es una máquina bastante potente que actúa de depósito de datos y funciona como un sistema gestor de base de datos (SGBD). 
Por otro lado los clientes suelen ser estaciones de trabajo que solicitan varios servicios al servidor. 
Ambas partes deben estar conectadas entre sí mediante una red. Una representación gráfica de este tipo de arquitectura sería la siguiente. 




Este tipo de arquitectura es la más utilizada en la actualidad, debido a que es la más avanzada y la que mejor ha evolucionado en estos últimos años. 

jueves, 15 de noviembre de 2012

ARQUITECTURA DE SOFTWARE


Una definición de arquitectura de software, según "El proceso unificado de desarrollo de software" de Jacobson-Grady-Rumbaugh, lo compara a la arquitectura en la construcción. La aquitectura de software es el conjunto de planos de un desarrollo de software. Planos con las características más importantes resaltadas dejando de lado los detalles. Características como requisitos de los usuarios e inversores, plataforma (sistema operativo, harware, base de datos, protocolos de red), bloques de construcción reutilizables, condideraciones de implantación, sistemas heredados y requisitos no funcionales.
se les ha denominado Arquitectura de Software, porque, a semejanza de los planos de un edificio o construcción, estas indican la estructura, funcionamiento e interacción entre las partes del software; generalmente, no es necesario inventar una nueva arquitectura de software para cada sistema de información. Lo habitual es adoptar una arquitectura conocida en función de sus ventajas e inconvenientes para cada caso en concreto

Ventajas


Las ventajas de diseñar y documentar explicitamente una arquitectura de software:


* Decisiones tempranas de diseño
* Reuso a gran escala
* Comunicaciones entre stakeholders

Arquitecturas más comunes 


Generalmente, no es necesario inventar una nueva arquitectura de software para cada sistema de información. Lo habitual es adoptar una arquitectura conocida en función de sus ventajas e inconvenientes para cada caso en concreto. Así, las arquitecturas más universales son:

  • Monolítica. Donde el software se estructura en grupos funcionales muy acoplados.
  • Cliente-servidor. Donde el software reparte su carga de cómputo en dos partes independientes pero sin reparto claro de funciones.
  • Arquitectura de tres niveles. Especialización de la arquitectura cliente-servidor donde la carga se divide en tres partes (o capas) con un reparto claro de funciones: una capa para la presentación (interfaz de usuario), otra para el cálculo (donde se encuentra modelado el negocio) y otra para el almacenamiento (persistencia). Una capa solamente tiene relación con la siguiente.




Conclusión

El tema de la arquitectura tomó mucha preponderancia es los últimos años como algo clave a la hora de diseñar una solución informática. Lo importante es comprender que para la arquitectura existen varias perspectivas y que dentro de estás podemos mostrar vistas dependiendo de los puntos de vista interesados en la misma y qué, al diseñar una solución debemos pensar en ellos y dejar plasmado en algún documento las decisiones arquitectónicas que tomamos. 

jueves, 8 de noviembre de 2012

¿ Qué es la Computación en Nube ?

¿ Qué es la Computación en Nube ?


La computación en nube es un sistema informático basado en Internet y centros de datos remotos para gestionar servicios de información y aplicaciones. La computación en nube permite que los consumidores y las empresas gestionen archivos y utilicen aplicaciones sin necesidad de instalarlas en cualquier computadora con acceso a Internet. Esta tecnología ofrece un uso mucho más eficiente de recursos, como almacenamiento, memoria, procesamiento y ancho de banda, al proveer solamente los recursos necesarios en cada momento. El término “nube” se utiliza como una metáfora de Internet..



jueves, 1 de noviembre de 2012

DIAGRAMAS DE SECUENCIA

DIAGRAMAS DE SECUENCIA


En un diagrama de secuencia se indicarán los módulos o clases que forman parte del programa
y las llamadas que se hacen en cada uno de ellos para realizar una tarea determinada.
Se realizan diagramas de secuencia para definir acciones que se pueden realizar en la aplicación
en cuestión. Así, en el caso de una aplicación para jugar al ajedrez, se podrían realizar
diagramas de secuencia para “jugar una partida” o bien para acciones más específicas como
“mover pieza”.
El detalle que se muestre en el diagrama de secuencia debe estar en consonancia con lo que se
intenta mostrar o bien con la fase de desarrollo en la que esté el proyecto, no es lo mismo un
diagrama de secuencia que muestre la acción de “mover pieza” a otro que sea “mover caballo”,
o bien no es lo mismo un diagrama de secuencia “mover pieza” que verifique ciertos parámetros
antes de mover como la viabilidad del movimiento con respecto a una estrategia marcada a una
diagrama que no muestre este nivel de detalle por estar en una fase inicial de diseño del
sistema.

El siguiente puede ser un diagrama de secuencia del ejemplo del ajedrez a un nivel de diseño
muy preliminar.