Download Seccion 7

Document related concepts
no text concepts found
Transcript
INF 473
Desarrollo de Aplicaciones en
Java
Sección VII
Tópicos Modernos
Prof. José Miguel Rubio
[email protected]
[email protected]
PUCV
Marzo 2008
JDBC
Acceso a Bases de Datos
Se logra a través de JDBC (Java
Data Base Connectivity)
JDBC provee un API de
programación el cual se utiliza para
conectarnos a diferentes bases de
datos
Capas de JDBC
Capa Aplicación (Application Layer)
Conjunto de clases (API) usadas para hacer llamados a la base
de datos a través de SQL, obtener y procesar los resultados.
Capa Manejador (Driver Layer)
Conjunto de clases (API) que se encargan de establecer,
manejar y terminar la comunicación con un DBMS
(Implementación especifica de un driver)
Capas de JDBC
Ventajas
El Driver Manager instancia el
driver adecuado.
Los driver no tienen que ser
precargados.
Los tipos de datos SQL son
mapeados a tipos de datos Java
(flexibilidad).
Ejemplo de uso
db=DriverManager.getConnection
(Jdbc:postgresql:database,
usr, pwd);
st = db.createStatement();
st.executeQuery(« sql code »);
SWING
Swing
Es el conjunto de clases de JFC
que nos permite construir
interfaces gráficas para usuario
(GUI).
Ejemplo de componentes
Swing & JDBC
J2ME
J2ME
Esta diseñado para equipos con
baja capacidad de memoria y
procesamiento.
Se puede programar orientando el
programa a una gran gama de
dispositivos.
SDK
Sun Microsystem provee varios
emuladores junto con un sdk para
j2me, con lo cual no necesitamos
tener un dispositivo para probar.
Varios distribuidores proveen
versiones de emuladores de sus
productos. Sony Ericsson,
Motorola,etc.
Servlets / JSP
Servlets y JSP
Son métodos de creación de páginas web
dinámicas en servidor usando el lenguaje Java
En ese sentido son similares a otros métodos o
lenguajes tales como PHP, los CGIs (common
gateway interface), que generan páginas web en
el servidor, o los ASP (Active Server Pages), un
método específico de Microsoft.
Sin embargo, se diferencian de ellos en otras
cosas.
Java Servlets
Son programas escritos en
JAVA que se ejecutan en el marco
de un servicio de red (ej. Servidor
HTTP ) que reciben y responden
peticiones de los clientes.
Servidores HTTP
Resin, de Caucho Technologies:
Enfocado al servicio de páginas XML, con licencia libre para
desarrolladores.
Dice ser bastante rápido.
Incluye soporte para Javascript además de Java y un lenguaje
de templates llamado XTP.
Fácil de instalar.
BEA Weblogic:
Servidor de aplicaciones de alto nivel, y alto precio.
Escrito íntegramente en Java.
Se combina con otra serie de productos, tales como Tuxedo, un
servidor de bases de datos para XML.
Servidores HTTP
JRun, de Macromedia:
Lutris Enhydra:
Servidor de aplicaciones de Java
Se puede bajar una versión de evaluación gratuita
Servidor gratuito y Open Source, aunque tiene una versión de
pago.
Enfocado a servir XML, y para plataformas móviles.
Las versiones más actualizadas son de pago.
Jakarta Tomcat:
El más popular, Open Source, y continuamente en desarrollo.
Arquitectura Cliente/Servidor
Caracteristicas de los Servlets
Al igual que los programas CGI, los servlets
permiten la generación dinámica de
código HTML.
Permiten la utilización de cookies y
sesiones de forma que se puede guardar
informaciones específicas de un usuario.
Pueden actuar de enlace entre el cliente y
una o varias Bases de Datos en
arquitecturas cliente servidor de 3 capas.
JSP
Un JSP se compila a un programa en Java la
primera vez que se invoca, y del programa en
Java se crea una clase que se empieza a ejecutar
en el servidor como un servlet.
Diferencia
entre
Servlet y
JSP
Enfoque de la programación:
un JSP es una página Web con
etiquetas especiales y código
Java incrustado, mientras que
un servlet es un programa que
recibe peticiones y genera a
partir de ellas una página web.
El paradigma OO y la
producción de Juegos
El paradigma OO
Orientación a objetos
Reusabilidad
Confiabilidad
Robustez
Extensibilidad
Mantenibilidad
En todos los niveles del proceso de
desarrollo: Análisis, diseño y
programación
Desafíos en el desarrollo de
juegos
Inexperiencia en el área en el país.
Manejo de un grupo de desarrollo de más de
15 personas.
División eficiente de las tareas a realizar.
Definición conveniente de las interfaces entre
los grupos.
Documentación y comunicación intergrupal
Elección del mejor paradigma a ser aplicado
en base a los objetivos propuestos y los
recursos disponibles.
OO para enfrentar esos
desafíos
División del proyecto en subsistemas
bien definidos (conjuntos de objetos).
El más bajo acoplamiento posible
Interfaces definidas como paso de
mensajes entre objetos.
Uso del UML: caso exitoso de buena
documentación y comunicación
intergrupal.