PROGRAMA DE ESTUDIO Desarrollo de aplicaciones orientadas a servicios Programa Educativo: Licenciatura en Informática Administrativa Área de Formación : Integral Profesional Horas teóricas: 2 Horas prácticas: 2 Total de Horas: 4 Total de créditos: 6 Clave: F1155 Tipo : Asignatura Carácter de la Optativa asignatura Programa elaborado por: Pablo Pancardo García Francisco D. Acosta Escalante Fecha de elaboración: 25/05/2010 Fecha de última actualización: 17/06/2010 Seriación explícita Asignatura antecedente no Asignatura Subsecuente Seriación implícita Conocimientos previos: Si Funcionamiento de los sistemas operativos, topologías y protocolos de redes de computadoras. Se requiere que el alumno tenga conocimientos de la programación orientada a objetos y el modelado de sistemas (ingeniería de software). F1156 Desarrollo de Aplicaciones Orientadas a Servicios 1/8
Presentación Esta asignatura se ubica dentro del Área de Formación Integral. Esta asignatura explicará la evolución de las aplicaciones informáticas hacia las aplicaciones distribuidas orientadas a servicios. El contenido del curso comprende el estudio de la arquitectura y diseño de las aplicaciones distribuidas para que el estudiante inicie una fase de análisis y diseño de problemáticas en donde puede aplicarse la computación distribuida orientada a servicios. Posterior a la fase de análisis y diseño se estudia una unidad relacionada con tecnologías para el desarrollo de aplicaciones con orientación a servicios ejecutadas en Web. La parte final del curso se enfoca a estudiar las tendencias tecnológicas en computación distribuida orientada a servicios. La enseñanza de la asignatura en esta área de la licenciatura, favorecerá el desarrollo de las habilidades para el análisis, diseño y desarrollo de aplicaciones con orientación a servicios. Se recomienda que para llevar este curso, se haya acreditado las asignaturas de Programación orientada a objetos, Ingeniería de Software y Redes de computadoras; ya que es fundamental para el buen desarrollo y entendimiento de los temas del curso. Objetivo General Desarrollar e implementar aplicaciones distribuidas bajo una arquitectura orientada a servicios. Competencias (que se desarrollaran en esta asignatura Los conocimientos comprenden la caracterización de las tecnologías más relevantes para el desarrollo de aplicaciones distribuidas. Conocimientos de los elementos del manejo en la capa de datos, capa de procesos del negocio e interfaz para el usuario. El alumno aprende a desarrollar aplicaciones distribuidas y cómo efectuar su proceso de implementación. Las habilidades principales comprenden el diseño, desarrollo e implementación de la tecnología pertinente para el desarrollo de servicios Web en ambientes distribuidos; el desarrollo de las habilidades antes mencionadas busca desarrollar en los estudiantes actitudes de apertura ante el surgimiento de nuevas tecnologías y paradigmas. F1156 Desarrollo de Aplicaciones Orientadas a Servicios 2/8
Los valores que se incentivan son la responsabilidad y el sentido crítico. La responsabilidad es fomentada al solicitar al alumno cumplir en tiempo y forma cada uno de los productos resultantes de las etapas del proceso de construcción de las aplicaciones. El sentido crítico se estimula al solicitar al estudiante realice pruebas de las tecnologías estudiadas y efectúe investigaciones críticas de las tendencias a futuro en esta área. Competencias (conocimientos, habilidades, actitudes y valores) del perfil de egreso que apoya esta asignatura Conocimiento y manejo de tecnologías emergentes para ofrecer soluciones integrales e innovadoras a la problemática del entorno y con base en las demandas de la globalización. Salón de clases, sala de cómputo, Internet. Escenario de aprendizaje Perfil sugerido del docente El perfil ideal del docente de Sistemas Distribuidos es un profesional egresado de Licenciatura en Informática, Sistemas Computacionales o áreas afines con especialidad en sistemas distribuidos o redes de computadoras. Dado que se trata de una asignatura donde se va a desarrollar código software es necesario que el docente tenga conocimiento profundo de lenguajes de programación multiplataforma para Web. Es recomendable que el docente guste de investigar nuevas tendencias en sistemas Web. Son actitudes necesarias en el docente de esta asignatura: Que promueva el aprendizaje participativo y el pensamiento crítico. Que aplique las herramientas pertinentes en el desarrollo de sus actividades académicas y profesionales. Un perfil alternativo es un profesional con experiencia en el desarrollo de sistema en red. F1156 Desarrollo de Aplicaciones Orientadas a Servicios 3/8
Contenido Temático Unidad No. I Introducción a las aplicaciones distribuidas Objetivo particular Analizar la evolución de las aplicaciones informáticas hacia las aplicaciones distribuidas, identificando las características y escenarios de uso de estas últimas. Hrs. Estimadas 10 Temas Resultados del aprendizaje Sugerencias didácticas Estrategias y criterios de evaluación 1.1 Aplicaciones monolíticas Ensayo de la evolución de Exposición oral por parte del Estrategia: Portafolio de las aplicaciones informáticas profesor. evidencias 1.2 Aplicaciones Cliente/Servidor 1.3 Aplicaciones de n capas 1.4 Aplicaciones distribuidas Resumen de las características de las aplicaciones distribuidas Reporte de investigación de las áreas y escenarios de uso de las aplicaciones distribuidas Investigaciones y exposiciones de los alumnos de ejemplos de aplicaciones distribuidas Criterio de evaluación: Mapa que represente toda la información del tema y ensayo que integre los puntos de vista de varios autores y haga énfasis en las aportaciones del alumno. El reporte de investigación debe considerar al menos cinco fuentes distintas. F1156 Desarrollo de Aplicaciones Orientadas a Servicios 4/8
Unidad No. II Arquitectura y diseño de aplicaciones distribuidas. Objetivo particular Diseñar cada una de las capas de una aplicación distribuida. Hrs. Estimadas 14 Temas Resultados del aprendizaje Sugerencias didácticas Estrategias y criterios de evaluación Modelo de los elementos y Exposición oral por parte del Estrategia: Portafolio de gestión de la base de datos profesor. evidencias. de las aplicaciones 2.1 La capa de manejo de datos 2.2 La capa de procesamiento de datos (negocios) 2.3 La capa de presentación (interfaz de usuario) Modelo de los procesos del negocio y el procesamiento de datos que implica Modelo de las interfaces de las aplicaciones necesarias para el usuario Ejercicios de modelado de procesos del negocio por parte del profesor y los alumnos. Diseño de cada una de las capas por parte de los alumnos. Criterio de evaluación: Los modelos diseñados deben ser acordes a la problemática y necesidades del negocio. F1156 Desarrollo de Aplicaciones Orientadas a Servicios 5/8
Unidad No. III Desarrollo de aplicaciones distribuidas orientadas a servicios Objetivo particular Desarrollar aplicaciones distribuidas orientadas a servicios empleando las tecnologías relacionadas. Hrs. estimadas 30 Temas Resultados del aprendizaje Sugerencias didácticas Estrategias y criterios de evaluación 3.1 Java RMI (Remote Method Invocation) 3.2 Corba 3.3 Desarrollo basado en componentes 3.4 El modelo de servicios (Service Oriented Architecture) 3.5 Aplicaciones en Internet. Ejercicio resuelto en donde un objeto local pueda invocar y obtener resultados de los métodos pertenecientes a un objeto remoto (RMI). Reporte en donde se haga uso de un ORB (Object Request Broker). Resumen de la tecnología basada en componentes. Reporte de la caracterización de un servicio Web y una arquitectura orientada a servicios Exposición audiovisual por parte del profesor Desarrollo de ejemplos en donde se empleen las tecnologías estudiadas Demostración de una aplicación en donde se implemente una invocación a métodos remotos, un ORB y un servicio Web. Prácticas en el laboratorio de cómputo Estrategia: Portafolio de evidencias. Criterio de evaluación: Los reportes deben estar documentados y los ejercicios deben ejecutarse sin errores. El resumen debe contener información de al menos cinco fuentes distintas. El ensayo debe contener los puntos de vista de varios autores y mostrar con claridad la aportación del alumno. F1156 Desarrollo de Aplicaciones Orientadas a Servicios 6/8
Ensayo de algunas tecnologías de Internet que hacen posible el desarrollo de servicios Web Unidad No. Objetivo particular IV Tendencias en computación distribuida orientada a servicios Caracterizar las principales tecnologías que representan las tendencias en el desarrollo de aplicaciones distribuidas orientadas a servicios. Hrs. estimadas 10 Temas Resultados del aprendizaje Sugerencias didácticas Estrategias y criterios de evaluación Ensayo de las tendencias en Exposición audiovisual por Estrategia: Portafolio de el desarrollo de aplicaciones parte del profesor evidencias. distribuidas. 4.1 Nuevas plataformas (clusters, grid, cloud computing) 4.2 Nuevos entornos de desarrollo (peer-to-peer, redes sociales, REST, MASHUPS) Resumen de los nuevos entornos de desarrollo para las aplicaciones distribuidas orientadas a servicios Investigación de los alumnos acerca de las tendencias Criterio de evaluación: Tanto el ensayo como el resumen deben mostrar la funcionalidad, ventajas y desventajas de cada una de las tendencias estudiadas. F1156 Desarrollo de Aplicaciones Orientadas a Servicios 7/8
Bibliografía básica Birman, K. (2005). Reliable distributed systems: technologies, Web services, and applications. New York: Springer. Coulouris, G. (2005). Distributed systems: concepts and design (4º ed.). New York: Addison-Wesley. Hostetler, G. (2009). Web service and SOA technologies: protect your project and career by understanding the common mistakes (2º ed.). USA: Practicing Safe Techs. Tanenbaum, A. (2008). Sistemas distribuidos: Principios y paradigmas (2º ed.). Me xico: Pearson Educacio n. Yee, R. (2008). Pro Web 2.0 mashups: remixing data and Web services. New York: Apress. Bibliografía complementaria Aleksy, M. (2005). Implementing distributed systems with Java and CORBA (1º ed.). New York: Springer. Liu, M. L. (2004). Computación Distribuida. Fundamentos y Aplicaciones (1 ed.). Madrid, España: Addisson-Wesley. Papazoglou, M. (2008). Web services: principles and technology. Harlow England: New York: Pearson/Prentice Hall. Stepisnik, J. (2007). Distributed object-oriented architectures: Sockets, Java RMI and CORBA. USA: Hamburg: Diplomica. F1156 Desarrollo de Aplicaciones Orientadas a Servicios 8/8