
42 Implementación de servicios VoIP sobre Asterisk
4.2.3 Base de datos
Para poder disponer de un historial de llamadas y poder extraer en cualquier
momento estadísticas es necesario almacenar la información en una base de
datos.
Asterisk ofrece un mecanismo para almacenar datos llamado Asterisk database
(AstDB). Esta base de datos no se basa en un modelo relacional como puede
ser MySQL o PostgreSQL sino que está basada en la primera versión de la
base de datos Berkeley. La base de datos Asterisk almacena sus datos en
grupos llamados familias donde cada valor dentro de este grupo es identificado
por una clave o key. Esta clave es única para cada familia, es decir, dentro de
cada grupo no puedo haber dos o más valores identificados con el mismo
nombre.
Pese a que utilizar esta base de datos evitaría instalar un servidor de base de
datos e incluso la API Asterisk-Java permite controlarla, esta base de datos es
óptima para guardar variables de control del dialplan y no para almacenar
información en una estructura de tabla relacional. Es por este motivo que se
decide finalmente instalar un servidor MySQL 4.1.11 en el que se creará una
tabla con información detallada de cada llamada producida en la centralita.
Para poder leer y escribir en esta base de datos desde la aplicación se
utilizará la API JDBC 3.1.13 (Java Database Connectivity) que permite
gestionar cualquier base de datos SQL [31].
4.2.4 Servidor web
Como ya se ha comentado en el apartado 4.2.1, un servlet es un programa en
Java usado para extender las capacidades de un servidor web, entre otros
servicios basados en un modelo petición-respuesta. En este caso, los servlets
se ejecutan dentro del entorno del servidor web y amplían su funcionalidad al
permitir la generación de páginas HTML de manera dinámica. Estos servlets
reciben y responden a peticiones de clientes web a través del protocolo HTTP.
Para que se puedan ejecutar los servlets es preciso tener un contenedor de
servlets que trabaje en conjunción con el servidor web. Este contenedor se
encarga entre otras cosas de administrar la carga y descarga de los servlets
dentro del servidor web.
Apache Tomcat [32], también conocido como Jakarta Tomcat, proporciona el
contenedor de servlets necesario para el trabajo con los Java Servlets, y JSP
(Java Server Pages). Tomcat fue desarrollado bajo licencia open source por
Apache Software Foundation en colaboración con Sun Microsystems. Dado
que Tomcat fue escrito en Java, funciona en cualquier sistema operativo que
disponga de la máquina virtual y lleva integrado un servidor de páginas. Cabe
la opción de sustituir este servidor de páginas por otra tecnología compatible
con Tomcat, como puede ser Apache o Microsoft IIS (Internet Information
Server). La versión utilizada Apache Tomcat es la 5.5.17.
Comentarios a estos manuales