Bueno, una de las alternativas (y sé de muy pocos sistemas en los que esto se hace porque es Honestamente PEOR que simplemente usar REST de una manera sensata) es usar sistemas de descubrimiento y un contexto como HATEOS (HTTP como el motor del Estado), donde su API es navegable a través de referencias de enlace, los datos y sus campos están todos metaetiquetados, y cada solicitud se considera una transacción muy pequeña que existe independientemente de todo lo demás. Además, es terriblemente inseguro, y para las cosas que realmente necesitan un procesamiento transaccional, usted o las personas que necesitan acceso a nivel de comunicaciones lo odiarán. A menudo ambos.
Esto no quiere decir que HATEOS sea malo, o que el concepto de tener una API internamente navegable sea malo, absolutamente no, y si hubiera mejores formas de que el sistema construyera y mantuviera estas transacciones del menú contextual lógicamente, y una mejor manera de Asegure la conversación (hay) que era convencional (pero no lo es), entonces sería un sistema hermoso. Hasta donde sé, esto no es cierto, pero me encantaría estar equivocado al respecto.
Para aclarar, una negociación como esta implicaría algún tipo de conversación en pseudo lenguaje natural como esta:
- ¿Cuál es actualmente la base de datos (software) más segura?
- ¿Cuáles son las áreas de investigación abiertas en arquitectura de software?
- ¿Cuáles son las herramientas de automatización de control de calidad de software más solicitadas en este momento?
- ¿Cuál es el mejor enfoque para probar los requisitos implícitos?
- ¿Qué es una revisión de código?
Solicitar saldo de usuario para ID de usuario: x0000010921
El servidor recibe la solicitud, decide procesarla aunque no esté autenticada:
Lee la ID de usuario y un modificador, por lo que carga ese objeto de registro en la memoria
Busca un campo llamado Balance de usuario, o Balance, o cualquier metaetiqueta que coincida con la solicitud, encuentra uno (¡sí!)
Responde con “Balance (nombre del campo para referencia) para la ID de usuario: X0000010921” como un nombre de elemento XML o JSON, y una respuesta de XXXX: XX y un símbolo de moneda.
Esto es todo, en cada etapa, mucho más trabajo que simplemente crear una API transaccional, y esta es la conversación mínima absoluta. Empeora muy, MUY rápido.
Como puede ver, necesitaría un NLP (analizador de lenguaje natural), un meta diccionario, un asistente de navegación para su punto final HATEOS real (para navegar por los enlaces tradicionales y enviarlo al lugar correcto), y la voluntad de crear todo los gastos generales para navegar y, lo que es más importante, mantenerlo. Que yo sepa, el único sistema que hace cosas como esta es la búsqueda por voz de Google, junto con Siri y Amazon Alexa, y sus competidores, pero no lo usa para conversaciones entre computadoras (que yo sepa).