Some of these terms are indeed a bit vague. The total “SDN package” is a SDN controller with SDN supported hardware like routers, switches, firewalls or wireless access points. It also includes the NBI (an API) and a SBI protocol that communicates with our hardware (for example OpenFlow). We can also call this complete package a “SDN solution” or “SDN framework”.
The SDN controller is important, but you also need supported hardware or you won’t be able to do much
In case of APIC-EM, we have APIC-EM as the SDN controller, regular Cisco IOS / IOS XE hardware, the NBI is a GUI/API. The SBI are regular protocols like SSH/SNMP. This is our complete “SDN solution”.
Cisco called Cisco ACI a “SDN architecture” (yet another name)…it’s the same as a SDN solution / SDN framework. In this architecture, APIC is the SDN controller and ACI is what runs on the hardware (switches) that is managed by the SDN controller. They probably couldn’t choose more confusing names