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

22
ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

Upload: salvador-aguirre-gomez

Post on 02-Feb-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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

BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

Page 2: 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.

Page 3: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 4: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 5: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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).

Page 6: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 7: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

CLASES: ventajas

•Distinguen elementos.

•Distinguen relaciones.

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

•Reutilizables.

Page 8: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 9: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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

Page 10: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 11: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 12: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 13: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 14: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 15: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 16: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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

Page 17: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 18: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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

Page 19: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 20: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 21: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.

Page 22: ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC

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.