Escolar Documentos
Profissional Documentos
Cultura Documentos
1.
Arquitectura de software......................................................................3
1.1.
Conceptos fundamentales.................................................................3
Estilos................................................................................................... 3
2.
La arquitectura de software..................................................................4
Caractersticas...................................................................................... 5
4.
Tipos de arquitecturas..........................................................................5
Monoltica.................................................................................................... 5
Cliente-servidor........................................................................................... 5
Arquitectura de tres niveles........................................................................5
5.
Modelos estructurales...........................................................................6
Modelos dinmicos............................................................................... 6
Modelos de proceso.............................................................................. 6
6.
6.1.
6.1.1.
6.1.2.
Requerimientos.............................................................................. 7
6.1.3.
6.1.4.
6.1.5.
Liberacin....................................................................................... 9
6.1.
7.
7.1.
Categoras de arquitectos..................................................................9
Arquitectura DDD.................................................................................. 9
Qu es el dominio?...........................................................................9
8.
Qu es SignalR?................................................................................ 10
9.
Node.js................................................................................................ 19
10.
Anexo............................................................................................... 20
11.
Bibliografa...................................................................................... 21
https://prezi.com/2uraxobilh0t/tipos-de-arquitecturas-de-software/.........21
http://xurxodeveloper.blogspot.pe/20114/01/ddd-la-logica-de-dominio-esel-corazon.html......................................................................................... 21
https://prezi.com/g_k6fdrg_rmd/arquitectura-ddd-net/..............................22
http://es.slideshare.net/lilyPacheco7/arquitectura-de-software-1392522622
https://es.wikipedia.org/wiki/Node.js.........................................................22
1.
Arquitectura de software.
1.1.
Conceptos fundamentales
Estilos
diagramas
Se recomienda hacerlo en un lenguaje de descripcin
Los ADLs permiten modelar una arquitectura mucho antes que se lleve
a cabo la programacin de las aplicaciones que la componen, analizar
2.
el mbito acadmico
Se fundamentan en la incapacidad de expresar conectores en UML
Alrededor de 20 ADLs han sido reconocidos
Son poco utilizados en la industria del software
Ejemplos: AADL, Acme, Rapide, LILEANA, etc.
La arquitectura de software
clientes y servidores.
bases de datos.
filtos.
2.1.2. Interacciones
llamadas a procedimientos.
comportamiento de variables.
Caractersticas
4.
Tipos de arquitecturas
Monoltica
Donde el software se estructura en grupos funcionales muy acoplados.
Cliente-servidor
Donde el software reparte su carga de cmputo en dos partes
independientes pero sin reparto claro de funciones.
Arquitectura de tres niveles
Especializacin 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 presentacin (interfaz de usuario),
otra para el clculo (donde se encuentra modelado el negocio) y
otra para el almacenamiento (persistencia).
5.
Modelos estructurales
Modelos dinmicos
Modelos de proceso
6.
6.1.2.
Requerimientos.
6.1.5.
Liberacin.
7.
Arquitectura DDD
7.1.Qu
es
el
dominio?
de
dominio
que
es
peor,
podra
no
existir
esta
validacin.
8.
Qu es SignalR?
SignalR ofrece una API para crear llamadas remotas (RPC) desde el servidor a
funciones Javascript existentes en el cliente. No tenemos que encargarnos de
gestionar la conexin, ya que SignalR lo hace automticamente. Podemos
enviar mensajes a un cliente especfico o a todos los conectados al servidor.
SignalR se basar en Websocket cuando est disponible. Cuando no sea el
caso, utilizar otra tecnologa disponible para funcionalidades en tiempo real,
como puede ser Server Sent Requests, Forever Frame o Ajax long polling. En
funcin del navegador en el que se ejecute la aplicacin, se escoger un
mtodo de transporte u otro, pero es un proceso totalmente transparente para
nosotros, sin que sea necesario tener conocimientos de estos transportes ni de
cmo debemos implementar nuestro cdigo en funcin del navegador que
utilicemos.
Para implementar una aplicacin SignalR tendremos lo que denominamos un
Hub y un Hub proxy.
Una vez lo tengamos, tendremos que aadir las libreras necesarias para
utilizar SignalR. Para ello, hacemos click derecho en el proyecto, le damos a
el
Una vez hecho esto, vamos a comenzar a crear la parte del servidor.
Lo primero que tendremos que hacer es registrar la ruta que los clientes
utilizarn para conectarse al Hub, que por defecto ser /signalr (puede
cambiarse si fuese necesario). Esto se hace en el fichero Startup.cs (si al crear
el proyecto no se ha generado ninguno, cralo manualmente). Dentro de la
clase Startup, llamaremos a MapSignalR para registrar dicha ruta. El cdigo
nos debe quedar como podemos ver en la siguiente imagen.
En primer lugar, tenemos un listado para almacenar los usuarios que se van a ir
conectando. De cada uno almacenaremos su nombre de usuario y su ID de
conexin.
A continuacin, nos encontramos con los mtodos que expone el
Hub. Connect y Send se llamarn para almacenar los usuarios que se vayan
agregando y para mandar mensajes a todas las personas conectadas
respectivamente.
Por otro lado, el mtodo onDisconnected() es una sobrecarga de uno de los
tres mtodos que ofrece la clase Hub para controlar el ciclo de vida de
conexin y saber cundo un usuario se ha conectado, desconectado o
reconectado tras una prdida temporal de la conexin, que son los siguientes:
OnConnected()
OnDisconnected()
OnReconnected()
Hemos marcado aquellos mtodos que tienen que ver con SignalR.
En primer lugar, debemos comentar que SignalR genera un proxy
automticamente. Esto nos permite simplificar el cdigo que tenemos que
implementar, pero podramos utilizar igualmente SignalR sin proxy. Nosotros
optamos por hacerlo ya que la sintaxis es mucho ms clara.
Lo que hacemos en primer lugar es obtener la referencia al Hub,
mediante $.connection.chatHub. Cabe destacar que el nombre del Hub debe
ser el mismo que hemos creado en el lado del servidor, salvo que utilizamos
lowerCamelCase para el nombre.
A continuacin, definimos los mtodos que tendr el cliente y que podrn ser
llamados
desde
el
servidor.
Para
ello,
se
aaden
mediante ref.client.nombreMetodo, donde ref es la referencia al hub
anteriormente obtenida. En nuestro caso hemos definido dos
mtodos, updateUsers y broadcastMessage, que se encargar de mostrar en
pantalla el mensaje que nos mande el servidor.
Por ltimo, para iniciar la conexin con el Hub, lo hacemos
mediante $.connection.hub.start(). Adems de ello, podemos especificar una
funcin callback para que cuando se realice la conexin, se ejecute. Se hace
mediante done, y en nuestro caso lo que hacemos cuando se establezca la
conexin correctamente es llamar al mtodo Connect() del servidor para que
este almacene nuestro nombre de usuario. Como podis ver, las llamadas a
mtodos del servidor se hacen mediante ref.server.metodo, con el nombre del
mtodo en lowerCamelCase (fijaos que pone send y no Send).
Para que SignalR funcione correctamente tendremos que importar los scripts
correspondientes en el fichero HTML, que son los que se indican en la imagen
(y en dicho orden!).
Aparecer nuestro chat con el nombre de usuario que nos ha pedido. Si ahora
probamos a abrir otra ventana del navegador y abrimos la aplicacin, al
conectarnos veremos cmo se actualiza la lista de usuarios conectados de
ambos navegadores automticamente.
9.
Node.js
10.
Anexo
11.
Bibliografa
https://prezi.com/2uraxobilh0t/tipos-de-arquitecturas-de-software/
http://xurxodeveloper.blogspot.pe/20114/01/ddd-la-logica-de-dominioes-el-corazon.html
https://prezi.com/g_k6fdrg_rmd/arquitectura-ddd-net/
http://es.slideshare.net/lilyPacheco7/arquitectura-de-software13925226
https://es.wikipedia.org/wiki/Node.js