You remember our NDBX library? Or Sketch? Or Building Blocks? All tools used at the GDF to design customer centric digital solutions. Now we want to have a look on the development related tools and workflows:
A BFF solution has two communication aspects: the frontend application facing and the internal service facing communication. The frontend facing channel is the interface or the API that communicates with the frontend application while the internal channel communicates with Allianz internal business systems. A key responsibility in the BFF layer is to fit together these communication layers to exchange the correct data.
During the API design phase, frontend and backend experts work closely together to understand and specify every piece of information that is exchanged between frontend and backend. To comfortably support the collaborative work between engineers we follow the API first approach using the OpenAPI specification. With this we can describe the endpoints as well as the API models. By adding working examples, the API documentation can be made live and executable with a tool called Swagger-UI. The benefit of the API description in this case is that it gives the consumer the frontend and the provider the BFF service the same API contract that both must follow. Another advantage is, that frontend can use the API description during test or local execution as a mock server while the APIs in the BFF can be generated. Generating code out of OpenAPI description helps to work exactly on the same API on the Java code level.
The data collected from the frontend needs to be transferred to internal Allianz software systems where it will be processed and stored permanently and securely. To craft the unambiguous data exchange solution between frontend and internal software systems is the fundamental part of GDF development experts’ job.
For more Open Source check out how we first open sourced our GDF UI Component Library.