Diseño e Implementación con Tecnologías de Integración de Aplicaciones Fernando Bellas Permuy Departamento de Tecnologías de la Información y las Comunicaciones (TIC) Universidad de A Coruña http://www.tic.udc.es/~fbellas fbellas@udc.es
Objetivos Tener una visión global de las tecnologías de integración de aplicaciones heterogéneas y su aplicación Centrarse en un caso de estudio: CORBA y Servicios Web con Java Aprender lo esencial de ambos frameworks Aprender técnicas de diseño (patrones) Reusables con otras tecnologías! Aprender técnicas de implementación (idiomas) Realización de prácticas para consolidar conocimientos
Temario (1) Tema 1 - Introducción a las tecnologías de integración de aplicaciones Tema 2 - Introducción a CORBA Tema 3 Diseño e implementación con CORBA. Caso de estudio: Java 3.1 El lenguaje de especificación IDL 3.2 Mapping de IDL a Java 3.3 Aspectos básicos del ORB y el POA 3.4 El servicio de nombres. Patrones usados: Iterator y Federation 3.5 Patrones básicos para favorecer la eficiencia, la escalabilidad y el mantenimiento 3.6 Patrón Factory y objetos persistentes. Políticas del POA asociadas
Temario (y 2) Tema 3 Diseño e implementación con CORBA. Caso de estudio: Java (cont) 3.7 Patrón Distributed callback 3.8 Interoperabilidad Tema 4 - Introducción a XML Tema 5 - Diseño e implementación con Servicios Web. Caso de estudio: Java 5.1 Introducción a Servicios Web 5.2 JAX-RPC. Caso de estudio: Apache Axis 5.3 Diseño por capas con Servicios Web Tema 6 Comparativa CORBA/Servicios Web
Laboratorio Diseño e implementación de una aplicación distribuida y escalable Cada año se propone una práctica distinta Para el curso académico 2002-2003 la práctica consistirá en el diseño e implementación de una versión simplificada de un servicio para compartir ficheros Grupos de 2 personas
Notas Prácticas Nota mínima: 5 Examen Objetivo: comprobar que se ha hecho la práctica y que los conceptos se han asimilado correctamente Es necesario haber presentado la práctica Nota mínima: 4 Nota final = 90%*Prácticas + 10%*ExamenPrácticas Se conservan notas (de prácticas y exámenes) hasta la convocatoria de Diciembre
Material de clase Mi página web http://www.tic.udc.es/~fbellas Transparencias Código con los ejemplos Enlaces (en Internet) al software usado en el laboratorio CD de IS y ADOO Contiene todo el software (para Linux y MS-Windows) para realizar las prácticas y toda la documentación usada de Internet (tutoriales, APIs, especificaciones, etc.) para las asignaturas Integración de Sistemas Análisis y Diseño Orientado a Objetos Disponible en delegación de alumnos
Libros M. Henning, S. Vinoski, Advanced CORBA Programming with C++, Addison-Wesley, 1999 G. Brose, A. Vogel, K. Duddy, Java Programming with CORBA: Advanced Techniques for Building Distributed Applications, 3rd edition, OMG Press, John Wiley and Sons, 2001 E. R. Harold, W. S. Means, XML in a Nutshell: A Desktop Quick Reference, O. Reilly, 2001 B. McLaughlin, Java and XML, 2nd edition, O. Reilly, 2001 E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addisson- Wesley, 1994 K. Arnold, J. Gosling, D. Holmes, The Java Programming Language, Addison-Wesley, 2000 G. Booch, I. Jacobson, J. Rumbaugh, Unified Modeling Language User Guide, Addison-Wesley, 1998 I. Jacobson, G. Booch, J. Rumbaugh, The Unified Software Development Process, Addison-Wesley, 1999
Recursos en Internet (1) CORBA http://www.omg.org (OMG) Estandarización http://www.cs.wustl.edu/~schmidt (Douglas Schmidt) http://www.ooc.com.au/staff/michi-henning.html (Michi Henning) http://www.iona.com/hyplan/vinoski (Steve Vinoski) Implementaciones de CORBA http://www.cs.wustl.edu/~schmidt/corba-products.html http://www.iona.com (Orbix) http://www.inprise.com (Visibroker) http://www.iona.com/products/orbacus_home.htm (ORBacus) Disponible en el laboratorio y en el CD de IS y ADOO para Java y C++ Cualquier implementación de J2SE incluye una implementación por defecto del ORB de CORBA y del servicio de nombres
Recursos en Internet (2) XML y Servicios Web http://www.w3c.org (W3C) Estandarización http://www.xml.org (XML.org) http://java.sun.com/j2ee/webservices/index.html Documentación sobre el API Java estándar de Servicios Web Implementación de referencia de Sun http://xml.apache.org/axis (Axis) Implementación OpenSource y gratuita de JAX-RPC Es la que usaremos http://www.ibm.com/developerworks/webservices Documentación y software para distintos lenguajes Información general sobre Servicios Web http://www.webservices.org http://www.webservicesarchitect.com Los principales fabricantes de CORBA y J2EE (ej.: Iona, Inprise, WebLogic, etc.) son también fabricantes de Servicios Web
Recursos en Internet (y 3) The Jakarta Project http://jakarta.apache.org Proyecto OpenSource de Apache para desarrollar software de alta calidad en Java Compuesto por muchos subproyectos. Usaremos Ant: sistema de compilación Tomcat Cetus links Contenedor J2EE de aplicaciones web (Axis requiere uno) Disponibles en el CD de IS y ADOO http://www.cetus-links.org Colección de enlaces sobre orientación a objetos