Skip to main content
Share your experience with the FAS IT-Playbook by taking this brief survey

System Architecture

Explore the key components of the Integrated Award Environment (IAE) system architecture and how critical technical considerations were incorporated into it.

Overview

The modernized application architecture of SAM.gov has been decomposed into independent micro-frontend Angular applications and Spring Boot powered microservices. Each one of these components is responsible for a specific SAM.gov functionality and can be updated, tested, and deployed quickly since they are limited in scope and contain few dependencies on other services or packages.

The individual components are connected through a custom reverse proxy implementation based on Spring Cloud Gateway. This gateway receives and routes all requests for the application to the correct micro-frontend or API Docker cluster. Specific routes are used for each micro-frontend which are defined by the business requirements and all of our microservices are located behind the API context. Some application functionality such as the SAM.gov login services or reporting software resides at a Custom Context configured in the gateway.

User authentication is provided by an external provider, Login.gov. We host services that set up the initial authentication parameters for the browser, the user is then redirected to Login.gov to complete the login process, and the user is returned to SAM.gov where a session is established for the remainder of the user's interactions. We also utilize a 3rd party tool, API Umbrella, to provide direct authentication for other applications that want to integrate directly with our API offering. Once the application has been approved, they are provided API keys that can be used for programmatic access to SAM.gov API’s.

Since SAM.gov has very complex and unique user authorization requirements, a custom service for role management was developed to provide role based authorization and permissions to access various objects like entities, opportunities, and organizations. The role management service provides users with the ability to self manage their organizations through role requests, approvals, and removals.

Reporting is a key pillar for SAM.gov to expose the vast amount of information that it manages. A third party reporting tool, MicroStrategy, provides users with pre-built reports or they can use the interface to build more complex report queries on the data contained within the SAM.gov ecosystem. The user then runs the reports and visualizes the data how it best suits their needs.

The sections below explain the various aspects of the architecture in greater detail, including the high-level architecture view, component interactions, business architecture, authentication, and the technology stack.