Tecnologías Avanzadas para el Desarrollo de Aplicaciones Distribuidas

Mariano Cilia

Introducción

Hoy en día las compañías no pueden ignorar el grave problema que implica desarrollar y adaptar software al ritmo que imponen los negocios. Los requisitos varían con mucha frecuencia y las aplicaciones no logran ser desarrolladas y/o adaptadas al ritmo requerido. La globalización y fusión de empresas, el crecimiento de Internet, entre otros factores, han acentuado aún más estos problemas llevando el software desarrollado, que normalmente había sido desarrollado para una plataforma especifica, a un ambiente distribuido heterogéneo. Esto involucra, en consecuencia, La necesidad de considerar una amplia gama de aspectos como lo son la integración de datos heterogéneos, la interacción entre diversos sistemas, los distintos sistemas operativos, el middleware, las tecnologías web, cuestiones de escalabilidad y performance, por citar algunos de ellos.

La evolución de las tecnologías cliente/servidor sumada al advenimiento de nuevas tecnologías como XML, web services , la plataforma J2EE, la comunicación asíncrona por medio de mensajes, el uso de application servers , son algunos de los conocimientos que permiten llevar a cabo el desarrollo de aplicaciones modernas.

El contenido del curso intenta presentar al alumno los conceptos fundamentales sobre tecnologías que permiten el desarrollo de este tipo de aplicaciones.

Contenidos

Motivacion y Objetivos [ slides ]
  1. Evolución de las aplicaciones. Aplicaciones Client/Server. El modelo de Gartner. El equilibrio fat client vs fat server. Middleware. Tecnologías para aplicaciones Web. Web Servers. Protocolos.  Escalabilidad. Evolucion de las Tecnolgias C/S [ slides , slides , slides ]
  2. XML y sus usos. DOM, SAX. Integración de datos heterogéneos. El modelo MIX. Interoperabilidad de Datos. [ slides , slides ]
  3. Entendiendo el Middleware para comunicaciones. El modelo RPC. Modelos de Interacción. Casos de estudio. Comunicación Asíncrona. Middleware Oriented Middleware (MOM). Publish/Subscribe. Estrategia de ruteo de notificaciones. Modelos de direccionamiento. Técnicas de diseminación de mensajes. Channel-based, Subject-based, Content-based, Concept-based. [ slides , slides ]
  4. CORBA. Transaction Processing Monitors (TPM). Object Transaction Monitors (OTM). [ slides ]
  5. Desarrollo basado en componentes. La plataforma J2EE. Application Servers . Server-side Components. Lógica de la aplicación. Enterprise Java Beans (EJBs). Session Beans. Entity Beans. Message-Driven Beans. EJB Patterns. Aspectos de Performance. SPECjAppServer. [ slides ]
  6. El modelo de servicios (SOA). WebServices: SOAP, WSDL, UDDI. Composicion de servicios. BPEL4WS. Los estandares. Herramientas. Otros modelos. [ slides ]
  7. Internet Applications. Evolucion. Web 2.0. Rich Internet Applications (RIA). AJAX. OpenLaszlo. Mixing Services. Frameworks y bibliotecas. [ slides ]
  8. Codigos de barra y codigos de barra bidimensionales. Identificadores de radiofrecuencia (RFID tags). Electronic Product Code (EPC): El sucesor del codigo de barras. AutoID. EPCglobal Network. Ubiquotous and pervasive systems. Web presence model: CoolTown. [ slides ]
  9. Revisacion de conceptos y tecnologias en contexto. Ciclo evolutivo de las tecnologias C/S: Peer-to-Peer y Grid Computing [ slides ]

Conocimientos Requeridos: Bases de Datos, Sistemas Operativos, Comunicación de Datos

Inicio y duración del curso (2005): 21 de Noviembre al 2 de diciembre de 14:00 a 17:00. Aula 2, Facultad Cs Exactas.

Clase de consulta

En Diciembre: lunes 5 a las 10:00, lunes 12 a las 14:00, lunes 19 a las 15:00 y Martes 20 a las 10:00.

Evaluación

La evaluación del curso será efectuada por medio de un trabajo práctico en el cual se deberán aplicar los conceptos descriptos en el curso, la evaluación por medio de un examen y/o la confección de una monografía. El trabajo será propuesto por la cátedra, quien también determinará los criterios a seguir en la corrección del mismo.

Bibliografía

Libros

Links

Client/Server:

Messaging:

XML:

Intercambio Semántico de Datos:

TP Monitors:

J2EE:

EJBs:

Web Services:

AutoID/EPCglobal:

Existe un grupo en Yahoo! Groups que contiene las transparecias del curso y tambien los links disponible en esta pagina ( http://groups.yahoo.com/group /tecmod/ ).