MVC-based Architecture for e-commerce.Journal.doc 1/22 DESIGN AND IMPLEMENTATION OF A MVC-BASED ARCHITECTURE FOR E- COMMERCE APPLICATIONS E. Althammer and W. Pree C. Doppler Lab for Software Research University of Constance Campus P.O. Box D188 D-78457 Constance, Germany althammer@acm.org, pree@acm.org www.SoftwareResearch.net Abstract. Though the separation of a model from its visual representation (view) im- plies well-known benefits, available Java libraries do not sufficiently support this con- cept. The paper presents a straightforward way to smoothly enhance Java libraries in this direction independently of the particular graphic user interface (GUI) library. The lean framework JGadgets, which was inspired by the Oberon Gadgets system [1], allows developers to focus on model programming only. This significantly reduces the devel- opment costs, in particular in the realm of quite simple, form-based GUIs which are common-place in commercial e-business-systems. We first present a small case study implemented on top of JGadgets which demon- strates the benefits of the MVC architecture. The paper then goes on to sketch the reflec- tion-based design of JGadgets itself. Keywords: software components, reuse, MVC architecture, reflection, automated con- figuration, Java 1 Introduction Many commercial applications, in particular e-commerce applications, have a client- server architecture which follows roughly the schematic representation in fig. 1: a client accesses and manipulates data in a data repository which is stored on the server. The client might be conceptually split into model and view components, where the model corresponds to the particular client side business logic and the view to the visual repre- sentation of the model. The server consists of the application server which contains the server side model and the data repository which contains the data base. The paper fo- cuses on the model-view aspects of the client and leaves out the server part. Model View represents client side business logic dialogs buttons ... data flow over the network Client event flow data flow Server data base Model represents server side business logic data flow Figure 1 Simplified diagram of a client/server architecture. Clients in real-world commercial client/server systems usually consist of several dozens if not hundreds of dialogs that form the overall application. The development and en-