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:

Kanta

Työkalut ja kielet

  • Spring Tool Suite

  • MySQL

  • Google Chrome

  • Mozilla Firefox

  • Java

  • JavaScript

Kuvat UI:sta

Kirjautuminen

Rekisteröityminen

Chatti -näkymä

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.