Architectural pattern to improve the definition and implementation of eLearning ecosystems