Está en la página 1de 12

Application Programming Interface (API)

Las Application Programming Interface (API) o interfaz de programacin de aplicaciones denotan el proceso de acceso y manipulacin de los datos a una base de datos, partiendo de la aplicacin. El siguiente esquema muestra ni!eles o interfaces"

Interfaces de Programacin para el acceso a datos.

La primera interfaz corresponde a la de Aplicacin, la cual abarca y#o corresponde a cada uno de los programas clientes. La Interfaz de Objetos de Acceso a Datos , se encuentra como punto medio entre las aplicaciones y las API$s que llegan a ser necesarias para el acceso a las bases de datos. Entre las tecnolog%as que pertenecen a la Interfaz de &b'etos de Acceso de (atos encontramos" (A& ((ata Access &b'ects), A(& (Acti!e) (ata &b'ects), *(& (*emote (ata &b'ect), *(+ (*emote (ata +er!ice) y ,I(A+ (,iddle-tier (istributed Application +er!ice). +u funcin es encapsular los componentes que se encuentran en la interfaz que corresponde a la de API$s, con la finalidad de reducir el desarrollo de la aplicacin y los costos de mantenimiento y deben situarse en todos los equipos que e'ecuten la aplicacin, ya que se encuentran casi de manera con'unta con la aplicacin. Por su parte, la Interfaz de Programacin de Aplicaciones (Application Programming Interface, API), se encarga de mantener el di.logo con la base de datos, para poder lle!ar a cabo el acceso y manipulacin de los datos. Algunos de los componentes que forman parte de esta interfaz son los siguientes" &LE (/, &(/0 (&pen (atabase 0onnecti!ity), 1(/0 (1a!a (ata /ase 0onnecti!ity), I+API (Internet +er!er Application Programming Interface) y 02I (0ommon 2ate3ay Interface). La funcin que tienen las API$s, es la de ser una interfaz entre las aplicaciones y las bases de datos, lle!ando 4sta tarea unas !eces a tra!4s de los clientes y otros a tra!4s del ser!idor de base de datos. Esto quiere decir, que puede darse el caso de que el cliente conste de las

tres primeras interfaces o ni!eles, o que se encuentren las dos 5ltimas en el ser!idor. La interfaz correspondiente a la base de datos, es donde se encontrar. el ser!idor y toda la informacin depositada en 4l. Para poder accesar y manipular la informacin de una base de datos, es necesario lle!ar a cabo la instalacin de ciertos API$s o controladores, que son indispensables para efectuar la conecti!idad de los datos e6ternos, y !incularlos a la aplicacin para su correcta y adecuada utilizacin. Las API's que se describen a continuacin, son un claro e'emplo del proceso correspondiente a la conecti!idad de datos.

ODBC (Open Data Base Connecti it!)" Esta tecnolog%a proporciona una interfaz com5n para tener acceso a bases de datos +7L 8eterog4neas. &(/0 est. basado en +7L (+tructured 7uery Language) como un est.ndar para tener acceso a datos. &(/0 permite la cone6in f.cil desde !arios lengua'es de programacin y se utiliza muc8o en el entorno 9indo3s. +obre &(/0 ,icrosoft 8a construido sus e6tensiones &LE (/ y A(&. Los &(/0 se pueden clasificar en : categor%as" o Los &(/0$s que permitan la realizacin de consultas y actualizaciones. o Los &(/0$s que permite la creacin de tablas en la base de datos. o Los &(/0$s propios de los (/,+, los cuales pueden manipular ciertas 8erramientas de administracin. C#I (Common #ate$a! Interface)" es una de las soluciones que se est. utilizando m.s para la creacin de interfaces 9eb#(/,+. Entre las !enta'as de la programacin 02I, destaca la sencillez, ya que es muy f.cil de entender, adem.s de ser un lengua'e de programacin independiente, ya que los escritos 02I pueden elaborarse en !arios lengua'es. ;ambi4n es un est.ndar para usarse en todos los ser!idores 9eb, y funcionar ba'o una arquitectura independiente, ya que 8a sido creado para traba'ar con cualquier arquitectura de ser!idor 9eb. 0omo la aplicacin 02I se encuentra funcionando de forma independiente, no pone en peligro al ser!idor, en cuanto al cumplimiento de todas las tareas que 4ste se encuentre realizando, o al acceso del estado interno del mismo. Pero el 02I presenta cierta des!enta'a en su eficiencia, debido al que el ser!idor 9eb tiene que cargar el programa 02I y conectar y desconectar con la base de datos cada !ez que se recibe una requisicin. Adem.s, no e6iste un registro del estado del ser!idor, sino que todo 8ay que 8acerlo manualmente. I%API (Internet %er er Application Programming Interface)" Es la interfaz propuesta por ,icrosoft como una alternati!a m.s r.pida que el 02I, y est. incluida en el +er!idor ,icrosoft Internet Information (II+). As% como los escritos 02I, los programas escritos usando I+API 8abilitan un usuario remoto para e'ecutar un programa, busca informacin dentro de una base de datos, o intercambia informacin como otro soft3are localizado en el ser!idor. Los programas escritos usando la interfaz I+API son compilados como bibliotecas de enlace din.mico ((LL - (inamic Lin< Library), ya que son cargados por el ser!idor 9eb cuando 4ste se inicia. (ic8os programas se !uel!en residentes en memoria, por lo que se e'ecutan muc8o m.s r.pido que las aplicaciones 02I, debido a que requieren menos tiempo de uso de 0P= al no

iniciar procesos separados. =no de los programas I+API m.s usados es el >;;P&(/0.(LL que se usa para en!iar y#o de!ol!er informacin 8acia y desde las bases de datos, a tra!4s de &(/0. Adem.s, I+API permite realizar un procesamiento pre!io de la solicitud y uno posterior de la respuesta, con lo cual manipula la solicitud#respuesta >;;P. Los filtros I+API pueden utilizarse para aplicaciones tales como autenticacin, acceso o apertura de sesin.

&%PAI. es la API propuesta por ?etscape para e6tender la funcionalidad de sus ser!idores. DBI (P'())" Perl es uno de los lengua'es m.s utilizados para programacin en la 9eb y proporciona su propia interfaz de acceso a datos, llamada (/I ( DataBase Interface). Es especialmente utilizado ba'o plataformas Linu6#=ni6, solucionando las comple'idades de &(/0 en estos sistemas. (/I act5a como una abstraccin para un con'unto de mdulos DBD (DataBase Driver). 0ada mdulo (/( act5a como mane'ador de un sistema gestor de base de datos distinto. E6isten mdulos para pr.cticamente cualquier +2/( (&racle, Informi6, ,y+7L, etc.) y puentes 8acia otras tecnolog%as como A(&, 1(/0 ... *DBC (*a a Data Base Connecti it!) " se trata del est.ndar para la conecti!idad entre el lengua'e 1a!a y un amplio rango de sistemas gestores de bases de datos. Los 1(/0 pueden desen!ol!erse tanto en un ni!el cliente, esto es, traba'ando del lado de la aplicacin, o en el ser!idor directamente relacionado con la base de datos. 0uando se encuentre a ni!el cliente, traba'ar. con la tecnolog%a &(/0 para acceso a los datos. >ay di!ersos tipos de controladores 1(/0"
o

El puente 1(/0-&/(0" fue uno de los primeros controladores disponibles, implementa un enlace para utilizar un controlador &(/0 desde 1a!a. 0on el tiempo 8an surgido controladores 1(/0 espec%ficos para cada base de datos que me'oran el rendimiento del puente 1(/0-&(/0. 0ontroladores 1a!a parcialmente nati!os" usan tanto cdigo 1a!a como binario espec%fico de cada plataforma. 0ontroladores 1(/0-?et de 1a!a puro" son controladores escritos completamente en 1a!a que entienden un protocolo de red est.ndar (>;;P, etc.) y permiten comunicarse con un ser!idor de acceso a bases de datos, que es el que finalmente pro!ee el acceso al +2/( espec%fico (posiblemente con &(/0). 0ontroladores de protocolo nati!o en 1a!a puro" escritos en 1a!a puro, utilizan el protocolo espec%fico de la marca del +2/(.

%+) )I&,%" se trata de controladores que se encargan de realizar la comunicacin remota entre la aplicacin y los ser!idores remotos de bases de datos, permitiendo una comunicacin casi directa y muy r.pida. Los 8a desarrollado la empresa Inprise y

permiten cone6iones con otros ser!idores de bases de datos como Interbase, &racle, +ybase, Informi6, ,icrosoft +7L +er!er, etc. Las @ tecnolog%as m.s importantes de conecti!idad a la la base de datos son ADO y *DBC. ADO" E6isten !arios ni!eles o interfaces para lograr la comunicacin o acceso a la base de datos a tra!4s de la aplicacin. El siguiente esquema muestra @ de los principales ni!eles, dentro de los cuales se encuentra A(&.

Por lo general, las interfaces de ob'etos de datos son m.s f.ciles de usar que las APIs, aunque las APIs ofrecen m.s funcionalidades. A(& ( ActiveX Data Objects) es la interfaz de ob'etos de datos para &LE (/, y *(& ( Remote Data Objects) es la interfaz para el ob'eto &(/0. A(& encapsula el API &LE (/ en un modelo ob'eto simple que reduce el desarrollo, mantenimiento y costo de la aplicacin. Es muy f.cil de usar, utiliza lengua'es de programacin como Aisual /asic, 1a!a, 0BB, A/+cript y 1+cript, puede accesar datos desde cualquier recurso &LE (/ y adem.s, es e6tensible. Es la interfaz utilizada por ,icrosoft. El modelo A(&, basado en el modelo de ob'etos, define una 'erarqu%a de ob'etos programables que pueden ser usados por desarrolladores de p.ginas 9eb para acceder a la informacin almacenada en una base de datos. =na 'erarqu%a es un grupo de ob'etos

relacionados que traba'an 'untos para un mismo propsito. Por e'emplo, en la siguiente figura, cada ca'a representa un ob'eto, y cada l%nea representa una asociacin directa entre ellos.

A(& est. compuesto de siete ob'etos, algunos de alto ni!el como 0onnection, 0ommand y *ecordset, que pueden ser creados y eliminados por el usuario y otros con distintas funcionalidades como designar propiedades de cone6in, definir sentencias y e'ecutarlas, optimizacin de consultas, etc. Estos elementos se representan en la siguiente figura"

0ada uno de los ob'etos anteriores contiene una coleccin de ob'etos Property. El ob'eto Property permite a A(& mostrar din.micamente las capacidades de un ob'eto espec%fico. A(& permite diseCar sitios 3eb que pueden acceder repetidamente a la misma base de datos usando una misma b5squeda u otra similar. +e pueden compartir cone6iones y esto significa una menor carga de traba'o para el ser!idor de la base de datos, un tiempo de respuesta m.s r.pida y m.s accesos a p.gina con 46ito.

E6iste un componente llamado *(+ (Remote Data Service) que ofrece el ambiente de Acceso =ni!ersal a (atos, ya sea desde Internet o la 9orld 9ide 9eb, creando un marco de traba'o que permite una interaccin f.cil y eficiente con los datos fuente &LE (/ tanto en Intranets corporati!as o en Internet. *(+ ofrece la !enta'a de obtener por el lado del cliente resultados de datos, actualizacin y soporte para controles A(& y ofrece el modelo de programacin &LE (/#A(& para manipular datos de las aplicaciones del cliente. *DBC 1(/0 o Java Data Base Connectivity, creado por la empresa +un, es la API est.ndar de acceso a bases de datos con 1a!a. +un opt por crear una nue!a API en lugar de utilizar &(/0, porque esta 5ltima presentaba algunos problemas desde ciertas aplicaciones 1a!a. &(/0 es una interfaz escrita en lengua'e 0, que al no ser un lengua'e portable, 8ac%a que las aplicaciones 1a!a tambi4n perdiesen la portabilidad. Adem.s, &(/0 8a de instalarse manualmente en cada m.quina, mientras que los controladores (drivers) 1(/0 que est.n escritos en 1a!a son autom.ticamente instalables y portables. El ni!el de abstraccin al que traba'a 1(/0 es m.s alto que el de &(/0 y, de esta forma, se pueden crear librer%as de m.s alto ni!el, Para traba'ar con 1(/0 es necesario tener controladores que permitan acceder a las distintas bases de datos. +in embargo, &(/0 sigue siendo 8oy en d%a la API m.s popular para acceso a /ases de (atos, por lo que" +un se 8a !isto obligada a diseCar un puente que permite utilizar la API de 1(/0 en combinacin con controladores &(/0.

Las tecnolog%as que se emplea para la conecti!idad entre los datos y la aplicacin, se 8a con!ertido en un factor muy importante a la 8ora de desarrollar un proyecto 3eb que cuente con funcionalidad de acceso a datos.

En la tabla sigueiente se muestra un cuadro comparati!o de las dos tecnolog%as m.s importantes en este sentido" Acti!e) (ata &b'ects (A(&) y 1a!a (ata /ase 0onnecti!ity (1(/0).

ADO ;ecnolog%a elaborada por ,icrosoft

*DBC ;ecnolog%a 8ec8a por +un ,icrosistems. ;iene la funcin de ser un gestor para la aplicacin con respecto a la base de datos. Por primera !ez el 1(/0 fue empleado, tomando como intermediario entre 4l y la base de datos al &(/0. 0omo modelo cliente#ser!idor, el 1(/0 se encontrar. traba'ando en el equipo cliente, conect.ndose directamente con la base de datos. 0omo modelo de tres capas, el 1(/0 se encontrar. en una capa intermedia, donde todos los usuarios pasar.n por 4l para poder accesar a la base de datos. E6isten mdulos 1(/0 que son propios de los fabricantes de (/,+, que son utilizados para el r.pido acceso a la informacin de las bases de datos de los mismos. 1(/0 no se encontrar. ligado a traba'ar con alguna tecnolog%a en espec%fica, ya que se elabor con la finalidad de ser portable. En aplicaciones 9eb, 1(/0 se encontrar. laborando en con'unto con cdigo >;,L, mediante el mecanismo del 1a!a script. 1(/0 se elabor con la finalidad de poder ser compatible y portable para poder ser empleado en aplicaciones y para la cone6in con bases de datos.

;iene la principal funcin de realizar la solicitud de los datos a la base de datos. Esta solicitud la realizar. mediante la tecnolog%a &LE (/, la cual estar. en contacto de manera directa con la base de datos. La tecnolog%a &LE (/ slo se emplear. cuando el (/,+ pertenece de igual manera a ,icrosoft, como es +7L +er!er. A(& encapsular. a ciertos ob'etos de &LE (/, para que de 4sta manera se realice la cone6in con la base de datos. Para realizar la gestin de acceso a bases de datos 8eterog4neas por parte de A(&, 4ste 8ar. uso de ciertos ob'etos de la tecnolog%a *(& (*emote (ata &b'ects). *(& depender. de los &(/0Ds para poder efectuar la cone6in a la base de datos y con esto el acceso a la informacin. A(& podr. encontrarse traba'ando en una p.gina 3eb en con'unto con cdigo >;,LE esto ser. posible mediante un mecanismo de introduccin de instrucciones como es el A/script. Los ob'etos que conforman al A(&, no son compatibles con otros lengua'es, solo por aquellos que pertenecen a la empresa ,icrosoft como son" Aisual 0BB, Aisual /asic, Aisual 1a!a, etc.

Por 5ltimo, 8ay que destacar tambi4n una tecnolog%a llamada -eb DB utilizada por algunos ser!idores de bases de datos, con la cual, un usuario puede solicitar la informacin

que requiera y !isualizarla a modo de respuesta en una p.gina 9eb, que ser. creada y elaborada por el propio ser!idor de base de datos. El proceso que comprende desde la solicitud a la !isualizacin de la informacin, puede ser representado de la siguiente manera"

En este esquema anterior destacan"

&a egador (bro3ser)" es la aplicacin mediante la cual, se tiene acceso libre a los ser!icios de Internet, y el medio que permite al usuario introducir la solicitud para !isualizar la informacin, empleando el =*L para especificar detalladamente el proceso que se desea e'ecutar. Interfaz de -eb" proporciona una interfaz para que un programa que se e'ecute en el ser!idor genere como salida el cdigo >;,L, en lugar de leer simplemente un arc8i!o est.tico de te6to. 0on 4sta interfaz se podr.n crear las p.ginas 9eb de forma din.mica y#o utilizar la implementacin de formularios >;,L. Esta interfaz permite tecnolog%as como los 02IDs o aquellas otras que son propias del ser!idor de base de datos. Agente P).%+)" es el eslabn final del proceso entre un na!egador cliente y el ser!idor de base de datos. El agente e'ecutar. una llamada a un procedimiento almacenado en el ser!idor. Este procedimiento crear. una p.gina >;,L din.mica como salida, y el agente de!ol!er. dic8a salida al cliente a tra!4s del na!egador empleando de igual manera la Interfaz de 9eb. Base de Datos (BD). En ella se mantendr. almacenada la informacinE se encargar. de proporcionar los datos que le 8ayan solicitado pre!iamente, al momento de la e'ecucin de un procedimiento por parte del Agente PL#+7L.

Esta 8erramienta es una muy buena opcin para pequeCas o medianas empresas, en las cuales llegar%a a resultar muy costoso la implementacin de otro tipo de tecnolog%as m.s caras y a!anzadas.

La funcin que tienen las API$s, es la de ser una interfaz entre las aplicaciones y las bases de datos, lle!ando 4sta tarea unas !eces a tra!4s de los clientes y otros a tra!4s del ser!idor de base de datos. Esto quiere decir, que puede darse el caso de que el cliente conste de las tres primeras interfaces o ni!eles, o que se encuentren las dos 5ltimas en el ser!idor. La interfaz correspondiente a la base de datos, es donde se encontrar. el ser!idor y toda la informacin depositada en 4l. Para poder accesar y manipular la informacin de una base de datos, es necesario lle!ar a cabo la instalacin de ciertos API$s o controladores, que son indispensables para efectuar la conecti!idad de los datos e6ternos, y !incularlos a la aplicacin para su correcta y adecuada utilizacin. )as API's /0e se describen a contin0acin1 son 0n claro ejemplo del proceso correspondiente a la conecti idad de datos. &(/0 (&pen (ata /ase 0onnecti!ity)" Esta tecnolog%a proporciona una interfaz com5n para tener acceso a bases de datos +7L 8eterog4neas. &(/0 est. basado en +7L (+tructured 7uery Language) como un est.ndar para tener acceso a datos. &(/0 permite la cone6in f.cil desde !arios lengua'es de programacin y se utiliza muc8o en el entorno 9indo3s. +obre &(/( ,icrosoft 8a construido sus e6tensiones &LE (/ y A(&. Los &0/( se pueden clasificar en : categor%as" Los &(/0$s que permitan la realizacin de consultas y actualizaciones. Los &(/0$s que mediante ellos se pueda llegar a la creacin de tablas en la base de datos. Los &(/0$s propios de los (/,+, los cuales se pueden llegar a manipular ciertas 8erramientas de administracin. 02I (0ommon 2ate3ay Interface)" es una de las soluciones que se est. utilizando m.s para la creacin de interfaces 9eb#(/,+. Entre las !enta'as de la programacin 02I, destaca la sencillez, ya que es muy f.cil de entender, adem.s de ser un lengua'e de programacin independiente, ya que los escritos 02I pueden elaborarse en !arios lengua'es. ;ambi4n es un est.ndar para usarse en todos los ser!idores 9eb, y funcionar ba'o una arquitectura independiente, ya que 8a sido creado para traba'ar con cualquier arquitectura de ser!idor 9eb. 0omo la aplicacin 02I se encuentra funcionando de forma

independiente, no pone en peligro al ser!idor, en cuanto al cumplimiento de todas las tareas que 4ste se encuentre realizando, o al acceso del estado interno del mismo. Pero el 02I presenta cierta des!enta'a en su eficiencia, debido al que el ser!idor 9eb tiene que cargar el programa 02I y conectar y desconectar con la base de datos cada !ez que se recibe una requisicin. Adem.s, no e6iste un registro del estado del ser!idor, sino que todo 8ay que 8acerlo manualmente. I+API (Internet +er!er Application Programming Interface)" Es la interfaz propuesta por ,icrosoft como una alternati!a m.s r.pida que el 02I, y est. incluida en el +er!idor ,icrosoft Internet Information (II+). As% como los escritos 02I, los programas escritos usando I+API 8abilitan un usuario remoto para e'ecutar un programa, busca informacin dentro de una base de datos, o intercambia informacin como otro soft3are localizado en el ser!idor. Los programas escritos usando la interfaz I+API son compilados como bibliotecas de enlace din.mico ((LL - (inamic Lin< Library), ya que son cargados por el ser!idor 9eb cuando 4ste se inicia. (ic8os programas se !uel!en residentes en memoria, por lo que se e'ecutan muc8o m.s r.pido que las aplicaciones 02I, debido a que requieren menos tiempo de uso de 0P= al no iniciar procesos separados. =no de los programas I+API m.s usados es el >;;P&(/0.(LL que se usa para en!iar y#o de!ol!er informacin 8acia y desde las bases de datos, a tra!4s de &(/0. Adem.s, I+API permite realizar un procesamiento pre!io de la solicitud y uno posterior de la respuesta, con lo cual manipula la solicitud#respuesta >;;P. Los filtros I+API pueden utilizarse para aplicaciones tales como autenticacin, acceso o apertura de sesin. ?+PAI. es la API propuesta por ?etscape para e6tender la funcionalidad de sus ser!idores. (/I (PE*L)" Perl es uno de los lengua'es m.s utilizados para programacin en la 9eb y proporciona su propia interfaz de acceso a datos, llamada (/I ((ata/ase Interface). Es especialmente utilizado ba'o plataformas Linu6#=ni6, solucionando las comple'idades de &(/0 en estos sistemas. (/I act5a como una abstraccin para un con'unto de mdulos (/( ((ata/ase (ri!er). 0ada mdulo (/( act5a como mane'ador de un sistema gestor de base de datos distinto. E6isten mdulos para pr.cticamente cualquier +2/( (&racle, Informi6, ,y+7L, etc.) y puentes 8acia otras tecnolog%as como A(&, 1(/0 ... 1(/0 (1a!a (ata /ase 0onnecti!ity)" se trata del est.ndar para la conecti!idad entre el lengua'e 1a!a y un amplio rango de sistemas gestores de bases de datos. Los 1(/0 pueden desen!ol!erse tanto en un ni!el cliente, esto es, traba'ando del lado de la aplicacin, o en el ser!idor directamente relacionado con la base de datos. 0uando se encuentre a ni!el cliente, traba'ar. con la tecnolog%a &(/0 para acceso a los datos. >ay di!ersos tipos de controladores 1(/0"

El puente 1(/0-&/(0" fue uno de los primeros controladores disponibles, implementa un enlace para utilizar un controlador &(/0 desde 1a!a. 0on el tiempo 8an surgido controladores 1(/0 espec%ficos para cada base de datos que me'oran el rendimiento del puente 1(/0-&(/0.

0ontroladores 1a!a parcialmente nati!os" usan tanto cdigo 1a!a como binario espec%fico de cada plataforma. 0ontroladores 1(/0-?et de 1a!a puro" son controladores escritos completamente en 1a!a que entienden un protocolo de red est.ndar (>;;P, etc.) y permiten comunicarse con un ser!idor de acceso a bases de datos, que es el que finalmente pro!ee el acceso al +2/( espec%fico (posiblemente con &(/0). 0ontroladores de protocolo nati!o en 1a!a puro" escritos en 1a!a puro, utilizan el protocolo espec%fico de la marca del +2/(. +7L LI?F+" se trata de controladores que se encargan de realizar la comunicacin remota entre la aplicacin y los ser!idores remotos de bases de datos, permitiendo una comunicacin casi directa y muy r.pida. Los 8a desarrollado la empresa Inprise y permiten cone6iones con otros ser!idores de bases de datos como Interase, &racle, +ybase, Informi6, ,icrosoft +7L +er!er, etc. Las @ tecnolog%as m.s importantes de conecti!idad a la la base de datos son A(& y 1(/0. A(&" E6isten !arios ni!eles o interfaces para lograr la comunicacin o acceso a la base de datos a tra!4s de la aplicacin. El siguiente esquema muestra @ de los principales ni!eles, dentro de los cuales se encuentra A(&.

También podría gustarte