oracle certified expert, java ee 6 web service developer
TRANSCRIPT
![Page 1: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/1.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
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
![Page 2: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/2.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
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
![Page 3: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/3.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
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
![Page 4: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/4.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Ejemplo de SOAP request
Ejemplo de SOAP response
![Page 5: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/5.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Personalizando el WSDL
@WebService también tiene el atributo name, el cual se puede utilizar para
nombrar al wsdl:portType
WSDL generado:
![Page 6: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/6.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Namespace
Sobre carga de métodos
![Page 7: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/7.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Estructura de una WSDL
SOAP
![Page 8: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/8.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
![Page 9: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/9.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
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;
![Page 10: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/10.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Personalizando la generación de las clases:
Nombre del paquete
Nombre de la clase
Nombre del método
![Page 11: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/11.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Clase generada:
![Page 12: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/12.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
2. Crear un servicio Web RESTful dentro de un Web Container
Implementando REST en 5 pasos
Uso de métodos HTTP
![Page 13: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/13.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Ejemplos de REST
![Page 14: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/14.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
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
![Page 15: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/15.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
5. Configurar la seguridad JavaEE para un servicio Web SOAP
![Page 16: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/16.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
6. Crear un cliente de servicio Web SOAP
7. Crear un cliente de servicio Web RESTful
Invocación simple
![Page 17: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/17.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
![Page 18: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/18.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
PathParam
![Page 19: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/19.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
FormParam
8. Crear un servicio Web SOAP utilizando Java SE
![Page 20: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/20.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
9. Crear handlers para servicio Web SOAP
Tipos de handlers
Ejecución de handlers
Las interfaces para handlers
![Page 21: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/21.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
![Page 22: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/22.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Implementando un SOAPHandler
![Page 23: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/23.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Utilizando el handler
10. Crear servicios Web SOAP a bajo nivel
Tecnologías para parsear documentos XML
![Page 24: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/24.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
SAAJ
![Page 25: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/25.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
11. Utilizar MTOM y MIME dentro de un servicio Web SOAP
MTOM:
12. Utilizar WS-Addressing con un servicio Web SOAP
* Desactivando WS-Addressing:
![Page 26: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/26.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
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:
![Page 27: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/27.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
* 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
![Page 28: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/28.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
WSDL 1.1 solo soporta one-way y request-response
* Patrón de diseño: cache de servicio Web
![Page 29: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/29.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
* Patrón de diseño: broker de servicio Web
Ejemplo de implementación
![Page 30: Oracle Certified Expert, Java EE 6 Web Service Developer](https://reader034.vdocument.in/reader034/viewer/2022052506/557b982fd8b42a631d8b46cd/html5/thumbnails/30.jpg)
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
* 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