Está en la página 1de 11

1.

- DATOS DE LA ASIGNATURA Nombre de la asignatura: Desarrollo de aplicaciones para ambientes distribuidos Carrera: Licenciatura en Informtica Clave de la asignatura: IFM - 0410 Horas teora-horas prctica-crditos 3-2-8

2.- HISTORIA DEL PROGRAMA

Lugar y fecha de elaboracin o revisin Instituto Tecnolgico de Puebla del 8 al 12 septiembre 2003. Institutos Tecnolgicos de: Campeche, Orizaba, Tepic 13 septiembre al 28 de noviembre 2003. Instituto Tecnolgico de Tepic 15 al 19 de marzo 2004.

Participantes Representantes de la academia de sistemas y computacin de los Institutos Tecnolgicos.

Observaciones (cambios y justificacin) Reunin nacional de evaluacin curricular de la carrera de Licenciatura en Informtica.

Academia de sistemas y Anlisis y enriquecimiento de computacin. las propuestas de los programas diseados en la reunin nacional de evaluacin Comit de consolidacin de la carrera de Licenciatura en Informtica. Definicin de los programas de estudio de la carrera de Licenciatura en Informtica.

3.- UBICACIN DE LA ASIGNATURA a). Relacin con otras asignaturas del plan de estudio Anteriores Asignaturas Temas Clases y objetos. Programacin I. Herencia. Polimorfismo. Bases de datos distribuidas. Interconectividad de redes. Sistemas de informacin II. Sistemas operativos II. Posteriores Asignaturas Temas

b). Aportacin de la asignatura al perfil del egresado Proporciona conceptos, mtodos, herramientas, tcnicas y habilidades para el desarrollo de aplicaciones distribuidas, utilizando estndares y arquitecturas abiertas. Identifica problemas y oportunidades donde se aplique el tratamiento de informacin para proponer soluciones por medio de modelos y facilitar con ello la toma de decisiones. Desarrolla y administra sistemas de informacin para aumentar la productividad y competitividad de las organizaciones. Selecciona y utiliza de manera optima las herramientas computacionales actuales y emergentes. Dirige y participa en grupos de trabajo multi e interdisciplinarios que propongan soluciones integrales en su entorno. Observa y fomenta el cumplimiento de las disposiciones de carcter legal relacionadas con la funcin informtica. Realiza actividades de auditoria y consultora relacionadas con la funcin informtica.

Realiza estudios de factibilidad para la seleccin de productos de software y hardware. Formula y evala proyectos en su mbito de competencia. Administra tecnologas de redes para satisfacer las necesidades de informacin de las organizaciones. Aplica normas y estndares de calidad en el ejercicio de la funcin informtica.

4.- OBJETIVO(S) GENERAL(ES) DEL CURSO Desarrollar aplicaciones utilizando mtodos, herramientas y tcnicas para el desarrollo de aplicaciones distribuidas, observando estndares y arquitecturas abiertas.

5.- TEMARIO Unidad Temas 1 Panorama general de las aplicaciones distribuidas. 1.1 Subtemas Evolucin de las aplicaciones informticas. 1.1.1 Aplicaciones monolticas. 1.1.2 Aplicaciones cliente/servidor. 1.1.3 Aplicaciones de 2,3 y n capas. 1.1.4 Aplicaciones distribuidas. Evolucin de las tecnologas para el desarrollo de aplicaciones distribuidas. 1.2.1 De interfaz de usuario. 1.2.2 De aplicacin. 1.2.3 De base de datos. 1.2.4 De comunicacin de datos. 1.2.5 De conexin entre capas. Escenarios de utilizacin de las aplicaciones distribuidas. Problemas comunes en el desarrollo y uso de aplicaciones distribuidas.

1.2

1.3 1.4 2 Arquitectura de aplicaciones distribuidas. 2.1 2.2 2.3 2.4 2.5

Capa de interfaz de usuario. Capa de manejo de datos. Capa de procesamiento de datos. Integracin de sistemas heredados. Distribucin de elementos de una aplicacin. 2.6 Integracin de tecnologas heterogneas y homogneas. 2.7 Servicios de la arquitectura (email, web, base de datos, aplicaciones, transacciones, sistemas operativos, firewall. 3.1 Diseo e implementacin de manejo de datos. 3.2 Diseo de procesamiento de datos. 3.3 Diseo de interfaz de usuario.

Diseo de aplicaciones distribuidas.

5.- TEMARIO (Continuacin) 4 5 Implementacin de procesamiento de datos. Implementacin de interfaz de usuario. 4.1 Construccin de componentes. 4.2 Comunicacin con manejo de datos. 5.1 5.2 Lenguajes de marcado. Tecnologas para implementacin de interfaces de usuario. 5.3 Programacin. 5.3.1 Del lado del cliente. 5.3.2 Del lado del servidor. 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.- APRENDIZAJES REQUERIDOS Desarrollo de aplicaciones orientadas a objetos. Manejo de herramientas de desarrollo orientadas a eventos. Diseo y administracin de sistemas manejadores de bases de datos. Anlisis y diseo de sistemas de informacin. Administrar un sistema operativo de red. Metodologas para el desarrollo de productos de software. Redes de computadoras. Asignacin de las partes de la aplicacin. Distribucin de la aplicacin. Instalacin de los componentes. Configuracin de los componentes. Configuracin de la aplicacin. Evaluar desempeo. Optimizacin del desempeo.

Integracin de aplicaciones distribuidas.

7.- SUGERENCIAS DIDCTICAS Desarrollar ejemplos de lo simple a lo complejo, buscando que ste, asocie el tema con elementos significativos de su entorno. Hacer de las horas prcticas un taller donde el profesor coordine el desarrollo de ejemplos, teniendo el cuidado que durante la solucin se resalten los puntos de importancia que la teora define, ya sea como concepto o el uso de la sintaxis en el momento de su aplicacin. Elaborar un conjunto de problemas actuales asociados al entorno. Solicitar el desarrollo de un proyecto del inters de los estudiantes, aplicando los conocimientos adquiridos durante el curso.

Definir un esquema de documentacin de los trabajos ya sea de investigacin documental o desarrollo de aplicaciones, el cual sustente las estrategias metodolgicas del caso. Involucrar al estudiante en las innovaciones que la evolucin de las tecnologas para aplicaciones distribuidas generan da con da, propiciando que ste se documente en distintas fuentes de informacin impresas y electrnicas. Seleccionar, en acuerdo de academia, las tecnologas a utilizar de acuerdo a las necesidades del entorno, el contenido del programa y los recursos disponibles. Aplicar las tecnologas seleccionadas y sus caractersticas particulares al contenido del programa. Propiciar el trabajo en equipo. Identificar por equipos un problema que pueda ser utilizado como proyecto a lo largo del curso.

8.- SUGERENCIAS DE EVALUACIN Realizar una evaluacin diagnstica al inicio del curso para conocer el desempeo acadmico del estudiante y programar las actividades del curso. Trabajos de investigacin. Tareas relacionadas con la solucin de problemas que requieren ambientes distribuidos. Exposicin de soluciones a problemas reales que tiene significado para el estudiante y que son producto de su iniciativa. Establecer de comn acuerdo con los estudiantes, la ponderacin de las diferentes actividades del curso. En aquellas unidades que requieran la solucin de problemas se recomienda que la evaluacin se realice mediante el uso de la computadora. Seguimiento de los avances y documentacin del proyecto propuesto.

9.- UNIDADES DE APRENDIZAJE UNIDAD 1.- Panorama general de las aplicaciones distribuidas. Objetivo Educacional El estudiante reconocer la evolucin, caractersticas y la naturaleza de las aplicaciones distribuidas. Actividades de Aprendizaje Investigar en diversas fuentes de informacin la importancia de las aplicaciones distribuidas, sus caractersticas y su aplicacin, elaborar un informe para su discusin en el aula. Realizar una prctica donde se utilice una aplicacin distribuida. Desarrollar una aplicacin bajo la arquitectura cliente/servidor de 2 capas con el objetivo de reconocer los elementos de una aplicacin distribuida. Investigar en diversas fuentes de informacin los principales problemas en el desarrollo y utilizacin de las aplicaciones distribuidas. Identificar un problema que pueda ser utilizado como proyecto de curso de acuerdo con el profesor. Fuentes de Informacin 1, 7, 8, 9

UNIDAD 2.- Arquitectura de aplicaciones distribuidas. Objetivo Educacional Identificar la arquitectura de una aplicacin distribuida as como los servicios y tecnologas que intervienen. Actividades de Aprendizaje Investigar en diversas fuentes de informacin los elementos que participan en una aplicacin distribuida, elaborar un informe para su discusin en el aula. Investigar en diversas fuentes de informacin las principales tecnologas y estndares que se requieren en una aplicacin distribuida, elaborar un informe para su discusin en el aula. Presentar el avance del proyecto. Fuentes de Informacin 1, 7, 8, 9

UNIDAD 3.- Diseo de aplicaciones distribuidas. Objetivo Educacional Disear la arquitectura requerida para desarrollar una aplicacin distribuida. Actividades de Aprendizaje Investigar en diversas fuentes de informacin sobre el diseo de cada uno de los elementos arquitectnicos de una aplicacin distribuida (interfaz de usuario, manejo y procesamiento de datos), elaborar un informe para su discusin en el aula. Desarrollar ejercicios de programacin donde expresada una necesidad de una aplicacin distribuida disee la arquitectura requerida. Presentar el avance del proyecto. Fuentes de Informacin 1, 7, 8, 9

UNIDAD 4.- Implementacin de procesamiento de datos. Objetivo Educacional Construir componentes de software para el procesamiento de una aplicacin distribuida. Actividades de Aprendizaje Investigar en diversas fuentes de informacin sobre las tecnologas para implementar el procesamiento de una aplicacin distribuida, elaborar un informe para su discusin en el aula. Construir componentes utilizando la tecnologa sugerida. Seleccionar una tecnologa para el desarrollo de la capa de datos del proyecto de la asignatura. Presentar el avance del proyecto. Fuentes de Informacin 1, 3, 5, 6, 10, 11

UNIDAD 5.- Implementacin de interfaz de usuario. Objetivo Educacional Construir componentes de software para el procesamiento de una aplicacin distribuida. Actividades de Aprendizaje Investigar en diversas fuentes de informacin sobre las tecnologas para implementar el procesamiento de una aplicacin distribuida, elaborar un informe para su discusin en el aula. Desarrollar interfaces de usuarios utilizando tecnologas, lenguajes y herramientas. Seleccionar una tecnologa para el desarrollo de la capa de presentacin del proyecto de la asignatura. Desarrollar la capa de presentacin del proyecto de la asignatura. Fuentes de Informacin 1, 3, 5, 6, 10, 11

UNIDAD 6.- Integracin de aplicaciones distribuidas. Objetivo Educacional Construir componentes de software para el procesamiento de una aplicacin distribuida. Actividades de Aprendizaje Investigar en diversas fuentes de informacin sobre las tecnologas para implementar el procesamiento de una aplicacin distribuida, elaborar un informe para su discusin en el aula. Realizar la integracin de la aplicacin distribuida desarrollada durante el curso. Evaluar el desempeo de la aplicacin distribuida. Buscar y aplicar estrategias para la optimizacin del desempeo. Fuentes de Informacin 1, 7, 8, 9

10. FUENTES DE INFORMACIN 1. Orfali Robert, Harkey Dan, Edwards Jeri. Cliente/servidor y objetos Gua de supervivencia ; Tercera Edicin. Mxico: Oxford. 2002. 2. Lerdorf Rasmus, Tatroe Kevin. Programming PHP. USA OREILLY. 2002. 3. Jeffrey P. McManus Chris Kinsman. C# Developer's Guide to ASP.NET, XML, and ADO.NET. Addison Wesley Professional. 2002 4. James Lee, Brent Ware. Open Source Development with LAMP: Using Linux, Apache, MySQL, Perl, and PHP. Addison Wesley Professional. 2003. 5. Greg Barish. Building Scalable and High-Performance Java Web Applications Using J2EE Technology. Addison Wesley Professional. 2002. 6. Casey Kochmer; Erica Frandsen.JSP and XML: Integrating XML and Web Services in your JSP Application. Addison Wesley Professional. 2002. 7. Paul Mahler. Three Tier Client/Server Systems: Building Distributed Systems. Prentice Hall PTR. 2004. 8. Orfali, R, Harkey, D. Client/Server Programming with Java and CORBA, 2nd ed. John Wiley & Sons, 1998. 9. Microsoft. Ed. Mastering Distributed Application Design. Student Workbook, 1998. 10. Monson-Haefel, R. Enterprise JavaBeans, 3rd ed. OReilly & Associates, 2001. 11. Monson-Haefel, R, Chappell, D. Java Message Service. OReilly Java Series, OReilly & Associates, 2000.

11. PRCTICAS Desarrollar una aplicacin distribuida. En cada unidad de aprendizaje, se deber implementar un aspecto de la aplicacin distribuida. Unidad Prctica 1 2 3 Hacer uso de una aplicacin distribuida. Plantear el proyecto de la asignatura. Por ejemplo: Desarrollar una aplicacin de comercio electrnico. Realizar el anlisis del proyecto de la asignatura. Especificar los objetivos del usuario y los objetivos de negocios de la aplicacin distribuida. Seleccionar la arquitectura de la aplicacin distribuida a desarrollar.

5 6 7 8 9 10 11 12 13 14 15

Modelar la aplicacin distribuida a desarrollar. Especificar la infraestructura de la aplicacin distribuida. Desarrollar un componente utilizando el modelo de componentes de la asignatura. Realizar el diagrama entidad-relacin de la capa de datos del proyecto. Crear la base de datos de la aplicacin utilizando un DBMS. Especificar y probar la estrategia de acceso a los datos de la aplicacin Instalacin y configuracin de servidor http. Implementar la capa de presentacin del proyecto. Seleccionar las tecnologas middleware a utilizar en la aplicacin. Implementar la capa de negocios utilizando tecnologas middleware. Desplegar la aplicacin.