El método básico de acceso a telecomunicaciones ( BTAM ) [1] es una interfaz de programación de bajo nivel especificada por IBM para su uso en el IBM System/360 para terminales de telecomunicaciones sincrónicas binarias y de arranque y parada . Posteriormente, IBM especificó interfaces de nivel superior, QTAM y TCAM .
BTAM fue reemplazado por VTAM para dispositivos de arquitectura de sistemas en red (SNA). BTAM siguió siendo compatible en iteraciones posteriores de la arquitectura de sistemas e IBM finalmente retiró el soporte en 2000.
BTAM requiere que el programa de aplicación o el sistema de procesamiento de transacciones manejen casi todos los detalles del protocolo. Esto es más difícil que usar un protocolo de capa superior, pero permite la interconexión con dispositivos no estándar de formas no estándar.
BTAM es un método de acceso para comunicarse de forma interactiva con terminales remotas, generalmente conectados a través de un procesador front-end como un controlador de comunicaciones 270x , aunque se incluye soporte para terminales 3270 conectados al canal local . BTAM construye dinámicamente palabras de comando de canal (CCW) para leer, escribir y "sondear" terminales y se ocupa de respuestas específicas de esos terminales, según el éxito o el fracaso del canal de comunicación.
BTAM fue un componente clave en los primeros sistemas de procesamiento de transacciones de IBM, como MTCS , CICS e IMS, y fue la base del auge del procesamiento de transacciones en línea para muchos grandes bancos comerciales y compañías de seguros. No era inusual que BTAM y los métodos de acceso desarrollados posteriormente (como VTAM) coexistieran, dando soporte a diferentes dispositivos simultáneamente bajo el mismo sistema de procesamiento de transacciones.
El material de esta sección se ha tomado de IBM System/360 Operating System Basic Telecommunications Access Method; GC30-2004-6 . [2]
La programación BTAM requiere un conocimiento detallado de las características de los terminales específicos que se utilizarán.
La macro DCB se utiliza para definir un grupo de líneas de comunicaciones: dcbname DCB DSORG=CX...
DEVD=BS
se puede codificar para especificar una línea binaria síncrona (Bisync). Muchos otros operandos especifican características exclusivas de los terminales conectados.
Una lista de terminales , especificada por la DFTRMLST
macro, identifica las terminales conectadas a la línea. Esta macro especifica las características de la línea (inicio-parada, bisincronización, punto a punto, multipunto, línea arrendada o dial) y el tipo de sondeo requerido (envolvente o abierto). Los caracteres de sondeo o el número de teléfono utilizados para identificar cada dispositivo remoto específico en la línea están codificados. La CHGNTRY
macro se puede utilizar para modificar la información de un dispositivo específico en la lista durante la ejecución. Una lista de sondeo envolvente hará que el canal sondee secuencialmente cada dispositivo en la lista hasta que se reciba una respuesta. Esto reduce la carga en la CPU para el sondeo continuo.
El programador puede especificar un grupo de búferes , una estructura de datos utilizada para almacenar mensajes transmitidos hacia o desde los terminales. BTAM puede construir el grupo automáticamente o el programador puede construir el grupo de varias maneras. La macro BUILD formateará el grupo en almacenamiento estático o dinámico adquirido previamente, o la GETPOOL
macro adquirirá y formateará el almacenamiento automáticamente. Para operaciones de lectura, BTAM obtendrá automáticamente uno o más búferes del grupo y almacenará el mensaje recibido. Para una operación de escritura, el programador necesita codificar REQBUF
para obtener la cantidad de búferes necesarios para construir el mensaje de salida. En cualquier caso, RELBUF
se utiliza para liberar los búferes al completar la lectura o escritura.
Tha ASMTRTAB
y TRNSLATE
incluye tablas de traducción y traducen hacia y desde códigos de caracteres no EBCDIC .
El sistema operativo estándar OS/360 OPEN
y CLOSE
las macros se utilizan para iniciar y finalizar el procesamiento de una línea BTAM. La LOPEN
macro puede reiniciar una línea que, por cualquier motivo, no se pudo abrir correctamente.
BTAM proporciona una gran cantidad de opciones para las macros READ
y WRITE
, según los tipos de línea y terminal y el estado actual. Se trata de operaciones como "lectura inicial con reinicio", "lectura conversacional", "lectura repetida", "escritura inicial", "escritura con interrupción" y "escritura continua transparente". Estas se especifican mediante códigos, como READ decbaddr,TI,...
para una "lectura inicial". La operación de lectura o escritura se ejecuta de forma asincrónica por el canal. Después de una lectura o escritura, se requiere una macro WAIT
o TWAIT
para esperar a que se complete y recuperar el estado final.
La RESETPL
macro cancela una lectura pendiente y/o detiene el sondeo en una línea.
Entre muchos otros dispositivos compatibles, BTAM maneja: