Loppuraportti - Pewpo/Messenger_Program-JavaEE GitHub Wiki
Johdanto
JavaEE -harjoitustyön loppudokumentaatio
Tekijät: Janne Hakala, Samuli Rasmus
Toteutimme JavaEE -harjoitustyönä chattisovelluksen, johon käyttäjät voivat rekisteröityä ja kirjautua. Tämän jälkeen he voivat lähettää toisillensa pikaviestejä yksinkertaisen UI:n avulla.
Rakenne
Sovelluksen rakenne toteuttaa vaaditun 3-kerrosarkkitehtuurin sekä MVC mallin Spring Frameworkkiä käyttämällä. Sovelluksessa on JDBC -tietokanta ratkaisu, jossa käytämme koulun MySQL -palvelinta. UI:na toimii Java JSP-sivu, josta käsin eri toimintoja päästään käyttämään, jotka on toteutettu MVC -mallin Controller -luokassa. Controllerissa käytetään Beaneista tehtyjä Interfaceja, joista luodaan Controller -luokassa oliot, joiden avulla käytetään DAO -luokkien tietokantametodeita.
MySQL -kannan kuva
Linkki tietokantaan:
Työkalut ja kielet
-
Spring Tool Suite
-
MySQL
-
Google Chrome
-
Mozilla Firefox
-
Java
-
JavaScript
Kuvat UI:sta
Aikataulutus
Aikataulu toteutuma
Työ | Aika |
---|---|
Projektin alustaminen | 2H |
Projektin käyttöönotto | 1H |
UI:n rakentaminen | 6H |
Tietokanta yhteyksien luominen | 3H |
Kirjautuminen | 4H |
Rekisteröityminen | 4H |
Viestien ja keskustelujen yhdistäminen | 4H |
Keskustelujen lisäys | 6H |
Käyttäjien hallinnointi | 8H |
Tiedon etsintä / opettelu | 30H |
Turhuuksien kanssa painiminen | 24H |
Loppudokumentointi | 2H |
Yhteensä | 94H |
Lopputulos
Rajallisesta ajasta huolimatta sovelluksesta tuli hyvä ja toimiva kokonaisuus. Kannan suunnittelussa ja toteutuksessa ei kulunut kauan aikaa, koska se oli jo molemmille tuttua. Tietokanta oli helppo laittaa pystyyn koulun omalle palvelimelle, joten oman palvelimen pystytykseen ei tarvinnut käyttää aikaa. Hankalin osuus projektissa oli itse aloittaminen, koska oikeanlaisen projektityypin valinta oli haastavaa ja tämän vuoksi jouduimme tekemään lukuisia muutoksia mm. Pom.xml -tiedostoon. Itse projektityöskentely sujui luontevasti eikä mitään suurempia ongelmia tullut vastaan.
Jatkokehitys
Harjoitustyöhön annettu aika oli tavallista pienempi ja jouduimme tyytymään hieman helpompiin ratkaisuihin. Tämän vuoksi jatkokehitystä vaatisi mm. käyttäjä UI:n parantaminen, keskusteluiden realiaikaistaminen (web-socketit), pienien ominaisuuksien lisääminen (Esim. välilehdet otsikon vilkkuminen viestin saapuessa), käyttäjien tilan seuranta.