Oracle Certified Expert, Java EE 6 Web Service Developer

Post on 13-Jun-2015

495 views 5 download

Tags:

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