Accesos directos a las distintas zonas del curso

Ir a los contenidos

Ir a menú navegación principal

Ir a menú pie de página

COMPUTACIÓN DISTRIBUIDA EN JAVA

Curso 2017/2018 / Cod.31102079

COMPUTACIÓN DISTRIBUIDA EN JAVA

CONTENIDOS DE LA ASIGNATURA

La asignatura está dividida en tres módulos que abarcan diferentes aspectos relevantes de la computación distribuida. El índice detallado para cada uno de los módulos se muestra a continuación:

Módulo 1: Introducción a la computación distribuida

            Tema 1. Introducción y paradigmas

            Tema 2. Modelo cliente-servidor

            Tema 3. Objetos distribuidos: Java RMI

La computación distribuida es en la actualidad la tecnología estándar de desarrollo de aplicaciones basadas en la Web. Existen diferentes aproximaciones a la computación distribuida, denominadas paradigmas. Entre ellas se pueden destacar los modelos de desarrollo basados en modelo cliente-servidor, los basados en pares de iguales, los basados en mensajes o los modelos más “antiguos” que usaban RPC. Para finalizar, RMI (Remote Method Invocation) es una capa de servicios distribuidos (búsqueda de objetos remotos, invocación de interfaces y métodos, etc.) que permite desarrollar aplicaciones distribuidas basadas en el modelo cliente-servidor y centradas en la metodología de desarrollo orientada a objetos.

Módulo 2: Arquitecturas orientadas a servicio SOA

            Tema 4. Introducción a SOA

            Tema 5. Servicios Web

            Tema 6. Servicios RESTful

Los servicios Web son parte de la definición de la arquitectura basada en servicios (SOA). Dicha arquitectura define unas reglas de comportamiento estándar que permiten la definición de servicios mediante XML (WDSL), la búsqueda y localización de servicios (UDDI) y las invocaciones a dichos servicios (SOAP). Todas estas reglas de funcionamiento se implementan mediante el uso de estándares basados en XML, lo que permiten que cualquier tipo marco de desarrollo pueda exportar sus servicios con independencia de la plataforma en la que se desarrollen. El módulo muestra las características de SOA en los ámbitos de comunicación, descripción y descubrimiento. Así mismo, se muestra la arquitectura de servicios REST y el diseño de servicios Web siguiendo sus patrones.

Módulo 3: Computación en la nube (Cloud Computing)

            Tema 7. Introducción a Cloud Computing

            Tema 8. Plataformas de Cloud Computing

            Tema 9. Caso Práctico de implementación.

La computación en la nube define un paradigma de servicios estructurado en tres capas: IaaS (infraestructura como servicio), PaaS (plataforma como servicio) y SaaS (software como servicio) que permiten la delegación de funciones y competencias de los diferentes roles en el desarrollo/uso de software. El módulo muestra la definición de “nube” como modelo de servicio y sus diferentes aproximaciones y capas. Además se muestran las diferencias entre el modelo de implementación basado en nubes privadas, públicas e híbridas. Para disponer de un análisis completo de las perspectivas y servicios ofertados en la nube, se analizarán diferentes proveedores de cloud en los diferentes niveles/capas de servicio con el objetivo de disponer de criterios adecuados para su selección en un entorno de desarrollo profesional. Para completar el estudio del módulo, se implementará un caso práctico sobre una de las capas de servicio (PaaS, SaaS) con el objetivo de analizar las ventajas/inconvenientes del desarrollo de servicios sobre el modelo de computación en la nube.