Diplomado Avanzado de Java (J2EE, Struts & Java Persistence with Hibernate) Objetivo: Nuestro Diplomado Avanzado de Java tiene como finalidad enseñar a los alumnos que ya conocen Java diferentes estructuras (frameworks) o tecnologías relacionadas con Java que permiten enriquecer una aplicación. Estas tecnologías centrales son J2EE, Struts y Hibernate. El diplomado inicia con 2 sesiones gratuitas de la IDE Netbeans, la interfase que utilizamos para facilitar la escritura de código y centrarnos en las tecnologías incluidas. Dirigido a: Desarrolladores con experiencia en Java (J2SE, Servlets, JDBC y JSP) que desean profundizar en otras tecnologías de Java y mejorar sus desarrollos actuales. Requisitos: Conocimientos de HTML, Java, JDBC, Servlets y JSP o haber tomado nuestro Diplomado de Programación Java with Oracle. Estructura del diplomado: Módulo Horas Uso del IDE Net Beans* 8 o 12 Java EE 5 40 Struts 40 Hibernate 24 Total: 112 * Módulo gratis a los alumnos inscritos al diplomado.
JAVA EE 5.0 (40 HORAS) Descripción: Este módulo enseña a los programadores de Java cómo desarrollar aplicaciones empresariales utilizando las características de desarrollo incluidas en Java EE 5. Los alumnos aprenderán a crear aplicaciones Web dinámicas con JSP, Java Servlets, JSTL y JSF. Usarán JAX- WS para desarrollar Servicios Web basados en SOAP. Los alumnos aprenderán acerca de los EJBs de sesión y message-driven EJBs, así como la nueva API de Persistencia. También se incluye una introducción a JavaMail, Java Message Service, Java Transaction API y Java Management Extensions. Prerrequisitos: Programación en Java o haber tomado nuestro Diplomado Programming Java 2.0 with Oracle. I.1.- INTRODUCTION TO JAVA EE 5 I.4.- JAVASERVER FACES Introduction to Java EE Java SE Building Blocks Servlets, JSPs, and Web Applications Web Services Enterprise JavaBeans Additional Java EE APIs Java EE Clients POJO, Dependency Injection, and Annotations The Java EE Platform Frameworks JSF Benefits JSF Tag Libraries Components Managed Beans Event handling Navigation Validators and Converters Lifecycle JSF Application Structure I.2.- INTRODUCTION TO JSP AND JSTL MVC and Web Applications JSP As the View JSP Scripting Elements Expression Language EL Operators Request and Response include and forwards JSTL Conditionals and Iteration in JSTL JSTL Variables And Output I.5.- JMS I.6.- JAVAMAIL Messaging Concepts What is JMS? Point-to-Point Publish/Subscribe Message Object Session Creating the Client I.3.- INTRODUCTION TO JAVA SERVLETS AND JAVABEANS Java Servlets as the Controller HttpServlet HTTPServletRequest HTTPServletResponse HttpSession RequestDispatcher JavaBeans as the Model Bean Scopes web.xml Mail Systems and JavaMail The javax.mail Packages Establishing a Session The MimeMessage Class Sending a Message Retrieving Email Messages Multi-part Messages I.7.- EJB3 OVERVIEW The Enterprise JavaBean EJB Benefits Defining the Bean Interface Defining the Bean Class Creating a Client Servlet Assembly and Deployment of EJBs www.dcinternet.com.mx 2
I.8.- SESSION BEANS AND MESSAGE-DRIVEN BEANS I.12.- JAVA API FOR XML-BASED WEB SERVICES (JAX-WS) A Session Bean Stateless Session Beans PostConstruct and PreDestroy Lifecycle of a Stateless Session Bean Stateful Session Beans Lifecycle of a Stateful Session Bean Lifecycle Callbacks Dependency Injection Message-Driven Beans MDB Lifecycle Sending a Message I.9.- INTRODUCTION TO THE PERSISTENCE API What is Java Persistence? Persistence Objects and Metadata Creating an Entity Class The Entity Manager Looking up Entities The Persistence Unit Deployment JAX-WS Creating a Web Service Endpoint The Service Implementation The Service Interface apt and wsgen Generated Files Packaging and Deploying the Application A JAX-WS Client wsimport I.13.- JAVA MANAGEMENT EXTENSION (JMX) What is a JMX? MBeans Creating a Standard MBean Object Names The MBean Server Local Client Remote Client JConsole Notifications I.10.- TRANSACTIONS Transaction Terminology The Java Transaction API The UserTransaction Interface Transactions in Java EE Bean-Managed Transactions Container-Managed Transactions Transaction Attributes Transaction Rollbacks I.14.- PERSISTING ENTITIES EntityManager and Persistence Context Entity Lifecycle Creating and Removing Entities Transactions Mapping Entities to Tables Entity Relationships Primary Keys Lazy Loading and Cascading I.11.- DATA BINDING WITH JAXB 2.0 W3C XML Schema XML Data Binding Basics JAXB Architecture Compiling Schema to Java JAXBContext Unmarshalling Marshalling Validation Custom Binding Declarations Java to Schema www.dcinternet.com.mx 3
STRUTS (40 HORAS) Descripción: En este módulo aprenderá como utilizar Java Struts como un framework para desarrollar aplicaciones que siguen el patrón de diseño Model/View/Controller. Los tópicos cubren los componentes de Struts que están disponibles vía el proyecto Jakarta de la Fundación Apache. Este módulo ilustra que componentes existen y cómo utilizarlos. II.1.-STRUTS OVERVIEW II.5.- THE VIEW What is Struts? Model 1 Design Pattern Model 2 / MVC Design Pattern Implementing MVC with a Framework The Struts Framework Basic Struts Components Struts Documentation A Struts-Based Application: Logon II.2.- STRUTS IN A SIMPLE WEB APPLICATION Forwarding to a View Overview of Struts Tags Struts HTML Tags Form-Related Tags Dealing with URLs Using Error Tags Displaying Messages Struts Bean Tags Struts Logic Tags Some Struts View Best Practices Stars Information Application List Stars Flow Display Star Flow ActionServlet: the Controller struts-config.xml ActionForm: Form State The execute Method of StarsListAction The execute Method of StarsDisplayAction Directing Processing Flow with an ActionForward Building a View with Tags Review: Flow through a Typical Struts-Based Application II.6.- INTERNATIONALIZATION I18N and L10N Resource Bundles Java's MessageFormat Class Internationalization in Struts I18N with Struts Tags I18N with JSTL tags I18N within Java Code II.7.- ADVANCED STRUTS FEATURES II.3.- THE CONTROLLER ActionServlet as a Controller RequestProcessor Developer Responsibilities Mapping Forwards Lifecycle of an ActionForm ActionForm Considerations The reset Method The validate Method II.4.- ACTION AND THE BUSINESS MODEL The execute Method of Action execute() Method Considerations Handling an Error Threading Considerations Some Best Practices for Action More Best Practices for Action Accessing Bean Properties DynaActionForm: A Configurable Form Indexed and Mapped Properties in a Form Using indexed="true" Preventing Duplicate Form Submits Using ForwardAction and IncludeAction DispatchAction LookupDispatchAction Implementing a LookupDispatchAction II.8.- HANDLING ERRORS Error Handling Options with Struts Documenting Errors with ActionMessage JSP Error Pages Declarative Java Exception Handling Logging in Struts www.dcinternet.com.mx 4
II.10.- PAGE COMPOSITION WITH TILES II.9.- VALIDATION Tiles Overview Validator Overview Building a Tiles Template Validator Requirements Basic Tiles Example Configuring Validator Rules Tiles Definitions Struts Validators Additional Options with Definitions Configuring the Struts Validators Placing Definitions in a Configuration Configuring Form Validation - global and formset File Configuring Form Validation - form and field Using the <put> Tag Configuring Form Validation - arg Enabling the Tiles Plug-In Configuring Form Validation - var Using Tiles Validation with Regular Expressions ValidatorForm verses ValidatorActionForm Implementing a Validator Method Other Validator Implications www.dcinternet.com.mx 5
JAVA PERSISTENCE WITH HIBERNATE (24 HORAS) Descripción: Este módulo explora la Arquitectura de Componente de (EJB) para construir aplicaciones de múltiples capas. Los programadores Java podrán escribir y poner en producción componentes distribuidos reutilizables, distribuidos y sacar provechote de los servicios ofrecidos por la infraestructura de EJB. III.1.- INTRODUCTION TO HIBERNATE III.4.- OBJECT/RELATIONAL MAPPING Introducing Hibernate The Object/Relational Mapping Problem The Impedance Mismatch JDBC The Users-Roles Schema Tools and Environment Setup Creating the Database The Role Class The Hibernate Alternative XML Tools III.2.- CONFIGURING HIBERNATE Hibernate Distributions Required Libraries Configuration Files hibernate.properties hibernate.cfg.xml XML Configuration Model Programmatic Configuration III.3.- HIBERNATE PERSISTENCE The Hibernate Architecture Interface Model SessionFactory Methods Hibernate Sessions Object States State Transitions Session Methods Transactions Session-Per-Operation Session-Per-Request The Data Access Object Pattern Object-Oriented Design Relational Mapping Bidirectional Association O/R Mapping Techniques The Mapping Document The Mapping XML Model Primary Keys and Identity Generating Identifiers Other Mapping Elements Earthlings Schema Earthlings Relationships Earthlings UML Components Mapping Associations The Mapping XML Model for Associations Unidirectional Many-to-One Eager Fetching Bidirectional One-To-Many Bidirectional One-To-One Mapping Inheritance Inheritance and Databases Single-Table Inheritance Mapping Single-Table Inheritance Table-Per-Subclass Table-Per-Subclass Mapping Table-Per-Concrete-Class III.5.- CRITERIA QUERY API Criteria Queries The Criteria Interface The Criteria API The Restriction Class Utility Other Restrictions Windowing Results Sorting Query Results Projections and Aggregates The Projections Class Utility The ProjectionList Class Query By Example www.dcinternet.com.mx 6
III.6.- THE HIBERNATE QUERY LANGUAGE The Hibernate Query Language Fundamentals HQL Queries Polymorphism Named Parameters Entity Parameters Joining on Associations Aggregate Methods Updates and Deletes Named Queries Using Native SQL CASE STUDY Persistence Stateless Session Bean Web Tier Client: HTML Web Tier Client: Controller Servlet Web Tier Client: Data Transfer JavaBean Web Tier Client: JSP Web Tier Client: web.xml Message-Driven Bean JMS Client JAX-WS Endpoint Web Service Client Incluye: Una mochila de la empresa Un manual de JEE 5 Un manual de Struts Un manual de Hibernate Un lápiz Formas y condiciones de pago: Para la inscripción, aplicación de los descuentos y aseguramiento de que el diplomado se impartirá en las fechas pactadas se requiere el pago anticipado antes con depósito o transferencia bancaria a la siguiente cuenta: Depósito en Banamex cuenta 4923239 Suc. 575 a nombre de Desarrollo y Capacitación en Internet, S. A. de C. V. (CLABE en caso de transferencia electrónica vía Internet 002180057549232394) O cheque a nombre de Desarrollo y Capacitación en Internet, S.A. de C.V. www.dcinternet.com.mx 7