Luotettava vai epäluotettava sovellus ?

Anonyymi

Sovelluksia voi tehdä kahdella aivan eri tavalla.

Se perinteinen tapa: Koodataan Delphillä sovellus, ja käytetään VCL -komponentteja (joista monet perustuvat Windows API -kutsuihin).
JOS sovelluksen pitää keskustella nettiyhteyden kautta toisen sovelluksen kanssa, koodataan ihan TCP/IP -pohjainen ratkaisu asiaan itse, eikä käytetä HTML/JavaScript/CSS -sisältöä lainkaan.

Hyvät puolet: Ei olla riippuvaisia selainkomponenteista, joten niiden mahdolliset bugit tai epäyhteensopivuudet eivät haittaa sovelluksen toimintaa millään tavalla.

M-Kar kuitenkin on toistuvasti haukkunut täällä tuota perinteistä tapaa tehdä sovelluksia jotenkin huonoksi.

Toinen tapa tehdä sovelluksia on sitten tuo M-Karin suosima tapa, jossa palvelimella pyörii sovellus, ja sitä käytetään Web -selaimella, joten sovelluksen käyttöliittymä on kokonaan tehty HTML/JavaScript/CSS -sisällön varaan.

Hyvät puolet: Sovellusta voidaan käyttää millä tahansa laitteella, jossa on nettiyhteys ja standardeja tukeva Web -selain.

Huonot puolet:

1. Täysin riippuvainen toimivasta nettiyhteydestä. Jos omistat vaikkapa pienen kaupan, haluatko sellaisen kassajärjestelmän, että jos nettiyhteytesi jostain syystä katkeaa (vaikkapa vikatilanne operaattorisi verkossa), niin kassajärjestelmäsi lakkaa toimimasta, ja myyntisi pysähtyy kuin seinään ?

Turha saivarrella tyyliin: voihan se palvelin olla samassa lähiverkossa kuin kassakone, jolloin nettiyhteyden menettäminen ei halvauta kassajärjestelmääsi.
Totta sinänsä, mutta moni ostaa systeemin palveluna, jolloin ei edes saa fyysistä palvelinta haltuunsa, vaan se palvelin on silloin nettiyhteyden takana palveluntuottajan tiloissa.

2. Vaikka teoriassa systeemin pitäisi toimia kaikissa käyttöjärjestelmissä, joissa on toimiva web -selain ja nettiyhteys, niin käytännössä muukin syy kuin nettiyhteysvika voi kaataa systeemin toimivuuden.

Tässä hyvä esimerkki:

https://www.iltalehti.fi/digiuutiset/a/ee1c0038-8db6-4f39-baa7-cdab75a6fce5

Laskit sitten sen varaan, että käytät tuollaista M-Karin suosimaan tyyliin tehtyä sovellusta joko Android -tabletilla, tai jos vaikka tabletti hajoaa, niin sitten Android -puhelimella - tuskin ne yhtäaikaa hajoavat, joten kahden eri laitteen käyttömahdollisuus vähentää riskiä, ettei palvelua voikaan käyttää.

Ja Android -sovellus siis toimii omassa laitteessasi, ja se on nettiyhteydessä muualla sijaitsevaan palvelimeen.

Vaan toimiiko tuo strategia käytännössä - eli se, ettei Android -tabletti ja Android -puhelin hajoa yhtäaikaa, joten ainakin 1 laite on aina toimiva ?

No kun EI toimi!

Alla kuvaus, miksi:


"Android-sovellukset kaatuilevat nyt - Syynä sovellusten kaatuiluun on Android-järjestelmän WebView -järjestelmäkomponentti, jolla Android-sovellukset pystyvät näyttämään verkkosisältöä. Viimeisimmän päivityksen kanssa on ollut ongelmia, mikä heijastuu sovellusten toimintaan."

Eli, kun luotetaan tuohon asiakas -palvelin -malliin, joka on vieläpä niin toteutettu, että suurin osa logiikasta on palvelimella, ja asiakaspäässä kevytsovellus, joka itse on tehty Android -ympäristöön käyttäen Androidin käyttöjärjestelmään kuuluvaa WebView -järjestelmäkomponenttia, niin eipä näköjään Google kykene edes pitämään tuota WebView -järjestelmäkomponenttia oikeasti toimivana, vaan Google jakaa käyttäjille päivitystä, jota EI OLE testattu huolellisesti, vaan testattu on hyvin kevyesti, jolloin varsinainen ongelma koodissa ei ole kevyesti tehdyssä testauksessa paljastunut.

Ja kun kyseessä on järjestelmäkomponentti, niin ongelma ei edes rajoitu yhteen sovellukseen, vaan vaikuttaa kaikkiin niihin sovelluksiin, joissa kyseistä WebView -järjestelmäkomponenttia on käytetty. Ja niiden määrä ilmeisesti EI OLE ihan pieni !

Tältä pohjalta voi jokainen miettiä, kumpaa sovelluskehitysmallia kannattaa suosia, jos moitteeton toimivuus on oikeasti tärkeää !

18

674

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      "JOS sovelluksen pitää keskustella nettiyhteyden kautta toisen sovelluksen kanssa"

      Ha, ha.

      Yleensä sovellus keskustelee rajapintojen kanssa. Omien tai muiden. On vaikka jokin laite, tietokanta tai muuta jossain.

      "Täysin riippuvainen toimivasta nettiyhteydestä."

      Miksi kummassa sovelluksen toiminnan pitäisi lakata jos nettiyhteys katkeaa?

      "Jos omistat vaikkapa pienen kaupan, haluatko sellaisen kassajärjestelmän, että jos nettiyhteytesi jostain syystä katkeaa (vaikkapa vikatilanne operaattorisi verkossa), niin kassajärjestelmäsi lakkaa toimimasta, ja myyntisi pysähtyy kuin seinään ?"

      Suomessa myynti käytännössä pysähtyy kuin seinään. Kyllä siinä käytetään nettiä kun tarkistetaan onko tilillä debittiä tai credittiä kun maksukorttia käytetään.

      "Laskit sitten sen varaan, että käytät tuollaista M-Karin suosimaan tyyliin tehtyä sovellusta joko Android -tabletilla, tai jos vaikka tabletti hajoaa, niin sitten Android -puhelimella - tuskin ne yhtäaikaa hajoavat, joten kahden eri laitteen käyttömahdollisuus vähentää riskiä, ettei palvelua voikaan käyttää."

      Eli sovellus toimii missä tahansa laitteessa niin aina voi vaihtaa laitetta kun Windows vaikka käynnistyy siniseen ruutuun.

      "Ja kun kyseessä on järjestelmäkomponentti, niin ongelma ei edes rajoitu yhteen sovellukseen, vaan vaikuttaa kaikkiin niihin sovelluksiin, joissa kyseistä WebView -järjestelmäkomponenttia on käytetty. Ja niiden määrä ilmeisesti EI OLE ihan pieni !"

      Mutta selaimella toimiva ohjelma jatkaa toimintaansa. Sehän ei ole mitenkään riippuvainen Webviewistä.

      Mitenkäs ne VCL komponentit toimii Chromebookissa sitten kun Windowsissa on sininen ruutu?

    • Anonyymi

      Tuli paha olo, yäk.

    • Anonyymi

      Pilvipalveluidenm kanssa ollaan vielä kusessa korvia myöden, odottakaa vain!

      • Anonyymi

        Tänään oli koulussa abitissa kokeet, jotka ei suostuneet toimimaan 7 oppilaalla. 45 minuutin kohdalla opettaja keskeytti kokeen teon ja koe aloitettiin uudestaan paperilla tehtävänä versiona.. hah!
        Läksyjä ei olisi voinut tehdä n. 5% illoista, jos olisi nettiyhteyteen luottanut - onneksi materiaaleista saa kuvakaappauksia ja sitten katselee niistä erittäin kökön käyttölittymäkokemuksen läpi.. tehtävät sitten pitää palauttaa myöhässä suoraan opettajalle, kun aikaraja ehtii umpeutua.
        Tosi on.


    • Anonyymi

      Tämän on pakko olla tyhmin avaus minkä olen koskaan täällä lukenut.

    • Anonyymi

      Sovellusten tekeminen Delphillä VCL-komponentteja käyttäen ei ole mikään "perinteinen tapa", vaan ehkäpä kaikista typerin tapa, millä tänäpäivänä voi sovelluksen tehdä. Jos on ihan pakko työpöytäsovellus tehdä (mikä on tänäpäivänä tietysti sulaa hulluutta ja resurssien tuhlausta, ellei puhuta jostain laitteistointensiivisestä tietokonepelistä), niin kaikista järkevin tapa tehdä sovellus on tehdä se Electronilla.

      • Anonyymi

        ohjelma, joka ei vielä tee mitään > 50 megatavua :D


      • Anonyymi
        Anonyymi kirjoitti:

        ohjelma, joka ei vielä tee mitään > 50 megatavua :D

        Mitäs tuosta? Unreal enginellä peli mikä ei tee mitään vie 240 megaa.

        Pikaisen googletuksen mukaan Electron sovelluksesta jos rapsii ihan kaiken pois niin veisi 30 megaa. Ja kai sekin pakkautuu esimerkiksi 1/3 jolloin 10Mbit/s yhteydellä sellaisen lataisi noin kymmenessä sekunnissa.

        10 sekuntia on aika vähän.

        Suomi24:n etusivu lataa muuten 3 megatavua tavaraa.


      • Anonyymi
        Anonyymi kirjoitti:

        ohjelma, joka ei vielä tee mitään > 50 megatavua :D

        Mitäs tuosta? Unreal enginellä peli mikä ei tee mitään vie 240 megaa.

        Pikaisen googletuksen mukaan Electron sovelluksesta jos rapsii ihan kaiken pois niin veisi 30 megaa. Ja kai sekin pakkautuu esimerkiksi 1/3 jolloin 10Mbit/s yhteydellä sellaisen lataisi noin kymmenessä sekunnissa.

        10 sekuntia on aika vähän.

        Suomi24:n etusivu lataa muuten 3 megatavua tavaraa.


      • Anonyymi
        Anonyymi kirjoitti:

        ohjelma, joka ei vielä tee mitään > 50 megatavua :D

        Mitäs tuosta? Unreal enginellä peli mikä ei tee mitään vie 240 megaa.

        Pikaisen googletuksen mukaan Electron sovelluksesta jos rapsii ihan kaiken pois niin veisi 30 megaa. Ja kai sekin pakkautuu esimerkiksi 1/3 jolloin 10Mbit/s yhteydellä sellaisen lataisi noin kymmenessä sekunnissa.

        10 sekuntia on aika vähän.

        Suomi24:n etusivu lataa muuten 3 megatavua tavaraa.


      • Anonyymi
        Anonyymi kirjoitti:

        ohjelma, joka ei vielä tee mitään > 50 megatavua :D

        50MB on yksi kärpäsen p*a terakaudella


    • Anonyymi

      Nämä trollien ketjut, kuuluu tuonne sodat katekoriaan.

    • Anonyymi

      Eikö kassapalvelu-järjestelmästä voida tuoda tietoja versiohallinnan tyyliin? Esim. aamulla suoritetaan pull, hakee tuoreet tiedot netin kautta, sitten naputellaan päivän aikana kassaan myyntiä, päivän päätteeksi push ja tiedot pääjärjestelmään? Tällöin ei olisi riippuvainen jatkuvasta nettiyhteydestä.

      • Anonyymi

        Ihmiset maksavat kassalla yleensä kortilla ja se tarvitsee sen nettiyhteyden.


      • Anonyymi
        Anonyymi kirjoitti:

        Ihmiset maksavat kassalla yleensä kortilla ja se tarvitsee sen nettiyhteyden.

        "Ihmiset maksavat kassalla yleensä kortilla ja se tarvitsee sen nettiyhteyden."

        Tuo väite pätee:

        1. Visa Electron -korttiin (ja muihin vastaaviin)

        2. Visa Debit online -kortteihin. Sensijaan se EI PÄDE Visa Debit offline -kortteihin.

        Hupaisaa asiassa on vain se, että Visa Debit online ja Visa Debit offline -kortteja ei erota ulkonäöltä mitenkään.

        Mutta siis periaatteessa Visa Debit offline -kortilla voi maksaa ilman nettiyhteyttäkin, samoin luottokortilla.

        Tosin: maan omat kortit saattavat olla tässä paremmassa asemassa kuin toisessa maassa myönnetyt.

        Johtuu ihan siitä, että vaikka Debit offline -kortit sekä luottokortit periaatteessa toimivat ilman nettiyhteyttäkin, niin ulkomaisen kortin kelpoisuutta saattaa ilman nettiyhteyttä olla vaikeampaa tarkistaa kuin samassa maassa myönnettyä.

        Onhan toki olemassa ns. paikalliset sulkulistat, joita yritykset voivat ladata niin usein kun haluavat pankin tai muun rahalaitoksen tietojärjestelmästä.

        JOS nettiyhteys katkeaa, niin tuolloin yrityksen kannattaa jokaisen korttimaksun yhteydessä tarkistaa, ettei kortin numero löydy tuolta paikalliselta sulkulistalta (sana paikallinen viittaa nimenomaan siihen, että kyse on paikallisella, siis myymäläkohtaisella palvelimella oleva kopio sulkulistalta, joka on ladattu rahalaitoksen palvelimelta ja joka on mahdollisimman tuore).

        Ulkomaisissa korteissa olettaisin olevan siinä mielessä isompi riski, että entäs, jos:

        a) se on sellaisen pankin myöntämä, jota ei oikeasti ole edes olemassa

        tai

        b) se on ihan oikean pankin myöntämäksi naamioitu, mutta on todellisuudessa rikollisten tuottama korttiväärennös.

        Jos samaa korttinumeroa ei ole aiemmin yritetty (väärin)käyttää, niin silloin korttinumero ei löydy sulkulistalta.

        Ja osa asiakkaista maksaa käteisellä, varsinkin jos saavat huomata, että maksukortti ei toimi.


    • Anonyymi

      No, voisin kannattaa tuota eräajotyylistä ratkaisua. Linux-puolella voi asentaa apache2 serverin suoraan samalle koneelle. Jos kone on rikki, niin sitten sitä ei tietenkään voi käyttää riippumatta nettiyhteyksistä?
      Kyse on rajapintamäärittelyn välttelemisestä! Sanomalla että "se on nettirajapinta" on moni asia jo speksattu valmiiksi tietyllä tavalla kenoon. Joten onnea vaan!
      Valitettavasti operaattorit ovat tehneet hankalaksi minkään muun toimintatavan, koska portteja ei oletuksena ole auki kuin juuri se 80. Kaikki muu vaatii aina infraan muutoksia ja on kallista. Helpompi tyytyä hiukan kuhmuraiseen tapaan toimia - joka toimii useimmiten heittämällä kuin alkaa tapella portteja auki ympäri suomen. Vain isoimmilla on omat intranetit, missä palvelut toimivat ja palvelujen välisessä kommunikoinnissa joudutaan käytännössä aina tähän soppaan..

    • Anonyymi

      Eiköhän tietokoneohjelmat aina koodata ja räätälöidä tarpeen mukaan,..

    • Anonyymi

      Avauksessa mainittuja asioita, ja siihen liittyviä vastauksia ei voida todentaa, ketju on roskaa.

    Ketjusta on poistettu 4 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kyllä suoraan

      Sanottua vi.tu.taa. Miksi en toiminut silloin. Sama kun olisi heittänyt smagardin menemään.
      Ikävä
      66
      1642
    2. Voisitko nainen kertoa mulle

      Tykkäätkö sä musta, vai unohdanko koko jutun? Mä en viitti tulla sinne enää, ettei mua pidetä jonain vainoajana, ku sun
      Suhteet
      162
      1369
    3. Oisko jii-miehelle jollakin asiaa

      Jos vaikka on jäänyt joku asia sydämen päälle.
      Ikävä
      88
      1212
    4. Perustele miksi hän ei

      Ole sopiva sinulle
      Ikävä
      120
      1194
    5. Miehelle naiselta

      Ajattelen sinua aina, en jaksa enää. Ja luulin, että pidit minusta, mutta silloin olisit tehnyt jotain. Mutta sinä et te
      Ikävä
      48
      1076
    6. Mikä oli nainen

      Paras yhteinen hetkemme niistä pienistä ja vähäisistä.
      Ikävä
      67
      838
    7. Miksi sinulla, nainen

      On niin negatiivinen asenne minuun ja yleensäkin negatiivinen käsitys?
      Ikävä
      104
      825
    8. Olen syvästi masentunut

      En oikein voi puhua tästä kenenkään kanssa. Sillä tavalla että toinen ymmärtäisi sen, miten huonosti voin. Ja se että mi
      Tunteet
      92
      717
    9. Iäkkäät asiakkaat ärsyttävät kaupoissa

      Miksei Kela järjestä palvelua, jolla toimittaisivat ostokset suoraan ikäihmisille? https://www.is.fi/taloussanomat/art-
      Maailman menoa
      184
      713
    10. Mitä vastaat jos

      Kysyn maanantaina jutteluaikaa ihan arkipäivisistä asioista, rauhassa? Koska nimittäin aion 😍
      Ikävä
      36
      654
    Aihe