The goal of my diploma work is to develop an event organizing web application where great emphasis is placed on the thorough examination of the technological planning and realization and less emphasis is placed on the detailed description of the topic of organizing events. The two essential demands towards the system are that it should have an enterprise volume architecture that is able to serve many users and provide a user interface meeting the up-to-date requirements. All the layers of the multi-tier architecture use modern Java-based technology: JPA, EJB session beans, Servlet API and GWT. The phases of the planning are characterized by considering the planner’s demand for the interchangeability of the layers.
The functionality of the application covers the handling of the venues, groups and their events, while the users can propose event times and venues for their events, and the proposals can be assessed manually by the group administrators.
The server-side identification of the users and security have an important role in the technological aspect of the realization. The solution here is the use of an application server specific (Glassfish 3.0.1) realm and an also application server specific way of transferring authentication information to EJB components. Another technologically important factor is that the GWT is sensitive to the variability of the runtime type of DTOs coming from other layers. The solution I created to handle this can deal with converting DTOs. My work also presents a unique solution for database storing of large size uploaded files using operative memory efficiently. The problems around asynchronous server calls are also examined in this document where the results I obtained can also be found.