¿Qué son las Arquitecturas SOFEA? . SOFEA es el acrónimo de Service Oriented Front-End Architecture. Estas nuevas arquitecturas están orientadas a configurar la parte de Backend como un conjunto de Servicios REST que se exponen a un cliente . Este cliente puede ser de cualquier tipo pero es cierto que en muchas ocasiones no encontraremos con librerías como React o Frameworks como Angular que realizan estas labores.
SOFEA y sus Ventajas
¿Qué ventajas tienen estas Arquitecturas? . Bueno ya he hablado en otros momentos de ello pero fundamentalmente tienen la ventaja de separar las responsabilidades y poder conectar de forma flexible cualquier tipo de cliente . Esta es desde mi punto de vista una de sus mayores ventajas. Eso sí existen otras ventajas a tener muy en cuenta.
- El cliente suele estar construido con HTML y JavaScript utilizando un framework MVC de tal forma que una vez hemos cargado la aplicación el resto de peticiones serán a url REST y solo nos traerán los datos que necesitamos mejorando el rendimiento HTTP.
- División de responsabilidades muy clara a nivel del equipo de desarrollo ya que unos desarrolladores se encargarán de diseñar el BackEnd y otros el FrontEnd.
- Simplicidad en cuanto a futuras evoluciones de la parte Cliente o la parte Servidora de forma totalmente independiente. Es decir si en un momento tenemos desarrollado el lado Servidor en Java y lo queremos cambiar por Node . Es algo viable sin afectar a todo el código desarrollado de Cliente . Simplemente mantenemos las mismas URL REST
- Mayor facilidad para encontrar especialistas tanto un desarrollador de Angular como un desarrollador de Spring encajan en la Arquitectura.
- Es una Arquitectura Moderna y nos permitirá usar framework y soluciones actuales con lo cual su ciclo de vida se extenderá.
Hola:
Me parece interesante este artículo, no sabía que existiera un nombre para tal tipo de desarrollo. Lo único que, si es una aplicación y no unas consultas sueltas a APIs REST (como es el caso de “El tiempo”) , los servicios REST deben controlar la navegación y devolver en cada respuesta la próxima url a llamar (¿callback?) , la seguridad de que quien llama por segunda vez lo ha hecho la primera (¿tokens?). Por lo demás, has nombrado las ventajas. ¿Y los inconvenientes?
Gracias por tus aportes. Son siempre muy interesantes.
deben devolver siempre una respuesta pero puede ser practicamente vacía . Los tokens se usan para autenticar y gestionar seguridad y permisos , no siempre son obligatorios porque depende de la app. Los inconvenientes es que es un paradigma más modular e implica mas esfuerzo.