Esta página es para quien tiene que poner Sun Tech WCS bajo un WMS que ya existe: qué se intercambian los dos sistemas, qué debe servir el WMS y en qué orden conviene trabajar. La guía completa, en inglés, es Writing a WMS adapter.
Tres contratos
- Del WCS al WMS. El WCS hace preguntas al WMS y le comunica los hechos a través de 43 rutas HTTP, que el WMS sirve directamente o mediante un adaptador colocado delante.
- De sus sistemas al WCS. ERP, MES y pantallas usan la API del WCS y su canal de eventos. También el WMS, cuando quiere que el WCS haga algo, usa las órdenes de esa API: el contrato no prevé llamadas de vuelta del WMS al WCS.
- Del WCS a las máquinas. A través de un driver, sobre un contrato público. Sun Tech proporciona su propio driver; también pueden escribir uno ustedes.
El WMS no empuja, el WCS pide
Cuando el motor está en marcha, una vez por segundo el WCS pide al WMS el trabajo pendiente. El WMS sigue siendo la fuente de verdad sobre mercancía y pedidos, y es él quien elige la ubicación: el WCS sabe cómo llegar. Ninguno escribe nunca en la base de datos del otro.
Qué debe servir el WMS
- Las 43 rutas del contrato, bajo una ruta común, en JSON, con una clave en la cabecera
X-Api-Key. - Respuestas que distingan un rechazo de un fallo: un 4xx es un rechazo definitivo y la petición se aparta, un 5xx, 408 o 429 se reintenta.
- Recibos para cada hecho, ligados a su identificador de operación: el mismo hecho enviado dos veces no se registra dos veces.
La lista de rutas, una por línea, está en WMS routes; el contrato completo, con las reglas sobre identificadores, enumeraciones y reintentos, en WMS contract. Ambos existen también como documento OpenAPI 3.1, generado desde el código.
Los pasos de la guía
- Se parte del WMS de ejemplo, que responde a las 43 rutas sobre un almacén en memoria: se conservan la parte que expone las rutas y el control de la clave, y se sustituyen los datos ficticios por consultas a su base de datos.
- Se preparan los datos que el WMS guarda para el WCS: los códigos de puerta de las ubicaciones, las profundidades, los dispositivos desde los que se alcanza cada ubicación, las reservas con caducidad y los recibos.
- Se implementa en orden: primero el almacenamiento, luego la extracción, luego el resto. Una ruta todavía no lista responde 503, no con un rechazo.
- Se prueba con el propio cliente del WCS, tomando como modelo las pruebas del WMS de ejemplo.
En qué lenguaje
Desde .NET se usa la biblioteca de los contratos con una referencia al proyecto, desde un clon del repositorio: todavía no hay paquetes NuGet. En otro lenguaje basta con servir las mismas rutas con el mismo JSON.
¿Quieren que el adaptador lo escriba Sun Tech, o están conectando Kazam WMS? Cuéntennos su WMS y la instalación: responde un ingeniero. Hablen con un ingeniero
Kazam WMS · plataforma de almacén