La compañía para la que trabajo mantiene un exitoso producto SaaS que creció "orgánicamente" con los años. Estamos planeando expandir la línea con un conjunto de nuevos productos que compartirán datos con el producto existente. Para respaldar esto, buscamos consolidar la lógica empresarial en un solo lugar: una capa de servicio web. La capa WS será utilizada por:
- Las aplicaciones web
- Una herramienta para importar datos
- Una herramienta para integrarse con otro software de cliente (no una API per se)
También queremos crear una API que pueda ser utilizada por nuestros clientes que sean capaces de usarla para crear sus propias integraciones. Estamos luchando con la siguiente pregunta:
Si la API interna (también conocida como la capa WS) y la API externa son una en la misma, con configuraciones de seguridad y permisos para controlar lo que puede hacer quién, o deberían ser dos aplicaciones separadas donde la API externa solo llama a la API interna como cualquier otra aplicación? Hasta ahora en nuestro debate, parece que separarlos puede ser más seguro, pero agregará gastos generales.
¿Qué han hecho otros en una situación similar?