CORBA: Common Object Request Broker Arquitecture - PowerPoint PPT Presentation

About This Presentation
Title:

CORBA: Common Object Request Broker Arquitecture

Description:

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 ... – PowerPoint PPT presentation

Number of Views:76
Avg rating:3.0/5.0
Slides: 30
Provided by: vicgaete
Category:

less

Transcript and Presenter's Notes

Title: CORBA: Common Object Request Broker Arquitecture


1
CORBACommon 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)

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.

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.

4
Conceptos claves en CORBA
  • Los conceptos claves de CORBA son
  • Esencialmente especifica los servicios de
    middleware que serán usados por las aplicaciones
    (objetos).
  • Existe una interfaz entre aplicaciones clientes y
    servidoras. Una lenguaje de definición de
    interfaz (IDL) ha sido definido específicamente
    para CORBA.
  • Cualquier objeto puede ser un cliente, un
    servidor o ambos. Para efectos de descripción
    CORBA usa el modelo Cliente/Servidor.
  • Soporta static binding y dinamic binding
  • No 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).

5
Diagrama conceptual de CORBA
6
Implementación de CORBA
7
como ha evolucionado?
  • CORBA es una especificación. Como cualquier
    especificación hubo áreas dejadas a la
    interpretación de los implementadores.
  • A través de Internet Inter-ORB Protocol (IIOP),
    la OMG espera que ORBs de diferentes vendedores
    puedan comunicarse fácilmente entre si.
  • Recientemente 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.
  • Se ha adaptado a los tiempos y a la competencia.

8
como ha evolucionado?
  • CORBA es una especificación. Como cualquier
    especificación hubo áreas dejadas a la
    interpretación de los implementadores.
  • A través de Internet Inter-ORB Protocol (IIOP),
    la OMG espera que ORBs de diferentes vendedores
    puedan comunicarse fácilmente entre si.
  • Recientemente 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.
  • Se ha adaptado a los tiempos y a la competencia.

9
como ha evolucionado?
10
No es único
  • Competidores
  • DCOM
  • RMI/RMP
  • HTTP/CGI
  • Servlets
  • Sockets
  • .............

11
Java Database ConnectivityIntroducció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.

12
Qué hace JDBC?
  • Establece una conexión a una base de datos.
  • Envía sentencias SQL.
  • Procesa los resultados de estas sentencias.

13
Arquitectura JDBC
  • Arquitectura normal
  • Puente JDBC-ODBC

Aplicaciones Java
Aplicaciones Java
JDBC API
JDBC API
Adm. de controladores JDBC
Adm. de controladores JDBC
Puente JDBC/ODBC
Controlador JDBC
Controlador JDBC
Adm. de controladores ODBC
C. ODBC
C. ODBC
DB
DB
DB
DB
14
Primer ejemplo básico
  • Connection con DriverManager.getConnection (
  • "jdbcodbcnombre", "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.

15
...Primer ejemplo básico
  • Ejemplos de URL
  • jdbcmysql//myserver4444/db1
  • jdbcoracle//oraserver
  • jdbcodbcmydatabase

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.

17
...JDBC vs. ODBC
  • JDBC es una interfaz natural en Java.

18
Modelos de acceso a BD
Cliente
  • 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
Protocolo BD
DBMS
Servidor BD
19
Modelos de acceso a BD
Cliente (GUI)
  • 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.

Applet en Java o Navegador HTML
Llamadas HTTP, RMI,CORBA
Aplicación Java
Servidor
JDBC
Protocolo BD
DBMS
ServidorBD
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.

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.getConnecti
    on
  • La clase DriverManager intenta ubicar el
    controlador que pueda conectarse a la base de
    datos representada en la URL.

22
...Conexión
  • Sintáxis de una URL JDBC
  • jdbcltsubprotocologtltsubnombregt
  • ltsubprotocologt es el nombre del controlador o del
    mecanismo de conexión. Ejemplo odbc.
  • ltsubnombregt es la identificación de la base de
    datos. El formato varia según el controlador
    especificado. Ejemplo //servidorpuerto/etc

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

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.

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.

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.

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.

28
Ejemplo de sentencia
  • Connection con DriverManager.getConnection (
  • "jdbcodbcnombre", "login", "password")
  • PreparedStatement pstmt con.prepareStatement(
    UPDATE tabla1 SET m? WHERE x?)
  • pstmt.setString(1, "Hola")
  • for (int i 0 i lt 10 i)
  • pstmt.setInt(2, i)
  • int rowCount pstmt.executeUpdate()

29
Primer ejemplo básico
  • Connection con DriverManager.getConnection (
  • "jdbcodbcnombre", "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")
Write a Comment
User Comments (0)
About PowerShow.com