Este documento presenta una guía de estudio para el examen Oracle Certified Expert, Java EE 6 Web Service Developer. Cubre 14 temas clave relacionados con el desarrollo de servicios web SOAP y RESTful en Java EE, incluyendo crear servicios web, configurar seguridad, crear clientes, manejar mensajes, y aplicar mejores prácticas de diseño. El examen dura 90 minutos y contiene 60 preguntas. Se requiere un puntaje mínimo del 64% para aprobar.
Oracle Certified Expert, Java EE 6 Web Service Developer
1. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Guia de estudio para OCEJWCD6
“Oracle Certified Expert, Java EE 6 Web Service Developer”
Fecha Cambios
2013-07-23 Primera publicación
I. Informacion del examen.
Duración : 90 minutos
Nro. de preguntas : 60
% para aprobar : 64%
Costo : $150 USD
Detalles completos del examen en:
http://education.oracle.com/pls/web_prod-plq-
dad/db_pages.getpage?page_id=5001&get_params=p_exam_id:1Z0-897
2. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
II. Temas del examen
1. Crear un servicio Web SOAP dentro de un Web container
2. Crear un servicio Web RESTful dentro de un Web container
3. Crear un servicio Web SOAP implementado por un EJB
4. Crear un servicio Web RESTful implementado por un EJB
5. Configurar la seguridad JavaEE para un servicio Web SOAP
6. Crear un cliente de servicio Web SOAP
7. Crear un cliente de servicio Web RESTful
8. Crear un servicio Web SOAP utilizando Java SE
9. Crear handlers para servicio Web SOAP
10. Crear servicios Web SOAP a bajo nivel
11. Utilizar MTOM y MIME dentro de un servicio Web SOAP
12. Utilizar WS-Addressing con un servicio Web SOAP
13. Configurar la seguridad a nivel de mensajes para un servicio Web SOAP
14. Aplicar mejores prácticas para el diseño e implementación de servicios Web
3. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
III. Desarrollo de temas
1. Crear un servicio Web SOAP dentro de un Web container
* Estilos del WSDL:
- RPC
- Document (Mensaje)
* Representación de los datos en el WSDL:
- literal
- RPC encoded (Descontinuado)
* Uso común del SOAP Header
- Información sobre seguridad (WS-Security)
- Informacion sobre la operación
* Servicio Web simple
Requisitos de la clase
Requisitos de los métodos
4. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Ejemplo de SOAP request
Ejemplo de SOAP response
5. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Personalizando el WSDL
@WebService también tiene el atributo name, el cual se puede utilizar para
nombrar al wsdl:portType
WSDL generado:
6. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Namespace
Sobre carga de métodos
7. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Estructura de una WSDL
SOAP
8. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
9. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Variaciones del WSDL
* Anotaciones:
@XmlRootElement
public class Airport implements Serializable {…}
@XmlAttributeprotected long id;
@XmlType
public class Payment
@XmlEnum(String.class)
public static enum Status {
pending, processing, accepted, rejected
};
@XmlElement(required = true)
protected String duplicateCode;
10. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Personalizando la generación de las clases:
Nombre del paquete
Nombre de la clase
Nombre del método
11. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Clase generada:
12. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
2. Crear un servicio Web RESTful dentro de un Web Container
Implementando REST en 5 pasos
Uso de métodos HTTP
13. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Ejemplos de REST
14. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Soporte a múltiples representaciones
@Context
* Entidades de JAX-WS que pueden ser inyectadas:
- SecurityContext
- Request
- HttpHeaders
- UriInfo
* Entidades del Web container que pueden ser inyectadas:
- ServletConfig
- ServletContext
- HttpServletRequest
- HttpServletResponse
3. Crear un servicio Web SOAP implementado por un EJB
* Solo se puede usar un EJB de tipo Singleton o Stateless
4. Crear un servicio Web RESTful implementado por un EJB
15. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
5. Configurar la seguridad JavaEE para un servicio Web SOAP
16. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
6. Crear un cliente de servicio Web SOAP
7. Crear un cliente de servicio Web RESTful
Invocación simple
17. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
18. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
PathParam
19. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
FormParam
8. Crear un servicio Web SOAP utilizando Java SE
20. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
9. Crear handlers para servicio Web SOAP
Tipos de handlers
Ejecución de handlers
Las interfaces para handlers
21. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
22. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Implementando un SOAPHandler
23. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Utilizando el handler
10. Crear servicios Web SOAP a bajo nivel
Tecnologías para parsear documentos XML
24. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
SAAJ
25. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
11. Utilizar MTOM y MIME dentro de un servicio Web SOAP
MTOM:
12. Utilizar WS-Addressing con un servicio Web SOAP
* Desactivando WS-Addressing:
26. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
13. Configurar la seguridad a nivel de mensajes para un
servicio Web SOAP
Tipos de tokens soportados en WS-Security
- X509 token
- Kerberos token
- SAML token
- SOAP with Attachments (SWA)
* SAML:
27. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
* Tecnologías en WS-Security:
- XML Encryption
- XML Digital Signatures
- XML Canonicalization:
* STS (Security Token Service)
14. Aplicar mejores prácticas para el diseño e implementación
de servicios Web
* Casos usuales para utilizar un servicio Web asíncrono:
- Servicio para representar alguna tarea humana
- Servicio con problemas de disponibilidad
* Interacción con un servicio Web
28. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
WSDL 1.1 solo soporta one-way y request-response
* Patrón de diseño: cache de servicio Web
29. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
* Patrón de diseño: broker de servicio Web
Ejemplo de implementación
30. Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
* Patrón de diseño: logger de servicio Web
Problema: Es necesario realizar operaciones de log en la integración
Fuerza: Se mejora el mantenimiento de la aplicación por desacoplar el log de la
lógica de negocio
Solución:
- Usar el patrón de diseño Decorator
- Usar el patrón de diseño Chain of Responsability
Ejemplo de implementación
Oportunidades para logging
Ventajas:
- Desacopla la responsabilidad de logging a la aplicación
- La misma estrategia puede ser utilizada para introducir otras responsabilidades
comunes en la aplicación
Desventajas:
- Se deben realizar algunas configuraciones adicionales fuera de las fuentes usuales
de la aplicación