adaptaciÓn del sistema telefÓnico multilÍnea al estÁndar tapi y acceso a base de datos remota...

Post on 02-Feb-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A

BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

ÍNDICE GENERAL

• Objetivos y pasos a seguir.

• La tarjeta telefónica y las funciones para su control.

• Clases y su integración en el sistema telefónico.

• Primera versión de IDAS.

• Aplicación de acceso a base de datos remota del rectorado.

OBJETIVOS

OBJETIVO FUNDAMENTAL: Aumentar las posibilidades del sistema telefónico multilínea:

•Independizar el sistema de la tarjeta telefónica: TAPI.

•Facilitar el mantenimiento del sistema: CLASES.

•Añadir nuevas funciones:

• IDAS.

• Acceso a notas del rectorado.

PASOS A SEGUIR

• Desarrollar sistema de clases.

• Elaborar programa de control de la tarjeta telefónica.

• Integrar clases en el sistema telefónico.

• Incorporar al programa de control capacidad de compilar y ejecutar aplicaciones.

• Añadir clases y funciones para IDAS y acceso a notas del rectorado.

LA TARJETA TELEFÓNICA Y LAS FUNCIONES PARA SU CONTROL

• Dispositivo de LINEA:

• desarrolla las funciones propias de un terminal telefónico.

• TAPI.

• Dispositivo WAVE:

• para grabar y reproducir ficheros.

• funciones WAVE o servicios MCI (Media Control Interface).

FUNCIONES TAPI Y WAVE

• Funciones SÍNCRONAS:

• Fin función=Fin acción.

• Funciones ASÍNCRONAS:

• Fin función<>Fin acción.

• La acción termina cuando la aplicación recibe mensaje indicativo.

CLASES: ventajas

•Distinguen elementos.

•Distinguen relaciones.

•Facilitan la programación de nueva funcionalidad (herencia).

•Reutilizables.

CRITERIOS DE PROGRAMACIÓN DE LAS CLASES

• Clases telefónicas y de audio:• TTapiApp.

• TLinea.

• TLlamada.

• TWave.

• Elementos del programa de control:• TTapi_owlApp.

• Clases de las que derivan otras por medio de la herencia:• TadePRO.

• Facilitar programación a través de la herencia:• TTapi.

RELACIONES ENTRE LAS CLASES

• INCLUSIÓN: si una clase incluye otra, de ella pueden depender varios objetos de la clase incluida.

• HERENCIA: La clase que hereda es un tipo de la heredada.

TTapiApp TLinea

TLlamada

TWave

TTapi TTadePRO

OPERACIONES NECESARIAS PARA EJECUTAR UNA FUNCIÓN

• Inicializar la tarjeta telefónica.

• Abrir el dispositivo de línea.

• Ejecutar la función de control que corresponda.

• Si la función es asíncrona esperar el mensaje con el resultado de la ejecución.

CONDICIONES DE EJECUCIÓN DE UNA FUNCIÓN

• Comprobar que existe el objeto del que se va a ejecutar el procedimiento siguiente.

• No se ejecutan dos funciones simultáneamente.

• El estado de la llamada es el adecuado.

• El mensaje está dirigido al objeto adecuado.

INTEGRACIÓN DEL SISTEMA DE CLASES EN EL SISTEMA TELEFÓNICO MULTILÍNEA

• Pasos a seguir para ejecutar una aplicación telefónica:

• Inicializar la tarjeta por medio del programa de control.

• Crear nuevo thread distinto del que depende la ventana principal.

• Ejecutar las instrucciones del sistema telefónico multilínea en ese segundo thread.

• Los procedimientos iniciales ejecutan métodos de TLinea.

• Los idle comprueban el momento en que termina la operación.

FUNCIONES DEL SISTEMA TELEFÓNICO PARA EL CONTROL DE LOS DISPOSITIVOS DE LÍNEA Y

WAVE

• Funciones para el control de los dispositivos de línea:

• Función ESPERAR_LLAMADA.

• Función DESCOLGAR_LENTO.

• Función RECONOCER_PALABRA.

• Función PITAR.

• Función COLGAR.

•Funciones para el control de los dispositivos wave:

• Función GRABAR.

• Función REPRODUCIR.

PRIMERA VERSIÓN DE LA APLICACIÓN TELEFÓNICA IDAS

• Servicio que permite a un usuario acceder a un número de teléfono de una empresa o persona.

• La aplicación necesita que el usuario le proporcione información.

•La aplicación dispone de mecanismos de RECONOCIMIENTO de voz.

• PROBLEMA: No siempre se reconoce correctamente lo que dice el usuario.

• SOLUCIÓN: Crear un cuadro de diálogo en el que un operador pueda:

• Oír la respuesta del usuario.

• Introducir respuesta reconocida.

CARACTERÍSTICAS DEL CUADRO DE OPERADORA

• No debe interrumpir más de lo necesario la ejecución de la aplicación.

• SOLUCIÓN: el cuadro de operadora depende de un thread distinto al que ejecuta las instrucciones del sistema telefónico (thread de la ventana principal).

• La comunicación entre los threads se logra a través de variables compartidas:

• Variable valor reconocido.

• Variable flag.

• PROBLEMA: necesario un mecanismo por el que ambos threads no puedan acceder a la variable al mismo tiempo.

• SOLUCIÓN: secciones críticas.

CLASES Y FUNCIONES RELACIONADAS CON EL CUADRO DE OPERADORA

• CLASES:

• FUNCIONES:

•Función OPERADORA_1_DATO: crea el cuadro de operadora.

•Función ESPERAR_OPERADORA_1_DATO: espera a que el operador introduzca la variable reconocida y cierre el cuadro.

TOperadora TMciWA

APLICACIÓN TELEFÓNICA DE ACCESO A BASE DE DATOS DE NOTAS DEL RECTORADO

• Permite obtener las calificaciones de la última convocatoria de un alumno perteneciente a los centros de la UPM.

• Acceso a la información a través de un SERVIDOR REMOTO.

• El terminal CLIENTE realiza llamadas RPC al SERVIDOR.

EL MODELO CLIENTE/SERVIDOR

Sistema telefónico multilínea

Presenta interfaz con el usuario.Ejecuta funciones del fichero de extensión .pro.Escribe peticiones de consulta de la base de datos remota en fichero.

Programa del servidor

Recibe peticiones.Consulta la base de datos.Devuelve el resultado de la consulta.

Programa intermedio

Recibe peticiones del sistema telefónico y las transmite al servidor mediante llamadas RPC.Recibe los resultados de la consulta y los escribe en un fichero de respuesta para el sistema telefónico.

TERMINAL CLIENTE

TERMINAL SERVIDOR

Fichero petición

y validación

Ficheros de respuesta y validación de respuesta

RPC HOST

IBM

EMULAC

3270

PROGRAMACIÓN DEL CLIENTE Y DEL SERVIDOR (I):

ASPECTOS RELEVANTES

• La librería ORPC para Windows NT proporciona los programas y rutinas necesarias para la programación del CLIENTE y del SERVIDOR.

• LOCALIZACIÓN DEL PROCEDIMIENTO A EJECUTAR EN EL SERVIDOR.

• ADECUACIÓN DE LOS DATOS PARA SU TRANSMISIÓN A TRAVÉS DE LA RED: formato XDR (External Data Representation).

• Ficheros necesarios:cou.x, cou.h, cou_clnt.c, cou_svc.c, cou_xdr.c, do_cou.c, count.c.

COMUNICACIÓN

PROGRAMA INTERMEDIO/ SERVIDOR

• El rectorado proporciona el fichero de especificación.

• Un procedimiento en el servidor: CG_ENVIAR_PETICIÓN.

• Un único dato: MENSAJE.

• Operación en servidor depende del contenido del mensaje.

• Los cuatro primeros bytes identifican el mensaje.

FUNCIONES INCORPORADAS AL SISTEMA TELEFÓNICO MULTILÍNEA

• Función IBMTCPIP_COMPRUEBA_ALUMNO: permite, a partir del dni y la clave, obtener el nombre y apellidos del alumno.

• Función IBMTCPIP_BUSCA_ELEMENTO: guarda en una estructura las notas del alumno a partir de su dni, clave, año académico, convocatoria y código del centro en que está matriculado.

• Función IBMTCPIP_LEE_CAMPOS: devuelve las notas del alumno a partir de la estructura que se llena con la función anterior.

CONCLUSIONES

• Se ha conseguido independizar parte de la funcionalidad del sistema telefónico de la tarjeta telefónica empleada gracias al estándar TAPI.

• El sistema telefónico dispone de un conjunto de clases que facilitan la programación de nuevas funciones y los cambios en las mismas.

• Se ha dotado al sistema de un método que permite a un operador cambiar el valor de una variable del programa mientras se ejecuta la aplicación telefónica gracias a las propiedades de los threads y las secciones críticas.

• Se ha añadido al sistema un método que permite ejecutar procedimientos de un terminal remoto y utilizar los resultados de los mismos empleando las características del modelo cliente/servidor y las llamadas RPC.

top related