En ésta unidad se hará una presentación general de las prestaciones y el entorno InterBase, así como de las aplicaciones que le acompañan para la administración y el mantenimiento de las bases de datos. También nos introduciremos en el proceso de instalación sobre las diferentes plataformas en las que se encuentra disponible.
La unidad se divide en dos grandes partes, una primera dedicada a introducirnos en InterBase, en la cual se explica la funcionalidad del producto y sus especificaciones técnicas. Servirá para que podamos saber hasta dónde podemos llegar con InterBase, y sobre todo para tener una idea clara de lo que es a la hora de decidir en cada caso si es el producto que mejor se adapta a las necesidades de nuestras aplicaciones o no.
En esta primera parte también se abordan (de una forma muy general), los conceptos de Cliente/Servidor y se hará un repaso a todas las herramientas que acompañan a InterBase, y sirven a la administración y mantenimiento de las bases de datos de nuestro servidor.En la segunda parte de la unidad se explica cómo realizar la instalación de InterBase tanto en el servidor como en los clientes, y se aborda el proceso de instalación en las diferentes plataformas en las que InterBase puede funcionar.
InterBase es un RDBMS (sistema de administración de bases de datos relacionales) disponible para diferentes plataformas. Hablar de InterBase es hablar de una herramienta que cubre las expectativas que puedan surgir a un programador de aplicaciones de gestión con conocimientos de SQL y administración de Bases de datos.
Las preguntas más frecuentes a este respecto tienen con InterBase respuesta afirmativa: ¿Puedo crear una base de datos con SQL? ¿Tengo a mi disposición un editor de SQL para escribir las sentencias y ejecutarlas? ¿Son automatizadas las consultas de manera que se ejecuten óptimamente? ¿Soporta InterBase el ANSI SQL? ¿Posee InterBase un conjunto de funciones internas que permitan acceder a las bases de datos creadas? ¿Tiene herramientas de administración para hacer mantenimiento de las bases de datos creadas? ¿Se puede administrar la seguridad a nivel de usuarios para controlar sus accesos? Etc.Información General.
El servidor de
InterBase corre en varias plataformas, desde Windows95/98, NT 4.0 hasta Unix, pasando por
Novell Netware. Para obtener información exhaustiva sobre las plataformas que soportan
InterBase, pueden dirigirse a la web de InterBase http://www.InterBase.com
No obstante, podemos ofrecer las características más notables de las plataformas más importantes:
Windows: Sistema Operativo Windows NT, Windows 95 y Windows 98. Memoria RAM 16 megabytes como mínimo, aunque se recomiendan 64 para el servidor. El procesador debe ser como mínimo un 486DX2 66MHz, aunque se recomienda un Pentium 100 o más para un Servidor que deba atender a varios clientes. Unix: De momento, InterBase para Unix sólo existe en su versión 4.x, pero está previsto que en el tercer trimestre de 1998 esté disponible la versión 5.x.Por otro lado, dadas las características de las plataformas UNIX, no existen requerimientos mínimos, exceptuando las necesidades mínimas que requiera el sistema operativo para funcionar; es decir: Si se ha podido montar el sistema operativo correctamente, entonces se puede instalar InterBase. De todas formas, aunque en una máquina relativamente pequeña (486 con 8Mb de RAM) podamos montar InterBase Server, es lógico pensar que el rendimiento con grandes cantidades de datos, procesos que realicen millones de operaciones y muchos usuarios conectados diste mucho de ser una maravilla.
Novell NetWare:InterBase 4.0 estaba disponible para plaformas 3.11 y 3.12 de Novell NetWare como alternativa 16 Bits, pero ya ha sido descatalogada. En la actualidad existe InterBase 4.22 para Novell IntraNetWare ( Novell 4.11 ). Esta versión de InterBase es de 32 Bits, pero manteninedo la típica estructura de InterBase 4.Las características generales de InterBase 4 y 5 se resumen en esta tabla:
Protocolo de Red | Todas las plataformas soportan TCP/IP. InterBase para Windows soporta NetBeui/named pipes y InterBase para Novell soporta IPX/SPX.. |
SQL-92 | Soporta el estándar ANSI SQL, disponible tanto en la herramienta ISQL como en las aplicaciones Borland para Bases de datos. |
Acceso simultáneo a varias bases de datos | Una aplicación puede acceder a varias bases de datos al mismo tiempo. |
Arquitectura Multigeneracional | El Server conserva viejas versiones de los datos durante las transacciones, para poder ofrecer vistas consistentes de los datos. |
Bloqueo optimizado a nivel de registro | El Server bloquea sólo registros individuales mientras se modifican los datos, y no la página completa. |
Optimización de Consultas | El Server optimiza las consultas automáticamente, aunque también se puede especificar manualmente el plan de la consulta. |
Tipos de Dato Blob y filtros Blob | Tipos de datos a los que se asigna tamaño dinámicamente, pueden contener datos sin formato: Textos, gráficos, etc... |
Integridad referencial Declarativa | Relaciones cruzadas entre tablas forzadas automáticamente, por medio de FOREIGN KEY y PRIMARY KEY. |
Procedimientos almacenados | Módulos programados de la base de datos para consultas avanzadas y procesos complejos de manipulación de datos. |
Triggers | Procesos que se disparan cuando se produce una operación de inserción, modificación o borrado en una determinada tabla. |
Eventos | Mensajes enviados de la base de datos a las aplicaciones. Permite habilitar las aplicaciones como receptoras de notificaciones asíncronas desde la base de datos. |
Vistas actualizables | Las vistas se actualizan automáticamente frente a los cambios en la base de datos. |
Funciones definidas por el usuario (UDFs) | Auténticos procesos (DLL`s en Windows) que se ejecutan en el servidor. Esto permite añadir funciones que no existen en SQL ni en InterBase (No disponible en Novell por limitaciones del Sistema Operativo). |
Outer Joins | Construcciones complejas entre varias tablas. |
Tratamiento explícito de transacciones | Control total con Start, Commit y Rollback de las transacciones. |
Acceso concurrente a los datos por varias aplicaciones | El hecho de que un cliente trabaje con una o varias tablas no bloquea a otros clientes. |
Vectores Multidimensionales | Tipos de dato de columna que están ordenados en una lista indexada de elementos (Campos de tipo Array de cualquier tipo de dato.). |
Commit en dos fases de forma automática | En las transacciones que afectan a mas de una base de datos, se comprueban los cambios en todas ellas antes de realizar Commit. |
API InterBase | Funciones internas documentadas y disponibles para construir sentencias SQL/DSQL que acceden directamente al motor de InterBase y reciben los resultados. |
Gpre | Preprocesador para convertir las sentencias y variables SQL/DSQL embebidas, para que puedan ser leídas por el lenguaje huésped. |
Server Manager | Herramienta Windows para hacer copias de seguridad, restaurarlas, y controlar el mantenimiento y seguridad de las bases de datos. |
Windows ISQL | Herramienta interactiva para consultas y definición de datos bajo Windows. |
Isql | Interprete de comandos en línea (modo texto) de la herramienta InterBase Interactive SQL. Puede usarse en lugar de Windows ISQL. |
Administrador en línea. | Interprete de comandos en línea (modo texto) que puede utilizarse en lugar del InterBase Server Manager para la administración de la base de datos. |
Programas ejemplo | Programas en C, listos para compilar y enlazar, los cuales pueden usarse para realizar consultas a las bases de datos de ejemplo. |
Fichero de mensajes | EL fichero InterBase.msg, contiene todos los mensajes susceptibles de aparecerle al usuario. |
Es interesante ampliar un poco más algunos de los puntos tratados en la tabla anterior, aunque de todos modos, esos puntos serán tratados mas ampliamente a lo largo del curso.
SQL: InterBase soporta SQL-92. Eso significa integridad referencial declarativa con operaciones en cascada (InterBase 4 no admite cascading), vistas modificables y outer joins. El servidor de InterBase provee librerías que soportan el desarrollo de SQL embebido y aplicaciones cliente con consultas SQL dinámicas (DSQL). En todas las plataformas, las aplicaciones cliente pueden ser escritas contra el API de InterBase, una librería de funciones que hace de interfaz entre las bases de datos y el servidor.InterBase también soporta parte del SQL extendido, especificaciones de SQL3 que amplían al SQL 92: Procedimientos almacenados, disparadores (triggers), etc.
Acceso simultáneo de varios usuarios a las bases de datos: InterBase habilita a las aplicaciones cliente para acceder simultáneamente a una misma base de datos, y también habilita a varias aplicaciones a acceder a varias bases de datos simultáneamente. Por medio de los eventos podemos notificar a las aplicaciones cliente lo que va sucediendo en la base de datos, como inserciones o modificaciones.
También podemos escribir funciones definidas por el usuario (UDFs) y asociarlas a la base de datos, siendo éstas accesibles a todas las aplicaciones que utilicen ésa base de datos.
Gestión de transacciones: Las aplicaciones cliente pueden iniciar varias transacciones. InterBase ofrece control total y explícito al respecto con las instrucciones start transaction, commit work, y rollback. Las transacciones pueden aislarse de los cambios producidos por otras transacciones en curso. Para cada una de las transacciones, la base de datos aparece como si no hubiera cambiado, exceptuando los cambios producidos por la propia transacción. En ese estado (llamado Snapshot o foto fija), los registros eliminados por otra transacción existen, los registros añadidos por otra transacción no existen, y los registros modificados por otra transacción aparecen en su estado original.
Arquitectura multigeneracional: InterBase es capaz de conservar la consistencia de los datos en entornos de explotación, donde se mezclan las consultas y las modificaciones de forma concurrente. Para ello utiliza lo que se denomina arquitectura multigeneracional, la cual consiste en crear y almacenar varias versiones de cada dato. Con ese sistema, InterBase muestra a todos los usuarios una versión coherente de la información, independientemente de las modificaciones introducidas por otro(s) usuario(s). Para ello InterBase usa las transacciones, aislando unos cambios de otros cambios en la base de datos.
Bloqueo optimizado a nivel de registro: El bloqueo se aplica sólo al registro que está siendo modificado, a petición de una transacción. Esto permite una más amplia capacidad de acceso de los clientes a la base de datos. Esta característica es destacable frente a otras arquitecturas ( SQLServer 6.5 por ejemplo) en las que el bloqueo se realiza a nivel de página, y en las que se bloquean datos dispares de forma arbitraria, solo por el hecho de encontrarse físicamente en la misma página de la base de datos. El bloqueo a nivel de registro permite a varios usuarios modificar datos de una misma tabla alejando al máximo la posibilidad de conflictos, lo cual se traduce en una alta capacidad de acceso a la base de datos y a su vez en un aumento de las operaciones en serie aplicadas a la misma.
Especificaciones técnicas.
En este apartado vamos a definir las
características técnicas de InterBase. A través de éstas características y de un
análisis pormenorizado de lo que queremos conseguir, podremos determinar exactamente si
InterBase se adapta a nuestras necesidades, en función de la magnitud, crecimiento
previsible y número de clientes de nuestra base de datos, entre otras.
Máximo número de clientes conectados a un servidor: No existe un número máximo de clientes a los que InterBase puede servir, ya que depende de una serie de factores combinados. Capacidad del sistema operativo, limitaciones del Hardware y demandas que cada uno de los clientes coloque en el servidor. Podemos asumir que con una aplicación Cliente normal que ejecute operaciones de Base de datos de interacción humana (procesos activados por personas) y una plataforma servidora moderna (Pentium 200MHZ +64MB RAM), un servidor InterBase puede manejar hasta 150 clientes sin mayores problemas.
Esto es una guía, no una garantía. Las aplicaciones que utilicen altos niveles de conexión sobre las cuales se ejecuten complejas operaciones de alto volumen, causaran que el número de clientes sea menor, pero no perdamos de vista que algunos de los sistemas operativos disponibles no tienen tecnología suficiente para servir correctamente 150 conexiones de red.
Máximo tamaño de la Base de datos. El máximo tamaño de archivo direccionable es de 2Gb para Windows 95/98, y 4Gb para Windows NT y UNIX. Teniendo en cuenta que una Base de datos InterBase puede dividirse en casi cuantos archivos se quiera (hasta 65,536), podemos decir que no hay límite de tamaño para una base de datos. Refiérase a la documentación del sistema operativo para el tamaño máximo de archivo.
Máximo número de archivos abiertos por base de datos: Por diseño, 216 (65,536), debido a que los archivos son enumerados con un Unsigned int de 16 bits, así que el contador llega a ese límite. Muchos sistemas operativos tienen un límite menor del número de archivos que un solo proceso puede abrir simultáneamente. Refiérase a la documentación del sistema operativo para el límite de archivos abiertos.
Máximo número de bases de datos abiertas en una transacción: No tiene restricción, debido a que es un buffer que contiene una lista enlazada; y depende mucho de los recursos del sistema.
Máximo número de tablas por base de datos: Por diseño, 216 (65,536), debido a que las tablas son enumeradas con un Unsigned int de 16 bits.
Máximo tamaño de una fila: 64Kb. Cada Blob y Array contribuye con 8 bytes a este límite. Las tablas del sistema tienen un límite de 128Kb.
Máximo número de filas y columnas por tabla: Por diseño, 232 filas, debido a que las filas son enumeradas con un Unsigned Int de 32 bits por tabla. El número de columnas depende del tipo de dato utilizado. Una fila puede ser de 64K. Por ejemplo se pueden definir 16,384 columnas de tipo INTEGER (Cuatro bytes por cada una) en una tabla.
Máximo número de Indices por tabla: Por diseño, 216 (65,536), debido a que los archivos son enumerados con un Unsigned int de 16 bits.
Máximo número de índices por base de datos: Por diseño, 232, debido a que pueden crearse 216 tablas por base de datos, las cuales pueden tener 216 índices.
Máximo número de Eventos por Procedimiento almacenado: No hay restricción por diseño, pero hay un límite práctico, dado que existe un límite en la longitud del código de un procedimiento almacenado o trigger.
Máximo tamaño de código de un procedimiento almacenado o trigger: 48Kb de BLR, el lenguaje compilado del lenguaje del procedimiento almacenado o trigger.
Máximo tamaño de un Blob: Este tamaño depende del tamaño de la página de la base de datos.
Página de 1Kb => 64Mb.
Página de 2Kb => 512Mb.
Página de 4Kb => 4Gb.
Página de 8Kb =>32Gb.
* EL máximo tamaño de un segmento Blob es de 64Kb.
Máximo número de tablas en un JOIN: No hay restricción en diseño, aunque la tarea de hacer joins en tablas es exponencial con relación al número de tablas de un join. Podemos considerar que número práctico más grande de tablas en un JOIN se acerca a 16.
Máximo número de niveles en una consulta anidada: No existe restricción por diseño. El límite práctico depende del tipo de consultas que se estén anidando. Para ser prácticos, es necesario probar cada aplicación con un volumen real de datos para saber el nivel de anidamiento que puede resultar aceptable.
Máximo número de columnas por un índice compuesto: 16.
Máximo nivel de anidamiento para Triggers o procedimientos almacenados: 750 en Windows 95 y Windows NT. 1000 para plataformas UNIX.
Máximo tamaño de una clave en la cláusula SORT: 32Kb.
Rango de Valores de Fechas: 1 de Enero del 100 a. C. al 28 de Febrero del 32.768 d. C.
Administración de Sistemas de Bases de Datos:
InterBase nos ofrece herramientas tanto bajo Windows como en modo texto (basadas en línea de comandos) para la correcta administración de las bases de datos y de los servidores.
Se pueden administrar las bases de datos, tanto si se está trabajando en modo local (Local InterBase) como con InterBase Server por medio del Server Manager, desde una aplicación Windows que puede correr en el servidor o en un PC cliente.
También se puede utilizar la utilidad en modo texto ubicado en el servidor. Aunque el servidor sea una máquina con sistema operativo UNIX, se pueden realizar todas las operaciones de mantenimiento de las bases de datos desde un cliente cuyo sistema operativo sea Windows, por medio de las herramientas de administración tipo Windows que acompañan a InterBase.
Ambas aplicaciones, tanto la que trabaja bajo Windows como la otra, habilitan al administrador para lo siguiente:
Control de la seguridad en el servidor.
InterBase mantiene una lista de los usuarios y las claves de acceso de cada uno de ellos en la base de datos de seguridad ubicada en el servidor. La base de datos de seguridad permite a los clientes conectarse con una base de datos de InterBase si el nombre de usuario y la clave de acceso proporcionada por el cliente coincide con alguna de las combinaciones válidas que se encuentran en ella.
Por supuesto se pueden añadir y eliminar usuarios, o cambiar los parámetros de los usuarios, así como la clave de acceso o identificación de cualquier usuario.
Backup y Restore de las bases de datos.
Se pueden realizar copias de seguridad (Backup) y restaurarlas (Restore) utilizando tanto el Server Manager como la utilidad en modo texto, con la ventaja de que ésta última puede ser lanzada (con parámetros) desde otra aplicación cualquiera, como parte del proceso de mantenimiento habitual que un usuario realiza con sus datos.
Pensemos, como ejemplo, en una aplicación de gestión que es capaz de realizar copias de seguridad de los datos periódicamente de una forma transparente al usuario.
También es importante resaltar que se puede realizar la copia de seguridad mientras otros usuarios acceden a la base de datos, ya que ésta no es una opción que requiera acceso exclusivo a la base de datos.
Por otro lado los procesos de Backup y Restore también pueden ser utilizados para:
Mantenimiento de la base de datos.
Es posible preparar la base de datos para una parada y realizar su mantenimiento, bien con el Server Manager o bien con la utilidad modo texto. Si la base de datos se ve afectada por problemas menores, como puede ser un error de escritura del sistema operativo, ésta herramienta permite realizar lo que se llama "sweep" o limpieza de la base de datos.
Algunas de las tareas que forman parte del mantenimiento de la base de datos son:
Visualización de las "estadísticas" de la base de datos.
El Server Manager ofrece al administrador de la base de datos un monitor del estado con análisis de tablas e índices.
Vamos a intentar ahora ofrecer una visión general del modelo Cliente/servidor, y cómo se cristaliza esto en el caso de los sistemas InterBase; intentaremos dejar claros asuntos como la definición de Cliente, Servidor, y diferentes opciones para el desarrollo de aplicaciones.
Un cliente de InterBase es una aplicación, desarrollada normalmente en Delphi, C, C++ o Java, que accede a los datos de una base de datos de InterBase.
Una definición más genérica podría ser: Un cliente de InterBase es cualquier proceso de una aplicación que usa la librería de cliente de InterBase (InterBase Client Library), directamente o a través de un interfaz intermedio, para establecer un canal de comunicación con el servidor de InterBase. La conexión puede ser local si la aplicación se está ejecutando en el mismo nodo que el servidor, o remota si la aplicación utiliza una conexión de red con el servidor.
En la figura 2 se muestra un ejemplo gráfico de lo que acabamos de exponer.
Figura 2
NOTA: |
La librería cliente de InterBase.
La librería cliente de InterBase es una librería que los desarrolladores de aplicaciones cliente utilizan para conectar con el servidor y realizar operaciones con la base de datos de forma programática.
La librería utiliza la interfaz de red del sistema operativo del cliente para comunicarse con uno o más servidores de InterBase, e implementa un protocolo especial, el protocolo para aplicaciones Cliente/servidor de InterBase, como protocolo prioritario de red.
La librería cliente contiene un conjunto de funciones de alto nivel, como el Application Programmers Interfaces (API) para comunicarse con un servidor de InterBase. Cualquier aplicación cliente puede usar el API para acceder a una base de datos InterBase.
En la figura 3 se puede observar el papel que juega la librería cliente de InterBase.
Figura 3
El servidor de InterBase es el software que procesa y ejecuta en el nodo de red en el que se encuentra (host) el espacio de almacenamiento de las bases de datos. El proceso servidor es el único proceso que se ocupa de la comunicación con las bases de datos, es decir con los ficheros. gdb, de forma directa.
Los clientes envían al servidor peticiones para realizar todo tipo de acciones con la base de datos, como por ejemplo:
El servidor se encarga de resolver y mantener las conexiones que se van solicitando desde otros nodos de la red.
Varios clientes pueden permanecer conectados al servidor simultáneamente, ya que éste trata cada conexión con un thread diferente. El servidor regula el acceso a cada registro dentro de la base de datos, y fuerza el acceso exclusivo a cada registro cuando algún cliente solicita su modificación.
InterClient es el driver de trabajo en red para desarrollos en Java. Incorpora el protocolo remoto JDBC para intercambio de datos entre cliente y servidor. Esto permite a un cliente autorizado acceder a las bases de datos a través de la red, sin instalar previamente las librerías cliente de InterBase.
El driver InterClient se compone de dos partes:
El driver InterClient mismo, que incluye el paquete con todas las clases Java y JDBC. Una de las ventajas que tiene es que los usuarios pueden "bajarse" el InterClient de la red, y de esta forma habilitar dinámicamente los usuarios distribuidos por la red (local o Internet).
El InterServer, que corre sobre un servidor UNIX o NT. InterClient se comunica a través de la red con InterServer. Por turnos, el InterServer actúa como una aplicación, accediendo al servidor InterBase a través del API del cliente de InterBase. Frecuentemente el InterServer corre en el mismo nodo de red que el servidor de InterBase, pero no es imprescindible, pudiendo correr en otro nodo diferente de red. InterServer necesita el API del cliente de InterBase para poder funcionar.
En la figura 4 se ofrece un diagrama donde se muestra la estructura del modelo InterClient.
Figura 4
Una vez se ha creado una base de datos y se le han introducido datos, podemos acceder a ella a través de una aplicación.
Podemos utilizar para su desarrollo cualquier herramienta cliente de Borland, ya sea Delphi, C++ Builder, etc., o bien realizar las aplicaciones en un lenguaje ajeno con sentencias SQL embebidas o con llamadas al API.
Todas las opciones son posibles con InterBase.
En este punto vamos a intentar dar un repaso a todos los componentes que conforman el paquete de InterBase. Daremos un repaso a las herramientas Windows que incluye, y luego a las herramientas texto, para terminar ofreciendo una introducción a la forma en la que podemos hacer aplicaciones que se conecten a nuestras bases de datos.
InterBase para Windows 95 y Windows NT incluye una serie de herramientas gráficas, con las cuales se pueden realizar todas las tareas necesarias para configurar y mantener adecuadamente el servidor, así como crear y administrar las bases de datos que haya en el servidor.
El Server Manager nos permite:
- Administrar la seguridad del servidor.
- Realizar Backup y Restore de las bases de datos.
- Ver las estadísticas del servidor y de las bases de datos.
- Realizar el mantenimiento de las bases de datos, por ejemplo:
La ventana principal del Server Manager: Para iniciar el Server Manager, escoja la opción InterBase Server Manager del menú inicio de InterBase 5.x. Entonces aparecerá lo mismo que se puede ver en la figura 5 de la página siguiente.
Figura 5
Observamos en esta ventana los siguientes elementos:
El menú principal, en la parte más alta de la ventana, donde se encuentran todos los comandos que se pueden realizar desde el programa.
Una barra de botones, donde se recogen accesos directos a las opciones más usuales del menú principal.
El árbol de conexiones a los diferentes servidores y bases de datos, en el panel que se encuentra en la parte izquierda de la ventana, que nos muestra las diferentes bases de datos y servidores a los que nos encontramos conectados.
El área de información-resumen, en el panel que se encuentra a la derecha de la ventana. En éste área se muestra tanto la información sobre el servidor y la base de datos que tenemos seleccionada en la ventana de la izquierda, como la versión de InterBase del servidor, y quien es el "owner" -dueño o creador- de la base de datos.
Barra de estado, al pié de la ventana, donde se muestra cual es el servidor seleccionado actualmente, y con qué identidad nos hemos conectado.
Menú principal del Server Manager: El menú principal es la forma más simple de acceder a las tareas que se pueden realizar con el Server Manager.
Consta de cinco sub-menús desplegables:
File (Archivo): Contiene las opciones para: Conectarse y desconectarse de los servidores (Server Login y Server Logout), conectarse y desconectarse de las bases de datos (Database Connect y Database Disconnect) y salir del programa (Exit).
Tasks (Tareas): Contiene las opciones para: Configurar el Server Manager, (Server Config...) el mantenimiento de la base de datos de seguridad (User Security...), realizar copias de seguridad y recuperarlas (Backup... y Restore...), visualizar estadísticas de una base de datos y del "lock manager" (Database Statistics.. y Lock Manager Statistics...), e iniciar el programa Windows ISQL (Interactive SQL).
Maintenance (Mantenimiento): Contiene las opciones para: Ver las conexiones activas a bases de datos (Database Connections...), realizar Sweep de la base de datos actual (Database Sweep), recuperar transacciones "colgadas" (Transaction Recovery...), "tirar abajo" y reiniciar una base de datos (Database Shutdown... y Database Restart), así como validar una base de datos y ver las propiedades de una base de datos (Database Validation... y Database Properties...).
Window (Ventanas): Contiene las opciones para minimizar el Server manager, y minimizar y cerrar todas las ventanas hijas, especialmente las que se generan al pedir estadísticas. También contiene la opción de mostrar la barra de botones, ya que con la técnica "Drag and Drop", podemos sacarla de la ventana a una ventana aparte, y posteriormente cerrarla.
Help: Contiene las ayudas.
La barra de botones: Las funciones que realizan los botones que se encuentran en la barra de botones, son accesos directos a diferentes opciones del menú principal:
El Panel del Arbol de conexiones: Al entrar en el Server Manager, podemos conectarnos con el servidor local, o bien con algún servidor de red al que tengamos acceso, para abrir las bases de datos que se encuentren en ellos. Cada una de éstas acciones quedan reflejadas en el panel del árbol de conexiones como una nueva rama del árbol.
Para movernos por el árbol, podemos utilizar las teclas arriba-abajo, o bien señalar directamente con el puntero del ratón la rama del árbol que queremos activar.
Si la rama activa es una rama de un Servidor, podemos expandirla, de forma que nos muestre todas las bases de datos abiertas actualmente en ese servidor, o contraerla de forma que solo se vea la rama maestra del servidor. Las ramas ya expandidas tienen a la izquierda del icono un signo menos (-), y las ramas contraidas un signo más (+). Para contraer o expandir una rama, podemos pulsar con el ratón en los signos que se encuentran a la izquierda del icono, ya sea un mas o un menos, utilizar las teclas de izquierda-derecha, o hacer doble clic sobre el icono del servidor.
También tenemos a nuestra disposición dos menús contextuales o popup-menu, que se muestran al pulsar con el botón derecho del ratón bien sobre una rama que represente un servidor, o bien sobre una rama que represente una base de datos. Las opciones que nos aparecen en estos menús, son las mismas que existen en el menú principal, solo que únicamente nos aparecen aquéllas opciones que podemos realizar en cada momento.
El área de información-resumen: Como ya se ha comentado anteriormente, el área de información resumen, que se encuentra a la derecha del árbol de conexiones, muestra información acerca de la base de datos o el servidor seleccionado o activo en el panel del árbol de conexiones.
Las ventanas estándar de salida de texto: Las ventanas estándar de salida de texto, son usadas por el monitor de backup y Restore de la base de datos, y también por las opciones del menú principal Database Statistics, DatabaseProperties y Lock Manager Statistics.
Si bien todas estas operaciones producen una salida de resultados en una ventana de estas características, cada opción del menú realiza una operación bien distinta en ella. Estas ventanas contienen una barra con un menú principal, y una botonera con los comandos del menú más usuales, y una zona donde se muestra el texto.
En Windows 95, 98 y Windows NT, podemos entrar de varias formas diferentes:
Para cada una de las tareas que se pueden realizar desde WISQL o el Server Manager, tiene a nuestra disposición una herramienta en modo texto que podemos ejecutar desde una ventana de comandos para realizar la misma tarea.
Las versiones de InterBase para UNIX incluyen todas las herramientas que enumeraremos a continuación. Las herramientas gráficas de Windows no pueden correr en una estación de trabajo UNIX, aunque siempre podemos arrancarlas en una máquina que trabaje bajo Windows, y conectarnos a las bases de datos que se encuentren en el servidor UNIX.
Una de las ventajas de las herramientas no interactivas y de línea de comandos, es que pueden ser utilizadas por procesos batch o scripts para realizar operaciones habituales de la base de datos, así como pueden ser lanzados desde nuestras aplicaciones Windows para que los usuarios realicen desde la aplicación que nosotros les proporcionamos acciones como backup, restore o sweep de forma transparente. También podemos automatizar la ejecución de estos scripts con alguna utilidad del sistema operativo (cron en UNIX, AT en Windows NT). Este tipo de proceso es mucho más difícil de realizar con aplicaciones gráficas.
isql: La herramienta isql es idéntica en su funcionamiento interno y operatividad a la herramienta WISQL, sólo que es de tipo no-Windows, consola, texto o como queramos decirlo.
gbak y gsplit: gbak es la herramienta no-windows que nos permite realizar backups de cualquier base de datos. La funcionalidad es similar a la que nos encontramos en el Server Manager, con la herramienta adicional gsplit, que se encarga de filtrar la salida de gbak y escribirla en varios ficheros en el disco, cuando el fichero backup es de un tamaño mayor al tamaño máximo que soporta el sistema operativo.
gfix nos permite configurar las siguientes propiedades de una base de datos:Todas estas tareas de configuración se pueden realizar igualmente desde el Server Manager.
gsec realiza las tareas de seguridad, autorizando accesos a los servidores y las bases de datos igual que el Server Manager.gstat: gstat elabora las estadísticas de las bases de datos, con el inventario de transacciones, la distribución interna y la eficiencia de los índices, de la misma forma que lo hace Server Manager.
Iblockpr(gds_lock_print): Podemos ver las estadísticas del lock-manager, exactamente igual que en el Server manager. Esta aplicación se denomina gds_lock_print en UNIX, y iblockpr en Windows.
ibmgr: En las plataformas UNIX, existe esta herramienta adicional, con la que podemos iniciar y parar el servidor de InterBase.
Desarrollo de aplicaciones con herramientas Borland/Inprise.
Existen versiones cliente/servidor disponibles de herramientas como Delphi, C++ Builder, Visual dBase, etc. que pueden acceder a las bases de datos de InterBase utilizando los SQL Links de Inprise. Aunque normalmente las versiones developer tienen también acceso nativo a InterBase.
Estas herramientas son bien conocidas por muchos programadores, y son capaces de construir aplicaciones sofisticadas, amigables y orientadas a datos con un esfuerzo de programación mínimo.
El BDE Borland Database Engine.
La mayor parte de las herramientas Borland -Inprise- para el desarrollo de aplicaciones utilizan una tecnología intermedia basada en el BDE, el motor de bases de datos de Borland. El BDE es una librería que provee un API unificado para la comunicación con las aplicaciones de una forma programática a través de la librería cliente de cualquier base de datos que tenga disponible un driver compatible. Por ejemplo, una aplicación programada en Delphi, utiliza las funciones del BDE para acceder a los datos a través de los alias del BDE.
El programador configura el alias del BDE para utilizar los drivers de InterBase en las consultas SQL, y esta configuración del BDE utiliza de forma dinámica la librería apropiada del BDE que es equivalente a las funciones del API de InterBase.
La ventaja más importante de esta estructura, con el BDE como intermediario, es que se puede escribir el código de las aplicaciones cliente, sin preocuparse de quién es el propietario, fabricante o plataforma de datos contra la que se va a trabajar.
Basta con asignar un alias a una base de datos, y si hoy es una base de datos construida con tablas Paradox, y mañana es una base de datos de InterBase, lo único que tenemos que hacer para migrar es cambiar la configuración del alias en el BDE, no tenemos que tocar ni una sola línea de código en nuestra aplicación, ya que si las dos estructuras de datos son similares, el BDE se encarga de asignar dinámicamente la librería apropiada (esto es cierto siempre y cuanto no se pretenda usar funcionalidades propias de Cliente/Servidor).
Por otro lado el BDE tiene una arquitectura interna que implementa gran parte de las características de las bases de datos, y permite suplir las deficiencias de las bases de datos que no las implementan (por ejemplo Paradox o DBFs).
La interacción entre él caché del BDE y él caché de InterBase es difusa. Trabajar con caché en el cliente nos da una serie de beneficios con un bajo coste asociado cuando la base de datos se encuentra en la misma máquina que el cliente y el nivel de datos es bajo. Aplicando esta filosofía de trabajo en un sistema cliente/servidor, con conjuntos de datos de una gran magnitud, nos podemos encontrar con que el cliente colapsa la red al refrescar su caché, o que su caché no se puede refrescar porque choca con otra transacción.
La diferencia entre él interprete de SQL local del BDE y él interprete del servidor de InterBase también es sutil. Por razones de consistencia, es conveniente configurar las aplicaciones para pasar las sentencias SQL a través del BDE de manera que actúen contra él interprete SQL del servidor.
El ODBC -Open DataBase Conectivity-, es el estándar de Microsoft para conexiones de datos, y es un producto similar en su finalidad al BDE de Inprise. Este API estándar nos ofrece un interfaz unificado para que las aplicaciones puedan acceder a los datos, cualquier tipo de origen de datos, siempre que exista disponible un manejador o driver ODBC para ese tipo de datos. InterBase incluye, para clientes Windows 95, 98 y Windows NT, una librería estándar de 32 bits para desarrollar y ejecutar aplicaciones que se conecten a los datos vía ODBC. El driver está en el fichero isdrv32.dll.
En la figura 6 se muestra de forma gráfica el papel del driver ODBC.
Figura 6
De la misma forma que el BDE, el ODBC también es configurable, para indicar la ubicación, el nombre y el fabricante del servidor de la base de datos.
Desarrollo de aplicaciones con SQL embebido:
Otra posibilidad consiste en escribir las aplicaciones en un lenguaje de programación clásico, y colocar sentencias de SQL embebido en el código.
Entonces habrá que preprocesar la aplicación usando la herramienta gpre, el preprocesador de desarrollo de aplicaciones de InterBase. Gpre coge el SQL embebido en el lenguaje anfitrión como C o C++, y genera un fichero que el compilador del lenguaje anfitrión pueda compilar.
El preprocesador convierte las sentencias SQL de alto nivel a su código equivalente que llama a las funciones de la librería cliente de InterBase.
Por lo tanto, utilizar SQL embebido ofrece las ventajas de programar las consultas en un lenguaje de alto nivel, con el rendimiento en tiempo de ejecución del sistema de llamadas al API de InterBase.
Consultas predefinidas a la base de datos.
Muchas aplicaciones son diseñadas para realizar un conjunto específico de consultas o tareas. En estas aplicaciones se pueden incluir las consultas o sentencias SQL exactas. El preprocesador. Gpre convierte esas sentencias en tiempo de compilación a una representación interna.
Este tipo de sentencias suelen ser algo más rápidas que las que se realizan de forma dinámica, ya que no necesitan ser interpretadas en tiempo de ejecución.
Muchas aplicaciones realizan consultas SQL en tiempo de ejecución basándose en sentencias introducidas por los usuarios, como por ejemplo realizar búsquedas basándose en determinados criterios. Esto significa que el programa debe construir la consulta basándose en la entrada de datos del usuario.
InterBase utiliza SQL Dinámico (DSQL) para generar consultas de forma dinámica. En tiempo de ejecución, la aplicación pasa la sentencia DSQL al servidor en forma de una cadena de caracteres, y el servidor la interpreta y ejecuta.
El BDE provee una serie de métodos a las aplicaciones para enviar sentencias DSQL al servidor y recibir los resultados. Realmente las aplicaciones que funcionan con ODBC utilizan éste estilo de trabajo, y proveen un interfaz visual para construir las consultas.Query By Example (QBE) o Microsoft Query son dos ejemplos de aplicaciones que utilizan BDE y ODBC respectivamente.
Cualquier programador puede construir modelos avanzados de consultas, como búsquedas por criterios en los que el criterio de búsqueda debe ser introducido por el usuario final de la aplicación. En tiempo de ejecución, se sustituye lo que falta para construir la consulta final en forma de parámetros.
Desarrollo de aplicaciones que usan el API:
El API de InterBase es un conjunto de funciones que habilitan a las aplicaciones para construir y enviar sentencias SQL al motor de InterBase y recibir los resultados. Todos los trabajos de la base de datos se realizan pasando por el API.
Como contrapartida al esfuerzo que supone para el programador el manejar estructuras que normalmente están ocultas en el nivel SQL, el API es en último término más potente y flexible. Las aplicaciones que están construidas utilizando el API ofrecen las siguientes ventajas sobre aquéllas que están escritas con SQL embebido:
Las funciones del API se pueden dividir en siete categorías, en función de la tarea a la que afectan:
Aplicaciones que conectan con varias bases de datos:
A diferencia de algunos productos de tipo relacional, las aplicaciones de InterBase pueden utilizar varias bases de datos al mismo tiempo. Muchas aplicaciones utilizan una sola base de datos, pero otras necesitan conectarse a varias bases de datos al mismo tiempo, que pueden o no tener una estructura similar.
Un ejemplo típico son sistemas de bases de datos que utilizan una base de datos diferente para cada ejercicio o periodo de tiempo, con lo que las aplicaciones deben conectarse a una base de datos u otra dependiendo del ejercicio en curso.
Con InterBase, podemos abrir y acceder a varias bases de datos al mismo tiempo. La única restricción es que no podemos realizar joins propios de InterBase de tablas que no se encuentren en la misma base de datos, aunque existen otras formas de combinar la información que nos pueden ayudar a resolver el problema (por ejemplo joins en la aplicación Cliente).
Una vez que hemos visto de una forma general las características más importantes de InterBase, es conveniente tratar de explicar el proceso de instalación, registro de licencias y desinstalación del producto en las diferentes plataformas.
Instalación en Windows NT y Windows 95/98:Antes de comenzar: Es conveniente desinstalar cualquier versión anterior de InterBase que esté presente en el servidor antes de instalar InterBase 5.x Si el servidor de InterBase es el InterBase Server para Windows NT 4.0 o anterior, entonces es obligatorio desinstalarlo.
Esto es así porque sólo debe existir una copia del fichero gds32.dll en la máquina mientras el servidor o el cliente de InterBase 5.x está ejecutándose. Si ese fichero existe en el servidor, se deberá de borrar antes de instalar.
No se puede instalar InterBase en una unidad de red mapeada, es decir que solo se puede instalar en unidades de disco que pertenezcan al servidor.
Testear la conexión ODBC mientras se está realizando la instalación, puede dar como resultado que la instalación no se realice de forma correcta.
IMPORTANTE: |
Instalación en Windows: El sistema operativo debe ser Windows NT 4.0, Windows 95 ó Windows 98 con unos 20 Mb (19.458Kb) de disco duro libre.
En la figura 7 se puede ver el menú principal de instalación de InterBase 5.1, con las distintas opciones de software para instalar.
Figura 7
Las opciones son:
InterBase 5.1.1: Client and Server: Es la instalación completa de InterBase. A partir de aquí se nos mostrarán las opciones de instalar el cliente, el servidor, los drivers ODBC de InterBase, las bases de datos de ejemplo, la documentación de ayuda en línea, etc.
InterBase 5.1.1: Client Only: Es una opción similar a la anterior, exceptuando la instalación del servidor. Es la destinada a las máquinas cliente.
Interclient 1.1: Instala todo lo necesario para el desarrollo de sistemas InterBase con JAVA, como el driver JDBC para InterBase, las clases de desarrollo de aplicaciones Java, y el Kit de desarrollo de web-server.
Adobe Acrobat Reader 3.0: Es el visualizador de los documentos de ayuda en línea de InterBase (ya no vienen en formato HLP).
Si escogemos la primera opción, nos aparecen una serie de pantallas en las que se nos explica con detalle las condiciones bajo las que hemos adquirido el software, sobre todo en lo que respecta a las licencias de conexión para clientes, etc., y algunos de los requerimientos del sistema para la instalación de InterBase. La primera pantalla en la que se nos pide una entrada de datos es la siguiente:
License Certificate: En la figura 8 observamos la ventana en la que se nos solicita él "Certificate ID" y él "Certificate Key" del servidor.
Figura 8
Estas licencias vienen en la caja de InterBase, y son las que nos permiten instalar el servidor. Las licencias para clientes, deben introducirse posteriormente con la herramienta de Registro de licencias (InterBase License Registration Tool). La licencia de evaluación que ofrecemos con el curso, se activa introduciendo la palabra eval en los dos campos.
Una vez introducidos estos datos, nos aparece la pantalla en la que podemos seleccionar los componentes que vamos a instalar.
En la figura 9 podemos observar las características de esta ventana que permite escoger los componentes a instalar, la unidad y la ruta de instalación, con la restricción de que debe ser una unidad local, no puede ser una unidad de red.
Figura 9
Tras esta pantalla nos aparece otra en la que podemos configurar InterBase para que sea iniciado automáticamente por el sistema al arrancar o solo a petición del usuario.
Si escogemos la opción Windows Startup, el servidor se pondrá en marcha al iniciar la sesión de trabajo, y si escogemos la opción Manually Startup, entonces podemos iniciar el Servidor por medio del panel de control en la opción Servicios (en Windows NT), haciendo doble click sobre el icono de la aplicación, o sobre el InterBase guardián.
Posteriormente se nos ofrece la opción, de que el InterBase Guardián caso de que el servidor caiga por alguna razón lo reinicie siempre, o no.
A partir de aquí comienza la instalación en sí, con la copia de ficheros al disco duro, la configuración del ODBC, etc.
Una vez que ha terminado la instalación, podemos escoger entre lanzar o no el servicio InterBase Guardián ahora.
En la figura 10 observamos esta última pantalla del proceso de instalación, tras la cual se crearán los iconos de InterBase y se actualizará el menú inicio, y después se abrirá el fichero README.txt, donde encontraremos más información acerca del producto.
Figura 10
La instalación en Windows NT como en Windows 95 o Windows 98 no tiene por qué resultar complicada ni mucho menos, todas las opciones y cuadros de diálogo son bastante claros y las decisiones en el proceso de instalación se toman de una en una, lo que favorece la instalación por usuarios poco experimentados.
Es interesante recalcar la figura del InterBase Guardián, que se encarga de controlar e iniciar al Server en caso de que por alguna razón caiga o deje de funcionar, ya que en versiones anteriores de InterBase no existía.
La estructura de archivos y directorios resultante: La estructura de directorios resultante de la instalación del servidor es similar a la que aparece en la figura 11.En la carpeta Bin es donde se encuentran todas las
aplicaciones Windows y no-windows que acompañan a InterBase.
En la carpeta Examples podemos encontrar una serie de ejemplos de scripts SQL y programas
en C listos para compilar.
En la carpeta Doc tenemos todo el sistema de ayudas para InterBase.
Figura 11
Instalación del cliente windows: La instalación del cliente en Windows es idéntica al proceso de instalación del servidor. Si acaso las únicas diferencias lógicas que nos encontraremos son las referentes a la ausencia de referencias al servidor en ésta instalación. Por lo demás la guía de instalación del servidor le puede servir para realizar la instalación del cliente. Instalacion de interclient en windows: Es necesario contar con Windows NT 4.0 o Windows 95 y unos 2 Mb de espacio libre en disco duro para la instalación completa.
Una vez sobrepasadas las pantallas de bienvenida, avisos legales, etc., nos encontraremos con la pantalla que aparece en la figura 12 y que nos ofrece las diversas modalidades de instalación para la versión Interclient de InterBase.
Figura 12
Las cuatro posibilidades que se nos ofrecen son las siguientes:
Development Environment: Se instalará todo el entorno de desarrollo, es decir tanto las clases Interclient para el desarrollo local de JDBC como el Interserver para acceso local o remoto a un servidor de InterBase.
Development and Web Deploy Environment:Se instalará todo lo anterior, y además las clases Interclient se copiarán en el directorio raíz del servidor Web.
Deploy to Web Server Only: Instala el Interserver para acceder de forma local o remota a un servidor de InterBase, y copia las clases Interclient al servidor Web.
Client Development Only: Instala las clases Interclient para el desarrollo de aplicaciones Java en modo local contra un servidor remoto que tenga una instalación de Interclient realizada.
Una vez realizada la elección, pasamos a una ventana en la que se nos dará a elegir cuáles de los componentes que conforman la totalidad del paquete queremos instalar en realidad, ya que todas las instalaciones son "a medida", es decir, en todo momento podemos instalar parte de los componentes, e instalar más adelante el resto de componentes de cada una de las opciones.
Caso de que la opción escogida incluya el apartado de desarrollo de web, en uno de los cuadros de diálogo se nos preguntará por el directorio en el que se encuentra nuestro servidor web.
El resto del proceso es similar a la instalación del InterBase Server, excepto en la pantalla de configuración del Interserver, que en este caso nos presenta la forma en la que se iniciará el servicio de Interserver y que mostramos en la figura 13.
Figura 13
Este es prácticamente el último cuadro de diálogo al que accederemos, siempre que elijamos configurar el Interserver durante la instalación.
A partir de aquí se nos preguntará si queremos ver el fichero README.TXT, y la pantalla de despedida donde se nos indica que el proceso de instalación ha concluido.
Desinstalando InterBase: Para desinstalar InterBase adecuadamente, es necesario utilizar la opción del panel de control de Windows para agregar/quitar programas.Respecto a la desinstalación de InterBase del sistema, cabe realizar las siguientes observaciones:
Para poder realizar la desinstalación de InterBase del sistema, no pueden estar corriendo en ese momento ni el InterBase Guardián, ni el InterBase Server, ni el InterServer. Primero debemos parar estas aplicaciones, ya sea desde el administrador de servicios (en Windows NT) o pulsando con el botón derecho del ratón sobre el icono del programa en la barra de tareas del sistema, para posteriormente poder iniciar el proceso de desinstalación.
Tanto par instalar como para desinstalar InterBase en Windows NT, es necesario entrar en el sistema como administrador.
El proceso de desinstalación nunca borra el fichero isc4.gdb, ni los ficheros creados por InterBase Server, como InterBase.log, o los *.evn, *.lck.
Debido a que las instalaciones de InterBase son completamente a medida, y el producto que tengamos instalado en una máquina puede ser el resultado de varias instalaciones sucesivas, el proceso de desinstalación sólo elimina los componentes instalados en la última instalación.
El driver ODBC tampoco es eliminado por el proceso de desinstalación, por lo que debe ser eliminado por el usuario a través de la opción del panel de control.
Instalación en unix:
Antes
de instalar: Antes de iniciar la
instalación de InterBase, hay que tener en cuenta los siguientes puntos:
InterBase 5.x utiliza ODS 9.0, por lo que las bases de datos creadas
con versiones anteriores de InterBase, deben ser adaptadas haciendo backup con la versión
anterior, y restore con la versión 5.x. Si está migrando de InterBase 4 a InterBase 5 y no quiere perder
toda la información referente a opciones de configuración personalizada del producto,
puede salvar el fichero isc4.gdb con gbak y los ficheros isc_license.dat e isc_config en
el directorio /var/tmp con el comando cp. Ahora bien, si utiliza pkgrm para desinstalar
InterBase 4.0 para Solaris, estos ficheros se salvan automáticamente en /usr/tmp. También se pueden conservar las versiones anteriores de InterBase
tirando abajo el servidor y posteriormente renombrando el directorio en el que se
encuentre. Para instalar InterBase en HP-UX es necesaria la versión HP-UX
10.20, y debe estar instalado el HP DCE/9000. Para Solaris es necesario tener las versiones 2.5x o 2.6x.
Para instalar InterBase, primero es necesario montar el CD-ROM. Una vez realizado esto, depende de la plataforma UNIX en la que nos encontremos, el proceso a seguir varía un poco.
Por ejemplo, para instalar InterBase para Solaris, es necesario utilizar la utilidad pkgadd, con la siguiente instrucción:
# pkgadd d /cdrom/InterBase_SOS_V500
El proceso de instalación es realmente sencillo, y una vez terminada ésta, podemos restaurar los ficheros de configuración volviéndolos a copiar al directorio en el que estaban. Después iniciaríamos el Server con la instrucción:
# echo " /usr/InterBase/bin/ibmgr start forever" | su InterBase
A partir de aquí ya podríamos con gbak recuperar la base de datos isc4.gdb.
El proceso para HP-UX sería diferente ya que para empezar los ficheros para esta plataforma vienen en formato tar, con lo cual lo primero sería colocarnos en el directorio /usr del CD-ROM y ejecutar:
# tar xvf /cdrom/InterBase/InterBase50_HUS.tar
y posteriormente iniciar la instalación con el comando siguiente
# ./InterBase/install
El proceso que sigue es similar a Solaris.
La instalación en LINUX es muy similar a la que se realiza en HP-UX, ya que los ficheros vienen en formato tar. La instrucción para descomprimir es:
# tar -xzvf IB_4.0_Linux.tar.gz
y posteriormente se inicia la instalación con el comando:
# sh ./install
Todos los comandos que se indican están referidos a la versión 4.0, que es la que se encuentra disponible en el mercado en la actualidad.
En Solaris existe una utilidad, pkgrm que realiza la desinstalación, en el resto de plataformas como HP-UX o LINUX es necesario borrar el directorio de instalación de InterBase y todas las referencias al mismo.
También es necesario editar el fichero /etc/services para eliminar la entrada de gds_db.
Instalación en Novell IntraNetWare:
La Instalación de InterBase 4.22 en Novell tiene la peculiaridad de se hace siempre desde una Estación Cliente y nunca desde el Servidor, además, para realizar la instalación, es requisito imprescindible que el usuario esté registrado en el servidor como Supervisor.
IMPORTANTE: |
Los pasos siguentes son iguales que los que se realizan en la versión para Windows, donde se indica que se quiere instalar y donde. Una vez instalado todo desde el cliente, es necesario activar el servidor de InterBase desde la cónsola del servidor de Novell con la siguiente orden:
load interbas/iserver
Esta orden es válida si se eligió interbas como directorio para la instalación, dentro del volumen SYS del Servidor. De ser otro el directorio deberemos indicar el path completo del mismo, ya que la finalidad es que se cargue un archivo llamado: iserver.nlm.
Para que el servidor de InterBase se active automáticamente siempre que arranquemos el servidor de Novell, bastará con incluir la misma orden dentro de archivo autoexec.ncf ubicado en el directorio SYSTEM del servidor. Este proceso puede hacerse desde la cónsola del servidor o desde cualquier estación con privilegios de supervidor.
Desinstalación en Novell IntraNetWare:
Para desinstalar InterBase en Novell tendremos que inactivar el servidor con la orden de cónsola:
unload interbas/iserver
Todos los procesos posteriores debe realizarse desde una estación cliente. Si habíamos automatizado la carga es conveniente eliminar la línea que se ocupaba de ello, con el fin de ahorrarnos molestos mensajes de error. Editaremos autoexec.ncf tal como se indica mas arriba en la instalación. Una vez descargado el server de InterBase podemos eliminar los directorios ocupados sin problema alguno.
IMPORTANTE: |
En este apartado vamos a intentar explicar un poco el sistema de licencias de InterBase.
Para cualquier usuario de InterBase, el tener las licencias necesarias de InterBase para poder satisfacer sus necesidades es algo fundamental.
Lo que ocurre es que en este caso InterBase corp. ha creado un (a nuestro modesto entender), complejo sistema de licencias que merece un apartado.
"La licencia de la caja": Cuando adquirimos InterBase, además del CD-ROM y los manuales, nos encontramos con un papelito en el que aparecen dos números, los ID y KEY cards.
Estos números claves, que son los que introduciremos durante el proceso de instalación, habilitan al servidor para funcionar, y si sólo teniendo en nuestro poder esta licencia, pode trabajar con InterBase en modo local.
Para que se puedan conectar a nuestro servidor otros clientes, debemos estar en posesión de tantas licencias de clientes como usuarios vayan a conectarse al servidor.
El fichero ib_license.dat. El fichero ib_license.dat es un fichero que se encuentra ubicado en el directorio de instalación de InterBase, y que contiene datos acerca de nuestras licencias tanto de servidor como de clientes.
Es un fichero de texto, cuya estructura se basa en una serie de campos separados por comas y precedidos de una palabra clave, que contienen las opciones a las que tenemos derecho en virtud de la licencia a la que se refieren.
Este fichero contiene una línea por cada licencia registrada, y en cada línea podemos encontrar como mínimo cuatro de las opciones que se describen en la tabla de la figura 14.
Figura 14
CAMPO |
DESCRIPCION |
COMMENT |
Descripción de la licencia registrada |
ID |
Clave de identificación de la licencia |
KEY |
Clave codificada necesaria para activar las opciones de la licencia |
OPTIONS |
Conjunto de caracteres que representan las opciones a las que nos da derecho la licencia registrada. |
PRODUCT |
Puede ser InterBase o Interclient |
UNTIL |
Fecha en la que expira la licencia (para licencias de evaluación) |
USERS |
Máximo número de clientes permitidos |
VERSION |
Código que indica la plataforma sobre la que hemos instalado InterBase. |
El campo KEY, es una especie de clave codificada a partir de una combinación del resto de componentes presentes en la línea de la licencia.
¡IMPORTANTE! El campo KEY es necesario para activar las opciones que indica el campo OPTIONS. Cualquier cambio en alguno de los campos de la línea de la licencia, como añadir o modificar el campo OPTIONS, el número de usuarios o la fecha de caducidad de la licencia de evaluación, puede invalidar el campo KEY, ya que el campo KEY está basado en los valores concretos del resto de campos. |
El campo options: Como hemos ido viendo a lo largo de esta unidad, InterBase es un producto que contiene muchas prestaciones, desde el servidor, los clientes, herramientas para la administración de bases de datos,... y no todas ellas tienen porqué estar disponibles en todos los equipos. Las prestaciones a las que nos da derecho cada una de las licencias de que disponemos, vienen especificadas en el campo OPTIONS, y el significado de cada uno de los caracteres que lo conforman viene dado por la tabla de la figura 15.
Figura 15
CODIGO |
DESCRIPCION |
A |
Activa el preprocesador gpre para compiladores Ada |
C |
Activa el preprocesador gpre para compiladores C |
D |
Activa el derecho a realizar cambios en los metadata de las bases de datos utilizando CREATE, ALTER o DROP |
E |
Activa el acceso a tablas externas |
I |
Activa el acceso a tablas internas |
J |
Activa el Interserver en la instalación del Interclient |
Q |
Activa el ISQL |
R |
Activa los clientes |
S |
Activa el Server |
W |
Activa la licencia de Internet para usuarios ilimitados |
2 |
Activa el preprocesador gpre para compiladores COBOL |
3 |
Activa el preprocesador gpre para compiladores C++ |
Conexiones Simultaneas: Un apartado de InterBase que merece explicación aparte es el de las conexiones simultáneas. Seguro que se ha preguntado qué significa exactamente que existe un número máximo de usuarios conectados, y cómo se contabilizan las conexiones de usuario, si es por servidor, por base de datos, por transacción... La verdad es que la cosa no está muy clara al principio, así que vamos a intentar arrojar algo de luz en este asunto.
El número máximo de usuarios conectados de forma simultánea para una licencia dada es el que aparece en el campo USERS del registro de esa licencia.
Un usuario está conectado cuando crea o se conecta a una base de datos, y tiene derecho a realizar hasta cuatro conexiones diferentes, ya sea a la misma base de datos, o a bases de datos diferentes.
Sin embargo, una misma aplicación puede realizar varias conexiones a la misma base de datos, no sólo porque puede realizar varias transacciones, sino porque acceda a la base de datos por distintos canales de comunicación, como en el caso de la programación en Delphi, en el que cada componente TTable realiza, por defecto, una conexión independiente a la base de datos.
¡IMPORTANTE! Si usted es programador en Delphi o en cualquier herramienta que utilice la VCL de Borland, para establecer una conexión con una base de datos de InterBase utilice siempre el componente TDataBase, y asocie todos los objetos TQuery, TTable y en general de acceso a datos al componente TDataBase, para realizar una sola conexión por TDataBase, así no agotará las licencias de que dispone. |
La herramienta License Registration Tool:Como ya se ha comentado brevemente en la descripción de los
componentes de InterBase, ésta pequeña aplicación se encarga de facilitar la tarea de
introducir las licencias a los usuarios de Windows. También es útil para comprobar las
licencias que existen en nuestro servidor, y eliminar licencias del registro.
Al iniciar la herramienta nos aparecerá un cuadro de diálogo similar al de la figura 16.
Figura 16:
En la figura 16 se muestra una configuración de una máquina en la que está funcionando InterBase con una versión de evaluación, y una descripción de las diferentes partes de la aplicación.
Cuando eliminamos una licencia, InterBase guarda el estado actual en un
fichero llamado ib_bckup.dat.
Después de añadir o eliminar una licencia, debe reiniciar el servidor para que los
cambios tengan efecto.
Si queremos montar un sistema en el que se prevé que la base de datos adquiera dimensiones superiores a 6Gb, y con procesos importantes de datos en procedimientos almacenados, ¿debe preocuparnos la potencia de los ordenadores clientes a la hora de trabajar?. ¿Puede darnos problemas una base de datos tan enorme en función del S.O. que utilicemos?.
¿Qué aplicación Windows y no-windows utilizaría para realizar las siguientes acciones?:
Si en su empresa quiere poner una aplicación que utiliza InterBase en una delegación de Zaragoza con 4 usuarios conectados, y otra aplicación en la delegación de Madrid con 3 usuarios conectados, ¿cuál será el número de licencias a adquirir por la empresa?.
Presentación
del curso a distancia para InterBase 5.1
Objetivo
Panorámica
I-¿Qué es InterBase?
Información General.
Windows:
Unix:
Novell NetWare:
SQL:
Especificaciones técnicas:
Administración de Sistemas
de Bases de Datos:
Control de la seguridad en el
servidor.
Backup y Restore de las bases de
datos.
Mantenimiento de la base de datos.
Visualización
de las "estadísticas" de la base de datos.
El modelo Cliente/Servidor:
Definición de Cliente.
La librería cliente de InterBase.
Definición de Servidor.
InterClient e InterServer.
Desarrollo de
aplicaciones.
Componentes de InterBase
Las herramientas Windows.
InterBase Server Manager para
Windows:
La herramienta Windows Interactive
SQL:
La herramienta
Comunication Diagnostic para Windows:
La herramienta Server
Configuration para Windows:
La herramienta License
Registration para Windows:
Las herramientas no Windows.
isql :
gbak y gsplit :
gfix:
gsec:
gstat:
Iblockpr(gds_lock_print):
ibmgr:
Desarrollo de
aplicaciones con herramientas Borland/Inprise.
El BDE Borland Database Engine.
ODBC:
Desarrollo de aplicaciones con
SQL embebido:
Consultas predefinidas a la base
de datos.
Aplicaciones dinámicas:
Desarrollo de aplicaciones que
usan el API:
Aplicaciones que
conectan con varias bases de datos:
II-Instalación de InterBase:
Instalación en Windows NT y
Windows 95/98:
Antes de comenzar:
Instalación en Windows:
License Certificate:
La estructura de
archivos y directorios resultante:
Instalación del cliente windows:
Instalacion de interclient en
windows:
Desinstalando InterBase:
Instalación en unix:
Antes de instalar:
Instalación en algunas
plataformas UNIX:
Desinstalación en UNIX:
Instalación en Novell IntraNetWare:
Desinstalación en Novell
IntraNetWare:
Las Licencias:
"La licencia de la caja":
El fichero ib_license.dat.
Conexiones Simultaneas:
La herramienta License
Registration Tool:
Preguntas: