Jostain syystä porukalla tuntuu olevan tällä palstalla olevan poikkeuksellisen negatiivinen suhtautuminen selainsovelluksiin. Miksi?
Kerrataanpa historiaa:
Tietotekniikan alkuaikoina tietokoneet olivat kalliita vekottimia joten niitä oli vähän ja ne olivat sellaisia keskuskoneita joihin otettiin yhteys päätteellä. Tämä oli loogisinta koska saatiin hallinnointi keskitettyä. Pääte toimi yksinkertaisesti niin, että näppäimistö (myöhemmin myös hiiri) komennot meni keskuskoneelle, keskuskone ajoi ohjelmaa ja lähetti tulosteen takaisin päätteen näytölle. Aluksi tekstinä mutta myöhemmin myös graafisesti.
Sitten tietokoneet halpeni joten keskuskoneiden lisäksi tehtiin ns. PC koneita. Näin tehtiin koska tietokoneille oli tarvetta muuallakin kuin isommissa organisaatioissa joissa oli varaa olla se keskuskone. PC-koneisiin taas tuli äkkiä kiintolevy helpottamaan hallinnointia ettei datat olleet levällään.
Homma toimi tasan niin kauan kun pärjättiin yhdellä PC:llä mutta äkkiä pienemmissäkin yrityksissä tietokoneiden määrä kasvoi. Siksi lähiverkot alkoivat yleistyä, myös PC-koneilla, jotta tiedostot saatiin samaan paikkaan ja helposti hallittua.
Ja sitten itse asiaan:
Eikös se ole aika TYHMÄÄ tehdä jotain tiedostoja joita sitten kopioidaan johonkin tiedostojakoon eri nimellä, kun joku toinen voi myös lukea sen tiedoston ja tehdä muokkausta?
No niinhän se onkin, siksi järjestelmät rakennetaankin niin että ohjelma tallentaa sen tiedon sinne keskitettyyn paikkaan ja hakee sieltä ja homma hoidetaan niin, että useampi käyttäjä voi tehdä sitä samanaikaisesti. Lähiverkot kun yhdistettiin toisiinsa, voidaan se tieto välittää myös Internetin kautta
Koska eri ihmiset tarvitsevat eri tietoa ja tieto on eri tyyppistä, se rakennetaan komponenteiksi. Löytyy käyttöliittymäkomponenttia, sekä sitten komponenttia siihen tiedon lukemiseen, muuttamiseen, poistamiseen, tallentamiseen jne. sinne missä se tieto sijaitsee.
Vuosien 1995..1997 välillä tähän vakiintui kolme teknologiaa, niin sinne tiedon tallennukseen kuin käyttöliittymiin:
1. HTTP protokolla tiedon välitykseen ja HTML asiakirjat lomakkeineen. Tämä oli standardi tapa.
2. MRPC tiedon välitykseen ja ActiveX komponentit käyttöliittymiin.
3. Java RMI tiedon välitykseen ja Java Appletit/sovellukset käyttöliittymä komponenteiksi
1. Oli ensimmäinen, mutta tiedonvaihto toimi puhtaasti sivulatauksilla ja oli hidas , 2. Oli nopea, mutta aluksi toimi vain ja ainoastaan sisäverkkokäytössä koska ei sisältänyt MITÄÄN tietoturvaa, ja toimi vain Windowseissa.
3. Huomioi tietoturvallisuuden mutta vaati enemmän muistia. Toimi kaikkialla missä Javakin toimi.
Näitä käytettiin varsin paljon ristiin, että käyttöliittymä oli joko puhdas työpöytäsovellus missä oli komponentit läiskitty paikalleen tai sitten ennakoitiin tulevaisuutta ja tehtiin standardia HTTP/HTML missä pystyttiin ja loput sitten Java tai Microsoft tekniikan komponentteina.
Näistä tekniikoista MRPC ja Java RMI:n kanssa oli sellainen vika, että homma toimi ikävästi Internetin läpi kun piti avata palomuurista portteja, ja salauksen hoitaminen meni hankalaksi HTTP:stä sitten oli HTTPS missä salaus saatiin todella helposti, ja HTTP:n suorituskyky parani rajusti muutamassa vuodessa. Riippuvuus sivulatauksiin jäi.
HTML:ssä oli ikäviä rajoitteita mitä sillä pystyi tekemään joten joihinkin juttuihin tarvitsi lisäosia.
ActiveX:n ongelmaksi muodostui yhteensopivuusongelmat ja Javatekniikka oli yksinkertaisesti parempi silloin kun käytettiin julkisessa verkossa. Sisäverkoissa ActiveX oli edelleen käyttökelpoinen, silloin kun kyse oli Windowseista.
Niitä lisäosia vaan ei oikein kukaan kaivannut joten selaintekniikka kehittyi. Selain ajoi sujuvasti ohjelmakoodia mitä ennen tehtiin lisäosilla, ja tietoa vaihdettiin ilman sivulatauksia. HTTP protokolla oli niinikään ylivertainen voittaja, ei tarvinnut palomuureja rassailla sen takia.
HTTP/HTML selaimet voittivat. Joten, mikä tässä tekniikassa nyt on sitten vikana? Miksi joku haluaa palata Java selainlaajennoksiin tai ActiveX palikoihin? Ja säätää jotain palomuurin portteja auki?
Kerrataanpa historiaa:
Tietotekniikan alkuaikoina tietokoneet olivat kalliita vekottimia joten niitä oli vähän ja ne olivat sellaisia keskuskoneita joihin otettiin yhteys päätteellä. Tämä oli loogisinta koska saatiin hallinnointi keskitettyä. Pääte toimi yksinkertaisesti niin, että näppäimistö (myöhemmin myös hiiri) komennot meni keskuskoneelle, keskuskone ajoi ohjelmaa ja lähetti tulosteen takaisin päätteen näytölle. Aluksi tekstinä mutta myöhemmin myös graafisesti.
Sitten tietokoneet halpeni joten keskuskoneiden lisäksi tehtiin ns. PC koneita. Näin tehtiin koska tietokoneille oli tarvetta muuallakin kuin isommissa organisaatioissa joissa oli varaa olla se keskuskone. PC-koneisiin taas tuli äkkiä kiintolevy helpottamaan hallinnointia ettei datat olleet levällään.
Homma toimi tasan niin kauan kun pärjättiin yhdellä PC:llä mutta äkkiä pienemmissäkin yrityksissä tietokoneiden määrä kasvoi. Siksi lähiverkot alkoivat yleistyä, myös PC-koneilla, jotta tiedostot saatiin samaan paikkaan ja helposti hallittua.
Ja sitten itse asiaan:
Eikös se ole aika TYHMÄÄ tehdä jotain tiedostoja joita sitten kopioidaan johonkin tiedostojakoon eri nimellä, kun joku toinen voi myös lukea sen tiedoston ja tehdä muokkausta?
No niinhän se onkin, siksi järjestelmät rakennetaankin niin että ohjelma tallentaa sen tiedon sinne keskitettyyn paikkaan ja hakee sieltä ja homma hoidetaan niin, että useampi käyttäjä voi tehdä sitä samanaikaisesti. Lähiverkot kun yhdistettiin toisiinsa, voidaan se tieto välittää myös Internetin kautta
Koska eri ihmiset tarvitsevat eri tietoa ja tieto on eri tyyppistä, se rakennetaan komponenteiksi. Löytyy käyttöliittymäkomponenttia, sekä sitten komponenttia siihen tiedon lukemiseen, muuttamiseen, poistamiseen, tallentamiseen jne. sinne missä se tieto sijaitsee.
Vuosien 1995..1997 välillä tähän vakiintui kolme teknologiaa, niin sinne tiedon tallennukseen kuin käyttöliittymiin:
1. HTTP protokolla tiedon välitykseen ja HTML asiakirjat lomakkeineen. Tämä oli standardi tapa.
2. MRPC tiedon välitykseen ja ActiveX komponentit käyttöliittymiin.
3. Java RMI tiedon välitykseen ja Java Appletit/sovellukset käyttöliittymä komponenteiksi
1. Oli ensimmäinen, mutta tiedonvaihto toimi puhtaasti sivulatauksilla ja oli hidas , 2. Oli nopea, mutta aluksi toimi vain ja ainoastaan sisäverkkokäytössä koska ei sisältänyt MITÄÄN tietoturvaa, ja toimi vain Windowseissa.
3. Huomioi tietoturvallisuuden mutta vaati enemmän muistia. Toimi kaikkialla missä Javakin toimi.
Näitä käytettiin varsin paljon ristiin, että käyttöliittymä oli joko puhdas työpöytäsovellus missä oli komponentit läiskitty paikalleen tai sitten ennakoitiin tulevaisuutta ja tehtiin standardia HTTP/HTML missä pystyttiin ja loput sitten Java tai Microsoft tekniikan komponentteina.
Näistä tekniikoista MRPC ja Java RMI:n kanssa oli sellainen vika, että homma toimi ikävästi Internetin läpi kun piti avata palomuurista portteja, ja salauksen hoitaminen meni hankalaksi HTTP:stä sitten oli HTTPS missä salaus saatiin todella helposti, ja HTTP:n suorituskyky parani rajusti muutamassa vuodessa. Riippuvuus sivulatauksiin jäi.
HTML:ssä oli ikäviä rajoitteita mitä sillä pystyi tekemään joten joihinkin juttuihin tarvitsi lisäosia.
ActiveX:n ongelmaksi muodostui yhteensopivuusongelmat ja Javatekniikka oli yksinkertaisesti parempi silloin kun käytettiin julkisessa verkossa. Sisäverkoissa ActiveX oli edelleen käyttökelpoinen, silloin kun kyse oli Windowseista.
Niitä lisäosia vaan ei oikein kukaan kaivannut joten selaintekniikka kehittyi. Selain ajoi sujuvasti ohjelmakoodia mitä ennen tehtiin lisäosilla, ja tietoa vaihdettiin ilman sivulatauksia. HTTP protokolla oli niinikään ylivertainen voittaja, ei tarvinnut palomuureja rassailla sen takia.
HTTP/HTML selaimet voittivat. Joten, mikä tässä tekniikassa nyt on sitten vikana? Miksi joku haluaa palata Java selainlaajennoksiin tai ActiveX palikoihin? Ja säätää jotain palomuurin portteja auki?
Vastaukset 10
Vanhimmat
"1. HTTP protokolla tiedon välitykseen ja HTML asiakirjat lomakkeineen. Tämä oli standardi tapa.
2. MRPC tiedon välitykseen ja ActiveX komponentit käyttöliittymiin.
3. Java RMI tiedon välitykseen ja Java Appletit/sovellukset käyttöliittymä komponenteiksi"
Tuossa ne suurimmat typeryydet olitkin luetellut. Aikoinaan HTML kielen pilaaja oli Microsoft kun toi siihen omia tulkintoja jotka poikkesivat Netscapen tulkinnoista. Ei ollut todellista yhteistä sitovaa standardia.
ActiveX oli ja on yksi suurimpia tietoturvan ongelmia. Javassa on samanlaiset tietoturvaongelmat kun se ajoympäristö jatkuvasti vuotaa (Java kieli sinänsä olisi turvallinen mutta sen ajoympäristö ei). Kun selainteknologia keskittyy näiden vakio-ongelmien ympärille niin siitä se teknosotku syntyy.
Ja kun selainteknologian kautta levitetään tätä typerää "pilviteknologian" ilosanomaa niin ei ole ihme, että tietotekniikka on tärvääntyy muutaman suuren toimijan (ohjelmistotalon) kautta.
Kehityksen pilaajia ovat ne vahvat tahot jotka eivät alistu yhteisiin standardeihin vaan tyrkyttävät niistä omia tulkintoja. Nämä vahvat tahot eivät vaan näytä koskaan tunnustavan omia virheitään.
"Aikoinaan HTML kielen pilaaja oli Microsoft kun toi siihen omia tulkintoja jotka poikkesivat Netscapen tulkinnoista."
Yhtälailla Netscapella oli omia tulkintoja. Ensimmäinen standardi HTML:lle saatiin vasta 1995 ja sen jälkeen (ja sitä ennen) Netscape sekä Microsoft mättivät molemmat omia virityksiään.
Ainoa tapa tehdä toimivaa softaa oli pysyä siinä standardissa ja testata molemmilla selaimilla.
"ActiveX oli ja on yksi suurimpia tietoturvan ongelmia."
Ei se sisäverkoissa haitannut, eikä työpöytäsovelluksissa. Niihinhän se oli tarkoitettu käytettäväksi.
"Javassa on samanlaiset tietoturvaongelmat kun se ajoympäristö jatkuvasti vuotaa (Java kieli sinänsä olisi turvallinen mutta sen ajoympäristö ei)."
Eipä silloin parempaakaan ollut julkiseen verkkoon.
"Kun selainteknologia keskittyy näiden vakio-ongelmien ympärille niin siitä se teknosotku syntyy."
Nehän on jo historiaa. Java komponentit jyräsi julkisessa verkossa johonkin vuoteen 2008 saakka.
"Kehityksen pilaajia ovat ne vahvat tahot jotka eivät alistu yhteisiin standardeihin vaan tyrkyttävät niistä omia tulkintoja."
Ongelmahan oli aikoinaan se, että standardeissa tiedonvaihto toimi sivulatauksilla eikä mahdollistaneet koodin ajamista järkevästi asiakaspuolella.
Mutta, nykyään hommat toimii puhtaasti selaimella, standardien mukaan ilman lisäpalikoita eikä tarvitse palomuurista avata portteja. Joten, mikä siinä selaintekniikassa on siis ongelmana?
Olisi hyvä jos voisi "naamioida" sen web-sovelluksen kuin natiiviksi sovellukseksi, haluaisisin myös Delphi tyylisen RAD-kehittimen web-sovellusten rakentamiseksi, nykyään noita web-sovelluksia joutuu tekemään wanhaan tapaan koodailemalla kaikki itse eikä sovellusta näe vasta kun selaimen sivun refreshaa. Eli olisi joku lomake ja siihen rakentelisi sen käyttöliittymän, komponenttia klikkaamalla voisi koodailla sen toiminnallisuuden palikkaan.
Websovellukset toimivat komponenttimallilla. Käyttöliittymä on vähän erilainen kuin 90-luvulla kun nykyiset käyttöliittymät ovat vähän monipuolisempia kuin jotain text fieldiä tai muuta vastaavaa. Kaikki voi olla animoitua ja dynaamista tai vaikka näkymätöntä kunnes hiiren vie tiettyyn kohtaan ruutua.
Eli, ohjelmistokehitys on aina ollut komponenttipohjaista sieltä 70-luvun alkuhämäristä saakka, kunhan se ohjelmistokehittäjä on täysipäinen. Visuaalisia komponentteja tehtiin jo 80-luvulla.
Siitä päästäänkin siihen, että eihän se etäkäyttö mihinkään hävinnyt, eli kyllä X ikkunointijärjestelmä on toiminut kaiken aikaa rinnalla joskin sen alasajo on jo käynnistynyt.
Perusperiaate on että tieto pysyy keskitetysti jotta sitä on helppo hallita.
"Eikös se ole aika TYHMÄÄ tehdä jotain tiedostoja joita sitten kopioidaan johonkin tiedostojakoon eri nimellä, kun joku toinen voi myös lukea sen tiedoston ja tehdä muokkausta?"
Tämäntyyppinen keskusteluketju on hyvä -- paha esimerkki mitä tapahtuu kun kaikki/kuka tahansa voi "muokata" sitä.
Tämähän toimii just sillä nykyaikaisella tavalla.
Olisi aika kauheata jos pitäisi viesti kirjoittaa jollain notepadillä ja kopioida tiedosto yhteen kansioon. Ja sitten alkaa jumittaa jos kaksi henkilöä tallentaa samaan tiedostoon ja porukka voisi muokkailla toistensa viestejä.
Tuo M-Karvaperseen utopia ei vaan oikein sovellu yleiseen käyttöön. Joidenkin yritysten sisäiseen käyttöön se sopii jotenkuten jos sen rajoitukset osataan ottaa huomioon. Ja kyllä, tiedän että M-Kar ei tajua tuon tekniikan rajoituksia kun ei hypetykseltään ja haaveilultaan ehdi ajatella asiaa yhtään tarkemmin (tai ei ylipäätään kykene siihen tarkempaan anlyyttiseen ajatteluun). Eli Karvaperseen ei tarvitse erikseen sopertaa että ei tajuaa asiaa.
Lähes kaikki maailman ohjelmat tehdään selaintekniikalle ja on tehty pitkään, joten..?
Mikä on selaintekniikka?
Terv. ahkera linukskäyttäjä
Käyttöjärjestelmissä, myös Microsoftin linukseissa, on WWW-selaimeksi kutsuttu ohjelmien ajoympäristö. WWW-selaimella käytetään eri ohjelmien käyttöliittymäosaa.
Esim. Suomi24:n käyttöliittymä toimii selaintekniikalla. Ei siis ole esim. Java työpöytäsovellus vaan selainsovellus.
Jostain syystä jotkut vaan kuvittelee että näinkin yleinen asia kuin Suomi24 olisi jotenkin "utopiaa", että ihmiset sitä vaan niin kuin kirjoittelee viestejä tällaisessa keskustelupalstaohjelmassa.
Keskustelupalstaohjelmia on kyllä käytetty ennen selaintekniikkaakin: http://www.mcvries.nl/wordpress/wp-content/uploads/2013/05/bbsmenu_large.jpg
..että mitään uutta tai ihmeellistä tämä ei ole mutta nykyään ohjelmat vaan toimii selaimella.