thesis

Improving the architecture of a content management system with Seam

Abstract

Tässä diplomityössä tutkitaan, kuinka sisällönhallintajärjestelmän arkkitehtuuria voidaan parantaa Java-pohjaisella sovelluskehyksellä. Sisällönhallintajärjestelmänä on Ambientia Oy:n kehittämä Content Manager ja sovelluskehyksenä on J2EE tekniikkaan ja JSF standardiin perustuva JBoss Seam. Työn päätavoitteena on lyhentää asiakasprojektien läpimenoaikaa ja toisaalta helpottaa sivupohjien ohjelmointityötä. Sisällönhallintajärjestelmiä on kehitetty, jotta asiakas voisi muokata verkkosivustonsa sisältöä helposti itse sen sijaan, että muutoksia täytyisi pyytää sivustoa ylläpitävältä yritykseltä. Sisällönhallintajärjestelmä koostuu julkisesta puolesta, joka näyttää sivuston loppukäyttäjille, ja hallintasovelluksesta, jonka kautta julkisen puolen sisältöä hallinnoidaan. Ambientia Oy käyttää talon sisällä kehitettyä modulaarista sisällönhallintajärjestelmää, joka on monen vuoden kehitystyön tulos. Sovellus perustuu Java Servletteihin, ja sivupohjat on toteutettu Apache Velocity -tekniikalla. Tässä työssä toteutettiin osa olemassa olevan sisällönhallintajärjestelmän julkisen puolen toiminnallisuudesta Seam sovelluskehyksen avulla. Järjestelmä listaa sisällönhallintajärjestelmän navigaatiopuun ja näyttää ilmoitustaulumodulin viestit verkkosivulla. Työssä huomattiin, että Seam ei sovellu ajateltuun tarkoitukseen. Ongelmaksi muodostuivat järjestelmien arkkitehtuurissa havaitut suuret erot: Seam on J2EE lähtöinen malli, kun taas sisällönhallintajärjestelmän komponentit eivät tarjoa J2EE arkkitehtuurin vaatimia rajapintoja tarpeeksi. Lisäksi, sivupohjien toteuttaminen Seamin tarjoamilla työkaluilla on monimutkaista.This thesis is a case study on improving the architecture of a content management system with a Java application framework. The content management system in question is an in-house developed Content Manager made by Ambentia Ltd, and the framework is JBoss Seam J2EE application framework which is based on the JSF standard. The primary goals in this study were to reduce the time spent in customer projects and to ease the development of Web page templates. A content management systems have been created so that the customer is able to modify the contents of their web pages without the need to request these changes from the service providing company. A content management system has a public side which contains the public web site, and an administration application from which the public content is modified. Ambientia Ltd is using a modular content management system, which is the result of many years of in-house development. The application is implemented using Java Servlets and the page templates are written using Apache Velocity templating engine. In this Thesis a part of the content management system's public application functionality was implemented using Seam framework. The system lists the navigation tree and displays the messages of a bulletin board module on the page. It was concluded that Seam does not suit the desired purpose. Main problem was the large architectural differences of the old CMS system and Seam. Seam is a J2EE based system, while the CMS application does not provide the interfaces required to be used in an enterprise environment. In addition, the implementation of page templates using the components provided by Seam was found to be too complicated

    Similar works