Post on 13-Jun-2015
transcript
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
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
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
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
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:
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
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
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
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 {…} @XmlAttribute protected long id;
@XmlType public class Payment
@XmlEnum(String.class) public static enum Status {
pending, processing, accepted, rejected };
@XmlElement(required = true) protected String duplicateCode;
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
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Clase generada:
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
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
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
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
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
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
PathParam
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
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
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
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
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
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com )
SAAJ
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:
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:
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
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
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
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