Descripción: SOA es un paradigma de arquitectura para diseñar y desarrollar sistemas distribuidos. Las soluciones SOA han sido creadas para satisfacer los objetivos de negocio las cuales incluyen facilidad y flexibilidad de integración con sistemas legados, alineación directa a los procesos de negocio reduciendo costos de implementación, innovación de servicios a clientes y una adaptación ágil ante cambios incluyendo reacción temprana ante la competitividad. Permite la creación de sistemas de información altamente escalables que reflejan el negocio de la organización, a su vez brinda una forma bien definida de exposición e invocación de servicios, lo cual facilita la interacción entre diferentes sistemas propios o de terceros. Web Services se trata de una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Los Web Services permiten a distintas aplicaciones, de diferentes orígenes, comunicarse entre ellos sin necesidad de escribir programas costosos, esto porque la comunicación se hace con estándares comprensibles para todas ellas. Los Web Services no están ligados a ningún Sistema Operativo o Lenguaje de Programación. Debido a lo anterior las empresas actualmente buscan personal que conozca esta clase de tecnologías, buscando la reducción de sus costos de mantenimiento y adaptación, la comunicación de sus aplicaciones e incrementar sus alcance mediante es desarrollo de aplicaciones multiplataforma (tablets, smartphones, computadoras, etc.) que utilicen los mismos componentes de lógica de negocio. Objetivo: El concepto de Capacitación Efectiva quiere decir que al concluir el curso sabrás lo que realmente debes saber para trabajar en una empresa, lo que te enseñaremos en este curso es lo que los empleadores realmente buscan en un desarrollador que cree o consuma servicios. Hemos sustituido algunos aspectos de la enseñanza que rara vez son utilizados, en su lugar, hemos incluido temas que seguramente te sarán de mucha más utilidad a la hora de desarrollar o consumir servicios. 1
Audiencia: Desarrolladores que quieran desarrollar o consumir Web Services. Pre requisitos: Conocimiento o experiencia en programación Java JEE y XML. Duración: 24 horas Temario del Curso: 1 y Conceptos Básicos a. Service Oriented Architecture b. Qué son los Web Services? c. Motivación de los Web Services d. Organismos que los Adoptan e. Estilos de Web Services f. De Qué se Componen los Web Services? g. WSDL h. SOAP (Simple Object Access Protocol) i. UDDI j. Ventajas de los Web Services k. Desventajas de los Web Services 2. Estándares Asociados con Web Services a. Protocolos de Empaquetamiento b. Protocolos de Descripción c. Protocolos de Seguridad d. Protocolos de Transporte e. Lenguajes de Programación / Plataformas 3. WSDL a. Entendiendo los archivos WSDL b. Estructura del Archivo WSDL. Data Type. Message. Port Type. Binding 2
. Service and Port c. Ejemplo de WSDL 4. Web Service & Java a a Servicios Web con Java b. JAX-WS. Desarrollo de Web Services con JAX-WS. Comunicación entre Web Service JAX-WS y Cliente c. Practica Reconocimiento del Ambiente. 5. Procesamiento de XML a. Ventajas XML b. Usos XML c. Componentes de Documento XML d. Document Type Definitions (DTDs) e. XML Schemas f. XML bien formado y/o XML válido g. Por qué usar XML? h. XML Parsing i. Herramientas de XML j. JAXP (Java API for XML Processing). Pluggability in JAXP. JAXP APIs. Simple API for XML APIs (SAX). Ejemplo SAX. Document Object Model APIs (DOM). Ejemplo DOM. Extensible Stylesheet Language Transformations APIs (XSLT). Streaming API for XML APIs (StAX). Practica JAXP k. JAXB (Java Architecture for XML Binding). Arquitectura. Proceso de Vinculación de JAXB. Framework de Vinculación de JAXB. Marshalling / Unmarshalling. Practica JAXB l. JSON 3
. Introduccion a JSON. Hello Word con JSON. Tipos de datos en JSON. Lenguajes que soportan JSON. Accesando a objetos con JSON. Debugging JSON 6. Servicios SOAP a. Qué es SOAP? b. Mensajes SOAP c. Estructura d. Ejemplo e. RPC & EDI (SOAP). Mensajes RPC-style (Arquitectura Básica). Mensajes SOAP RPC-style (Request Message). Mensajes RPC-style (Response Message). Encoding Styles. Versionamiento de SOAP f. SOAP Encoding Types. Tipos Codificados SOAP. Tipos Codificados SOAP. Tipos Simples. Ejemplo Tipos Simples: Respuesta SOAP con Tipo de Dato double. Tipos Compuestos. Ejemplo Tipos Compuestos: Respuesta SOAP con Array de doubles. XML Schema Primitive Type to Java Native Type Mapping. Primitive Schema Type to Java Wrapper Class Mapping. Ejemplo de Mapeo de XML Schema - Java class g. SOAP sobre HTTP. SOAP HTTP Binding. SOAP HTTP Request. HTTP (Content-Type). HTTP (Content-Length). HTTP (SOAPAction). SOAP HTTP Response. Mensaje SOAP (HTTP Request/Response). Envío de HTTP Request desde un Cliente. Recepción de HTTP Request por el Servidor 4
. Proceso de Petición SOAP. HTTP Response. Ventajas/Desventajas. Practica SOAP-HTTP h. SOAP sobre SMTP. Notificaciones de Email. Ejemplo de Envío de Mensaje sobre Email i. SOAP sobre JMS. Esquema de Comunicación. Petición de Mensajería en una Vía. Uso de SOAP/JMS. Beneficios 7. Servicios REST a. Qué es REST? b. Características Principales c. Arquitectura General d. Los Cuatro Principios de REST. Uso Explícito de Métodos HTTP. REST No Mantiene Estado. URIs con Forma de Directorios. Respuesta REST (XML, JSON) e. MIME Types 8. Desarrollo de WS con JAX-RS a b. JAX-RS & Jersey c. Anotaciones JAX-RS d. Creación de un Web Service RESTFul Básico. Creación de la Clase del Servicio. Configuración del Servlet dispatcher de Jersey. Creación del Cliente del Web Service. Prueba del Web Service f. Implementación g. Practica JAX-RS 9. Desarrollo de WS con JAX-WS a b. Pasos para crear un Servicio Web y Cliente 5
c. Requerimientos de un Punto Final JAX-WS d. Ejemplo e. EJBs JAX-WS a los EJBs. Prueba de Web Service (EJB). Clients JAX-WS f. Practica JAX-WS 10. APIs a. DOM(Document Object Model). Qué es XML DOM?. Características. La Interface Node. Tipos de Nodos. Estructura de Árbol (Node-tree). XML Parser b. StAX(Streaming API for XML). StAX vs Otros APIs. Cursor API. Iterator API. Cursor vs Iterator APIs. Practica JAXP c. JAXR(Java API for XML Registries). Arquitectura. Configurando un Cliente JAXR d. SAAJ(SOAP with Attachments API for JAVA). Mensajes SAAJ. Conexiones SAAJ. Objetos SOAPConnection. Creación de un Mensaje. Agregando Adjuntos 6
11. MTOM(Message Transmission Optimization Mechanism). XOP. Modelo de Procesamiento de MTOM. Esquema General de Transmisión del Mensaje. Ventajas 12. Attachments. JAX-WS Attachment con MTOM. Practica MTOM 13. Manejo de Errores en Web Services. SOAP Fault. Estructura de SOAP Fault. SOAP Fault Codes. Header NotUnderstood 14. Seguridad en Web Services. Seguridad a Nivel de Transporte. Requerimientos de Seguridad de Web Services. WS Security (WSS).Seguridad a nivel de mensajes. Firma del XML. Mecanismos de Firma en el XML.. Vista rápida a WS-Security.. Usando mecanismos de seguridad 15. Mejores Prácticas. Construyendo Servicios Web Granulares. Diseña de arriba hacia abajo y de abajo hacia arriba. Un servicio Web como un componente JEE BST México es capacitación Efectiva 7