Programador Web Java

streaming

El Programador Web Java es un especialista en construir soluciones empresariales utilizando tecnologías Web Java. Es responsable de construir aplicaciones JEE en capas con acceso a bases de datos MySQL mediante JDBC & JPA e interfaces gráficas con las diferentes tecnologías disponibles, como ser: JavaServer Pages (JSP), Servlets, JavaBeans, JavaServer Faces (JSF), EJBs, JavaMail, Spring, etc.

Este curso es el complemento ideal al curso Programador Java (4 meses) brindado por la Escuela de Sistemas y Tecnologías BIOS, pues va más allá de los aspectos básicos y de fundamento (como ser el Lenguaje Java, OOP en Java, JDBC, etc.) para profundizar en la construcción de soluciones web empresariales. Para ello, este curso cubre las tecnologías Web Java más importantes en la actualidad, así como presenta algunos frameworks para desarrollo Web sobre Java.

En la actualidad los dos entornos dominantes de programación son, por un lado, .NET (llamado “punto net”) de Microsoft ® y Java de Oracle ®. Si bien estas dos plataformas presentan importantes diferencias, también comparten varias características como ser la orientación a objetos, la construcción de interfaces gráficas basadas en eventos, el manejo estructurado de errores (excepciones), el uso de un lenguaje intermedio (MSIL y Bytecodes), librerías base, etc. Por tanto, los asistentes al curso no sólo aprenderán las herramientas básicas (y no tan básicas) para construir aplicaciones de escritorio en una de las plataformas más utilizadas (Java), sino que también aprenderán conceptos que le servirán para otras plataformas (como ser .NET).

Objetivos

Introducir al alumno en el desarrollo de aplicaciones web mediante el uso de las tecnologías del stack JEE.

Comprender la importancia y el funcionamiento de los servidores de aplicaciones y contenedores en el contexto del desarrollo web con Java.

Familiarizarse con frameworks y herramientas de apoyo para acelerar el desarrollo de aplicaciones.

Dirigido a:

Todos aquellos que deseen aprender sobre programación orientada a objetos en lenguaje Java, así como las tecnologías y técnicas necesarias para la construcción de aplicaciones tanto de escritorio como web, diseñadas e implementadas en capas con Java (Swing/JSF, OOP en Java, JDBC) accediendo a bases de datos en MySQL.

Este curso también servirá especialmente a profesionales en informática que desean actualizar sus conocimientos en una de las tecnologías más utilizadas en la actualidad. El enfoque práctico, con fundamento teórico, los casos de estudio y los ejemplos (con solución en código) y el material (externo, así como de confección propia del Instituto) permiten rápidamente comenzar a desarrollar aplicaciones de escritorio en Java para posteriormente volcarse a aplicaciones web, manteniendo una línea de trabajo fácilmente unida para que resulte más intuitivo el cambio de paradigma.

Diploma

El diploma a otorgar luego de la aprobación del curso es el de PROGRAMADOR WEB JAVA.

Temario

Introducción a la Programación
Este primer tema pretende nivelar los conocimientos entre los alumnos para que todos accedan en similares condiciones al resto del curso. En esta primera etapa se brindarán conceptos básicos de algoritmos utilizando técnicas que faciliten la comprensión, como lo es el pseudocódigo.

Sintaxis del Lenguaje Java:
Sintaxis de las construcciones básicas del lenguaje. Por ejemplo: expresiones, condicionales, iteraciones, declaraciones, tipos de datos, entrada y salida estándar, manejo de excepciones, etc. Se utiliza el entorno de desarrollo integrado NetBeans® para la escritura del código Java.

Programación Orientada a Objetos en Java:
Conceptos básicos y avanzados de la programación orientada a objetos y su aplicación en Java, construyendo programas (en consola) que los utilicen. Por ejemplo: objeto, clase, atributos, métodos, operaciones, constructores, destructores, referencias, herencia, redefinición, sobrecarga, polimorfismo, tipos de polimorfismo, interfaces, asociaciones entre clases, etc. Introducción de la notación UML junto con la explicación de cada
nuevo concepto.

Desarrollo de Interfaces Gráficas en Java utilizando Swing:
Introducción a Swing y AWT. Jerarquía de componentes gráficos de Swing. Distribución de componentes mediante el uso de Layout Managers. Manejo de eventos en Swing. Formularios, contenedores intermedios (paneles) y controles visuales (botones, listas, listas desplegables, botones de selección y chequeo, barras de menús, formularios internos, etc.) Construcción de interfaces gráficas de usuario (aplicaciones de escritorio) utilizando Swing.

Caso de Estudio
Modelado con UML de una aplicación en 2 capas orientada a objetos y aplicación de los conocimientos adquiridos en los dos puntos anteriores (OOP y Swing) en la construcción de la Capa Lógica y de la Capa Presentación de dicha aplicación, manteniendo separadas las responsabilidades de cada capa (luego se extiende el Caso de Estudio a 3 capas).

Persistencia en Aplicaciones en Java utilizando JDBC y MySQL:
Conceptos generales de acceso a datos. Conceptos básicos de JDBC (JDBC v1.0) y conceptos avanzados de JDBC (JDBC v2.0). Breve introducción a MySQL Server. Construcción de aplicaciones utilizando JDBC accediendo a Bases de Datos en MySQL. Construcción de aplicaciones en 3 capas y desarrollo de la tercera capa (Capa de Persistencia) utilizando los objetos provistos por JDBC. Revisión del Caso de Estudio para agregar la capa de persistencia.

Correspondencia entre aplicaciones orientadas a objetos (paradigma de objetos) y acceso a bases de datos (paradigma relacional) mapeo objeto/relacional. Discusión de alternativas para el desarrollo de la persistencia.

Trabajo Obligatorio
Al principio del curso se estará estableciendo la definición de un trabajo obligatorio que será acompañado a largo de los módulos vistos para lograr un trabajo completo de escritorio finalizando este módulo.

Introducción al desarrollo de aplicaciones web
Se describe la problemática del desarrollo de aplicaciones web y como JEE brinda herramientas para la construcción de este tipo de aplicaciones. Se introduce el stack de tecnologías Java necesarios para el desarrollo de aplicaciones web empresariales de mediano y gran porte.

Servidores de Aplicaciones
Este módulo muestra qué son y para qué sirven los servidores de aplicaciones, así como presenta los más utilizados en el mercado. Se introduce también la noción de contenedor y los servicios que estos proveen en el contexto de JEE.

Arquitectura Web & MVC
Se presenta la arquitectura de una aplicación web en general y en particular el diseño de capas. Se presenta la idea de MVC (Model View Controller) sus ventajas y las tecnologías JEE que le dan soporte.

– Capas

– Presentación
Este módulo se enfoca en uno de los aspectos fundamentales del curso: el desarrollo de una interfaz gráfica web con JEE mediante JSF (Java Server Faces).

– Negocio
Tomando como objetivo la construcción de la capa de negocios (también llamada Capa Lógica) dentro de las tecnologías JEE, este módulo introduce los EJBs/Enterprise Java Beans). Se profundiza en la Noción de contenedor, se presenta la inyección de dependencias y se cubre en especial los SessionBeans.

– Persistencia
En este módulo se repasan los conceptos de JDBC (ya conocidos por los estudiantes) y se profundiza en la construcción de una capa de persistencia en el contexto de JEE.

– Integración
Luego de ver las tecnologías y diseños propios de cada una de las 3 capas (Presentación, lógica y persistencia) este módulo introduce al estudiante de en los mecanismos y tecnologías necesarias para integrar varios de los aspectos anteriores, como ser la integración de EJB con JSF.

– WebServices
Este módulo introduce los servicios web en Java así como los servicios REST.

– Frameworks
Para finalizar el curso, se presentan algunos de los frameworks más utilizados en la actualidad para apoyar (y acelerar) el desarrollo de aplicaciones web con Java, como ser Spring. Se mostrará también el uso de jQuery y Maven en el contexto de JEE.

Trabajo Final:
El trabajo obligatorio de la primera etapa podrá ser transformado en una aplicación web con las herramientas vistas en esta segunda mitad del curso. Queda a consideración del docente el planteo de un trabajo enteramente nuevo para esta segunda etapa. Se espera una temprana definición de requerimientos (planteo del trabajo a realizar por parte del docente) de forma de poder desarrollarlo en forma iterativa e incremental acompasando el dictado del curso.

Los contenidos previstos están sujetos a posibles cambios o ajustes que el área académica considere pertinentes para el normal desarrollo de los cursos o la actualización de los mismos. La conformación de los cursos, en los horarios y grupos ofrecidos, está sujeta a un nivel mínimo de inscripciones que habiliten su funcionamiento.