Publicado el 20 de Julio del 2017
610 visualizaciones desde el 20 de Julio del 2017
240,8 KB
9 paginas
Creado hace 10a (24/11/2014)
Técnicas Avanzadas de Middleware
Conceptos básicos
Objetivo de la Práctica
● Introducir/refrescar conceptos de
programación. Normalmente son conocidos
pero en general no se recuerdan o se
recuerdan incorrectamente.
● Familiarizar al alumno con las herramientas del
curso.
● Establecer los puntos de conexión con los
conceptos distribuidos que se verán en
sucesivas prácticas
Conceptos de programación.
● Normalmente son conocidos pero, en general,
no se recuerdan o se recuerdan
incorrectamente:
● Son conceptos que tienen alternativas o una
visión diferente en los sistemas distribuidos.
● Los Middleware modernos intentan mimetizar
esos conceptos. Algunas veces con poco éxito.
Conceptos a tratar
● Lenguajes compilados e interpretados. Java y
C#?
● Diseño Lógico y diseño físico
● Namespace (paquete) y ensamblado (librería,
dll, etc)
● Compilación, enlazado (linker). Librería
dinámicas vs estáticas.
● Paso de parámetros: por copia o por referencia.
Funcionamiento de lenguajes habituales (p.e.
Java)
Conceptos a tratar
● Funcionamiento del Heap y del Stack
● Sobrecarga vs sobreescritura de métodos.
Implicaciones del compilador o de la máquina
virtual.
● Miembros de clase y de instancia.
● Tipos por valor, tipos referenciados.
● Liberación de memoria automática.
● Visibilidad
● Polimorfismo, Importancia de los interfaces.
Herramientas
● Aunque las prácticas se realizan sobre
herramientas conocidas (Visual Studio o
Netbeans), los alumnos suelen desconocer:
● La creación de varios proyectos interdependientes
● El concepto de proyecto de referencia.
● Depuración de código
● Herramientas de pruebas automáticas (p.e. Junit)
Puntos de conexión
● Los conceptos vistos en esta práctica son
relevantes para el curso dado que en el
middleware:
● Pueden no funcionar según nuestras expectativas
● No existen o no pueden ser aplicados
● Tienen implicaciones en el rendimiento
● Tienen implicaciones en la seguridad
● En general determinan el diseño actual de los
middleware
Actividades
● Según la composición y nivel de los alumnos se
pueden preparar prácticas alternativas para
profundizar en los conceptos de programación
● Documentar las diferencias entre lenguajes de
uso habitual (C++, Java, C#, etc.)
● Ampliar otros conceptos avanzados: Tipado
dinámico, cálculo lambda, delegados, varianza
y contravarianza.
Actividades
● Dividir la clase en varios grupos de trabajo
● Cada grupo debe decidir si algunos de los
conceptos tratados tienen implicaciones en el
diseño de un middleware. Deben decidir y
razonar si:
● La implicación es muy grave, importante o leve
● Si es algo particular para un middleware o de un
lenguaje de programación
● En estos momentos del curso no se evalúan
estos comentarios. Solo se apuntan para
futuras discusiones.
Comentarios de: Técnicas Avanzadas de Middleware (0)
No hay comentarios