
Käytetyt teknologiat
Palvelinalusta – Cloud-based servers
Asiakasympäristö / Sovelluspalvelin – IE, Firefox, Safari, Chrome
Teknologiat – Ruby on Rails, jQuery, rSpec
Ohjelmointikieli – Ruby, JavaScript
Tietokanta – MySQL
Kuvaus
Sovelluksen ytimenä on web-moottori, joka valitsee lisävarusteita (laukkuja, kenkiä jne.) asiakkaalle hänen maun- ja tyyli mieltymysten perusteella. Kullekin asiakkaalle luodaan kuukausittain uusi henkilökohtainen esittely “showroom” tuotteista. ShoeDazzle kääntyi Altorosin puoleen optimoidakseen jo olemassa olevan sovelluksen. Kehitystyön tarkoituksena oli parantaa sovelluksen suorituskykyä, lisätä uusia ominaisuuksia ja testata olemassa olevat toiminnot. Yhtiö tarvitsi myös Altoroksen jakamaan tietonsa ja kokemuksensa Ruby on Rails -kehityksestä asiakkaan oman kehitysryhmän kanssa. Altoros-tiimi työskenteli yhdessä asiakkaan kanssa sekä asiakkaan tiloissa, että etänä.
Lopputulos
Ruby on Rails -kehittäjien ryhmä toteutti Object-Relational Mapping (ORM) -lähestymistavan kaikilla tietokantakyselyjen käsittelyn rajoituksilla. Verrattuna perinteisiin vaihtoehtotekniikoihin oliokeskeisen kielen ja relaatiotietokannan välillä, koodin määrä on vähemmän ORM: n kanssa. Tiimi ei kuitenkaan voi aina käyttää ORM: ää prosessoidakseen monimutkaisia tietokantakohtaisia kyselyjä. Siksi käytämme ORM: ää käsittelemään jopa 80% yksinkertaisista tietokantakyselyistä. Monimutkaisempia kyselyitä käsitellään MySQL: llä. Tämän avulla voimme käyttää sekä ORM:ää, että perinteisiä MySQL-tekniikoita suorituskyvyn optimoimiseksi.
Ruby on Rails kehitys-tiimi toteutti ratkaisun, jossa kahden eri teknologian (ORM ja MySQL) parhaat puolet yhdistettiin siten, että suurin osa peruskyselyistä noin 80% tehdään ORM:llä ja loput monimutkaisemmat kyselyt vastaavasti MySQL:llä. Tällä tavoin myös suorituskyky voitiin optimoida parhaaksi mahdolliseksi.
Uudistusten myötä sovelluksen suorituskyky parani huomattavasti. Tiimimme jatkaa työskentelyä asiakkaan kanssa kokemusten ja tietämyksen jakamiseksi. Altoros toteutti myös joukon ohjelmistosuunnittelumenetelmiä (SCRUM, jatkuva integrointi) kehitysprosessien ja tiimidemme välisen yhteistyön optimoimiseksi.