Shipyards use multiple computer applications to create and process information but sharing data between programs is problematic. Attempts have been made to solve this problem via manual processes or costly, yet incomplete, service based integrations. Other times, a monolithic, single-vendor approach has been tried but inadequacies of the component parts have led to other challenges.