Combining Generic Programming and Service-Oriented Architectures for the Effective and Timely Development of Complex e-Learning Systems | IEEE Conference Publication | IEEE Xplore