Entrada y salida
Canales de entrada y publicación segura
Un canal publica procesos. Por su Puerto atiende clientes TCP y, si el motor tiene Puerto Web, los mismos procesos quedan publicados como SOAP y REST sin configurar nada más: un canal, tres puertas.
Crear y publicar
- Canales → +: nombre y puerto TCP; en Procesos Permitidos se agregan los procesos; Activo; reiniciar el motor (los canales se leen al arrancar).
- El motor elige el proceso por el elemento raíz del mensaje (TCP y SOAP) o por el último tramo de la URL (REST).
- TCP: codificación
xmlo trama planaascii/ebcdic(ancho fijo, un solo proceso), fin de registro, modo transacción, tiempo inactivo, juego de caracteres y comportamiento (esperar conexiones o iniciar la conexión hacia un origen, con reintento). - SOAP 1.1 document/literal con WSDL en
…/Canal?wsdl; REST con JSON sin envoltorio y OpenAPI en…/Canal/openapi.json. Los contratos salen del inicio y fin de cada proceso. - TimeOut es el presupuesto del proceso; Trabajadores las transacciones simultáneas (TCP encola, SOAP/REST responde 503 si no hay cupo; 0 = automático); Log Level decide qué queda en bitácora.
- Respuesta anticipada: un Task con servidor
[canal]responde de inmediato y el proceso sigue trabajando (para procesos largos que no deben hacer esperar al cliente).
Publicación segura
Sin tocar nada, todo sigue en HTTP y abierto. Para publicar hacia afuera hay tres piezas, y cada una se configura en su lugar:
| Pieza | Dónde | Qué hace |
|---|---|---|
| HTTPS | Consola → Motor → Publicación segura | Certificado PEM o PFX, TLS mínimo, aviso de vencimiento. Renovación sin reiniciar: el motor detecta el archivo nuevo. URL pública y proxy confiable para IIS o nginx adelante. |
| Credencial por canal | Editar canal → Seguridad | Nivel: hereda del motor, Abierto, Solo IPs permitidas, API key (header configurable), Usuario y clave (HTTP Basic y WS-Security UsernameToken), Certificado de cliente (mTLS). Opción de proteger también el WSDL/OpenAPI, límite por minuto por cliente y nombre público (alias). |
| Clientes y llaves | Consola → Clientes | Alta de clientes por canal, generar y rotar llaves (se ven una sola vez, se guarda el hash), revocar, certificados por huella, usuario y clave con bcrypt. Aplica sin reiniciar. |
| Frenos | stx.conf y canal | Pausa por IP tras fallos de credencial y límite por minuto; ambos responden 429 con Retry-After. |
Un proceso puede declarar _cliente en su Start para recibir quién lo llamó; la bitácora tiene columna y filtro por cliente. Health → Publicación resume el estado: HTTPS, certificado (amarillo y rojo según días), nivel por canal, rechazos, pausas y limitados. Validar y el formulario avisan si un canal exige credencial sin HTTPS o sin clientes.
Límites: el nivel Token (OAuth2/JWT) está reservado; mTLS solo con publicación directa; el puerto TCP no tiene HTTPS ni credencial, solo IPs permitidas; ISO 8583 no está implementado.
