The hexagonal architecture, also called ports and adapters architecture, aims at designing flexible component based architectures by decoupling the inner application core from the outside world by the mean of ports and adapters.
The hexagonal architecture is a pattern that aims at creating loosely coupled application components that can be easily connected to their software environment by means of ports and adapters.
This architecture makes components exchangeable by decouplings the inner application core from the outside world by using ports that define an API. Adapters make the glue between the software and its environment using the API. It is therefore also called ports and adapters architecture.
Ports define for example the API to be used the user interface and the database. Adapters can then connect the application to a test suite instead of a user interface, or connect the application to a different database.
External links: