Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Advertisements

APLICACIONES DISTRIBUIDAS
Las aplicaciones requieren datos persistentes
Internet y tecnologías web
Acceso a Bases de Datos con Java
Fernando Alonso Blázquez Servlets con acceso a Bases de Datos 29 de Abril de 2004.
Common Object Request Broker Architecture (CORBA)
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Carlos Rojas Kramer Universidad Cristóbal Colón
Common Object Request Broker Architecture
Servicios Web.
Arquitectura Orientada a Servicios (SOA)
Tipos de Servicios Web.
Investigación Servidor de Aplicaciones WebSphere
RMI Remote Method Invocation
UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS
Java 2 Platform Enterprise Edition
BASES DE DATOS ORIENTADAS A OBJETO
M.I. María Luisa González Ramírez Servlets y JSP.
Tema 3 J2EE Java Database Connectivity Temas Selectos de Cómputo Grupo 912.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Tecnologías para el desarrollo de aplicaciones Web
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
Administración de datos con MS-SQL Server y Visual Basic
ARCHIVOS Y CONEXIÓN A BASE DE DATOS. FileInputStream: Clase que representa ficheros de texto accedidos en orden secuencial, byte a byte. FileWriter: Clase.
Arquitectura de una aplicación
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Sistema de Gestión de Información Desarrollado por: Solange Ahumada K Bernardo Malet
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008.
Programación Orientada a Objetos II
Programación Orientada a Objetos Modulo 7 JDBC Universidad de Chile Departamento de Ciencias de la Computación.
Fernando Alonso Nicolás Serrano Servlets con acceso a Bases de Datos 21 de Abril de 2008.
1 TEMA 8. Acceso a bases de datos Arquitectura de una aplicación que accede a una BD Arquitectura de una aplicación que accede a una BD Establecer la conexión.
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Integración CORBA/OODB - Discusión Una Nueva Arquitectura para la Integración de CORBA y OODB Helios Alonso - Luis Pandolfi - Pablo Rodríguez Bocca Universidad.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
JDBC Java Database Connectivity CC52N - Computación para el trabajo grupal Profesor: Nélson Baloian Por: Edgard Pineda.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
1 Capítulo 21: Interacción Cliente Servidor ICD 327: Redes de Computadores Agustín J. González.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Java Data Base Connectivity
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) PROGRAMACION CLIENTE /
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Servidor de la Base de Datos E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
File Transfer Protocol.
Bases de Datos y Conectores
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
API JDBC Java Database Connectivity. Conceptos básicos API de Conectividad a Bases de Datos Emplea SQL Standard Ventaja: los programas desarrollados en.
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
JDBC. Definición Java Database Conectivity El acceso a bases de datos JDBC implica abrir una conexión ejecutar comandos SQL en un sentencia procesar los.
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Patrón de diseño BROKER
Conociendo el modelo Cliente-Servidor
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Conferencia 9. ODBC, OLE DB y JDBC.
JDBC: comunicación Java-Base de Datos
Transcripción de la presentación:

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 1 CORBA: Common Object Request Broker Arquitecture  CORBA es una especificación. No es un software o aplicación.  Auspiciado por Object Managament Group (OMG), para establecer una especificación de inter-operabilidad entre plataformas.  OMG es fundada en 1989, por American Airlines, Canon, Data General, HP, Philips Telecomunicaciones, Sun, 3Com y Unisys  Hay un gran número de implementaciones de CORBA. Estas son conocidas como Object Request Broker (ORB)

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 2 ¿que soluciona Corba?  Aplicaciones. Procesos clientes y servidores que representan la lógica del negocio como objetos que pueden residir en distintas máquinas.  Middleware. Soporte que permite la comunicación entre aplicaciones.  Servicios de Red. Transporta la información entre computadores.  Servicios Locales. Ejemplo, bases de datos y administradores de transacciones.  Sistema Operativo. Provee servicios básicos de Hw y scheduling.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 3 Definición Middleware  Conjunto de servicios comunes no relacionado con “la lógica de negocio” que permite que aplicaciones servidoras y clientes interactuen con otras a través de una Red. En esencia el Middleware es el software que reside sobre la red, permitiendo software de aplicacion orientados sólo a “logica de negocio.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 4 Conceptos claves en CORBA Los conceptos claves de CORBA son: 3Esencialmente especifica los servicios de middleware que serán usados por las aplicaciones (objetos). 3Existe una interfaz entre aplicaciones clientes y servidoras. Una lenguaje de definición de interfaz (IDL) ha sido definido específicamente para CORBA. 3Cualquier objeto puede ser un cliente, un servidor o ambos. Para efectos de descripción CORBA usa el modelo Cliente/Servidor. 3Soporta “static binding” y “dinamic binding” 3No conoce los detalles de las implementaciones fundamentales de los objetos. Un “object adapter” mapea modelos genéricos a implementaciones, siendo la principal manera en que las implementaciones de los objetos acceden los servicios provistos por el ORB (object Request Broker).

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 5 Diagrama conceptual de CORBA

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 6 Implementación de CORBA

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 7 ¿como ha evolucionado? 3CORBA es una especificación. Como cualquier especificación hubo áreas dejadas a la interpretación de los implementadores. 3A través de Internet Inter-ORB Protocol (IIOP), la OMG espera que ORB’s de diferentes vendedores puedan comunicarse fácilmente entre si. 3Recientemente las especificaciones “Portable Object Adapter” (POA) permite a clientes escritos para acceder un ORB en particular, pueda acceder fácilmente otros productos de diferentes vendedores. 3Se ha adaptado a los tiempos y a la competencia.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 8 ¿como ha evolucionado? 3CORBA es una especificación. Como cualquier especificación hubo áreas dejadas a la interpretación de los implementadores. 3A través de Internet Inter-ORB Protocol (IIOP), la OMG espera que ORB’s de diferentes vendedores puedan comunicarse fácilmente entre si. 3Recientemente las especificaciones “Portable Object Adapter” (POA) permite a clientes escritos para acceder un ORB en particular, pueda acceder fácilmente otros productos de diferentes vendedores. 3Se ha adaptado a los tiempos y a la competencia.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 9 ¿como ha evolucionado?

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 10 No es único Competidores: DCOM RMI/RMP HTTP/CGI Servlets Sockets

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores Java Database Connectivity Introducción  JDBC es una API, formada por conjunto de clases e interfaces en el lenguaje de programación Java, para ejecutar sentencias SQL.  Ofrece un estándar de conexión a cualquier base de datos disponible en el mercado.  Permite obtener los datos en forma fácil y cómoda en ambientes cliente-servidor a través de Internet/Intranet.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores ¿Qué hace JDBC?  Establece una conexión a una base de datos.  Envía sentencias SQL.  Procesa los resultados de estas sentencias.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 13 Arquitectura JDBC  Arquitectura normal  Puente JDBC-ODBC Aplicaciones Java JDBC API Adm. de controladores JDBC Controlador JDBC DB Controlador JDBC DB Aplicaciones Java JDBC API Adm. de controladores JDBC C. ODBC DB C. ODBC DB Adm. de controladores ODBC Puente JDBC/ODBC

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores Primer ejemplo básico Connection con = DriverManager.getConnection ( "jdbc:odbc:nombre", "login", "password"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery( "SELECT a, b, c FROM Table1"); while (rs.next()) { int x = rs.getInt("a"); String s = rs.getString("b"); float f = rs.getFloat("c"); }  JDBC usa una URL para especificar la base de datos.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 15...Primer ejemplo básico  Ejemplos de URL:  jdbc:mysql://myserver:4444/db1  jdbc:oracle://oraserver  jdbc:odbc:mydatabase

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 16 JDBC vs. ODBC  Se puede usar ODBC desde Java, pero el puente JDBC-ODBC ayuda bastante.  ODBC tiene una interfaz tipo C rompiendo el esquema de seguridad, robustez e implementación de Java.  ODBC mezcla funciones simple y complejas.  Los controladores de ODBC deben ser instalados en cada cliente.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 17...JDBC vs. ODBC  JDBC es una interfaz natural en Java.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 18 Modelos de acceso a BD  De 2 capas  La aplicación “habla” directamente con la base de datos.  Controlador JDBC se comunica con el sistema específico que maneja la base de datos.  La base de datos puede estar en otra máquina, con lo que el cliente se comunica por red. Esta es la configuración llamada cliente/servidor. Aplicación Java JDBC DBMS Cliente Servidor BD Protocolo BD

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 19 Modelos de acceso a BD  De 3 capas  Los comandos son enviados a la capa intermedia de servicios, la cual envía sentencias SQL a la base de datos. Ésta las procesa y envía los resultados de vuelta a la capa intermedia, para luego ser enviados al cliente.  Permite un control de acceso y de actualización.  Provee ventajas de performance. Aplicación Java JDBC DBMS Applet en Java o Navegador HTML Cliente (GUI) Llamadas HTTP, RMI,CORBA ServidorBD Servidor Protocolo BD

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 20 Categorías de los controladores JDBC  Puente JDBC-ODBC.  Parte API Nativa-Parte Java. Se convierte las llamadas JDBC al sistema de la Base de datos.  JDBC-Red. Es sólo Java. Las llamadas JDBC son convertidas a un protocolo de red independiente del sistema de la base de datos. Este protocolo es convertido en un servidor  Protocolo Nativo. Es sólo Java. Se usa un protocolo de red con la BD.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 21 Conexión  Un objeto “Connection” representa una conexión a una base de datos.  Una sesión incluye las sentencias SQL que son ejecutadas y los resultados de éstas.  Establecer la conexión: “DriverManager.getConnection”  La clase “DriverManager” intenta ubicar el controlador que pueda conectarse a la base de datos representada en la URL.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 22...Conexión  Sintáxis de una URL JDBC:  jdbc: :  es el nombre del controlador o del mecanismo de conexión. Ejemplo: odbc.  es la identificación de la base de datos. El formato varia según el controlador especificado. Ejemplo: //servidor:puerto/etc

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 23 Enviando sentencias SQL  JDBC permite que se escriba cualquier tipo de sentencia SQL. Aunque ésta fuera dependiente de la base de datos sólo se correría el riesgo de incompatibilidad al cambiar de base de datos.  Llamadas a procedimientos almacenados  Formatos de fecha

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 24...Enviando sentencias SQL  JDBC provee 3 clases:  “Statement”: Este objeto es usado para enviar sentecias SQL simples. Es creado por el método “createStatement”.  “PreparedStatement”: Este objeto es usado para sentencias que requieren uno o más parámetros. La sentencia es precompilada y guardada para uso futuro.  “CallableStatement”: Es usado para ejecutar procedimientos almacenados.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 25 Transacciones  Una transacción consiste en una o más sentencias que han sido ejecutadas y luego confirmadas (commit) o deshechas (rolled back)  Auto-commit está predeterminado.  Si Auto-commit está desactivado se debe usar los métodos “commit” o “rollback” explícitamente.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 26 Procesando respuestas  Las respuestas a las sentencias SQL se reciben en el objeto “ResultSet” que mantiene las filas.  Este objeto provee el acceso a los datos de esas filas a través de un conjunto de métodos “get”, los cuales, a su vez, permiten el acceso a cada columna de estas filas.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 27 Cargando la clase del controlador JDBC  Ejemplo: Class.forName(”empresa.db.Driver");  Esto crea una instancia del controlador y llama al método “DriverManager.registerDriver” registrando este controlador en la lista de controladores disponibles para conexiones.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores Ejemplo de sentencia Connection con = DriverManager.getConnection ( "jdbc:odbc:nombre", "login", "password"); PreparedStatement pstmt = con.prepareStatement( “UPDATE tabla1 SET m=? WHERE x=?”); pstmt.setString(1, "Hola"); for (int i = 0; i < 10; i++) { pstmt.setInt(2, i); int rowCount = pstmt.executeUpdate(); }

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores Primer ejemplo básico Connection con = DriverManager.getConnection ( "jdbc:odbc:nombre", "login", "password"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); while (rs.next()) { int x = rs.getInt("a"); String s = rs.getString("b"); float f = rs.getFloat("c"); }