que es un paradigma y api

16
Que es un paradigma Que es un paradigma El Paradigma de programación es una forma de El Paradigma de programación es una forma de representar y manipular el conocimiento. Representan representar y manipular el conocimiento. Representan un enfoque particular o filosofía para la construcción un enfoque particular o filosofía para la construcción del software. Cada uno tiene ventajas y desventajas. del software. Cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta También hay situaciones donde un paradigma resulta más apropiado que otro. más apropiado que otro.

Upload: davidleggio

Post on 07-Jul-2015

330 views

Category:

Business


3 download

TRANSCRIPT

Page 1: Que es un paradigma y api

Que es un paradigmaQue es un paradigmaEl Paradigma de programación es una forma de El Paradigma de programación es una forma de representar y manipular el conocimiento. Representan representar y manipular el conocimiento. Representan un enfoque particular o filosofía para la construcción un enfoque particular o filosofía para la construcción del software. Cada uno tiene ventajas y desventajas. del software. Cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta También hay situaciones donde un paradigma resulta más apropiado que otro.más apropiado que otro.

Page 2: Que es un paradigma y api

Programación orientada Programación orientada a eventosa eventos La programación por eventos, consiste en que, en lugar de La programación por eventos, consiste en que, en lugar de

que el usuario espere al programa, el programa espera al que el usuario espere al programa, el programa espera al usuario. Ahora el sistema espera la ocurrencia de eventos y usuario. Ahora el sistema espera la ocurrencia de eventos y actúa en consecuencia. Esto quiere decir, el programa debe actúa en consecuencia. Esto quiere decir, el programa debe saber cómo manejar los objetos disponibles y responder a los saber cómo manejar los objetos disponibles y responder a los estímulos que vienen del usuario.estímulos que vienen del usuario.

Un claro ejemplo de esto lo podemos ver en Word que al Un claro ejemplo de esto lo podemos ver en Word que al arrancar el programa este se queda en esperando las arrancar el programa este se queda en esperando las ordenes o eventos realizados por el usuario, entre estos ordenes o eventos realizados por el usuario, entre estos están para abrir y modificar un archivo, o bien comenzar a están para abrir y modificar un archivo, o bien comenzar a crearlo desde el principio.crearlo desde el principio.

Page 3: Que es un paradigma y api

Métodos para la P.O.EMétodos para la P.O.E

Los Los métodosmétodos son funciones que también son llamadas son funciones que también son llamadas desde programa, pero a diferencia de los procedimientos desde programa, pero a diferencia de los procedimientos vienen ya pre-programadas con el lenguaje. Los métodos vienen ya pre-programadas con el lenguaje. Los métodos realizan tareas típicas, previsibles y comunes para todas realizan tareas típicas, previsibles y comunes para todas las aplicaciones.las aplicaciones.

En general solo pueden ser ejecutados en tiempos de En general solo pueden ser ejecutados en tiempos de ejecución no en tiempo de diseño. ejecución no en tiempo de diseño.

Las aplicaciones se inician creando la pantalla principal e Las aplicaciones se inician creando la pantalla principal e iniciando la cola de eventos.iniciando la cola de eventos.

Page 4: Que es un paradigma y api

Administración de Administración de concurrenciaconcurrencia Los eventos son procesados en orden, obteniéndolos de la Los eventos son procesados en orden, obteniéndolos de la

cola de eventos, y el proceso de cada evento implica cola de eventos, y el proceso de cada evento implica despacharlo al componente correcto.despacharlo al componente correcto.

No se controla el orden en que se producen los eventos, es No se controla el orden en que se producen los eventos, es importante que responda con prontitud.importante que responda con prontitud.

Page 5: Que es un paradigma y api

APIAPI Una API (Application Programming Interface o Interfase de Una API (Application Programming Interface o Interfase de

Programación de Aplicaciones) es un conjunto de funciones Programación de Aplicaciones) es un conjunto de funciones que facilitan el intercambio de mensajes o datos entre dos que facilitan el intercambio de mensajes o datos entre dos aplicaciones. Es una forma de que dos aplicaciones que aplicaciones. Es una forma de que dos aplicaciones que trabajan al mismo tiempo.trabajan al mismo tiempo.

En Internet, una API permite que un sitio web brinde En Internet, una API permite que un sitio web brinde determinado servicio a otro, a través de determinado servicio a otro, a través de l lamadas a l lamadas a funciones documentadas y publicadasfunciones documentadas y publicadas , facilitando de , facilitando de esta manera el “mash-up” o mezcla de servicios. esta manera el “mash-up” o mezcla de servicios.

Por ejemplo, hoy es posible que desde un blog personal se Por ejemplo, hoy es posible que desde un blog personal se puedan publicar noticias del sitio de un famoso periódico, puedan publicar noticias del sitio de un famoso periódico, mezcladas con fotos que ya están alojadas en un sitio de mezcladas con fotos que ya están alojadas en un sitio de fotografías, a través de fotografías, a través de l lamadas a la APIllamadas a la API de estos dos de estos dos servicios.servicios.

Page 6: Que es un paradigma y api

APIAPI

Una API detalla solamente la forma de llamar a cada función Una API detalla solamente la forma de llamar a cada función y lay latarea que esta desempeña, sin importar cómo se lleva a cabo tarea que esta desempeña, sin importar cómo se lleva a cabo dicha tarea.dicha tarea.

Page 7: Que es un paradigma y api

Detalles técnicosDetalles técnicos

Un API es un conjunto de reglas para escribir Un API es un conjunto de reglas para escribir funciones ofunciones ohacer l lamados a subrutinas y acceder a otras hacer l lamados a subrutinas y acceder a otras funciones en una l ibrería.funciones en una l ibrería. Los programas que usan estas Los programas que usan estas reglas o funciones en sus llamadas API pueden comunicarse reglas o funciones en sus llamadas API pueden comunicarse con cualquiera que use dicha API.con cualquiera que use dicha API.

Page 8: Que es un paradigma y api

Detalles técnicosDetalles técnicos

Las API ofrecen distintos tipos de diálogos con el proveedor para Las API ofrecen distintos tipos de diálogos con el proveedor para actualizar información en el mismo, como son:actualizar información en el mismo, como son:

Acceso a bases de datosAcceso a bases de datos Comunicación cliente/servidorComunicación cliente/servidor Comunicación peer-to-peerComunicación peer-to-peer Comunicación en tiempo realComunicación en tiempo real Event-driven (orientada a eventos)Event-driven (orientada a eventos) Store and forwardStore and forward Procesamiento de transaccionesProcesamiento de transacciones

Page 9: Que es un paradigma y api

Detalles técnicosDetalles técnicos

Una API puede combinar recuperación de errores, traducción Una API puede combinar recuperación de errores, traducción de datos, seguridad, manejo de colas y nomenclatura con una de datos, seguridad, manejo de colas y nomenclatura con una interfase fácil de asimilar, que comprende acciones y interfase fácil de asimilar, que comprende acciones y comandos simples pero con muchas opciones.comandos simples pero con muchas opciones.

Para invocar una API, el programa debe llamar a una función Para invocar una API, el programa debe llamar a una función tipo “send”, especificando parámetros para el nombre de tipo “send”, especificando parámetros para el nombre de destino, indicadores de datos y opciones de confirmación.destino, indicadores de datos y opciones de confirmación.

Page 10: Que es un paradigma y api

Detalles técnicosDetalles técnicos La API toma la información y hace que todo el trabajo La API toma la información y hace que todo el trabajo

específico de comunicación sea transparente para la específico de comunicación sea transparente para la aplicación. Hay cuatro tipos de APIs que posibilitan el aplicación. Hay cuatro tipos de APIs que posibilitan el intercambio de datos entre diferentes aplicaciones de intercambio de datos entre diferentes aplicaciones de software en plataformas individuales o distribuidas:software en plataformas individuales o distribuidas:

Page 11: Que es un paradigma y api

Tipos de APIsTipos de APIs Remote Procedure Calls (RPCs) o Llamadas a Procedimientos RemotosRemote Procedure Calls (RPCs) o Llamadas a Procedimientos Remotos

Con las RPCs, los programas pueden comunicarse a través deCon las RPCs, los programas pueden comunicarse a través deprocedimientos (o tareas) que actúan en buffers compartidos deprocedimientos (o tareas) que actúan en buffers compartidos deinformación.información.

Standard Query Language (SQL)Standard Query Language (SQL)Un lenguaje de acceso de datos sin procedimientos que permite elUn lenguaje de acceso de datos sin procedimientos que permite el

intercambio de datos entre aplicaciones, accediendo a bases de datosintercambio de datos entre aplicaciones, accediendo a bases de datoscomunes.comunes.

Transferencia de archivosTransferencia de archivos Habilita el intercambio de datos enviando archivos formateados entre aplicaciones.Habilita el intercambio de datos enviando archivos formateados entre aplicaciones.

Envío de mensajesEnvío de mensajesProvee el intercambio de datos por comunicaciones de interprogramaciónProvee el intercambio de datos por comunicaciones de interprogramación

directa, a través de pequeños mensajes formateados entre aplicacionesdirecta, a través de pequeños mensajes formateados entre aplicacionesemparejadas.emparejadas.

Page 12: Que es un paradigma y api

APIsAPIs Se pueden desarrollarse para cualquier plataforma y sistema Se pueden desarrollarse para cualquier plataforma y sistema

operativo. También desde hace unos años se vienen operativo. También desde hace unos años se vienen desarrollando como forma de desarrollando como forma de acceder a servicios webacceder a servicios web . . En este sentido, las API más conocidas son las de:En este sentido, las API más conocidas son las de:

Una Una interfaz de programación de aplicacionesinterfaz de programación de aplicaciones o o APIAPI (del (del inglésinglés application programming interface) es el conjunto application programming interface) es el conjunto de de funciones y procedimientosfunciones y procedimientos (o (o métodosmétodos, en la , en la programación orientada a objetosprogramación orientada a objetos) que ofrece cierta ) que ofrece cierta bibliotecabiblioteca para ser utilizado por otro software como una capa de para ser utilizado por otro software como una capa de abstracción. Usados generalmente en las bibliotecas.abstracción. Usados generalmente en las bibliotecas.

Page 13: Que es un paradigma y api

Característ icas Característ icas

Una interfaz de programación representa una interfaz de Una interfaz de programación representa una interfaz de comunicación entre componentes de comunicación entre componentes de softwaresoftware. Se trata del . Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y representa un a ciertos servicios desde los procesos y representa un método para conseguir método para conseguir abstracciónabstracción en la en la programaciónprogramación, , generalmente entre los niveles o capas inferiores y los generalmente entre los niveles o capas inferiores y los superiores del software. Uno de los principales propósitos de superiores del software. Uno de los principales propósitos de una API consiste en proporcionar un conjunto de una API consiste en proporcionar un conjunto de funcionesfunciones de de uso general, por ejemplo, para dibujar uso general, por ejemplo, para dibujar ventanasventanas o o iconosiconos en en la la pantallapantalla. De esta forma, los . De esta forma, los programadoresprogramadores se benefician se benefician de las ventajas de la API haciendo uso de su funcionalidad, de las ventajas de la API haciendo uso de su funcionalidad, evitándose el trabajo de programar todo desde el principio. evitándose el trabajo de programar todo desde el principio.

Page 14: Que es un paradigma y api

EjemploEjemplo se puede ver la tarea de escribir "se puede ver la tarea de escribir "Hola MundoHola Mundo" sobre la pantalla en diferentes niveles de " sobre la pantalla en diferentes niveles de

abstracciónabstracción:: Haciendo todo el trabajo desde el principio: Haciendo todo el trabajo desde el principio:

– Traza, sobre Traza, sobre papelpapel milimetrado, la forma de las letras (y espacio) "H,o, l, a,M,u, n, milimetrado, la forma de las letras (y espacio) "H,o, l, a,M,u, n, d, o".d, o".

– Crea una Crea una matrizmatriz de de cuadradoscuadrados negros y blancos que se asemeje a la sucesión de negros y blancos que se asemeje a la sucesión de letras.letras.

– Mediante instrucciones en Mediante instrucciones en ensambladorensamblador, escribe la información de la matriz en la , escribe la información de la matriz en la memoria intermediamemoria intermedia ("buffer") de pantalla. ("buffer") de pantalla.

– Mediante la instrucción adecuada, haz que la Mediante la instrucción adecuada, haz que la tarjeta gráficatarjeta gráfica realice el realice el volcadovolcado de de esa información sobre la pantalla.esa información sobre la pantalla.

Por medio de un Por medio de un sistema operativosistema operativo para hacer parte del trabajo: para hacer parte del trabajo: – Carga una Carga una fuentefuente tipográfica proporcionada por el sistema operativo. tipográfica proporcionada por el sistema operativo.– Haz que el sistema operativo borre la pantalla.Haz que el sistema operativo borre la pantalla.– Haz que el sistema operativo dibuje el texto "Hola Mundo" usando la fuente Haz que el sistema operativo dibuje el texto "Hola Mundo" usando la fuente

cargada.cargada. Usando una Usando una aplicaciónaplicación (que a su vez usa el sistema operativo) para realizar la mayor (que a su vez usa el sistema operativo) para realizar la mayor

parte del trabajo: parte del trabajo: Escribe un documento Escribe un documento HTMLHTML con las palabras "Hola Mundo" para que un con las palabras "Hola Mundo" para que un

navegador Webnavegador Web como como MozillaMozilla, , FirefoxFirefox, Opera o Internet Explorer pueda representarlo en , Opera o Internet Explorer pueda representarlo en el monitor.el monitor.

Page 15: Que es un paradigma y api

EjemploEjemplo Como se puede ver, la primera opción requiere más Como se puede ver, la primera opción requiere más

pasos, cada uno de los cuales es mucho más complicado que pasos, cada uno de los cuales es mucho más complicado que los pasos de las opciones siguientes. Además, no resulta los pasos de las opciones siguientes. Además, no resulta nada práctico usar el primer planteamiento para representar nada práctico usar el primer planteamiento para representar una gran cantidad de información, como un artículo una gran cantidad de información, como un artículo enciclopédico sobre la pantalla, mientras que el segundo enciclopédico sobre la pantalla, mientras que el segundo enfoque simplifica la tarea eliminando un paso y haciendo el enfoque simplifica la tarea eliminando un paso y haciendo el resto más sencillos y la tercera forma simplemente requiere resto más sencillos y la tercera forma simplemente requiere escribir "Hola Mundo". Sin embargo, las APIs de alto nivel escribir "Hola Mundo". Sin embargo, las APIs de alto nivel generalmente pierden flexibilidad; por ejemplo, resulta mucho generalmente pierden flexibilidad; por ejemplo, resulta mucho más difícil en un navegador web hacer girar texto alrededor más difícil en un navegador web hacer girar texto alrededor de un punto con un contorno parpadeante que programarlo a de un punto con un contorno parpadeante que programarlo a bajo nivel. Al elegir usar una API se debe llegar a un cierto bajo nivel. Al elegir usar una API se debe llegar a un cierto equilibrio entre su potencia, simplicidad y pérdida de equilibrio entre su potencia, simplicidad y pérdida de flexibilidad.flexibilidad.

Page 16: Que es un paradigma y api

APIAPI Una API ofrece al programador un cierto nivel de abstracción que Una API ofrece al programador un cierto nivel de abstracción que

enmascara la complejidad de acceso a un sistema o aplicación, enmascara la complejidad de acceso a un sistema o aplicación, proponiéndole un conjunto de funciones de las cuales sólo se proponiéndole un conjunto de funciones de las cuales sólo se conocen los parámetros y los valores devueltos. Asimismo, por conocen los parámetros y los valores devueltos. Asimismo, por analogía con un automóvil, el conductor no necesita conocer la analogía con un automóvil, el conductor no necesita conocer la mecánica del motor para conducir el automóvil. El conductor sólo mecánica del motor para conducir el automóvil. El conductor sólo tiene acceso a la interfaz compuesta por el volante, los pedales tiene acceso a la interfaz compuesta por el volante, los pedales (acelerador, embrague, freno), los controles (indicadores, luces (acelerador, embrague, freno), los controles (indicadores, luces delanteras, caja de cambios), interruptores (luces de emergencia, delanteras, caja de cambios), interruptores (luces de emergencia, luces antiniebla, bocina, etc.). En cierta forma, es similar a la interfaz luces antiniebla, bocina, etc.). En cierta forma, es similar a la interfaz presentada al usuario. presentada al usuario.

Gracias a las API, un desarrollador no necesita preocuparse de Gracias a las API, un desarrollador no necesita preocuparse de cómo funciona una aplicación remota ni de la forma en que las cómo funciona una aplicación remota ni de la forma en que las funciones fueron implementadas, para poder utilizarla en un funciones fueron implementadas, para poder utilizarla en un programa. Una API puede estar disponible para un lenguaje programa. Una API puede estar disponible para un lenguaje específico o para diversos lenguajes de programaciónespecífico o para diversos lenguajes de programación