1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Servicios Web Carrera: Ingeniería en Sistemas Computacionales Clave de la asignatura: DPM0705 Horas teoría-horas práctica-créditos 3-2-8 2.- HISTORIA DEL PROGRAMA Observaciones Lugar y fecha de elaboración o revisión Instituto Tecnológico Villahermosa. Agosto-Septiembre 2006 Participantes de Comisión de la academias de Sistemas y Computación (cambios y justificación) 3.- UBICACIÓN DE LA ASIGNATURA a). Relación con otras asignaturas del plan de estudio Anteriores Asignaturas -Programación de WEB Posteriores Temas Asignaturas - Todos Temas - b). Aportación de la asignatura al perfil del egresado Proporciona el conocimiento para la creación servicios web, base de la siguiente generación de aplicaciones para Internet. 4.- OBJETIVO(S) GENERAL(ES) DEL CURSO El alumno adquirirá los conocimientos teóricos-prácticos para el diseño y construcción de servicios Web. 5.- TEMARIO Unidad 1 2 Temas Introducción a Servicios Web Introducción a XML los SubTemas Evolución de la computación distribuida Definición de servicio web Características de los servicios Web Tecnologías y estándares de la industria para los servicios Web 1.5. Arquitectura orientada al servicio 1.6. Aplicaciones de los servicios Web 2.1 Orígenes del XML 2.2 Documento Centrado en XML. 2.3 XML instances 1.1. 1.2. 1.3. 1.4. 2.4 XML Namespaces 2.5 Documentos XML válidos. DTD. 2.5.1 Declaración de las DTD 2.5.2 Modelo de contenidos 2.5.3 Declaraciones de lista de atributos 2.5.4 Declaraciones de entidades 2.5.5 Ejemplos de DTD 2.6 XML Schemas 2.7 Procesamiento de documentos XML 3 Desarrollo de Servicios Web con Java 3.1 SOAP: Protocolo Simple de Acceso a Objeto 3.1.1 Evolución de protocolos XML 3.1.2 Entorno de desarrollo SOAP 3.1.3 Intermediarios SOAP 3.1.4 Manejo de errores en SOAP 3.1.5 Codificación de datos en SOAP 3.1.6 Codificación de datos en SOAP 3.1.7 Arquitectura de sistemas distribuidos con Servicios Web 3.2 Creación de Servicios Web 3.3 Arquitectura AXIS 3.3.1 Instalación de AXIS 3.3.2 Configuración de AXIS 3.4 Seguridad 3.5 Ejemplo de Servicio Web 3.6 Programación del lado del cliente 3.7 Desarrollo de un servicio Web 3.8 Servicios centrado en el documento 3.9 Codificación/Decodificación de datos 3.10 Patrones de mensajes 3.11 Construcción y despliegue 3.12 Uso de SOAP para los e-Bussines 3.12.1 Seguridad en servicios web 3.12.2 Integración de aplicaciones empresariales 3.12.3 Calidad de servicio. 3.13 Descripción de servicios Web 3.13.1 Regla de descripción de servicio en una arquitectura orientada al servicio 3.13.2 Servicios bien definidos. 3.14 WSDL: Lenguaje de definición de servicios web. 3.15 WSDL y JAVA 3.16 Descubrimiento de Servicios Web 3.16.1 El rol de descubrir el servicio 3.16.2 UDDI 3.16.3 Registros privados de UDDI 3.16.4 UDDI version 2.0 3.16.5 Uso de WSDL con UDDI 3.17 Apendice de ejercicios propuestos 4 Desarrollo de Servicios Web con .NET 4 Introducción a los servicios Web XML. 4.1 Desarrollo de servicio web utilizando Visual Studio .NET. 4.2 Desarrollo de un caso práctico. 4.3 Servicios Web y Clientes 4.4 Construcción de un cliente SOAP 4.5 Construcción de un cliente http 4.6 Tipos de datos y Servicios Web 4.7 Manejo de excepciones 4.8 Depuración de servicios web con Visual Studio .NET 4.9 Publicación y descubrimiento de servicios Web 4.10 Servicios Web XML avanzados 4.11 Administración del estado 4.12 El dataset y los servicios Web 4.13 Seguridad de los servicios Web 4.14 Diseño de encabezados SOAP 4.15 Consumiendo servicios Web asíncronamente 4.16 Creación de Proxies manualmente 4.17 Apéndice de ejercicios propuestos 6.- APRENDIZAJES REQUERIDOS Desarrollo de aplicaciones Web en lenguajes Script como PHP, ASP, JavaScrip u otros. Programación de aplicaciones web del lado del cliente y del lado del servidor. Programación de aplicaciones cliente – servidor en Internet Programación de aplicaciones tres capas en Internet 7.- SUGERENCIAS DIDÁCTICAS Exposición de los temas con sesiones de preguntas y respuestas. Lecturas recomendadas de libros y direcciones de internet. Desarrollar el trabajo en equipo Elaborar con los estudiantes una guía de ejercicios para actividades extraclase. Uso del laboratorio de cómputo para la elaboración de ejercicios resueltos y propuestos Exposición de temas con apoyo de material didáctico ( cañón, proyector de acetatos, rotafolios, pizarrón, entre otros). 8.- SUGERENCIAS DE EVALUACIÓN Participación y desempeño en el aula y laboratorio Seguimiento al desempeño en el desarrollo del programa (dominio de los conceptos, capacidad de la aplicación de los conocimientos en problemas reales, transferencia del conocimiento). Desarrollo de un proyecto final que integre todas las unidades de aprendizaje. Actividades de autoevaluación. Exámenes teórico-práctico. Cumplimiento de los objetivos y desempeño en las prácticas. 9.- UNIDADES DE APRENDIZAJE Unidad 1: Introducción a los Servicios Web Objetivo Actividades de Aprendizaje Educacional Comprender evolución de la o la sobre evolución de la computación distribuida. Desarrollo de investigación computación o distribuida, así como servicio Web la relevancia de los o servicios Web, en el aplicación Web desarrollo o de aplicaciones empresariales Internet. por el alumno Exposición en el aula por el profesor sobre Investigaciones sobre características de una Exposición en el aula por el profesor sobre la diferencia de una aplicación Web y un servicio Web para o Desarrollo por el profesor, en el laboratorio de computo de una práctica de diseño y construcción de un servicio Web Fuentes de Información 1,4 UNIDAD 2: Introducción a XML Objetivo Actividades de Aprendizaje Educacional Que el alumno adquiera la habilidad para construir documentos XML bien formados. o Fuentes de Información Exposición por el profesor en el aula sobre 2,5,[2] XML o Tareas y prácticas en el aula por parte del alumno, sobre construcción de documentos XML o Exposiciones por parte del alumno sobre ejemplo de un documento XML. o Desarrollo de aplicación práctica por el profesor en el Lab. De computo sobre el diseño y construcción de documentos XML o Desarrollo de práctica por el alumno en el Laboratorio de un documento XML. UNIDAD 3: Desarrollo de servicios web con Java Objetivo Educacional Adquirir la capacidad del desarrollo de servicios web con el lenguaje de programación JAVA Actividades de Aprendizaje Fuentes de Información o Exposición por el profesor en el aula 1, 3 sobre servicios web y JAVA o Exposición en el aula por el profesor sobre la diferencia de una aplicación Web JAVA y un servicio Web o Desarrollo por el profesor, en el laboratorio de computo de un servicio Web simple con JAVA o Prácticas en el Lab. por parte del alumno, sobre construcción de un WS con JAVA o Desarrollo de prácticas . o UNIDAD 4: Desarrollo de servicios web con .NET Objetivo Educacional Actividades de Aprendizaje Adquirir la capacidad del o desarrollo de servicios servicios web y .NET web con la Plataforma o .NET de Microsoft diferencia de una aplicación Web .NET y un servicio Exposición en el aula por el profesor sobre la Desarrollo por el profesor, en el laboratorio de computo de un servicio Web simple con Visual Basic .NET o Prácticas en el Lab. por parte del alumno, sobre construcción de un WS con Visual Basic .NET o Información Exposición por el profesor en el aula sobre 2,5,[3] Web .NET o Fuentes de Desarrollo de prácticas por el alumno en el Lab. De computo. 10. FUENTES DE INFORMACIÓN 1. Building Web Services with Java: Making Sense of XML, SOAP, WSDL and UDDI. Steve Graham, Simeon Simeonov, Toufic Boubez, Doug Davis, Glen Daniels, Yuichi Nakamura, Ryo Neyama. Sams Publishing. 2. Microsoft .NET XML Web Services Step by Step: Adam Freeman y Allen Jones. Microsoft Press. 3. Developing Java Web Services: Architecting and Developing Secure Web Services Using Java. Ramesh Nagappan, Robert Skoczylas, Rima Patel Sriganesh. John Wiley & Sons. 2003. 4. Tabor Robert. Servicios Web XML de Microsoft.NET. Pearson. 5. . Castro. XML Guia de Aprendizaje. Pearson. Referencias en Internet. [1] Http://distance-ed.bcc.ctc.edu/media238/238p2/IntroDBconn.html [2] http://www.webtaller.com/manual-xml/indice_manual_xml.php [3] http://www.desarrolloweb.com/articulos/1535.php 11. PRÁCTICAS 1. Construcción de un servicio web para validar el acceso a una aplicación 2. Construcción de un servicio Web para reportar el clima de un estado 3. Construcción de un servicio Web para reporte de las cotizaciones en la BMV 4. Construcción de un servicio web para validar tarjetas de credito 5. Construcción de un servicio Web de una certificación digital