Developing Customizable Web-based Educational Applications through a Component-based Framework Elaine Quintino da Silva Dilvan de Abreu Moreira Institute of Mathematical Sciences and Computing, University of São Paulo, Brazil {elaine|dilvan}@icmc.usp.br Abstract Although there are many Internet-based educational applications available today, they usually do not allow functionality extensions, change or reuse. In this context, this paper presents a framework – the WebMODE, based on the J2EE component architecture, for helping the development of more customizable educational applications. This framework merges important features from popular Content Management Systems (such as pluggable modules) to the Model View Controller architecture, found in popular frameworks for web development. 1. Introduction Nowadays, there is a variety of tools and virtual environments to support Internet-based teaching/learning. WebCT (www.webct.com), Blackboard (www.blackboard.com), iClass [1], and WebCoM [2] are examples of software designed to support Internet-based distance and/or traditional education. Despite the variety of functionalities offered by the existing Internet-based educational applications, they usually present similar shortcomings: their lack of interoperability and the difficulty to adapt them to different educational scenarios (by changing, extending or reusing their functionalities) [3,4]. These problems occur, mainly, because almost all such applications are based on integrated and difficult to change architectures, regardless if they were developed to meet general educational goals or to address specific needs. The standardization of educational content is solving, in part, the interoperability problem by allowing reuse of educational content. Groups such as IMS, ADL, IEEE-LTSC and others have initiated the development of standards (based on metadata definitions) for the creation of “learning objects” [5], which can be used by different environments. On the other hand, the software adaptation problem does not yet present significant progress. Generally, institutions opt to develop new educational software because they cannot adjust the existing ones to their needs. This explains the increasing number of Internet- based educational applications available today. As an alternative to this problem, this paper presents a framework –WebMODE (Web MOdular Development for Education) [6] – as a new model for development of more customizable web-based educational applications. It proposes the development of robust applications that are easy to extend, modify and reuse by using standard technologies. In order to reach its goals, the WebMODE framework was based on development features (architectures, patterns, and good practices) that help the implementation of changeable, extensible, and reusable systems. Those features include component- based development and multitier application model from the Java 2 Enterprise Edition Platform [7]; modular development, inspired by popular Content Management Systems [8]; and, helpful design patterns [9] such as Model View Controller], Composite Views, Data Access Object, Façade, and Factory. This paper is organized as follows: Section 2 describes the component architecture used by the WebMODE; Section 3 documents the use of frameworks for Web development; Section 4 describes the WebMODE framework; and, finally, Section 5 presents the conclusions about this work. 2. Component-based development Component-based development suggests that systems can be implemented and maintained more easily using a “divide and conquer” approach. It extends the ideas of modular, structured designed, and object-oriented systems, emphasizing the controlled assembly of code pieces (components) through well- defined interfaces [10]. The Java 2 Enterprise Edition platform [7] provides a well-defined component-based approach to the Proceedings of the International Conference on Next Generation Web Services Practices (NWeSP’05) 0-7695-2452-4/05 $20.00 © 2005 IEEE