Arquitectura y configuración de Business App
Usa este contrato para decidir dónde corresponde un cambio de configuración o una integración de Business App. La aplicación combina un contenedor nativo, Ordering Components compartidos, servicios de Ordering API y proveedores de dispositivos o externos. Que un valor aparezca en una capa no demuestra que otra capa lo admita.
Antes de empezar
- Identifica el proyecto y el entorno previstos para la compilación.
- Confirma si la compilación usa un proyecto fijo o permite que un operador elija uno antes de iniciar sesión.
- Trata los ajustes de API, socket, push, mapas y proveedores de dispositivo como configuración propia del entorno. No copies valores entre entornos sin la aprobación de su responsable.
- Prueba con datos sintéticos y una compilación cuya fuente, configuración y relación con el backend sean conocidas.
Alcance y versión
| Autoridad | Límite público compatible | Limitación de versión o referencia |
|---|---|---|
| Business App | Controla el inicio nativo, el tema y los recursos incluidos, la selección de proyecto, la composición de la navegación y las transferencias al dispositivo. | Las capacidades pueden variar entre versiones de la app; confirma qué versión está instalada en el entorno de destino. |
| Ordering Components | Controla el grafo de proveedores compartidos y el estado del cliente para el acceso a API, configuración, idioma, sesión, pedidos, negocios y conexiones en tiempo real. | La aplicación consume una revisión exacta de Components. Una rama que cambie puede comportarse de otra manera. |
| Ordering API | Controla la autorización del servidor, la validación, la configuración devuelta y los efectos en los datos. | El comportamiento puede variar entre entornos y versiones desplegadas de la API; confirma qué entorno usa la app. |
| Proveedores de dispositivos y externos | Controlan los permisos, la entrega, la conectividad y el comportamiento del sistema operativo fuera de la aplicación JavaScript. | La disponibilidad varía según plataforma, configuración del proveedor, estado del dispositivo y permisos del operador. |
Entradas y configuración
| Entrada o configuración | Responsable | Validación y disponibilidad | Límite del fallo |
|---|---|---|---|
| Identidad del proyecto y modo de selección | Responsable de compilación y despliegue | La compilación debe identificar un proyecto o habilitar explícitamente la selección antes de iniciar operaciones autenticadas. | Si falta el proyecto o está obsoleto, los contextos de configuración, sesión y datos podrían no estar disponibles. |
| API base, idioma y versión de API | Responsable del despliegue y Ordering Components | Components usa estos valores para crear el cliente empleado por los contextos compartidos. El entorno de API seleccionado debe ser compatible con la compilación. | Que el valor sea sintácticamente válido no demuestra conectividad, autorización ni compatibilidad del despliegue. |
| Configuración remota del proyecto | Ordering API y administrador del proyecto | La API devuelve solo la configuración disponible para el proyecto y quien solicita. Components combina los valores predeterminados compatibles y los indicadores de función para la aplicación. | Los valores ausentes, protegidos, no disponibles u obsoletos deben tratarse como no disponibles; no indican derechos sobre una función. |
| Configuración de tiempo real y push | Responsable del despliegue y proveedor | El proyecto, la sesión autenticada, la aplicación del proveedor y los permisos del dispositivo deben coincidir. | La inicialización del proveedor o el registro de token pueden fallar por separado de las lecturas normales de API. |
| Tema, recursos y capacidades nativas | Responsable de publicación de la aplicación | Se incluyen en la compilación y están limitados por los manifiestos de plataforma y los módulos nativos instalados. | Un valor remoto no puede añadir una capacidad nativa que no incluya el binario instalado. |
Los indicadores de configuración solo demuestran disponibilidad para el cliente. Por sí solos no confirman un plan comercial, permiso, entrega del proveedor ni compatibilidad del servidor.
Ciclo de vida y resultados
- El contenedor nativo carga los ajustes, el tema y los recursos incluidos.
- Si está habilitada la selección de proyecto, el contenedor espera a que se elija el proyecto guardado; de lo contrario, usa el proyecto incluido en la compilación.
- El contenedor proporciona la configuración resultante a Ordering Components. Components crea los contextos de API, configuración, sesión, idioma, pedidos, negocios y tiempo real alrededor de la aplicación.
- Se carga la configuración remota del proyecto seleccionado. El estado de autenticación y del proyecto determina qué espacio de trabajo presenta la capa de navegación.
- Las integraciones de dispositivos y proveedores se inicializan solo cuando se cumplen sus condiciones de configuración, plataforma, sesión y permisos.
El resultado esperado es un contexto de aplicación configurado, no la garantía de disponibilidad de todos los proveedores o acciones de backend. Quien integra debe observar por separado cada límite: configuración de compilación, selección de proyecto, respuesta de API, estado de sesión, conexión en tiempo real y resultado del proveedor del dispositivo.
Alcance del producto nativo
La aplicación nativa revisada registra flujos de operadores para pedidos, mensajes, negocios, perfil y sesiones, además de tareas relacionadas con impresión. No establece destinos nativos para informes generales, ajustes administrativos amplios, un directorio de clientes ni un administrador general de archivos.
No deduzcas compatibilidad nativa por la existencia de un componente compartido, capacidad de API, elemento de trabajo histórico o función web. Mantén el trabajo no compatible fuera del contrato de navegación nativa salvo que una versión posterior registre un destino y se verifiquen de forma independiente su autorización, comportamiento de ejecución y documentación.
Límites de plataforma y proveedor
- iOS y Android empaquetan declaraciones de permisos y comportamientos del sistema operativo distintos. El texto del permiso o un módulo nativo enlazado no demuestra que se pueda acceder al flujo.
- La conectividad de API y tiempo real puede inicializarse durante el inicio normal. Por ello, abrir la aplicación no es una comprobación de solo lectura del código fuente.
- Push, sockets, mapas, archivos, impresoras, aplicaciones externas, audio, vibración y portapapeles cruzan límites de proveedor o dispositivo. Pruébalos solo en un escenario aprobado por separado, con presupuesto de efectos y limpieza.
- La selección local de proyecto y otras preferencias guardadas forman parte del estado del dispositivo. Cambiarlas puede redirigir la actividad posterior de API y tiempo real.
Diagnóstico y escalación
| Comportamiento observable | Límite responsable | Siguiente paso |
|---|---|---|
| La aplicación no termina de iniciar después de cambiar de proyecto. | Configuración de compilación/proyecto | Confirma el modo de selección previsto y el proyecto seleccionado; luego reinicia con un fixture no productivo conocido. |
| Carga el contenedor, pero no aparecen las funciones del proyecto. | Límite de configuración de API | Verifica el proyecto y el entorno de API seleccionados. Considera no disponible un valor ausente y pide confirmación a la persona responsable de API o proyecto. |
| Cargan los datos de API, pero no las actualizaciones en tiempo real. | Límite del proveedor de tiempo real | Comprueba por separado el estado de sesión autenticada, la disponibilidad de red y la configuración de tiempo real del entorno. |
| Una acción del dispositivo no está disponible en una plataforma. | Compilación nativa o sistema operativo | Confirma que la compilación instalada incluya la capacidad y que el permiso o proveedor requerido esté disponible. |
| Existe un componente compartido, pero no hay un destino nativo. | Responsable de navegación de Business App | No lo presentes como función nativa. Solicita una revisión específica de versión para comprobar accesibilidad y autorización. |