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 ]
- 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 ]
- XML y sus usos. DOM, SAX. Integración de datos heterogéneos. El modelo MIX. Interoperabilidad de Datos. [ slides , slides ]
- 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 ]
- CORBA. Transaction Processing Monitors (TPM). Object Transaction Monitors (OTM). [ slides ]
- 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 ]
- El modelo de servicios (SOA). WebServices: SOAP, WSDL, UDDI. Composicion de servicios. BPEL4WS. Los estandares. Herramientas. Otros modelos. [ slides ]
- Internet Applications. Evolucion. Web 2.0. Rich Internet Applications (RIA). AJAX. OpenLaszlo. Mixing Services. Frameworks y bibliotecas. [ slides ]
- 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 ]
- 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
- Orfali, Harkey and Edwards, Client/Server Survival Guide , 3rd Edition, J. Wiley, 1999.
- P.A. Bernstein, E. Newcomer; Principles of Transaction Processing for the Systems Professional , Morgan Kaufmann, 1997.
- J. Gray, A. Reuter; Transaction Processing: Concepts and Techniques , Morgan Kaufmann, 1993.
- E. Roman, Mastering EJB and the Java 2 Platform, Enterprise Edition , 3rd Ed, Wiley, 2004.
- R. Monson-Haefel, Enterprise JavaBeans ,
- F. Marinescu, EJB Design Patterns: Advanced Patterns, Processes, and Idioms , Wiley, Feb 2002.
- Professional Java Web Services , Wrox Press, 2002.
- S. Dustdar, H. Gall, M. Hauswirth, Software-Architekturen für Verteilte Systeme , (in German) Springer 2003.
- G. Alonso, F. Casati, H. Kuno, V. Machiraju, Web Services: Concepts, Architectures and Applications , Springer 2004.
- Q. Mahmoud (editor), Middleware for Comminications , Wiley, 2004.
Links
Client/Server:
Messaging:
XML:
Intercambio Semántico de Datos:
- C. Bornhövd, A. Buchmann, Semantically Meaningful Data Exchange in Loosely Coupled Environments, In Proc. Intl 6th International Conference on Information Systems Analysis and Synthesis (ISAS'00), Orlando, Florida, USA, July 2000. [ ps.gz ]
- C. Bornhövd, M. Cilia, C. Liebig, A. Buchmann, An Infrastructure for Meta-Auctions, In Proceedings of the 2nd Intl. Workshop on Advance Issues of E-Commerce and Web-based Information Systems (WECWIS'00), San Jose, California, USA, June 2000. [ ps.gz ]
TP Monitors:
- P.A. Bernstein, E. Newcomer; “Principles of Transaction Processing for the Systems Professional”, Morgan Kaufmann, 1997.
- J. Gray, A. Reuter; “Transaction Processing: Concepts and Techniques”, Morgan Kaufmann, 1993.
J2EE:
EJBs:
Web Services:
- www.WebServices.org
- www.UDDI.org ,
- JBoss & Web Services, http://www.jboss.org/developers /projects/jboss/dotnet.jsp
- F. Cubera, M. Duftler, R. Khalaf, W. Nagy, N. Mukhi, S. Weerawarana, Unraveling the Web Services Web. An Introduction to SOAP, WSDL, and UDDI, IEEE Internet Computing, pp. 86-93, 6(2), March, 2002.
- The Server Side ( http://www.TheServerSide.com )
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/ ).