The process of combining different systems, components, or software so they work together as a combined whole.