You are on page 1of 62

Las interfaces

Ing. Edwin O. Ramos Velásquez

Curso: Teoría y Diseño de Base de Datos II
Carrera Profesional de Ingeniería de Sistemas Universidad Nacional José María Arguedas Andahuaylas – Apurímac – Perú Setiembre de 2011

Ing. Edwin O. Ramos Velásquez

1

Facilitan la abstracción
La utilización de interfaces es un hecho típico en el mundo de la computación Como ejemplo de interfaz tenemos:
El sistema operativo Los entornos de programación Los componentes, etc.

Ing. Edwin O. Ramos Velásquez

2

El sistema operativo como interfaz
Ing. Edwin O. Ramos Velásquez

Curso: Teoría y Diseño de Base de Datos II
Carrera Profesional de Ingeniería de Sistemas Universidad Nacional José María Arguedas Andahuaylas – Apurímac – Perú Setiembre de 2011

Ing. Edwin O. Ramos Velásquez

3

Introducción Sin software una computadora es inútil Software Software Ing. Ramos Velásquez 4 . Edwin O.

Operativo oculta al programador la complejidad del hardware Programas Aplicación 1 Aplicación 2 Excel. Ramos Velásquez 5 . El Sist. Edwin O.En la PC EXISTE una capa de software que oculta ….exe Sistema Operativo Lenguaje Máquina Dispositivos físicos Ing.exe Aplicación 3 WinWord.

Edwin O.El Sistema Operativo Oculta al programador la complejidad del hardware $·%&FH”· Save Sistema Operativo Open ADD A MOVE 6788H …… Ing. Ramos Velásquez 6 .

Ramos Velásquez 7 . Edwin O.Funciones del sistema operativo Máquina extendida (Máquina Virtual) Administrador de recursos Ing.

:Máquina extendida Aparenta la máquina virtual Hardware de la Máquina Archivo 1 Archivo 2 …. Archivo n Por ejemplo: A los ojos del programador los archivos aparecen enlistados y ordenaditos Ing.O. Ramos Velásquez 8 . Edwin O.S.

El Sistema Operativo (1) Máquina extendida Aplicación 1 Aplicación 2 Aplicación n SISTEMA OPERATIVO Discos Red Memoria Hardware Ing. Edwin O. Ramos Velásquez 9 .

Ramos Velásquez 10 . Edwin O.El Sistema Operativo (2) Administrador de recursos Recursos Impresora Administrador Proceso 1 Proceso 2 Pantalla Proceso 3 Disco Ing.

Edwin O.Los entornos de programación (Interfaces de usuario) (Lenguajes de programación) Ing. Ramos Velásquez 11 .

0 Motivo de la interfaz visual: Desarrollo Rápido de Aplicaciones Delphi 7.Interfaz de programación Delphi 7.0 es una herramienta RADVelásquez Ing. Edwin O. Ramos 12 .

Edwin O. Ramos 13 .Interfaz de programación Borland Developer Studio 2006 Motivo de la interfaz visual: Desarrollo Rápido de Aplicaciones Delphi 7.0 es una herramienta RADVelásquez Ing.

Edwin O.Interfaz de programación Visual Basic 6. Ramos Velásquez 14 .0 Motivo de la interfaz visual: Desarrollo Rápido de Aplicaciones Visual Basic es una herramienta RAD Ing.

Ramos Velásquez 15 .Interfaz de programación Microsoft SQL Server Management Studio Motivo de la interfaz visual: Editor de consultas Transact-SQL Ing. Edwin O.

Interfaz de programación Visual Studio 2008 Motivo de la interfaz visual: Desarrollo Rápido de Aplicaciones Visual Basic es una herramienta RAD Ing. Edwin O. Ramos Velásquez 16 .

Edwin O. Ramos Velásquez 17 . Edwin O. Ramos Velásquez Curso: Teoría y Diseño de Base de Datos II Carrera Profesional de Ingeniería de Sistemas Universidad Nacional José María Arguedas Andahuaylas – Apurímac – Perú Setiembre de 2011 Ing.Sistema Gestor de Bases de Datos (SGBD) Ing.

mdb Base3.Los administradores de servidores de bases de datos (SGBD) son una interfaz visual entre el usuario y el servidor de bases de datos Soft. Adm de B.db Base3. Drivers/Server SQL Enterprise Management SGBD (1) Base1.mdb Base2.mdf Base2.exe SGBD (3) Base1.D.mdf Access.mdf Base3.db Base2. Ramos Velásquez 18 .db SGBD=Sistema Gestor de Bases de Datos Ing. Edwin O.exe SGBD (2) Base1.mdb IBConsole.

Ramos Velásquez 19 .Administrador corporativo de SQL Server 2000 SQL Enterprise Management Ing. Edwin O.

Edwin O. Ramos Velásquez 20 .Administrador de Bases de datos SQL Server 2005 Ing.

exe Administrador de Bases de datos Interbase 6. Ramos Velásquez 21 .0 Access.IBConsole.exe Administrador de Bases de datos Microsoft Access Ing. Edwin O.

Interfaces visuales en la forma de componentes
Ing. Edwin O. Ramos Velásquez

Curso: Teoría y Diseño de Base de Datos II
Carrera Profesional de Ingeniería de Sistemas Universidad Nacional José María Arguedas Andahuaylas – Apurímac – Perú Setiembre de 2011

Ing. Edwin O. Ramos Velásquez

22

Ocultan la complejidad de implementaciones
Los componentes ocultan la complejidad de ciertas secciones de código.
Por ejemplo:
el componente MediaPlayer El componente ChartFX

El programador se desentiende de la programación de instrucciones confusas simplemente usa los componentes Ing. Edwin O. Ramos Velásquez

23

El Componente MicrosoftReportViewer

El Componente CrystalReportViewer

El componente MonthCalendar

Ing. Edwin O. Ramos Velásquez

24

Ramos Velásquez 25 . Edwin O.En conclusión Ing.

Las interfaces: Se convierten en los intermediarios entre aplicaciones My name is Jhon Peter Hello. Whats your name? TRADUCTOR (Interfaz o intermediario) NOTA: Intermediario es sinónimo de interfaz Ing. Edwin O. Ramos Velásquez 26 Yo soy Juan Juan ¿Hola. Cuál es tu nombre? .

Interfaces de Acceso a Bases de Datos Ing. Ramos Velásquez 27 . Edwin O.

Archivo Formato X App1. Una aplicación estaba amarrada a un tipo de base de datos específico. Prácticamente imposible modificar la aplicación para que acceda a otro tipo de base de datos. Edwin O.Exe Archivo Formato Y App2. accedía de forma única a formatos de bases de datos específicos. Ramos Velásquez 28 Aplicación .Interfaces para el acceso a datos (1) ¿Cómo era el acceso a datos sin interfaces? Una aplicación de acceso a datos.Exe Archivo Formato Z Archivo de datos (Bases de datos) Ing. Muy difícil la migración hacia otro formato de base de datos específico.

Edwin O.Exe App2.Interfaces para el acceso a datos (2) Interfaz para acceso a archivos de distintos formatos Y es que los distintos formatos de Bases de Datos requieren el uso de ellas Deberíamos utilizar una interfaz para acceder a los archivos contenidos en una Base de datos de Formato X.Exe Archivo Formato Z Archivo de datos (Bases de datos) 29 Aplicación Interfaz Ing. otra interfase para acceso a otra de formato Y Interprete formatoX Interprete formatoY Archivo Formato X Archivo Formato Y Interprete formatoY App1. Ramos Velásquez .

Exe App2.Interfaces para el acceso a datos (3) Interfaz para acceso a aplicaciones SGBD Y es que los distintos formatos de comunicación con aplicaciones de SGBD requieren el uso de ellas Deberíamos utilizar una interfaz para acceder a una conversación con Aplicaciones SBGD Interprete SGBD1 Interprete SGBD2 App1. Ramos Velásquez .Exe SGBD 1 SGBD 2 Interprete SGBD3 SGBD 3 SGBD (Sistema Gestor de Bases de Datos o DBMS) 30 Aplicación SGBD=Sistema Gestor de Bases de Datos DBMS=Data Base Management System Interfaz Ing. Edwin O.

Ramos Velásquez 31 . Para acceso a Interbase Microsoft : Driver MS SQL Server. (Driver) Driver SGBD SQL Server JET. Driver Fox Pro Oracle Driver Oracle Etc.¿Si a las interfaces denominamos “Driver”? Entonces: Un “Driver” es el intermediario Los hay de varios fabricantes: Borland: Driver Interbase.exe App2. Edwin O.exe El sistema Interfaz Genérica SGBD Ing.etc Archivo de datos App1.

Ramos Velásquez 32 . Edwin O.Interfaz genérica de acceso a datos Ing.

Las interfaces tienen distinto comportamiento Ing. Edwin O.El problema de diversidad de interfaces Las diversidad de interfaces obliga a la aplicación a tener una estrecha relación con la interfaz que utiliza. Ramos Velásquez 33 .

Exe Interprete formatoY Interprete formatoZ Archivo Formato Z Interfaz de Data Aplicación App1. Edwin O.Exe App2.Cada aplicación está estrechamente ligada a la interfaz que utiliza Interprete formatoX Archivo Formato X Archivo Formato Y App_1.Exe Interprete SGBD1 Interprete SGBD2 Interprete SGBD3 Archivos de datos (Bases de datos) SGBD1 SGBD1 SGBD1 Aplicación Interfaz de Aplicaciones Ing. Ramos Velásquez SGBD 34 .Exe App_2.

¿Ideas para resolver el problema? La Interfaz Genérica Permite una forma estándar y genérica de conexión entre la aplicación y la interfaz de acceso a datos Interfaz de datos Interfaz de Aplicaciones Ing. Edwin O.exe SGBD 35 .exe Archivos de datos Interfaz Genérica App2. Ramos Velásquez App1.

Exe App2. Ramos Velásquez SGBD 36 .Exe Interprete formatoY Interprete formatoY Archivo Formato Z Interfaz de Data Aplicación App1.Exe App2. Edwin O.Interfaz Genérica de Acceso a datos Interprete formatoX Archivo Formato X Archivo Formato Y App1.Exe Interprete SGBD1 Interprete SGBD2 Interprete SGBD3 Archivos de datos (Bases de datos) SGBD1 SGBD2 SGBD3 Aplicación Interfaz Genérica Interfaz de Aplicaciones Ing.

MDF B.exe App3.mdb B. Jet (Archivo) *. Edwin O.exe App2.D.D.exe App4. Firebird *.fbl 37 ODBC surge como una forma de establecer un estándar en lo que se refiere el acceso a datos ODBC = Open Database Connectivity ODBC 32 Bits Ing.exe Driver 1 Jet 4.Interfaz 01:ODBC sistema de interfaz genérica de acceso a datos ODBC = Open DataBase Connectivity App1. MSSQL B. Ramos Velásquez .D. Fox Pro (Archivo) *.0 Driver 2 FoxPro B.D.dbf ODBC Driver 3 MS SQL Server Driver 3 Firebird SQL Servidor Firebird SQL (SGBD) Servidor SQL Server (SGBD) *.

Edwin O. Ramos Velásquez Firebird SQL (SGBD) 38 .exe Driver 1 OLEDB Provider1 Driver 2 OLEDB Provider2 B. Jet (Archivo) B.D.exe OLE DB App3.D. Fox Pro (Archivo) App2.exe Driver 4 OLEDB Provider4 OLE DB ADO = Access Data Objects Ing.Interfaz 02: OLE DB (ADO) sistema de interfaz genérica de acceso a datos App1.exe Driver 3 OLEDB Provider3 Servidor SQL Server (SGBD) App4.

Ramos Velásquez .NET App3.exe Firebird SQL (SGBD) 39 ADO = Access Data Objects Ing.NET Fox Pro (Archivo) Driver 3 Microsoft Server Native Client Driver 4 Driver ADO.NET Driver 2 Driver ADO. Edwin O.NET MS Access B.exe Framework . Jet (Archivo) B.Interfaz 02: ADO. Fox Pro App2.exe Driver 1 Driver ADO.D.NET sistema de interfaz genérica de acceso a datos App1.NET Firebird SQL Servidor SQL Server (SGBD) App4.exe ADO .D.

D.D. Fox Pro App2. Jet (Archivo) B.exe Máquina virtual Java JDK Driver 3 Driver JDBC MS SQLServer Driver 4 Driver JDBC Firebird SQL Driver 2 Driver JDBC Fox Pro (Archivo) Servidor SQL Server (SGBD) App4.exe Driver 1 Driver JDBC MS Access B.Interfaz 02: JDBC sistema de interfaz genérica de acceso a datos App1. Ramos Velásquez . Edwin O.exe JDBC App3.exe Firebird SQL (SGBD) 40 ADO = Access Data Objects Ing.

empezó a promocionar ADO(OLE DB). Edwin O.NET Para Java. también está difundiendo una versión propietaria de interfaz JDBC Ing. porque lo divulga por su promocionada “rapidez” Con la aparición de la tecnología .ODBC y OLEDB son interfaces genéricas de acceso a datos Proveen un medio estándar de comunicación con una base de datos o servidor de bases de datos Microsoft promociono originalmente ODBC. luego.NET promocionó la interfaz ADO. Ramos Velásquez 41 .

Edwin O. y a una base de datos ORACLE mediante el controlador de Oracle. sin que fuera necesario cambiar nada en el ejecutable de la aplicación(y en teoría. Una aplicación puede utilizar la API ODBC y acceder a distintos orígenes de datos relacionales simplemente conectándose a distintos controladores ODBC. la aplicación podría conectarse de la misma forma a una base de datos de Jet mediante el controlador ODBC de Jet) Oracle App.exe ODBC Controlador (Driver) SQL Server Ing.ODBC Open DataBase Connectivity (Copnectividad abierta a bases de datos) API independiente de la base de datos (relacional). Ramos Velásquez 42 . En teoría. una aplicación ODBC podría conectarse a SQL Server mediante el controlador de SQL Server.

Ramos Velásquez 43 .exe Administrador de Conexiones ODBC Aspecto gráfico del Administrador de conexiones ODBC ODBC Controlador (Driver) Las conexiones ODBC que se crean quedan registradas en Windows Oracle SQL Server Ing.ODBC: Administrador de conexiones El administrador de conexiones ODBC es conocido y su aspecto no ha cambiado desde Windows 95 App. Edwin O.

OLE DB Conjunto de interfaces de propósito general diseñado para que los desarrolladores puedan construir herramientas de acceso a datos en forma de componentes utilizando el modelo de componentes COM. Edwin O.mdb B2. B1.dbf B3. en Vbasic tenemos: Adodc1. Data Grid OLEDB. Ramos Velásquez OLEDB Controlador OLE DB Provider (Driver) SQL Server Oracle 44 .exe Comp2 Comp3 COM Ejemplo.etc Ing.txt Comp1 App.

Esta arquitectura se diseñó para facilitar el desarrollo de aplicaciones de empresa multinivel que necesitan acceder a diversos orígenes de datos relacionales y no relacionales a través de intranets o de Internet. Ramos Velásquez 45 . que procesan y transforman datos (por ejemplo. los consumidores de datos. El Acceso a datos universal consiste en un conjunto de compo-nentes software que interaccionan entre sí utilizando un conjunto común de interfaces de nivel de sistema definidas por OLE DB. procesadores de consultas y motores de cursor).OLE DB Un conjunto de interfaces de propósito general diseñado para que los desarrolladores puedan construir herramientas de acceso a datos en forma de componentes utilizando el Modelo de objeto componente (COM. Ing. a la vez que sigue apro-vechando los beneficios de la tecnología de base de datos sin tener que transferir datos desde su lugar de origen hasta un DBMS OLE DB forma parte de la plataforma de Acceso a datos universal de Microsoft. Los componentes del Acceso a datos universal son los proveedores de datos. que contienen y exponen datos. OLE DB permite que las aplicaciones tengan un acceso uniforme a los datos almacenados en contenedores de información SGBD y no SGBD. que utilizan datos y los componentes de servicio. Edwin O. Component Object Model).

exe COM Comp1 Comp2 Comp3 Componentes ADO OLEDB Controlador OLE DB Provider (Driver) Oracle Ing. Edwin O.OLEDB: Interoperabilidad con ADO La familia de componentes ADO fue diseñada para interactuar con la interfaz OLE DB. Ramos Velásquez SQL Server B1. ADO también tiene soporte para administrar conexiones ODBC App. Por compatibilidad.mdb B2.dbf 46 ADO=ActiveX Data Object .

aspx etc Oracle Comp2 Comp3 Framework . Ing.ADO .Net Comp1 App.NET Conjunto de interfaces cuya finalidad es facilitar el acceso a datos a través de los componentes del framework . Dataset. Ramos Velásquez ADO.exe *. Edwin O.NET SQL Server Oracle 47 . SQLReader.exe *.NET Connection. etc.

java Comp2 Comp3 Componente JDBC JDBC = Java Database Connectivity JDBC Controlador JDBC (Driver) Driver Firebird Driver Oracle Driver SQL Server Driver ODBC Firebird Driver ODBC Oracle Driver ODBC SQL Server Etc. Oracle SQL Server Ing.JDBC en una aplicación Java Interfaz de acceso a datos para Java Aplicación Java Firebird Interfaz JDBC Comp1 App. Ramos Velásquez 48 . Edwin O.

telepolis.com/mydream/Java/BDatos/BDArJDBC. Al construir una aplicación no se tiene que preocupar por la creación de las clases que conectaran con la base de datos. la tarea principal de JDBC es ocultar lo específico de cada base de datos y preocuparse solo por su aplicación. http://club. Ramos Velásquez 49 . Edwin O.html Ing. cada una implementada de manera diferente por distintos distribuidores.Estructura de JDBC JDBC cumple su objetivo mediante un conjunto de interfaces de java. El conjunto de clases que la componen se denomina el controlador JDBC.

Ing. Es en el primer paso. pues debe especificar su controlador. Edwin O. la conexión. las llamadas a JDBC y su empleo.Conexión a la Base de datos usando JDBC Ahora vamos a empezar a conocer el tema central de este escrito. Ramos Velásquez 50 . donde es difícil conseguir una portabilidad general.

•Thin Driver del lado del servidor: Es funcionalmente igual al del lado del cliente pero es instalado en el servidor para tener acceso a otros servidores. Ramos Velásquez 51 . particularmente con los applet. o sea aquel que tiene instalada la base de datos Oracle.Conexión a la Base de datos usando JDBC para Oracle Oracle proporciona los siguientes controladores JDBC: •Thin Driver: Es un controlador 100% de Java para el uso del lado del cliente sin una instalación de Oracle. Ing. Edwin O. •Driver Interno del lado del servidor: Funciona dentro del servidor objetivo. •OCI Driver: Para el uso del lado del cliente con una instalación de Oracle.

Otras interfaces de acceso a datos Ing. Edwin O. Ramos Velásquez 52 .

Edwin O. Ramos Velásquez 53 .Interfaces para aplicaciones Hay otro tipo de interfaces que ya no interactúan directamente con las bases de datos o los Servidores de bases de datos Este tipo de interfaces están orientadas a la programación. Ing. Algunas son genéricas (pueden ser utilizadas desde cualquier lenguaje de programación) otras son específicas para cada entorno de aplicación.

aunque también soporta ODBC ADO.etc Los componentes DBExpress: Para datos tipo Interbase Los componentes ADO: Para trabajar con ADO Ing. Ramos Velásquez 54 .Tipos de interfaces para aplicaciones Interfaces genéricas: Microsoft DAO.Database. Trabaja con ADO. Trabaja con OLEDB. Representa una tabla Data Grid. Representa una tabla En Delphi Los componentes BDE:Dataset. Trabaja con ADODC. Trabaja con servidores SQL server (Aplic distribuidas} Interfaces específicas En Visual Basic ADODC. Edwin O. Trabaja con Jet. aunque también soporta ODBC RDO.

Ing. etc. el control DATA de DAO. TQuery. ComboBox. En Delphi tenemos también: TTables. ListBox. etc. TDataBase.) En Delphi TStringList. etc. por ejemplo: JET. TDataModule. SQL Server. Edwin O. Un servidor de bases de datos (Interbase. La rejilla de datos (Grid). TThread.Tipos de interfaces para aplicaciones (2) Interfaces visibles: Las que se pueden visualizar. por ejemplo: Los formularios. Interfaces no visibles Las que no se pueden visualizar. TPrinter. TMemo. Ramos Velásquez 55 . TBDEdit. etc.

DAO: Sistema de Interfaz Genérica (1) (Aparece con MS Access 95.5 RDO 2. MS SQL Server 6.0 Administrador de controladores ODBC Controlador ODBC de SQL Server SQL Server Interfaz DAO/ODBCDirect para acceder a SQLServer desde Visual Basic Formulario de visual Basic utilizado con un control Data como origen de datos utilizado para implementar la interfaz DAO/Jet y DAO/ODBCDirect.5 Jet Administrador de controladores ODBC Controlador ODBC de SQL Server SQL Server Interfaz DAO/Jet para acceder a SQL Server desde Visual Basic DAO 3.5) DAO/Jet 16/32 Bits Aplicación en Visual Basic DAO/ ODBC Direct Aplicación en Visual Basic Visible Control Data Control Data DAO 3. 56 Ing. Edwin O. Ramos Velásquez .

0 RDO 2. Ramos Velásquez 57 . Edwin O. MS SQL Server 7) ADO (32 Bits) Aplicación en Visual Basic RDO (32 Bits) Visible Aplicación en Visual Basic Control ADO Data Control RemoteData ADO 2. Interfaz RDO para acceder a SQL Server desde Visual Basic Ing.ADO: Sistema de Interfaz Genérica (2) (Aparece con MS Access 97.0 OLE DB Administrador de controladores ODBC Controlador ODBC de SQL Server SQL Server Proveedor OLE DB para ODBC Controlador ODBC de SQL Server Proveedor de OLE DB para SQL Server SQL Server Interfaz ADO para acceder a SQL Server desde Visual Basic Formulario de Visual Basic utilizado con un control Adodc1 como origen de datos utilizado para implementar la interfaz ADO.

NET: Sistema de Interfaz Genérica (3) (Aparece con la aparición del Framework .NET Firebird Driver ADO.ADO. Edwin O.NET) ADO..NET Aplicación en Visual .NET XX Microsoft Server Native Client Formulario de Visual Studio 2008 utilizando un control DatagridView enlazado a un Dataset como origen de datos utilizado para implementar la interfaz ADO.NET Visible .NET MySQL Driver ADO. se enlaza a controles ADO.. DatagridView CrystalReportViewer Dataset SQLDataReader SQLDataAdapter SQLConection ADO . Ramos Velásquez 58 .NET Driver ADO.. SqlConnection ) Servidor Firebird SQL Servidor MySQL Servidor XX Servidor MS SQL Server Ing. SqlDataAdapter..NET (DataReader. NET NOTA: El Dataset..

Ramos Velásquez 59 ..Componentes de intermediación en Delphi TDataset MiCodigo. Interbase. ---------------End. SQL Server..pas Begin Registro 1 Registro 2 . Edwin O. Cursor Interfaz SABD (Access.. Paradox. etc) Registro N Ing.

db (Paradox) Base x.0 (Access) Proveedor OLEDB Oracle Proveedor OLEDB SQL Server Interbase (C/S) Servidores de Bases de datos SQL Server MiBase1. Ramos Velásquez 60 .mdb (Access) MiBase4.. Edwin O. MiBase5.MDF Archivos de Bases de datos NOTA: ADO está presente en Windows 98 y versiones superiores de este sistema operativo Ing.gdb MiBase2.MDF MiBase6.gdb MiBase3.Componentes en Delphi Aplicación Componentes Delphi de Acceso a datos Controles IBExpress Componentes BDE Componentes ADO Librerías de acceso a datos IDAPI Borland Database Engine (BDE) API ODBC ADO Controlador Paradox Controladores de Bases de Datos (Drivers) Controlador DBase Controlador Access Controlador SQLServer Controlador Interbase Controlador ODBC Paradox Controlador ODBC DBase Controlador ODBC Access Controlador ODBC SQLServer Controlador ODBC Interbase Proveedor OLEDB Jet 4..

rendimiento de la configuración Cliente-Servidor. Hay que considerar aspectos tales como: Licencias. Edwin O. rapidez de la transmisión de datos. Ramos Velásquez 61 . etc Ing.Conclusiones Escoger la interfaz correcta no es tarea sencilla.

Edwin O.FIN Ing. Ramos Velásquez 62 .