SOFEA

Service-Oriented Front-End Architecture (SOFEA) is of the architectural style which had gained popularity in the past when Service Oriented Architecture (SOA) and was becoming common in many enterprises. In modern days, SOA is more of less with microservices-based architecture and the backend is reduced to a bunch of RESTful endpoints. The client on the other hand is becoming thicker and uses client-side MVC frameworks such as Angular and React, just to name a couple. However, the core concept of SOFEA, in which backend is just endpoints and frontend (UI) becoming thicker is something everyone considers in modern age web application development. 

Some of the advantages of SOFEA are as follows:

  • The client in this is thicker (similar to thick client applications) as against thin client web applications that we have seen in the past. After initial view/rendering of pages, all the assets are downloaded from server and resides/caches on the client (browser). Thereafter, the server is contacted only for data when required by the client through XHR (Ajax) calls.
  • After the client code is downloaded, only data flows from the server to the client, as opposed to presentation code (HTML, JavaScript, and so on), better utilizing the bandwidth. As there is less data being transferred, response times are faster, making applications perform better.
  • Any number of clients can be written utilizing the same RESTful server endpoints, reusing APIs to the fullest.
  • These endpoints can externalize a session (in the Spring Framework, there is a module called Spring Session, which can be used to achieve this technical capability), thus easily achieving the horizontal scalability of the server.
  • Better role segregation of team members in a project with APIs managed by a team and UI code managed by a different team.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.235.188