# Components of GAP As stated before, GAP is a platform and not a monolithic piece of software. GAP interacts with different OSS/BSS systems already present in GÉANT and these are tightly integrated with the automation platform. From a high level point of view, GAP can be seen as the sum of the following parts: - __A service database__ called CoreDB that stores the models of the service instances, called _subscriptions_. Subscriptions are abstract objects that represent functional configuration constructs: the attributes that characterize these objects are defined in the _domain models_. - __An orchestration engine__ called Workflow Orchestrator that is capable of executing lists of steps called workflows. - __A web interface__ for operators, called Orchestrator GUI to intuitively launch and inspect workflows. - __An automation engine__, Ansible, capable of interacting with network devices to configure them or to gather operational information. - __A set of authoritative systems to manage resources__: - IP addresses and DNS names (Infoblox) - Physical interfaces (Netbox) To interact with these external systems, specific plugins or wrappers are in place. An overview of how these components interact is depicted in the following diagram: {width=300}