universidade da coruÑa departamento de tecnoloxías da...
TRANSCRIPT
UNIVERSIDADE DA CORUÑA
Departamento de Tecnoloxías da Información e as Comunicacións (TIC)
Introducción al Desarrollo de Aplicaciones Empresariales
Manuel Álvarez Díazhttp://www.tic.udc.es/~mad
Noviembre 2006
[Actualización charla de Fernando Bellas curso 2005/06 (http://www.tic.udc.es/~fbellas)]
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 2
Índice
• Arquitecturas características de las aplicaciones empresariales
• Tecnologías Java EE• Alternativas a Java EE• Patrones Arquitectónicos
Model-View-ControllerLayers
• Referencias
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 3
Características de las aplicaciones empresariales (1)
• Acceso a bases de datos (BD)Normalmente con BD relacionales
• TransaccionalesPropiedades ACID (Atomicity-Consistency-Isolation-Durability)
• EscalablesDeberían poder soportar más carga de trabajo sin necesidad de modificar el software (sólo añadir más máquinas)
• DisponibilidadIdealmente no deben dejar de prestar servicio
• SegurasNo todos los usuarios pueden acceder a la misma funcionalidad
• IntegraciónEs preciso integrar aplicaciones construidas con distintas tecnologías
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 4
Características de las aplicaciones empresariales (y 2)• Tipo de interfaz
De entorno de ventanas (clientes standalone): • Normalmente sólo tiene sentido en intranets
Web: En Internet y en intranets• Separación clara entre la interfaz gráfica y el modelo
Modelo: encapsula la lógica de negocioEl modelo debería ser reusable con distintas interfaces gráficas
• Arquitecturas multi-capa
Modelo
cu1
cu2
cun
...
Interfaz gráfica 1
Interfaz gráfica m
casos de uso
eventos de usuarioGestor de Eventos
Acciones a EjecutarBase de
Datos
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 5
Una aplicación con clientes standaloneArquitectura en dos capas (1)
Intranet
Int.gráfica Modelo
Capa 1 Capa 2
Int.gráfica Modelo
Int.gráfica Modelo
Base de datos
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 6
Una aplicación con clientes standaloneArquitectura en dos capas (y 2)
• ProblemaCambios en la implementación de la capa modelo => recompilación de toda la aplicación y reinstalación en clientes
• Cambios de drivers de acceso a la BD• Cambios en la lógica del modelo• Cambio de tipo de BD
• SoluciónModelo en servidor intermedio
• Un cambio en la implementación del modelo sólo afecta al servidorClientes standalone
• Sólo disponen de la interfaz gráfica• Acceden al servidor que implementa el modelo
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 7
Una aplicación con clientes standaloneArquitectura en tres capas
Intranet
Capa 2 Capa 3Capa 1
Int.gráfica
Int.gráfica
Int.gráfica
Modelo
Serv. modelo
Base de datos
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 8
Una aplicación webArquitectura en tres capas
Internet/Intranet
Capa 2 Capa 3
NavegadorInt.web Modelo
Navegador
Capa 1
Navegador
Base de datos
Serv. ap. web
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 9
Una aplicación webArquitectura en cuatro capas
Internet/Intranet
Capa 2 Capa 3 Capa 4
Int.web Modelo
Navegador
Navegador
Capa 1
Base de datos
Serv. ap. web Serv. modelo
Navegador
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 10
Comentarios• Para una aplicación web, la arquitectura en tres capas es
más eficienteEn la arquitectura en tres capas, la comunicación entre la interfaz gráfica y el modelo es localEn la arquitectura en cuatro capas, la comunicación entre la interfaz gráfica y el modelo es remota
• ¿ Cómo conseguir escalabilidad y disponibilidad ?Replicando servidores
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 11
¿ Qué es Java EE ?• Java EE es un conjunto de especificaciones de APIs Java para la
construcción de aplicaciones empresarialesLa mayor parte de las abstracciones de las APIs corresponden a interfaces y clases abstractasExisten múltiples implementaciones de distintos fabricantes, incluso algunas OpenSourceUna aplicación construida con Java EE no depende de una implementación particularSitio central: http://java.sun.com/javaee
• Es necesario distinguir entreJ2ME (Java 2 Platform, Micro Edition) – renombrado a Java ME
• Conjunto de tecnologías y especificaciones destinadas a dispositivos tales como teléfonos móviles, PDA's, ...
J2SE (Java 2 Platform, Standard Edition) – renombrado a Java SE• Para aplicaciones y applets
J2EE (Java 2 Platform, Enterprise Edition) – renombrado a Java EE• Se apoya en Java SE• Con el paso del tiempo, algunas APIs de Java EE se pasaron (y quizás se sigan
pasando) a Java SE
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 12
API Java SE 5Proporciona un entorno para el desarrollo de aplicaciones Java de Desktop y applets. Contiene un compilador, herramientas, entornos de ejecución y APIs Java que permiten escribir, probar y ejecutar applets y aplicaciones.
TigerOctubre 2004
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 13
API Java EE 5Define un estándar para el desarrollo de aplicaciones empresarialesmulticapa basadas en componentes.Se basa en Java SE y proporciona servicios, herramientas y APIs adicionales para soportar el desarrollo simplificado de aplicacionesempresariales.
Mayo 2006
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 14
Principales tecnologías proporcionadas por Java EE• Cada uno de los componentes de Java EE se ejecuta en un
contenedor apropiado.• Un contenedor es el entorno de ejecución para un
componente, que le proporciona acceso a una serie de servicios, entre los que se encuentran:
SeguridadGestión de transaccionesDirectorio de nombres JNDIConectividad remota
• De esta forma el desarrollador de componentes se centra en la resolución de los problemas de lógica de negocio.
• Para que un componente pueda ser ejecutado, debe de ser previamente deployado en el contenedor correspondiente de un servidor Java EE.
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 15
Principales tecnologías proporcionadas por Java EE
• Características de las aplicaciones EmpresarialesAcceso a Bases de Datos: API JDBC (Java SE)Aplicaciones Transaccionales/Escalables/Disponibles/Seguras/Multicapa(derivadas de la arquitectura Java EE):
• Componentes que se ejecutan en la máquina cliente– Aplicaciones Cliente– Applets– Browser (aplicaciones web)
• Componentes que se ejecutan en la máquina servidora– Contenedor Web:
» Componentes Web: API Servlets/JSPs/JSTL– Contenedor EJB:
» Componentes de lógica de negocio (modelo) Componentes EJB
Integración de Aplicaciones Heterogéneas• API XML (Java SE)• API Servicios Web
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 16
Principales tecnologías proporcionadas por Java EE
• Múltiples capas ...
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 17
Acceso a Base de Datos JDBC (1)
• JDBC (Java SE)API para acceso a bases de datos relacionalesEl programador puede lanzar queries (consulta, actualización, inserción y borrado), agrupar queries en transacciones, etc.Permite implementar la capa modelo
• Conceptos JDBCEl programador siempre trabaja contra los paquetes java.sql y javax.sql.Para poder contectarse a la BD y lanzar queries, es preciso tener un driver adecuado a ella
• Un driver suele ser un fichero .jar que contiene una implementaciónde todas las interfaces de la API de JDBC
• Nuestro código nunca depende del driver, dado que siempre trabajacontra los paquetes java.sql y javax.sql
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 18
Acceso a Base de Datos JDBC (2)
• Drivers JDBC
Aplicación Java
JDBC Driver Manager
Driver JDBC-NetDriver JDBC-ODBC Driver Java Driver Java
API JDBC
API DriverJDBC
NativaDrivers ODBC
Protocolo de acceso propietario a una base de datos
ImplementacionesDriver JDBC
Servidor con API Genérica
Base de Datos
API Nativa BD
java.sql javax.sql
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 19
Acceso a Base de Datos JDBC (3)
DriverManager Driver<<Interface>>0..n0..n
Connection<<Interface>>
Statement<<Interface>><<instantiate>>
ResultSet<<Interface>><<instan tiate>>
<<instantiate>>
+m anages
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 20
Acceso a Base de Datos JDBC (y 4)
• Idealmente, si nuestra aplicación cambia de BD, no necesitamos cambiar el código; simplemente, necesitamos otro driver
• Sin embargo, desafortunadamente las BDs relacionales usan distintos dialectos de SQL (¡ a pesar de que en teoría es un estándar !)
Tipos de datos: varían mucho según la BDGeneración de identificadores: secuencias, autonumerados, etc.
• SoluciónUsaremos interfaces para el acceso a BD, de manera que se puedanconstruir adaptadores para distintas BDs, proporcionando implementaciones por defecto con SQL estándar cuando sea posible
• Otros conceptos relacionadosDriverManager vs DataSource
• JNDI (Java Naming and Directory Interface)Pool de conexionesTransacciones
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 21
Tecnologías Web (1)• Aplicación web
Aplicación que corre en al menos un servidor y a la que el usuario accededesde un cliente de propósito general (ej.: navegador en un PC, teléfono WAP, etc.)
• La comunicación en la Web gira en torno al protocolo HTTPProtocolo de nivel de aplicaciónFunciona sobre TCP
• Usa el puerto 80 por defectoModelo petición/respuestaNo tiene estadoAl igual que SMTP, es un protocolo ASCII, que usa MIME para transferir información no ASCII
• Acceso a la web desde dispositivos móvilesWAP es una pila de protocolos que nada tiene que ver con TCP/IPWML es el lenguaje equivalente a HTML para móviles
• Es una aplicación de XML• Lógicamente, tiene menos posibilidades gráficas
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 22
Tecnologías Web (2)
• Objetivo que se pretendeSeparación de roles
• Personas que realizan el aspecto gráfico => diseñadores gráficos o similares
– Conocimientos de diseño gráfico y herramientas para generación de HTML y WML
• Personas que implementan el controlador y el modelo => informáticos
– Conocimientos de diseño e implementación
Se deberían poder usar directamente las herramientas de diseño de páginas webLas actualizaciones al aspecto gráfico no deben provocar un re-arranque del servidor
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 23
Tecnologías Web (3)
• Tecnologías web (Java EE)APIs: Servlets, páginas JSP y JSTLPermiten implementar la interfaz gráfica (vista+controlador) de una aplicación web
BDAplicaciones
web (int. gráf. + modelo )
Contenedor deaplicaciones web
NavegadorJDBC
NOTA: Contenedor = servidor
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 24
Tecnologías Web (y 4)
• Un servlet es una clase Java que puede recibir peticiones (normalmente HTTP) y generar una salida (normalmente HTML, WML o XML)
Los servlets que conforman una aplicación web se ejecutan en un servidor de aplicaciones web (contenedor)Cada servlet se puede asociar a uno o más URLsPaquetes javax.servlet y javax.servlet.http
• Una página JSP (Java Server Page) es un tipo especial de servlet(javax.servlet.jsp y javax.servlet.jsp.tagext) orientado a generar el texto de la interfaz gráfica
Tiene el aspecto de una página HTMLPuede incluir scriptlets (scripts) para generar HTML dinámicamenteTípicamente los scriptlets se escriben en Java
• JSTL (JSP Standard Tag Library) es una librería estándar de tags que pueden utilizarse en páginas JSP.
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 25
Capa Modelo
• Componentes EJB (Java EE)Automatizan la persistencia: API de persistencia:
• Permite mapear clases persistentes (“llamadas entidades”) a una Base de Datos relacional
• Alternativa de más alto nivel que JDBCDan soporte a la implementación de fachadas del modelo
• Session Beans• Pueden tener interfaz local y/o remota
Enfoque declarativo• Se declaran las clases que son persistentes• Se declaran las operaciones que son transaccionales y los aspectos de
seguridadFacilidad de desarrollo
• Al menos con EJB 3.0 ...
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 26
Arquitectura multi-capa (1)
• Arquitectura de una aplicación con clientes standalone
BDComponentes EJB (modelo)
Contenedor decomponentes EJB
Ap. Standalone(int. gráfica)
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 27
Arquitectura multi-capa (2)
• Arquitectura de una aplicación web con un contenedor completo Java EE (tres capas)
BDNavegador
Componentes EJB (modelo)
Aplicaciones web (int. gráf.)
Contenedor Java EE
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 28
Arquitectura multi-capa (y 3)
• Arquitectura de una aplicación web con un contenedor web y un contenedor de EJB (quizá de distinto fabricante)
Si los dos contenedores corren en la misma máquina física, se pude considerar como una arquitectura en tres capas.En general, es mejor la alternativa anterior
BDNavegador Componentes
EJB (modelo)
Contenedor decomponentes EJB
Aplicaciones web (int. gráf.)
Contenedor deaplicaciones web
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 29
XML (1)
• APIs para XMLXML - eXtensible Markup Language (http://www.w3c.org )
• Lenguaje de tags (similar en sintaxis a HTML)• Es extensible (no dispone de tags predefinidos)• Permite expresar datos y no aspecto visual (a diferencia de HTML)
Ejemplo
<?xml version=“1.0”><forecasts>
<city name="COR"><forecast type="sunny" day="1” month=“10” year=“2001"/><forecast type="foggy" day="2” month=“10” year=“2001"/>
</city><city name="LUG">
<forecast type="rainy" day="1” month=“10” year=“2001"/><forecast type="rainy" day="2” month=“10” year=“2001"/>
</city>...
</forecasts>
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 30
XML (2)
• APIs para XML (cont)Campos de aplicación (... entre muchos otros ...)
• Intercambio de datos entre aplicaciones heterogéneas• Configuración de aplicaciones• Generación de aspecto visual (ej.: HTML, PDF) a partir de los datos• Bases de datos
Parsers XML (XML objetos + [validación estructura])• SAX
– Simple API for XML– Es un pequeño framework basado en eventos– El programador proporciona uno o varios objetos callback a los que el
parser llamará cada vez que ocurra un evento de interés (apertura de un tag, cierre de un tag, un error, etc.)
• DOM– Document Object Model– Construye una representación (un árbol) en memoria del documento– El programador puede acceder a los datos del documento recorriendo el
árbol
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 32
XML (4)
• APIs para XML (cont) Las APIs de SAX y DOM están estandarizadas y existen un gran número de implementaciones para distintos lenguajes
• Ej.: Apache Software Foundation proporciona Crimson (SAX y DOM sólo para Java), Xerces (SAX y DOM) y Xalan (XSL)
• En el caso de Java, familia de paquete org.xml.sax y org.w3c.dom(básicamente contienen interfaces y clases abstractas)
Lo que no está estandarizado es cómo crear instancias de los parsersJAXP - Java API for XML Processing (Java SE)
• API Java para procesamiento de documentos XML• Incluido en Java SE 1.4• Familia de paquetes java.xml.{parsers, transform}
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 33
XML (y 5)
• APIs para XML (cont) JAXP
• Define una API para trabajar con parsers SAX, DOM y transformaciones XSL
• Proporciona factorías para crear instancias de parsers y transformadores XSL de manera portable
• Existen un gran número de implementaciones que proporcionan adaptadores para JAXP
– Ej.: Crimson, Xerces y Xalan• Sun proporciona una implementación de JAXP por defecto: Crimson
y Xalan.• Es posible utilizar otras implementaciones vía configuración
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 34
Servicios Web (1)
• Enfoque REST: peticiones directas HTTP, respuestas XML• Se han estandarizado una serie de protocolos basados en XML que
permiten el intercambio de información en un entorno distribuidoCuentan con el respaldo de todos los fabricantes de tecnología (Sun, Oracle, IBM, Microsoft, etc.)También existen APIs para los lenguajes de programación más usuales, que facilitan el envío y recepción de mensajesEn general, las APIs no son estándares, sin embargo ello no afecta a la interoperabilidad (porque los protocolos están estandarizados)En Java, las APIs se estandarizan
• Un Servicio Web es un servicio ofrecido a través de la web, que usa los anteriores protocolos y APIs para recibir peticiones y enviar las correspondientes respuestas
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 35
Servicios Web (y 2)
• APIs para integración de aplicaciones heterogéneasPrincipalmente APIs para Servicios Web
• Tecnologías basadas en XML para la integración de aplicaciones heterogéneas
• Un servicio Web ofrece un conjunto de operaciones que pueden serinvocadas por clientes remotos, independientemente de la tecnología en la que estén implementados el servidor y el cliente
• Protocolo de comunicación: SOAP– Estandarizado por W3C (http://www.w3c.org )– Utiliza XML para el intercambio de información– Conceptualmente permite enviar peticiones/respuestas en XML
(normalmente sobre HTTP)• Definición de la interfaz del servicio: WSDL
– Estandarizado por W3C (http://www.w3c.org )• Existen APIs para los lenguajes más usuales
– Disponible para Java EE, .NET y LAMPSOAP
Cliente Servidor
Serv
icio
Web
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 36
Implementaciones de Java EE (1)• Existen un gran número de fabricantes que venden
servidores de aplicaciones certificados Java EELista completa en http://java.sun.com/javaee/overview/compatibility.jspAlgunos ejemplos
• BEA WebLogic Server: http://www.bea.com
• IBM WebSphere ApplicationServer: http://www.ibm.com
• Sun Java System Application Server: http://www.sun.com
• Oracle Application Server: http://www.oracle.com
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 37
Implementaciones de Java EE (y 2)• Implementaciones OpenSource
Tomcat (proyecto de Apache): http://tomcat.apache.org• Contenedor de aplicaciones web
JBoss: http://www.jboss.com• Contenedor Java EE
GlassFish: https://glassfish.dev.java.net• Contenedor Java EE
OpenEJB: http://openejb.codehaus.org• Contenedor de EJB
Geronimo: http://geronimo.apache.org• Contenedor Java EE
• PortabilidadSi una aplicación sólo usa las APIs estándares => es posible instalarla sobre cualquier servidor de aplicaciones conforme a Java EE¡ No se depende de un fabricante !
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 38
Alternativas a Java EE (1)• .NET
http://www.microsoft.com/netDefine un Common Language Runtime (CLR) y un IL (IntermediateLanguage) al que todos los lenguajes conformes a .NET compilan
• Idea similar a la máquina virtual de Java y a los bytecodes generados por el compilador de Java, respectivamente
Lenguajes• Visual Basic .NET, Visual C++ .NET, Visual C# .NET, Visual J#
.NET, etc.Tecnologías
• ADO.NET, ASP.NET, COM+: similares en concepto a JDBC, JSP y EJB (parcialmente), respectivamente
• Son una mejora de sus versiones anteriores (ADO, ASP, COM, etc.)• APIs para XML y servicios Web
Implementaciones• Principalmente la de Microsoft• También Mono (Open Source): http://www.mono-project.com
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 39
Alternativas a Java EE (y 2)• LAMP
http://www.onlamp.comLinux + Apache + MySQL +Perl/PHP/PythonPerl/PHP/Python
• Lenguajes tipo Script• Acceso a base de datos• Tecnologías web• Soporte para XML y servicios Web
Requiere menos conocimientos técnicos que Java EE o .NET¿ Y la calidad del software ?
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 40
Patrones arquitectónicos MVC y Layers (1)
• ¿ Cómo se debe diseñar una aplicación empresarial para que sea mantenible y contenga partes reusables ?
Debería estar diseñada siguiendo la arquitectura que fijan los patrones arquitectónicos Model-View-Controller (MVC) y Layers
• F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal, Pattern-Oriented Software Architecture: A System Of Patterns, John Wiley and Sons, 1996.
Un patrón arquitectónico es un patrón de alto nivel que fija la arquitectura global de una aplicaciónPosteriormente, el diseño hará uso de patrones de diseño para resolver problemas específicos
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 41
Patrones arquitectónicos MVC y Layers (2)
• Patrón arquitectónico MVCSeparación clara entre el modelo (lógica de negocio) y la vista (interfaz gráfica), gracias a un controlador que los mantiene desacopladosVentajas:
• El modelo es reusable con distintas vistas (ej.: una vista web y una con interfaz de ventanas)
• División clara de trabajo entre los miembros de un equipo, que estará formado por personas con distintos niveles de especialización
• Patrón arquitectónico LayersEl software está estructurado en capasPermite ocultar las tecnologías que usa nuestro software
• Cuando hay un cambio de versión en una de ellas (o incluso se reemplaza por otra distinta), no tiene impacto sobre las capas superiores
• División clara de trabajo entre los miembros de un equipoDará soporte a la arquitectura MVC
• Ej.: tanto la vista como el controlador nunca conocerán las tecnologías que usa la implementación del modelo
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 42
Capas de una Aplicación Web Java EE: MVC+Layers
Interfaces para Acceso a Datos
Plugin: Plain | RMI | EJB | …
Interfaces con Casos de Uso (lógica de negocio)
Modelo
Vista
Controlador
Plugin: JDBC | XML | …
HTML + JSP + JSTL
Servlets
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 43
Referencias (1)• Libros
J. Crupi, D. Alur, D. Malks, Core J2EE Patterns, 2nd edition, Prentice Hall, 2003F. Marinescu, EJB Design Patterns, John Wiley & Sons, 2002G. Reese, Database Programming with JDBC and Java, 2nd edition, O. Reilly, 2000E. R. Harold, W. S. Means, XML in a Nutshell: A Desktop Quick Reference, O. Reilly , 2001B. McLaughlin, Java and XML, 2nd edition, O. Reilly, 2001H. Bergsten, JavaServer Pages, 3rd edition, O. Reilly, 2003
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 44
Referencias (2)
• Libros (cont)T. Husted, C. Dumoulin, G. Franciscus, D. Winterfeldt, Struts in Action, Manning, 2003.R Patel, G. Brose, M. Silverman, Mastering Enterprise Java Beans, 3.0, John Wiley & Sons, 2006B. Burke, R. Monson-Haefel, Enterprise JavaBeans 3.0, 5th edition, O. Reilly, 2006R. Andrew, D. Shafer, HTML Utopia: Designing Without Tables UsingCSS, Sitepoint Pty Ltd, 2006J. Zeldman, Designing with Web Standards, 2th edition, New Riders, 2006J. McGovern, S. Tyagi, M. E. Stevens, S. Mathew, Java Web ServicesArchitecture, Morgan Kaufmann, 2003
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 45
Referencias (3)• Sitios Web
http://java.sun.com/reference/blueprints/index.htmlhttp://java.sun.com/javaeehttp://java.sun.com/webserviceshttp://jakarta.apache.orghttp://www.w3.org/Style/CSShttp://www.microsoft.com/nethttp://www.onlamp.comhttp://www.xml.org
Noviembre 2006 Introducción al Desarrollo de Aplicaciones Empresariales 46
Referencias (y 4)• Asignaturas en la Facultad de Informática de la UDC
Integración de Sistemas• http://www.tic.udc.es/~fbellas/teaching/is• 5º Ingeniería Informática• Se centra en el diseño e implementación de aplicaciones
empresariales con Java EE y .NET.• Transparencias y código disponibles
Análisis y Diseño Orientado a Objetos• http://www.tic.udc.es/~fbellas/teaching/adoo• Optativa 2º ciclo, Ingeniería Informática• Se centra en diseño e implementación con servicios Web con Java EE• Transparencias y código disponibles
• Transparencias de esta charla disponibles enhttp://www.tic.udc.es/~mad/teaching/pfc3