Anteeksipyyntöjä

Absum.netin nimetön blogaaja loukkaantui eilisestä kirjoituksestani. Pahoittelut tarpeettoman ilkeästä tekstistäni.

Sinänsähän vika ei ollut ratkaisussa eikä kysyjässäkään, sillä ongelma ja sen ratkaisumalli olivat ihan loogisia tuollaisessa tilanteessa. Vikaa voisi kai hakea enemmän siitä teknologian tarjoajassa, joka on päättänyt tuollaisen ohjelmointimallin ulos pulauttaa ja sitä kautta ikäviä ongelmia aiheuttaa.

Jos kontrolleita sidotaan johonkin datalähteeseen ne joudutaan oikeasti lataamaan joka sivulatauksella uudelleen, vaikka siltä ei ohjelmoijasta ehkä näytä. Kun rakennetaan verkkopalveluita, joilla on potentiaalisesti rajaton käyttäjäkunta, on joka ikisen tietokantakutsun oltava varmasti tarpeellinen. ASP.NETin malli taas johtaa siihen, että sivulatauksia ja tietokantahakuja tehdään helposti lukuisia täysin turhaan. Käyttöliittymät saattavat parantua jonkin verran, kun isojen ja monimutkaisten lomakkeiden rakentaminen on helpompaa, mutta toisaalta web ei ehkä ole oikea ympäristö isoille lomakkeille. Tämä nyt vain yhtenä esimerkkinä mallin heikkouksista.

Kenties olen vain vanha jäärä.

Uutta palveluntarjoajaa etsimässä

Scene Group vaikuttaa teknisesti erittäin pätevältä ja edulliselta palveluntarjoajalta. Kevyestä etsinnästä huolimatta en löytänyt kovin monta kommenttia palvelun luotettavuudesta. Sepä näissä pienissä mutta edullisisssa webhotelleissa lienee vikana poikkeuksetta, firma on pieni toiminimi tai sitten kaikennäköistä liiketoimintaa harjoittava sekatavarakauppa. Epävarmaa, mutta eipä tuohon nyt mitkään bisnekset kaadu.

Mikä ASP.Netissä on vikana

Tällaiset ongelmat (toimimaton linkki poistettu 9.7.2009) ja niiden ratkaisut saavat minut välillä repimään hiuksiani. Selvästi sekä kysyjä että vastaaja ovat ymmärtäneet väärin koko webin toiminnan. Tilattoman webin pakonomainen muokkaaminen toimimaan kuin VB:n lomakkeet johtaa vain lukukelvottomaan, tehottomaan ja typerään koodiin. Kyseisessä tilanteessa voisi kenties harkita vaikkapa sellaista uutta keksintöä kuin <input type=”reset”/>.

Netti on pullollaan ohjelmointivinkkejä, ja .NET tuntuu keränneen valtavan määrän eritasoisia ohjelmoijia teksturin ääreen. Intialasen Saravana Kumarin artikkeli Redirecting User to Login Page After Session Timeouts on yksi huonoimmista koskaan lukemistani. Kirjoittajan eduksi sanottakoon, että asia on esitetty ihan selkeästi. Missään vaiheessa hän ei kuitenkaan ole ilmeisesti tullut ajatelleeksi, että artikkelissa ei ole mitään järkeä. Mies on toisaalla sivuilla esitellyn mukaan kerännyt kasan Microsoftin sertifikaatteja. Katosi moisten arvostus minulta ennätysajassa.

Ai mitäkö artikkelissa on vikana? Muun muassa se, että käyttäjältä kysymättä sivun uudelleen lataaminen on hyvin todennäköisesti erittäin ärsyttävää. Toisekseen se, että joku yksittäinen sivu on ollut selaimessa auki session keston ajan ei vielä tarkoita, ettäkö sessio olisi todella päättynyt. Käyttäjällä kun voi olla auki vaikka kuinka monta ikkunaa. Jos yksi niistä jää vähän pienemmälle huomiolle joksikin ajaksi ja sitten sen pariin palataan, ei väärä ilmoitus katkenneesta sessiosta ole järkevä. Jälleen kerran webin todellinen luonne on täysin hukassa VB-ohjelmoijalta.

Tätä webin luonnon vastaista, huonoa HTML:ää tuottavaa, potentiaalisten tietoturva-aukkojen täyttämää ohjelmoitimallia ei Whidbeykään tule korjaamaan. Sitä odotellessa käytän vain ja ainoastaan ASP:Repeateria ja hyvin säästeliäästi mitään "palvelinpäässä ajettavia" kontrolleja. Niinkin käytettynä ASP.Net hakkaa vanhan ASP-mallin mennen tullen.