Android Developer Summit 2015 Brief Recap by Sidiq Permana (Google Developer Expert Android)
Oracle Certified Expert, Java EE 6 Web Service Developer
-
Upload
oscar-vasquez-flores -
Category
Software
-
view
496 -
download
5
Transcript of Oracle Certified Expert, Java EE 6 Web Service Developer
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
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
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
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
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:
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
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
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
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;
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
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Clase generada:
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
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Ejemplos de REST
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
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
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
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
PathParam
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
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
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
Implementando un SOAPHandler
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
Oracle Certified Expert, Java EE 6 Web Service Developer (1Z0-897)-Guía de estudio
Oscar Vásquez Flores ([email protected] )
SAAJ
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:
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:
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
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
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
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