Arquitectura de Software para La Wed
Arquitectura de Software para La Wed
Patrones arquitectónicos
UNIDAD 2
2.2.1 SLD – State/Logic/Display
2.2.2 MVC- Model/View/Controller
2.2.3 SCC – Sensor/Compute/Control
1
24/08/2014
2
24/08/2014
3
24/08/2014
ejecutar, el repositorio es una base de datos tradicional. Entregar en clase, dos días después de la
Pizarra. Si el estado actual de la estructura de datos dispara los fecha actual
procesos a ejecutar, el repositorio es lo que se llama una pizarra
pura o un tablero de control.
4
24/08/2014
5
24/08/2014
¿Qué es CORBA? (como Modelo) Existen servicios CORBA disponibles para una treintena
de plataformas, desde DOS o Linux hasta mainframes
Es un conjunto de especificaciones pasando por todas las versiones Windows.
gestionadas por el OMG y cuya finalidad es
facilitar la interoperabilidad entre Es una tecnología que lleva utilizándose y depurándose
componentes software implementados en más de una década.
cualquier lenguaje para que se ejecuten en Es un estándar controlado por la OMG (Object
cualquier sistema y plataforma hardware. Management Group) asociación conformada por más de
ochocientas empresas.
ORB ORB
IIOP
Internet IIOP
6
24/08/2014
7
24/08/2014
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); // se genera la dirección del objeto NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
agendaImpl = AgendaHelper.narrow(ncRef.resolve_str("Agenda"));
NameComponent path[] = ncRef.to_name( "Agenda" );
ncRef.rebind(path, href); System.out.println(agendaImpl.buscarTelefono(“Maria"));
} catch (Exception e) {
System.out.println("AgendaServer listo y en escucha ..."); System.out.println("ERROR : " + e) ;
orb.run(); // con el metodo run() el servidor se queda en espera de peticiones
}
e.printStackTrace(System.out);
catch (Exception e) { }
System.err.println("ERROR: " + e); }
e.printStackTrace(System.out); }
}
System.out.println("AgendaServer Exiting ...");
}
}
8
24/08/2014
Ejecución Tarea
idlj -fall Agenda.idl
Traduce de IDL a java
javac *.java AgendaEjemplo/*.java Unid2_act3.- Investigar y discutir las
Compila todos los archivos características del estilo arquitectónico
start orbd -ORBInitialPort 1050 basado en componentes
Levanta el “canal de comunicaciones” ORB (Servidor de nombres)
start java AgendaServer -ORBInitialPort 1050 -
ORBInitialHost localhost Entrega en clase, tres días después de la
Levanta el “servidor” (escucha) en un puerto y host determinado
(ejecutar en otra consola) fecha actual
java AgendaCliente -ORBInitialPort 1050 -
ORBInitialHost localhost
Ejecuta el cliente para buscar en un puerto y host determinado
(ejecutar en otra consola)
La idea básica es el ensamble de partes de "Se definen las líneas del producto de software como un
conjunto de sistemas software, que comparten un
software previamente elaborados
conjunto común de características, las cuales satisfacen
las necesidades específicas de un dominio o segmento
particular de mercado, y que se desarrollan a partir de
un sistema común de activos base de una manera
preestablecida”[Clemenst 2001].
9
24/08/2014
sus responsabilidades y una serie de La aportación más importante de este patrón es la separación de
los componentes relacionados con los datos de la aplicación de
recomendaciones para organizar los los componentes de la interfaz de usuario.
distintos componentes. La separación de las capas permite tener, a nivel de desarrollo,
un código más claro, flexible y reusable.
10
24/08/2014
SCC Sensor-Compute-Control
Para aplicaciones que interactúan con un ambiente
11
24/08/2014
Patrón multicapa
(variante de SLD)
Tarea
Arquitecturas de Software 47
12