You are on page 1of 15

UNIVERSIDAD DE GUADALAJARA

CENTRO UNIVERSITARIO DE CIENCIAS


ECONÓMICO ADMINISTRATIVAS
MAESTRÍA EN TECNOLOGÍAS DE LA INFORMACIÓN

Certificación Internacional: “Oracle Certified Expert, Java


EE 6 Web Component Developer” y “Oracle Certified
Expert, Java EE 6 Java Persistence API Developer”

Protocolo de proyecto para obtener el grado de Maestro en


Tecnologías de la Información

Jonatan Alejandro Rico Irvine

Zapopan, Jalisco, México a 20 de Mayo del 2013


ÍNDICE
1. RESUMEN.......................................................................................3

2. INTRODUCCIÓN..............................................................................3

3. JUSTIFICACIÓN...............................................................................5

4. MARCO TEÓRICO.............................................................................5

4.1 CONCEPTOS BÁSICOS.................................................................5

4.1.1 ARQUITECTURA MULTICAPA DISTRIBUIDA................................5

4.1.2 PROTOCOLO HTTP.................................................................7

4.1.3 HTML...................................................................................7

4.1.4 BASE DE DATOS RELACIONAL.................................................8

4.1.5 PARADIGMA ORIENTADO A OBJETOS.......................................8

4.1.6 MAPEO OBJETO-RELACIONAL..................................................9

4.2 CONTENIDO TEMÁTICO................................................................9

4.2.1 ORACLE CERTIFIED EXPERT, JAVA EE 6 WEB COMPONENT


DEVELOPER..................................................................................9

4.2.2 ORACLE CERTIFIED EXPERT, JAVA EE 6 JAVA PERSISTENCE API


DEVELOPER................................................................................11

5. PLAN DE TRABAJO.........................................................................13

6. BIBLIOGRAFÍA..............................................................................14
1. RESUMEN
En este documento se analizan dos certificaciones sobre tecnologías
que forman parte de la plataforma Java Enterprise Edition (JEE) como
propuesta de titulación basada en la modalidad de Certificación Internacional
para el programa de la Maestría en Tecnologías de la Información.

Se describe el Programa de Certificaciones Oracle y se ubican dentro


de éste las certificaciones “Oracle Certified Expert, Java EE 6 Web
Component Developer” y “Oracle Certified Expert, Java EE 6 Java
Persistence API Developer”, objeto de este documento.

Posteriormente se introducen de forma breve los conceptos más


importantes que son utilizados por las tecnologías cubiertas en las
certificaciones mencionadas, se describen los detalles de ambas
certificaciones y se lista el contenido temático de las mismas.

Por último, se presenta el plan de actividades y un calendario estimado


de trabajo.

2. INTRODUCCIÓN
El propósito de este documento es presentar una propuesta de
titulación basada en la modalidad de Certificación Internacional para el
programa de la Maestría en Tecnologías de la Información.

En esta propuesta se analizan dos certificaciones sobre tecnologías que


forman parte de la plataforma Java Enterprise Edition (JEE), utilizada para el
desarrollo de aplicaciones multicapa distribuidas [1]:

 Oracle Certified Expert, Java EE 6 Web Component Developer: su


objetivo es acreditar los conocimientos y habilidades requeridas para
desarrollar aplicaciones que hacen un uso óptimo de las tecnologías
JSP y Servlet responsables de atender la comunicación entre equipos a
través del protocolo HTTP y de la generación de contenido, típicamente
HTML, en la capa Web de una aplicación [2].

 Oracle Certified Expert, Java EE 6 Java Persistence API Developer: su


objetivo es acreditar los conocimientos y habilidades requeridas para
desarrollar aplicaciones que hacen un uso óptimo de la tecnología Java
Persistence API (JPA) encargada de la persistencia de la información
en una Base de datos Relacional a partir de un modelo Orientado a
Objetos [3].
Ambas certificaciones pertenecen al programa Oracle Certified Expert
Program que a su vez forma parte del programa Oracle Certification Program
que consiste en 4 categorías [4]:

 Oracle Certified Associate: es típicamente el primer paso para obtener


la certificación Oracle Certified Professional. La certificación OCA
asegura de que el individuo tiene las habilidades fundamentales y
posee una base sólida en los productos de Oracle [4].

 Oracle Certified Professional: acredita las habilidades profesionales y


pericia técnica requeridas para manejar, desarrollar o implementar
bases de datos o aplicaciones en entornos empresariales [4].

 Oracle Certified Master: acredita el nivel más alto de habilidades,


conocimiento y destreza comprobada. Estos profesionales están
calificados para responder las preguntas más difíciles y resolver los
problemas más complejos [4].

 Oracle Certified Expert Program: acredita la competencia en


tecnologías, arquitecturas o dominios específicos no cubiertos por las
certificaciones Certified Associate y Certified Professional [4].

La Figura 2.1 muestra las certificaciones (y sus prerrequisitos)


disponibles para la plataforma Java:

Figura 2.1 Certificaciones de la plataforma Java. (Wikimedia, 2013)


3. JUSTIFICACIÓN
En la actualidad, el acceso a Internet se ha extendido prácticamente a
todos los sectores sociales, industriales y gubernamentales alrededor del
mundo. A nivel nacional se han realizado propuestas para lograr una
cobertura universal en un lapso de 3 años con proyectos como la ampliación
de la infraestructura de fibra óptica de CFE y los trabajos vinculados con el
despeje y licitación de la banda de 700MHz [5]. El número de usuarios en el
territorio nacional se estimó de 40.9 millones en Abril del 2012 [6], según la
última Encuesta Nacional sobre Disponibilidad y Uso de Tecnologías de la
Información en los Hogares (ENDUTIH) que realiza el INEGI. Esto ha
permitido la creación y uso de servicios en línea que proveen nuevas formas
de comunicación, entretenimiento, educación, interacción social, entre
muchos otros, que demandan un alto grado de rendimiento, disponibilidad,
seguridad y tolerancia a fallos. A su vez, el desarrollo de estos servicios ha
provocado un aumento en la demanda de profesionales certificados
altamente calificados en Ciencias de la Tecnología y en particular de las
Tecnologías de la Información [7] [8], por este motivo es importante
conocer al detalle las tecnologías que habilitan la implementación de dichos
servicios.

Las certificaciones “Oracle Certified Expert, Java EE 6 Web Component


Developer” y “Oracle Certified Expert, Java EE 6 Java Persistence API
Developer” cubren dos aspectos esenciales para el desarrollo de servicios en
línea sobre la plataforma JEE, el procesamiento de la comunicación mediante
el protocolo HTTP y la persistencia de la información.

4. MARCO TEÓRICO
En esta sección se resumen brevemente los conceptos básicos
utilizados por las tecnologías cubiertas en las certificaciones “Oracle Certified
Expert, Java EE 6 Web Component Developer” y “Oracle Certified Expert,
Java EE 6 Java Persistence API Developer”. Posteriormente se incluye el
contenido temático de dichas certificaciones.

4.1 CONCEPTOS BÁSICOS


4.1.1 ARQUITECTURA MULTICAPA DISTRIBUIDA
En la arquitectura multicapa distribuida, la lógica de las aplicaciones es
dividida en componentes de acuerdo a su función y los componentes que
conforman la aplicación pueden ser distribuidos en varias máquinas,
dependiendo de la capa a la que pertenece el componente [1] (Figura 4.1).
Una aplicación Web puede dividirse en cuatro capas [1] (Figura 4.1):

 Capa Cliente (Client Tier, en inglés) está compuesta del navegador


utilizado por el usuario para interactuar con las páginas Web dinámicas
mediante el protocolo HTTP.

 Capa Web (Web Tier, en inglés) atiende las peticiones HTTP realizadas
por la Capa Cliente generando páginas Web dinámicas.

 Capa de Negocios (Business Tier, en inglés) toma decisiones lógicas,


realiza cálculos y procesa la información en base a las peticiones del
usuario. También se comunica con la Capa de Datos para la
persistencia y recuperación de la información.

 Capa de Datos (Enterprise Information System Tier, en inglés) se


encarga de la persistencia de la información en una Base de Datos.

Figura 4.1 Aplicaciones multicapa en la plataforma JEE. (Oracle, 2013)


4.1.2 PROTOCOLO HTTP
El protocolo de transferencia de hipertexto o HTTP (por su siglas en
inglés) es un protocolo a nivel de aplicación para sistemas de información
hipermedia distribuidos y colaborativos. HTTP se ha utilizado en la World
Wide Web (Web) desde 1990 [9].

HTTP es un protocol de Petición/Respuesta (Request/Response, en


inglés), un cliente envía una petición al servidor especificando los
parámetros que definen el contenido de la petición y el servidor envía una
respuesta que incluye el estado de la petición y el contenido de la solicitud
[9] (Figura 4.2).

Figura 4.2 Petición/Respuesta HTTP. (ShvetsGroup, 2011)

4.1.3 HTML
El lenguaje de marcado de hipertexto o HTML (por sus siglas en inglés)
es el lenguaje de publicación de la Web. Es utilizado para definir la
estructura y presentación del contenido en las páginas Web [10]. Esto se
logra marcando las distintas partes del contenido por medio de etiquetas
[10] (Figura 4.3).

Figura 4.3 Documento HTML. (W3C, 2013)


4.1.4 BASE DE DATOS RELACIONAL
Una base de datos relacional es aquella que utiliza el modelo de datos
relacional. El modelo fue introducido por Tedd Codd de IBM Research en
1970 y representa la base de datos como una colección de relaciones. En
términos sencillos cada relación se asemeja a una tabla en la que cada fila
representa un conjunto de valores relacionados entre sí y las columnas
definen las características de dichos valores [11].

En términos específicos del modelo relacional una fila se demonina


Tupla (Tuple, en inglés), una columna es un Atributo (Attribute, en inglés) y
una tabla se denomina Relación (Relation, en inglés) [11] (Figura 4.4).

Figura 4.4 Conceptos Base de Datos Relacional. (Wikipedia, 2008)

4.1.5 PARADIGMA ORIENTADO A OBJETOS


El paradigma Orientado a Objetos es un paradiga de programación que
representa los elementos de un programa mediante un concepto llamado
Objeto (Object, en inglés). Los Objetos se componen de Atributos (Fields ó
Attributes, en inglés) que representan su Estado (State, en inglés) y
Métodos (Methods, en inglés) que definen su Comportamiento (behavior, en
inglés) [12] (Figura 4.5).

La base del paradigma Orientado a Objetos, es un proceso llamado


Abstracción (Abstraction) mediante el cual se crea un modelo que identifica
los Objetos, sus Atributos y Métodos que representan el problema a resolver
[13] (Figura 4.6).
Figura 4.5 Concepto de Objeto. (Oracle,
Figura 4.6 Modelo de una bicicleta.
2013)
(Oracle, 2013)

4.1.6 MAPEO OBJETO-RELACIONAL


El Mapeo Objeto-Relacional (Object-Relational Mapping, en inglés) es
una capa de persistencia que conecta Objetos en un sistema Orientado a
Objetos con información almacenada en una Base de Datos Relacional [14].
El uso del Mapeo Objeto-Relacional permite aplicar el diseño, análisis y
técnicas de programación Orientada a Objetos mientras se mantienen
ocultos los detalles específicos de la Base de Datos Relacional [14] (Figura
4.7).

Figura 4.7 Mapeo Objeto-Relacional. (Cloudsopedia)

4.2 CONTENIDO TEMÁTICO


4.2.1 ORACLE CERTIFIED EXPERT, JAVA EE 6 WEB COMPONENT
DEVELOPER
La certificación consta de un examen, el cual, está compuesto de 57
preguntas de opción múltiple, se otorgan 140 minutos para completarlo y el
puntaje de aprobación es del 64% [15].
A continuación se presenta el contenido temático del examen, en
inglés [15]:

 Introduction to Java Servlets


o Describe web applications, CGI, and the role of Java
o Describe benefits of Java servlet technology
o Create a simple Java Servlet
o Define three-tier architecture
o Define Model-View-Controller (MVC) architecture
 Introduction to Java Server Pages
o Describe why Servlets are not the whole solution
o Describe essentials of JSPs
o Understand the fundamentals and reasons for MVC architecture
 Implementing an MVC Design
o Code a controller using a servlet
o Code a view using a JSP
o Forward control from a servlet to a JSP
o Understand fundamentals of EL
o Implement a simple MVC system
 The servlet's environment
o Understand more details of the HTTP protocol
o Understand fundamentals of HTML forms
o Understand fundamentals of the HttpServlet and related APIs
o Write code that manages client sessions and cookies
 Container facilities for servlets and JSPs
o Understand the purpose and structure of deployment descriptors
o Control context root and servlet mapping
o Create and use context and init parameters
o Use annotations to configure servlets
 More view facilities
o Understand the four data scopes
o Understand and use EL dot and array access operators with Java
Beans, arrays, and collections
o Understand and use EL implicit objects
o Create and use arithmetic expressions in EL
o Identify the need for iteration and selection in the view, and use
JSTL tags to address those needs
 Developing JSP pages
o Understand the origins, benefits, and weaknesses of JSPs
o Describe JSP technology, the conversion of JSPs to servlets, and
the lifecycle of JSPs
o Understand JSP scripting elements, declarations and directives
o Use JSP implicit variables
o Understand and use jsp: tags
 Developing JSP pages using custom tags
o Relate the JSTL to common job roles in web application
development and understand the use of tags in JSP development
o Recognize correct syntax for tags
o Configure a JSP to use tags from the JSTL
o Write JSP code using several standard tags
o List capabilities of JSTL tags/span>
 More Controller facilities
o Understand the servlet lifecycle
o Describe and use more advanced elements of the servlet APIs
o Create filters and use them in web applications
 More options for the Model
o Understand the roles of JDBC and JPA
o Understand the many elements that make up the model
o Understand fundamentals of connecting to a database using
JDBC or JPA
 Asynchronous web applications
o Understand the interactions that are essential to asynchronous
web pages
o Understand the role of AJAX-style client side programming
o Implement asynchronous servlets using the facilities of Java EE 6
 Web application security
o Understand the role of the container in security
o Describe and implement four authentication models
o Force the use of encryption between a web application and the
client browser
o Understand the role of JAAS in pluggable/extensible
authentication for web applications

4.2.2 ORACLE CERTIFIED EXPERT, JAVA EE 6 JAVA PERSISTENCE API


DEVELOPER
La certificación consta de un examen, el cual, está compuesto de 64
preguntas de opción múltiple, se otorgan 135 minutos para completarlo y el
puntaje de aprobación es del 61% [16].

A continuación se presenta el contenido temático del examen, en


inglés [16]:

 Overview of the Java Persistence API


o Describe the basics of Object Relational Mapping (ORM)
o Define the key concepts of the Java Persistence API (entity,
entity manager, and persistence unit)
 Introducing the Auction Application
o Describe the auction application
o Define the domain objects of the auction application
o Describe the implementation model for the auction system
 Java Persistence API Entities
o Describe the difference between objects and entities
o Describe the difference between persistent fields and properties
o Identify and use common Java Persistence API annotations, such
as @Entity, @Id, @Table, and @Column
 Understanding the Entity Manager
o Describe the relationship between an entity manager, a
persistence context, and a persistence unit
o Describe the difference between a container-managed entity
manager and an application-managed entity manager
o Describe the entity life cycle
 Modeling Entity Relationships
o Examine association relationships in the data and object models
o Use relationship properties to define associations
o Implement one-to-one unidirectional associations
o Implement one-to-one bidirectional associations
o Implement many-to-one/one-to-many bidirectional associations
o Implement many-to-many bidirectional associations
o Implement many-to-many unidirectional associations
o Examine fetch and cascade mode settings
 Entity Inheritance and Object-Relational Mapping
o Examine entity inheritance
o Examining object/relational inheritance hierarchy mapping
strategies
o Inherit from an entity class
o Inherit using a mapped superclass
o Inherit from a non-entity class
o Examine inheritance mapping strategies
o Use an embeddable class
 Persisting Enums and Collections
o Persist entities that contain enums with @Enumerated
o Persist entities that contain lists with @ElementCollection
o Persist entities that contain maps with @ElementCollection
 Introduction to Querying
o Find an Entity by its primary key
o Understand basic Java Persistence API query language queries
o Understand native SQL queries
o Understand basic Criteria API queries
 Using the Java Persistence API Query Language
o Examine the Java Persistence API query language
o Create and use the SELECT statement
o Create and use the UPDATE statement
o Create and use the DELETE statement
 Using the Java Persistence API Criteria API
o Contrast queries that use the Criteria API with queries that use
the Java Persistence query language
o Describe the metamodel object approach to querying
o Create Criteria API queries
 Using the Java Persistence API in a Container
o Use the Java Persistence API from a servlet
o Use the Java Persistence API from a stateless session bean
 Implementing Transactions and Locking
o Describe the transaction demarcation management
o Implement container-managed transactions (CMT)
o Interact programmatically with an ongoing CMT transaction
o Implement bean-managed transactions (BMT)
o Apply transactions to the Java Persistence API
 Advanced Java Persistence API Concepts
o Specify composite primary keys
o Override mappings with the @AttributeOverride and
@AssociationOverride annotations
o Understand entity listeners and callback methods

5. PLAN DE TRABAJO
La Figura 5.1 muestra el plan de actividades y el calendario estimado
de trabajo:

Oracle Certified Expert, Java EE 6 Web Component Developer


Preparación: libros,
especificaciones, etc.
Preparación:
exámenes de prueba

Examen Certificación

Oracle Certified Expert, Java EE 6 Java Persistence API Developer


Preparación: libros,
especificaciones, etc.
Preparación:
exámenes de prueba

Examen Certificación

Nov. / 1

Nov. / 2

Nov. / 3

Nov. / 4
Ago. / 1

Ago. / 2

Ago. / 3

Ago. / 4

Sep. / 1

Sep. / 2

Sep. / 3

Sep. / 4

Oct. / 1

Oct. / 2

Oct. / 3

Oct. / 4

Dic. / 1
Jul. / 1

Jul. / 2

Jul. / 3

Jul. / 4
Mes / Semana
(2013)

Figura 5.1 Calendario estimado de trabajo.

6. BIBLIOGRAFÍA
[1] E. Jendrock, E. Cervera-Navarro, I. Evans, et al. (2013). The Java EE 6 Tutorial.
Oracle, Sitio Web: http://docs.oracle.com/javaee/6/tutorial/doc/. California, USA.

[2] Oracle. (2013). Oracle Certified Expert, Java EE 6 Web Component Developer.
Oracle, Sitio Web: http://education.oracle.com/pls/web_prod-plq-
dad/db_pages.getpage?page_id=458&get_params=p_track_id:JEE6WCD.

[3] Oracle. (2013). Oracle Certified Expert, Java EE 6 Java Persistence API Developer.
Oracle, Sitio Web: http://education.oracle.com/pls/web_prod-plq-
dad/db_pages.getpage?page_id=458&get_params=p_track_id:JEE6JP.

[4] Oracle. (2013). Oracle Certification Program Categories. Oracle, Sitio Web:
http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=146.

[5] COFETEL. (2012). Comunicado de Prensa No. 39/2012. COFETEL, Sitio Web:
http://www.cft.gob.mx:8080/portal/wp-content/uploads/2012/09/Comunicado-39-
Cofetel-aprueba-resoluciones-para-impulsar-la-conectividad-en-zonas-rurales-sep-
26-2012.pdf. Distrito Federal, México.

[6] COFETEL. (2012). Boletín de Prensa No. 437/12. COFETEL, Sitio Web:
http://www.cft.gob.mx:8080/portal/wp-content/uploads/2012/11/Comunicado-
conjunto-COFETEL-INEGI-Nov-29-2012.pdf. Aguascalientes, México.

[7] MexicoFIRST. (2011) Necesidades de Capital Humano con certificación intermedia y


avanzada. MexicoFirst, Sitio Web: http://www.mexico-
first.org/images/pdf/white_paper_atkearney.pdf.

[8] E. Zuñiga. (2013). Cisco y la brecha tecnológica en IT. Alto Nivel, Sitio Web:
http://www.altonivel.com.mx/34781-la-otra-brecha-tecnologica-habra-empleo-pero-
no-personal.html.

[9] R. Fielding, J. Gettys, et al. (1999). RFC 2616: Hypertext Transfer Protocol –
HTTP/1.1. IETF, Sitio Web: http://tools.ietf.org/html/rfc2616.

[10] W3C. (2013). HTML/Training/What is HTML. W3C, Sitio Web:


http://www.w3.org/community/webed/wiki/HTML/Training/What_is_HTML.
[11] R. Elmasri, S. Navathe. (2002). Fundamentos de Sistemas de Bases de Datos, 3ra.
Edición. Addison Wesley. Madrid.

[12] M. O’Docherty. (2005). Object-Oriented Analysis and Design, Understanding System


Development with UML 2.0. John Wiley & Sons Ltd. England.

[13] J. Barker. (2000). Beginning Java Objects: From Concepts to Code. Apress. USA.

[14] T. Mahler. (2013). Object Relational Mapping. Cunningham & Cunningham, Inc., Sitio
Web: http://c2.com/cgi/wiki?ObjectRelationalMapping.

[15] Oracle. (2013). Java EE 6 Web Component Developer Certified Expert Exam. Oracle,
Sitio Web: http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?
page_id=5001&get_params=p_exam_id:1Z0-899.

[16] Oracle. (2013). Java EE 6 Java Persistence API Developer Certified Expert Exam.
Oracle, Sitio Web: http://education.oracle.com/pls/web_prod-plq-
dad/db_pages.getpage?page_id=5001&get_params=p_exam_id:1Z0-898.

You might also like