This paper explains how a software architecture was planned, designed, and implemented to help in the support of eLearning activities within a virtual laboratory inside the Second Life Virtual World. It delves into the problems related to this kind of systems and architectures and detects the possible benefits they could provide to eLearning processes. This paper shows how the software engineering principles and procedures are applied in order to solve problems, such as data gathering from Virtual Worlds, data analytics of information related to interaction between a user and a 3-D environment, and how they can be applied to enhance the students' learning process and teachers' assessment of this learning process. This paper also shows the software product resulting of this engineering process, as well as the outcomes from the application of the solution in a real context during two academic years involving postgraduate students and subjects of Pharmacy and Quality Assurance. To end this paper, we explain some considerations and knowledge retrieved after this experience, focusing on the utility from the learning point of view, innovation, and possible future work that could be done to improve the solution implemented.