Para qué te prepara este curso subvencionado Curso Gratuito Titulación Propia Universitaria en Java + Especialista en Aplicaciones distribuidas en Java con Tecnología RMI (Doble Titulación con 4 Créditos ECTS):
Este curso de Java y en Aplicaciones distribuidas en Java con Tecnología RMI le prepara para conocer el lenguaje Java, además de especializarse en aplicaciones en red y/o multiplataforma bajo los entornos que proporciona Java.
A quién va dirigido:
El presente curso de Java y de Aplicaciones distribuidas en Java con Tecnología RMI va dirigido a cualquier persona o profesional del sector de la Informática o Programación.
Objetivos de este curso subvencionado Curso Gratuito Titulación Propia Universitaria en Java + Especialista en Aplicaciones distribuidas en Java con Tecnología RMI (Doble Titulación con 4 Créditos ECTS):
- Proporcionar al alumno la base que necesita cualquier programador de Java, tanto en cuanto a las peculiaridades de la tecnología que engloba Java SE, como del lenguaje de programación en sí. - Aprender las características de dos tipos de aplicaciones que se pueden crear con Java SE: applets y aplicaciones autónomas. - Permitir invocación de métodos de un objeto por objetos que residen en diferentes máquinas virtuales. - Integrar el modelo de objetos distribuidos al lenguaje Java de modo natural, preservando en lo posible la semántica de objetos en Java. - Preservar la seguridad de tipos dada por el ambiente de ejecución Java. - Mantener la seguridad del ambiente dada por los Security Managers, en particular, en presencia de carga dinámica de clases.
Salidas Laborales:
Programación, Creación de aplicaciones, Informática.
Resumen:
Java es un lenguaje de programación con el que podemos realizar cualquier tipo de desarrollo. Java fue desarrollado por la compañía Sun Microsystems y está enfocado a cubrir las necesidades tecnológicas de empresas. Uno de los conceptos más interesantes de la tecnología Java es que es un lenguaje independiente de la plataforma, por lo que al realizar un programa en Java podrá funcionar en cualquier ordenador del mercado independientemente del sistema operativo en el que vayamos a utilizar el desarrollo. A través de este curso en Java y en Aplicaciones distribuidas en Java con Tecnología RMI el alumno conocerá el lenguaje de programación JAVA y será capaz de crear aplicaciones RIM,
Titulación:
Doble Titulación: - Titulación de Especialista en Aplicaciones distribuidas en Java con Tecnología RMI con 200 horas expedida por Euroinnova Business School y Avalada por la Escuela Superior de Cualificaciones Profesionales- Titulación Propia Universitaria en Java con 4 Créditos Universitarios ECTS con 110 horas.
Metodología:
Entre el material entregado en este curso se adjunta un documento llamado Guía del Alumno dónde aparece un horario de tutorías telefónicas y una dirección de e-mail dónde podrá enviar sus consultas, dudas y ejercicios. Además recibirá los materiales didácticos que incluye el curso para poder consultarlos en cualquier momento y conservarlos una vez finalizado el mismo.La metodología a seguir es ir avanzando a lo largo del itinerario de aprendizaje online, que cuenta con una serie de temas y ejercicios. Para su evaluación, el alumno/a deberá completar todos los ejercicios propuestos en el curso. La titulación será remitida al alumno/a por correo una vez se haya comprobado que ha completado el itinerario de aprendizaje satisfactoriamente.
Temario:
PARTE 1. JAVA
MODULO 1. CONCEPTOS BÁSICOS DEL LENGUAJE JAVA
UNIDAD DIDÁCTICA 1. INTRODUCCIÓN
- Introducción
- Arquitectura de Java
- Características de Java
UNIDAD DIDÁCTICA 2. DESARROLLANDO Y PROBANDO PROGRAMAS CON TECNOLOGÍA JAVA
- Introducción
- Instalación y configuración del kit de desarrollo de Sun (JDK)
- Procesos para crear un programa en Java
- Esqueleto de una clase
UNIDAD DIDÁCTICA 3. PROGRAMACIÓN ORIENTADA A OBJETOS
- Introducción
- Clases
- Métodos de clase
UNIDAD DIDÁCTICA 4. DECLARANDO, INICIALIZANDO Y USANDO VARIABLES
- Introducción
- Elementos básicos del lenguaje y sintaxis de Java
- Alcance de las variables
- Declarando variables
- Conversión entre tipos (casting)
- Laboratorio 1: Definiendo tipos de datos
- Laboratorio 2: Definiendo tipos de datos II
- Laboratorio 3: Definiendo tipos de datos III
- Laboratorio: Casting entre tipos de datos
UNIDAD DIDÁCTICA 5. CREANDO Y USANDO OBJETOS
- Introducción
- Declarar, instanciar e inicializar variables de referencia de objeto
- Variables static de clase
- Variables final o constantes
- Constructores
- Herencia
- Paquetes
- Interfaces
UNIDAD DIDÁCTICA 6. CARACTERÍSTICAS AVANZADAS DE CLASES
- Introducción
- this y super
- Destrucción de objetos
- Crear y usar tipos enumerados
- Importaciones estáticas
- La clase String
- Introducción a los flujos o streams
- Laboratorio 1: Validación Email
- Laboratorio 2: Clase Objeto cadena
- Enunciado
- Solución
UNIDAD DIDÁCTICA 7. USANDO OPERADORES Y CONSTRUCTORES
- Introducción
- Operadores y expresiones
- Precedencia entre operadores
- Sentencia return
- Sentencias de excepción, bloques try, catch, finally
- Aserciones
- Laboratorio: Averiguar día de nacimiento de la semana
UNIDAD DIDÁCTICA 8. USANDO LOOPS
- Introducción
- Sentencia if-else
- Sentencia switch-case
- Sentencia while
- Sentencia do-while
- Sentencia for
- Laboratorio: Conjetura Collatz
UNIDAD DIDÁCTICA 9. DESARROLLANDO Y USANDO MÉTODOS
- Introducción
- Métodos (Funciones Miembro)
- Métodos de objeto
- Parámetros en los métodos
- Destrucción de objetos
- Definición de métodos heredados (override)
- Clases y métodos abstractos
- Clases y métodos finales
- Laboratorio: Creación del objeto Calculadora
UNIDAD DIDÁCTICA 10. IMPLEMENTANDO ENCAPSULACIÓN
- Introducción
- Paquetes
- Modificadores de ámbito
- Laboratorio: Creación y uso de paquetes.
UNIDAD DIDÁCTICA 11. CREANDO Y USANDO ARREGLOS
- Introducción
- Concepto de Array
- Arrays Unidimensionales
- Arrays Multidimensionales
- Arrays de Caracteres
- Colecciones
- Laboratorio: Temperaturas Anuales
UNIDAD DIDÁCTICA 12. IMPLEMENTANDO HERENCIA
- Introducción
- Herencia
- Laboratorio: Proyecto clases agenda
MODULO 2. CONCEPTOS AVANZADOS E INTERFACES GRÁFICAS DEL LENGUAJE JAVA
UNIDAD DIDÁCTICA 1. PRINCIPIOS BÁSICOS DE E/S
- Introducción
- Argumentos de la línea de comandos
- Propiedades del Sistema
- Clase Properties
- Ficheros
- Laboratorio: Uso de la clase File
- Laboratorio: Uso de las clases FileOutputStream y FileInputStream
UNIDAD DIDÁCTICA 2. E/S DE CONSOLA Y E/S DE ARCHIVOS
- Introducción
- System.in
- System.out
- System.err
UNIDAD DIDÁCTICA 3. CREACIÓN DE INTERFACES GRÁFICAS
- Introducción
- Monitor y tarjeta gráfica
- Entornos gráficos IDE's
- El sistema de coordenadas
- Clases de Java para la programación gráfica y su evolución
- Laboratorio: Manejo de los cuadros de diálogo
UNIDAD DIDÁCTICA 4. CREACIÓN DE INTERFACES GRÁFICAS CON EL API SWING
- Introducción
- Modelo nuevo de delegación. (Source, Listener, Adapter)
- Ejemplos con eventos
- Laboratorio 1: Movimiento entre frames
- Laboratorio 2: Cargador de imágenes
UNIDAD DIDÁCTICA 3. APLICACIONES BASADAS EN LA INTERFAZ GRÁFICA
- Introducción
- Creación de un menú
- Creación de un Toolbar
- JPopupMenu
UNIDAD DIDÁCTICA 4. HILOS
- Introducción
- Ciclo de vida de un thread
- Métodos de la clase Thread
- Sincronización
UNIDAD DIDÁCTICA 5. PROGRAMACIÓN DE RED
- Introducción
- Clase InetAddress
- Realizar Laboratorio: Uso de la clase InetAddress
- Socket
- Clase URL
- CLASE URLConnetion
- CLASES DatagramPacket y DatagramSocket
- RMI
MODULO 3. DESARROLLANDO APLICACIONES PARA LA PLATAFORMA JAVA
UNIDAD DIDÁCTICA 1. UBICANDO EL MODELO JAVA EE EN CONTEXTO
- Introducción
- Diferentes versiones y plataformas Java existentes
- Descripción de aplicaciones empresariales JEE
- Introducción a las APIs y servicios Java EE
- Introducción a los Servidores de Aplicaciones
UNIDAD DIDÁCTICA 2. MODELO DE COMPONENTES DE JAVA EE Y PASOS DE DESARROLLO
- Introducción
- Patrones de diseño
- Modelo Vista Controlador
- Comunicación Síncrona y Asíncrona
- Capas de arquitectura JEE
- Empaquetado de aplicaciones JEE
UNIDAD DIDÁCTICA 3. MODELO DE COMPONENTES WEB
- Introducción
- Componentes web en una aplicación Java EE
- Envío de información request y response HTTP
- Diferenciación entre información con servlets y JSP
- JSP (Java Server Pages)
UNIDAD DIDÁCTICA 4. DESARROLLANDO SERVLETS
- Introducción
- CGI 85
- Ciclo de vida de un servlet
- Estructura de un servlet
- Configuración de los Servlets mediante anotaciones y descriptores
- Uso de las APIs request y response en servlets
- Métodos de información del servidor con servlets
UNIDAD DIDÁCTICA 5. DESARROLLANDO CON LA TECNOLOGÍA DE PÁGINAS JSP
- Introducción
- Características de Java Server Pages
- Elementos dentro de Java Server Pages
- Variables implícitas en las páginas JSP
- Action Tags
- Laboratorio 1: Datos de Empleados
- Laboratorio 2: Custom TagsDepartamentos
- Laboratorio 3: Cargar Select dinámicamente con JavaBeans
UNIDAD DIDÁCTICA 6. MODELO DE COMPONENTES EJB
- Introducción
- Componentes EJB
- Tipos de beans
- Anotaciones de un bean
- Role de EJB dentro de las aplicaciones JEE
- Estructura de EJB
UNIDAD DIDÁCTICA 7. IMPLEMENTACIÓN DE LAS SESIONES EJB 3.0
- Introducción
- Tipos de Beans Session
- Ciclo de vida de los beans de Session
- Clientes del Bean
- Laboratorio: Buscador Empleado
UNIDAD DIDÁCTICA 8. LA PERSISTENCIA API DE JAVA
- Introducción
- Beans de Entidad
- Anotaciones de entidades POJO's
- Búsquedas de datos en Entidades
- Laboratorio: Buscador de departamentos
UNIDAD DIDÁCTICA 9. IMPLEMENTANDO UNA POLÍTICA TRANSACCIONAL
- Introducción
- Conceptos clave de transacciones
- Especificaciones transacción JEE
- Transacciones JTA
UNIDAD DIDÁCTICA 10. DESARROLLANDO APLICACIONES JAVA USANDO MENSAJERÍA
- Introducción
- Servicios de mensajería
- Java Message Service API
- Modelo de programación de JMS
- Message Driven Bean
- Laboratorio: Crear Servicio Mensajería
UNIDAD DIDÁCTICA 11. DESARROLLO DEL ENVÍO DE MENSAJES
- Introducción
- Interceptores
- Implementación de los mensajes en Beans MDB
- Contenedor de JMS
- Laboratorio: Crear Servicio Mensajeria
UNIDAD DIDÁCTICA 12. MODELO DE LOS SERVICIOS WEB
- Introducción
- Estructura de los servicios Web
- Modelo de Servicios Web
- Servicios JAX-RS
UNIDAD DIDÁCTICA 13. MODELO IMPLEMENTACIÓN DE SERVICIOS JAVA EE WEB SERVICES CON JAX-WS
- Introducción
- Servicios JAX-WS
- Laboratorio: Consumir Servicio Web Externo
UNIDAD DIDÁCTICA 14. IMPLEMENTACIÓN DE UNA POLÍTICA DE SEGURIDAD
- Introducción
- Implementación de la seguridad servidor y EJB
- Mapeo de Roles a grupos
- Seguridad de aplicaciones web en servlets y jsp
PARTE 2. APLICACIONES DISTRIBUIDAS EN JAVA CON TECNOLOGÍA RMI
UNIDAD DIDÁCTICA 1. EL PARADIGMA DE LA COMPUTACIÓN DISTRIBUIDA.
- Introducción
- Que es la computación distribuida
- Anatomía de un entorno de computación distribuida
- Beneficios de la computación distribuida
- Costes y soluciones en la computación distribuida
- Modelos de computación distribuida
- Sistemas distribuidos y centralizados.
- Capa hardware
- Capa sistema operativo de red
- Capa software intermedio (middleware)
- Capa aplicación
- Escalabilidad
- Apertura
- Heterogeneidad
- Fiabilidad
- Viabilidad
- Interoperabilidad
- Eficiencia y seguridad
- Visión global
- Transparencia en la computación distribuida
- Modelo Cliente/Servidor
- Arquitectura de n-capas
- Entornos Grid
- Sistemas Peer-to-Peer
UNIDAD DIDÁCTICA 2. DESARROLLO DE APLICACIONES DISTRIBUIDAS.
- Introducción
- Desarrollo de aplicaciones distribuidas
- Tres modelos básicos de la programación distribuida
- Otros modelos de la programación distribuida
- Proceso de construcción de una aplicación distribuida
- ¿Por qué utilizar la programación distribuida?
- Las 8 falacias de la programación distribuida
- Partes de una aplicación distribuida
- Requerimientos básicos sobre una aplicación distribuida
- Modelo Cliente/Servidor
- Remote Procedure Call
- Como funciona el RPC
- Aplicaciones distribuidas basadas en RPC
- Modelo basado en objetos distribuidos
- Multi-threading
- Modelo de comparación de datos
- Modelo basado en paso de mensajes
- Descomposición en paquetes/componentes y ciclo en espiral
- Modelo-Vista-Controlador con patrón Observador
- Factores que miden el éxito del proceso de desarrollo de aplicaciones distribuidas
UNIDAD DIDÁCTICA 3. JAVA PARA APLICACIONES DISTRIBUIDAS.
- Paradigma de orientación a objetos.
- Interoperabilidad
- Soporte al trabajo en red (networking)
- Soporte al modelo de objetos distribuidos
- Seguridad
- Tratamiento de excepciones y robustez
- Modularización y ocultación de la información
- Clasificación y abstracción
- Herencia y polimorfismo
- Documentación y mantenimiento
- Interoperabilidad a nivel de plataforma
- Interoperabilidad a nivel de aplicación
- Streams
- Sockets
- CORBA
- Remote Method Incocation-RM
- Seguridad en applets y aplicaciones
- Seguridad en comunicación en red
UNIDAD DIDÁCTICA 4. INTRODUCCIÓN A REMOTE METHOD INVOCATION 1.
- Qué es RMI
- Objetivos de RMI
- Características básicas de RMI
- Arquitectura básica RMI
- Sockets
- Serialización
- Paso de parámetros y valores de retorno
- Activación de objetos remotos
- Recolector de basura distribuido
- Localización
- Excepciones
- Seguridad
- El servidor
- El cliente
- Stubs y skeletons
- RMI Registry
UNIDAD DIDÁCTICA 5. CASO DE ESTUDIO RMI BÁSICO.
- Un ejemplo de RMI básico: una calculadora remota
- Compilar y ejecutar la aplicación
- Automatización de tareas
- Despliegue y ejecución en un entorno real
- Ejemplos de otras aplicaciones
- Desarrollar el objeto remoto
- Creación del fichero de polizas
- Desarrollar el cliente
- Compilar la interfaz remota, servidor y cliente
- Generar Stubs y skeletons con rmic
- Arrancar el registro (RMIRegistry)
- Ejecutar el servidor
- Ejecutar el cliente
UNIDAD DIDÁCTICA 6. PROGRAMMATION RMI AVANZADA.
- Conceptos avanzados de la tecnología RMI
- Ejemplo completo: Sistema de voto electrónico
- Listado de ficheros de la aplicación
- Ejemplos de otras aplicaciones
- Manejo de excepciones remotas
- Acceso RMI a base datos con JDBC
- El problema de voto electrónico
- Configuración y ejecución
- Pasos de la implementación
- Juego de pruebas
UNIDAD DIDÁCTICA 7. APLICACIONES DISTRIBUIDAS CON JAVA: INTERFACES GRAFICAS DE USUARIO CON SWING.
- Introducción
- Capa de presentación
- Soporte Java a las interfaces gráficas
- El paquete Swing
- Swing básico: componentes gráficos habituales
- Swing avanzado: otros componentes gráficos
UNIDAD DIDÁCTICA 8. PROGRAMACIÓN JAVA CON JDBC Y EL PAQUETE JAVA.SQL.
- Introducción
- Capa de datos
- Soporte Java al acceso a base de datos
- Pasos a seguir en el desarrollo de un programa Java con JDBC
- Realizar una sesión de trabajo con la base de datos
- Sentencias SQL para efectuar operaciones elementales
UNIDAD DIDÁCTICA 9. PONIENDO LAS PIEZAS JUNTAS? LA APLICACIÓN DISTRIBUIDA EVOTOSEGURO.
- Presentación del problema de la votación electrónica
- Especificación y análisis de la aplicación eVotoSeguro
- Diagramas de casos de uso
- Arquitectura / diseño de la aplicación eVotoSeguro
- Persistencia de datos
- Implementación de la aplicación eVotoSeguro
- Ejecución de la aplicación eVotoSeguro
- Uso de la aplicación eVotoSeguro
- EDITORIAL ACADÉMICA Y TÉCNICA: Índice de libro Aplicaciones distribuidas en Java con tecnología RMI. Autores: Santi Caballé y Fatos Xhafa. Publicado por Delta Publicaciones
- Descripción del sistema
- Programa Electorado
- Programa Contraseña
- Programa Votantes
- Resumen Esquemático
- Recursos necesarios
- Otros requerimientos
- Glosario
- Requisitos
- Descripción textual de los casos de uso
- Diagrama de entidades
- Diagrama de paquetes
- Subsistema Gestión Básica Central Electoral
- Subsistema Cálculo Votos
- Subsistema Actividades Centro
- Diagrama de estados
- Descripción
- Diseño conceptual-Diagrama ER
- Declaración de las interfaces remotas
- Implementación de las interfaces remotas
- Implementación de los servidores
- Implementación de los clientes
- La base de datos
- Programa Electorado de la comisión central
- Programa Contraseña en las mesas electorales
- Programa Votantes en las cabinas de votación