SGBD, USUARIO DE BASES DE DATOS, APPI Y MIDDLEWARE

El siguiente trabajo busca presentar conceptos sobre temáticas de sumo interés para nuestro aprendizaje, los términos investigados se presentan aquí mismo.





SGBD

Un Sistema Gestor de Bases de Datos (SGBD) o DBMA (DataBase Management System) es una colección de programas cuyo objetivo es servir de interfaz entre la base de datos, el usuario y las aplicaciones. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. Un SGBD permiten definir los datos a distintos niveles de abstracción y manipular dichos datos, garantizando la seguridad e integridad de los mismos.

Algunos ejemplos de SGBD son Oracle, DB2, PostgreSQL, MySQL, MS SQL Server, etc.

Un SGBD debe permitir:
• Definir una base de datos: especificar tipos, estructuras y restricciones de datos.
• Construir la base de datos: guardar los datos en algún medio controlado por el mismo SGBD
• Manipular la base de datos: realizar consultas, actualizarla, generar informes.



Las características de un Sistema Gestor de Base de Datos SGBD son:
• Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción.
• Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.
• Redundancia mínima. Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no obstante, en algunos casos la complejidad de los cálculos hace necesaria la aparición de redundancias.
• Consistencia. En aquellos casos en los que no se ha logrado esta redundancia nula, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea.
• Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segurizada frente a usuarios malintencionados, que intenten leer información privilegiada; frente a ataques que deseen manipular o destruir la información; o simplemente ante las torpezas de algún usuario autorizado pero despistado. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.
• Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la información almacenada.
• Respaldo y recuperación. Los SGBD deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder.
• Control de la concurrencia. En la mayoría de entornos (excepto quizás el doméstico), lo más habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar información, bien para almacenarla. Y es también frecuente que dichos accesos se realicen de forma simultánea. Así pues, un SGBD debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias.





USUARIO DE BASE DE DATOS

Podemos definir a los usuarios como toda persona que tenga todo tipo de contacto con el sistema de base de datos desde que éste se diseña, elabora, termina y se usa. Ingenuo. Es el usuario más básico o aquel que interactúa con el sistema a través de las interfaces que proveen las aplicaciones (estructuradas).

Pueden clasificarse estos como:

Ingenuo: Es el usuario más básico o aquel que interactúa con el sistema a través de las interfaces que proveen las aplicaciones (estructuradas). Ejemplo: un cajero de un banco.

Programador de Aplicaciones: Es el constructor de los programas.

Sofisticados: Es aquel que hace requerimientos de información no anticipados por las aplicaciones y por lo tanto, requiere de un lenguaje de consulta para interactuar con los datos.

Administrador de Base de Datos: Es el responsable de la definición lógica y física de los datos almacenados y de su contenido.





APPI

Una API (siglas de ‘Application Programming Interface’) es un conjunto de reglas (código) y especificaciones que las aplicaciones pueden seguir para comunicarse entre ellas: sirviendo de interfaz entre programas diferentes de la misma manera en que la interfaz de usuario facilita la interacción humano-software.



Las API pueden servir para comunicarse con el sistema operativo (WinAPI), con bases de datos (DBMS) o con protocolos de comunicaciones (Jabber/XMPP). En los últimos años, por supuesto, se han sumado múltiples redes sociales (Twitter, Facebook, Youtube, Flickr, LinkedIn, etc) y otras plataformas online (Google Maps, WordPress…), lo que ha convertido el social media marketing es algo más sencillo, más rastreable y, por tanto, más rentable.



Las API son valiosas, ante todo, porque permiten hacer uso de funciones ya existentes en otro software (o de la infraestructura ya existente en otras plataformas) para no estar reinventando la rueda constantemente, reutilizando así código que se sabe que está probado y que funciona correctamente. En el caso de herramientas propietarias (es decir, que no sean de código abierto), son un modo de hacer saber a los programadores de otras aplicaciones cómo incorporar una funcionalidad concreta sin por ello tener que proporcionar información acerca de cómo se realiza internamente el proceso.





MIDDLEWARE



Middleware es un software que asiste a una aplicación o conjunto de aplicaciones empleadas para desarrollar aplicaciones distribuidas, es decir, que coordina sus acciones a través de la distribución de mensajes en una red, bien sea alojada en el lugar y gestionada por los mismos empleados del cliente(on premise),o en la nube. De manera práctica, este software permite que los datos contenidos en una base de datos puedan ser accedidos a través de otra.

En una arquitectura clásica de aplicación web el Middleware lo conforman tanto el servidor web como los programas y servicios, tales como: recepción de solicitudes a través del protocolo http, pasarlas a los códigos de secuencia de comandos, conexiones y sincronizaciones necesarias en los sistemas distribuidos y la preparación de la respuesta para el usuario o cliente.

Todos estos servicios ahorran trabajo al programador en estos simples aspectos de rutina, permitiéndole dedicarse a los aspectos distintivos de la aplicación, es decir, lo que la distingue de las demás, lo que la hacen única. De esta forma, se provee una solución que mejora la calidad de servicio, el envío de mensajes, la seguridad, la actualización del directorio de servicio, etc.

A alto nivel se puede pensar en el Middleware como un elemento que vincula, como “un pegamento” de software que une todos los servicios en el centro de la arquitectura de aplicación web que permiten que el código de la aplicación interactúe con la web. Es como el guion que une al cliente con el servidor web.






A manera de conclusión podemos afirmar que todo este conocimiento resulta muy beneficioso para nuestro crecimiento intelectual y de mucha validez para nuestro ejercicio.



Publicar un comentario

0 Comentarios