Sales configrator is a key component of a home builder ERP system. In a typical sales meeting the home buyer sits down with a sales representative to select where the home should be build, what kind of home will be build and what extra options will be selected. The configurator needs to be able to calculate correct prices, enable/disable options based on rule sets and store the selections to a permanent storage. Traditionally this meeting has been organized at the home builder's premises using a desktop computer but further flexibility is often needed.
It is a general trend that traditional platform dependent applications have been migrated to web applications. There are several benefits for the users to be able to run applications in a web browser on most of the devices they might use without the need to install any application on their devices. The continuous development of different web framework technologies have made this possible and easier than ever before.
The goal of this thesis is to migrate an old Windows native sales configurator to a web application and to find out what benefits such migration is expected to yield and what kinds of obstacles need to be overcome. This thesis presents one possible way to create a web application UI using React web development framework and the back-end server access using ODATA web API. This thesis also presents two different ways (code quality measurements and performance evaluation) to measure the success of an application migration from Windows native C\# WebForms application to a JavaScript based web application.
Myyntikonfiguraattori on tärkeässä roolissa omakotitalorakennuttajille suunnatuissa toiminnanohjausjärjestelmissä. Tyypillisesti myyntitapahtumassa kodin ostaja istuu välittäjän kanssa konfiguraattorin äärellä ja valitsee, minkälaisen talon hän haluaa, mihin se tulee rakentaa ja minkälaisia lisävalintoja ostaja mahdollisesti haluaa. Konfiguraattorin tehtävä on laskea talolle oikea hinta, näyttää/piilottaa valinnat niihin liittyvien sääntöjen perusteella ja tallettaa asiakkaan valinnat johonkin pysyvään tietokantaan. Perinteisesti tämä tapaaminen on järjestetty talonrakennuttajan tiloissa pöytäkoneen äärellä, mutta nykyään tapaaminen usein halutaan järjestää joustavammin asiakkaan ehdoilla.
Nykysuuntauksen mukaisesti ohjelmistoja kehitetään usein suoraan web-sovelluksiksi tai vanhoja alustariippuvaisia sovelluksia muunnetaan web-sovelluksiksi. Kyvyssä ajaa sovellusta selaimessa on useita hyötyjä kuten se, että web-sovelluksia voi ajaa eri laitteilla eivätkä ne vaadi käyttäjää asentamaan mitään niihin. Erilaisten web-kehitystekniikoiden kehitys on tehnyt monimutkaisten web-sovellusten tekemisestä mahdollista ja helpompaa kuin koskaan aikaisemmin.
Tämän diplomityön tavoitteena on muuntaa vanha Windows-pohjainen myyntikonfiguraattori web-sovellukseksi sekä samalla tutkia, mitä hyötyjä muuntamisesta on ja minkälaisia haasteita muuntamiseen sisältyy. Tämä diplomityö esittää yhden mahdollisen toteutustavan käyttäen React web-kehitysympäristöä sekä ODATA web-ohjelmointirajapintaa. Tässä työssä esitetään myös kaksi eri tapaa (koodin laadun estimointi ja suorituskyvyn evaluointi), joilla tämänkaltaisen muunnostyön onnistumista voi arvioida ja mitata.