Semantic web and intelligent agents are main technologies to implement personalization for e-learning systems. Ontology is the key concept in semantic web; and it plays an important role in knowledge representation, sharing of didactic material and content personalization. Furthermore, ontologies are machine-readable. Therefore they are faster and more convenient to query and retrieval educational material with the Semantic Web services. Intelligent agents can provide the learners with personal assistants to carry out learning activities according to their learning styles and their knowledge levels. In this paper, we present the architecture of a multi-agent e-learning system that supports pre-defining students' learning styles and re-estimating them during the course for a better personalization. We also present a domain ontology that is suitable for adaptive e-learning environments. The ontology describes learning material that composes a course as well as describes learners and their learning styles.