Gemilo Oy

Viestit avainsanalla ‘ketterä ohjelmistokehitys’

PHP:n koodispagetti aiheuttaa turhia kuluja

Maanantai, Maaliskuu 16, 2009

Tomi Terentjeff // PHP-skriptauskielen suosio web-kehityksessä räjähti 2000-luvun alkupuolella tasoittuen loppua kohti. PHP:lla on helppo luoda yksinkertaisia dynaamisia verkkosivuja, sillä logiikkakoodi on helposti sulautettavissa HTML-koodin generointiin.  Lisäksi PHP sisältää suhteellisen kattavan ohjelmistokirjaston web-kehityksen perustarpeisiin.

PHP-kielen huono puoli on sen jäykkyys verrattuna korkeamman abstraktiotason skriptikieliin. Sen syntaksi muistuttaa matalan tason C-kieltä, johon on jälkikäteen ympätty olio-ominaisuudet ja läjä sekalaisia ohjelmistokirjastoja.

PHP ei ota kantaa web-koodin rakenteeseen. Siksi ikävän usein näkee dynaamisia websovelluksia, jotka ovat yhtä koodispagettia. Sama tiedosto saattaa pahimmillaan sisältää tietokantakoodin, lomakevalidoinnin sekä HTML-koodingeneroinnin. Tämä huonontaa koodin ymmärrettävyyttä ja ylläpidettävyyttä, mikä taas ennemmin tai myöhemmin maksaa ylimääräisiä työtunteja.

Koodispagetin sivukulut huomaa lopulta joko asiakas laskussaan tai ohjelmistokehittäjä työtehon heikkenemisenä. Viime vuosina PHP-yhteisöt ovat onneksi huomanneet ongelman, ja nykyisin PHP:n päälle on saatavilla varteenotettavia web-sovelluskehyksiä, kuten CakePHP ja symfony. Ilmaisuvoimassaan PHP jää silti paljon jälkeen Pythonista ja Rubystä, jotka ainakin näin ketterän ohjelmistokehityksen kannattajan näkökulmasta näyttävät soveltuvan webkehitykseen paremmin.

Java jäähtyy ketterässä ohjelmistokehityksessä

Torstai, Maaliskuu 12, 2009

Tomi Terentjeff // Java 2 Enterprise Editionia on pidetty arvossa osin Java-kielen staattisuuden ansiosta.  Koska Java-koodi on staattista, se voidaan kääntää tavukoodiksi, joka ajetaan virtuaalikoneessa. Virtuaalikone puolestaan osaa lennosta kääntää tavukoodin natiiviksi ajettavaksi konekoodiksi. Tavoitteena on mahdollisimman  tehokkaasti suorittuva ohjelmakoodi. Lisäksi staattisen kielen etuna on eräinen ohjelmointivirheiden paljastuminen jo käännösaikana.

Todellisuudessa kääntävän Java-virtuaalikoneen arvo web-sovelluksen kokonaissuorituskyvylle ei ole useinkaan merkittävä, koska tietokantapohjaisissa websovelluksissa sovelluksen pullonkaula muodostuu helposti tietokantapalvelimeen eikä itse sovelluskoodiin. Tätä pullonkaulaa voidaan lievittää välimuistien (esim. memcached) sekä tietokantapalvelinten hajauttamisella (esim. data striping).

Java-webohjelmistojen kehittäjät käyttävät suosittuja komponentteja, jotka osaltaan nopeuttavat sovelluksen kehittämistä. Esimerkiksi Hibernate on suosittu ORM Javalle, missä luokkien ja tietokantataulujen väliset suhteet määritellään XML:ää käyttäen.

Käytännössä näyttää kuitenkin käyneen niin, että ketterä web-ohjelmistokehitys on nykyisin kahden dynaamisen tulkattavan kielen, Rubyn ja Pythonin, taistelu: Huippusuositulla Ruby on Rails (RoR) -web-ohjelmistokehyksellä on vastassaan Python web-kehitys, jossa kehysvaihtoehtoina ovat esimerkiksi Django, Pylons ja Pylonsin päälle rakennettu TurboGears 2.0 (TG2).

Gemilossa käytetään näistä kahta jälkimmäistä ja kokemukset ovat olleet lupaavia.

Tilaa vuokrataan palveluiden ostoskeskuksessa

Torstai, Lokakuu 30, 2008

Palveluiden ostoskeskus

Tomi Terentjeff // Olemme avanneet Gemilon uuden verkkopalvelun nimeltä Waraamo osoitteessa www.waraamo.com. Waraamossa ihmiset voivat ostaa yritysten heille tarjoamia henkilökohtaisia palveluja.

Waraamo perustuu online-varauskirjaan, jonka avulla kuluttajat voivat tehdä varauksia Waraamo-yrityksiin. Tavoitteenamme on, että Waraamosta tulee palveluiden ostoskeskus. Tilat ovat nyt valmiit ja vuokralaisia etsitään. Tarjoamme kaikille viimeistään 17.11.2008 liittyneille yrityksille ja yhteisöille loppuvuoden ilmaiseksi.

Waraamo poikkeaa perinteisistä ajanvarauskirjoista monella tapaa. Isoin muutos on, että Waraamossa kukin kuluttaja omistaa palveluhistoriansa. Aiemmin tilanne oli paljon hankalampi kuluttajalle. Tarvittiin eri käyttäjätunnus jokaiseen yritykseen, joista hän teki varauksia. Samalla käyttäjän tiedot hajautuivat eri yrityksiin.

Me halusimme helpottaa kuluttajan arkea. Niinpä Waraamon käyttäjä saa tarkistettua kaikki tietonsa, esimerkiksi tulevat ja menneet varaukset, yrityksestä riippumatta omassa Waraamo-profiilissaan. Jatkossa käyttäjä voi myös jakaa kokemuksensa oman verkostonsa kanssa ja arvioida kunkin yrityksen palvelut.

Waraamo on beta-vaiheessa. Tämä tarkoittaa, että lisäämme varauskirjaan ja palveluiden ostoskeskukseen ominaisuuksia pitkin matkaa. Suurin osa niistä tulee olemaan käyttäjille täysin ilmaisia tai ne kuuluvat peruskuukausimaksuun, jota oman waraamonsa avanneet yrittäjät maksavat.

Waraamon tekeminen aloitettiin toukokuussa. Puoli vuotta tästä meillä on kaikkiaan 662 tikettiä koodareille ja Waraamon ensimmäinen versio ulkona.

Olkaa hyvä, yrittäjät, saa kokeilla ja antaa palautetta. Kuuntelemme mielellämme ja pyrimme myös toteuttamaan toiveet.

Kuluttajille Waraamo avautuu vielä parhaiten kunkin Waraamo-yrityksen kautta. Kysy joko oma lempiyrittäjäsi käyttää Waraamoa.