Muutokset

Siirry navigaatioon Siirry hakuun

Palvelulle

1 938 merkkiä lisätty, 5. toukokuuta 2022 kello 15.47
TEKIJÄT: [[:Käyttäjä:TUOMALA JUHA 10000350X|JUHA TUOMALA]]
 
 
'''Palvelun omistajalle''' (''henkilö, yritys, yhdistys tms yhteisö'') digitalisaatio asettaa isoja haasteita teknologian kehitysnopeuden ja käyttöönottotahdin ollessa muita teollisuudenaloja nopeampi. Monen yhteisön päättäjälle tietotekniikka vain sivuaa itse yhteisön ydintoimintaa - mutta silti sähköisten palveluiden tarjoamiselle kasvaa paineita ja niiden suunnittelu ja rakentaminen vaatii paljon perehtymistä ja asiantuntijaresursseja joita ei välttämättä ole käytettävissä. Vääriä valintoja tehdessä investointi saattaa vaatia uudelleen rakentamista ennen aikojaan ja väärälle valitulle teknologialle sopivan toimittajan löytäminen myöhemmin saattaa olla vaikeaa ja kallista.
=== Malli-Näkymä-Käsittelijä (MVC) ===
'''Kolmannen sukupolven''' palvelut noudattavat usein MVC (''Model view controller, malli-näkymä-käsittelijä'') arkkiehtuuria arkkitehtuuria jota on jo pitkään käytetty henkilökohtaisen tietokoneiden graafisissa ohjelmistoissa. Tässä käytetty sovellus on toteutettu yleensä javascriptillä (aiemmin saattoi olla myös Java) ja se pyörii kokonaisuudessaan käyttäjän päätelaitteen selaimessa. Koko Webissä käytettäessä koko käyttöliittymän ulkoasu ja sovelluksen ohjelmakoodi ladataan kerran, jonka jälkeen käyttöliittymää päivitetään kevyellä web-liikenteellä palvelun palvelimelta käytön edetessä.
Arkkitehtuurissa on toisen sukupolven edut, etäyhteyden liikennemäärät ovat huomattavasti pienemmät kuin aiemmissa sukupolvissa. Muita selkeitä etuja ovat palvelun palvelimien ja tietoliikenneyhteyksien vähentynyt kuormitus, toteutuksen mahdollistama visuaalinen näyttävyys ja käyttökokemus sekä läheinen suhde tietokoneiden ja mobiililaitteiden täysimittaisiin sovelluksiin jotka hyödyntävät samoja palvelimien rajapintoja.
WP:ssä on XMLRPC-rajapinta joka on tunnettu ongelmistaan, sitä on käytetty mm DDoS-hyökkäysten proxynä peittämään ja monistamaan todellisen hyökkääjän liikenne<ref name='sucuri-2014'>[https://blog.sucuri.net/2014/03/more-than-162000-wordpress-sites-used-for-distributed-denial-of-service-attack.html More Than 162,000 WordPress Sites Used for Distributed Denial of Service Attack]</ref> - eli saada WP:tä käyttävä taho näyttämään hyökkääjältä.
 
'''Symfony''' on php-sovelluskehys joka kannustaa php-modulien uudelleenkäyttöön.
* [https://symfony.com/ symfony.com]
'''Joomla'''
* [https://en.wikipedia.org/wiki/Django_(web_framework) wikipedia.org - Django]
'''Apache Struts''' on JavaEE-ohjelmointikielellä sovelluskehys joka kannustaa käyttämään MVC-arkkitehtuuria. * [http://struts.apache.org/ struts.apache.org] '''Qt WebAssembly''' on vuonna 2018 julkaistu laajennos Qt-kirjastoon joka mahdollistaa Qt-ohjelmien ajon web-selaimessa vaihtoehtona Javascriptille. * [https://wiki.qt.io/Qt_for_WebAssembly qt.io - Qt for WebAssembly]
=== Palvelimen sovellukset ===
=== Käyttöliittymän Python ===
'''Python''' on kielenä [https://insights.stackoverflow.com/survey/2019 kasvattanut suosiota ] tietojenkäsittelyssä käyttökohteesta riippumatta ja yrityksiä käyttää sitä web-palveluissa on ollut jo pitkään, sitä on lähinnä jarruttanut selaivalamistajien tuen puute. Javascript-kieli hallitsee webiä, mutta sen ulkopuolella sitä ei juurikaan käytetä. Tästä johtuen Python-kielen osaajia on huomattavasti enemmän ja loogisesti ajateltuna sen käyttö olisi perusteltua kun raskasta ajattelumallin- ja kielen vaihtoa ei tarvita kun kieli on kaikkialla yksi ja sama. Tämä säästää aikaa ja rahaa.
Jotkut Python-websivusto toteutukset ovat vaatineet selaimen laajennoksia joita ei ole ollut kaikkiin yleisesti käytössä oleviin selaimiin saatavilla ja tämä on myös vaatinut käyttäjältä Python-tuen asentamista laajennusmodulilla jota ei voida pitää kohtuullisena vaatimuksena - varsinkaan aikana kun verkkopalvelujen käyttö on levinnyt tietokoneiden ulkopuolelle mobiililaitteisiin, älytelkkareihin ja olohuoneiden pelikonsoleihin joihin sitä ei ole saatavilla. Viimeisimmät Python-kielellä tehdyt websivustot pohjautuvat Javascriptiin jolloin Python-tuen asentamista ei tarvita ja palvelut toimivat suoraan vaikka ne olisi ohjelmoitu Python-kielellä. Tämä on ollut yllättävä ja mullistava kehityssuunta.
Jos Pythonin käyttö lisääntyy, Javascriptiin pohjautuvat toteutukset saattavat olla vain välivaihe ja lopulta puhdas Python-kielen tuki alkaa yleistyä selaimissa ja palveluiden suoritusnopeudet paranevat. Vaikka näin ei tapahtuisi, mikään ei estä siirtymästä Pythonin käyttöön jos se todetaan toimivaksi kyseisessä käyttötarkoituksessa.
Selaimen JavaScript-Python toteutuksia:
* '''Brython''' ([http://brython.info brython.info])
* '''Skulpt''' ([http://skulpt.org/ skulpt.org])
* '''Transcrypt''' ([http://transcrypt.org/ transcrypt.org])
* '''PyPy.js''' ([http://pypyjs.org/ pypyjs.org])
* '''PyScript''' ([https://pyscript.net/ pyscript.net])
 
Yksi vaihtoehto on toteuttaa Python-tuki WASM-binäärinä (''Web Assembly'').
* [https://pythondev.readthedocs.io/wasm.html pythondev.readthedocs.io - CPython WebAssembly]
* [https://pyodide.org pyodide.org - CPython WebAssembly]
 
Yhteistä kaikille toteutustavoille on niiden raskaus, pelkkä Python-tuen lataaminen vaatii satojen kilotavujen, tai yli megan tiedoston lataamisen selaimeen. Tämän voisi uskoa ratkeavan jos toteutus tehdään osaksi selainta tai muut tavat yleistyvät ja se löytyy jo lataushetkellä välimuistista.
Artikkeleita ja vertailuja:
=== Viranomaisvaatimukset ===
* [[Laki sähköisestä asioinnista viranomaistoiminnassa]]* [[Laki viranomaisten toiminnan julkisuudesta]]* [[Laki digitaalisten palvelujen tarjoamisesta]]* [[Laki julkisen hallinnon tiedonhallinnasta]]* [[Laki vahvasta sähköisestä tunnistamisesta ja sähköisistä allekirjoituksista]]* [[EU 2016/2102]] eli saavutettavuusdirektiivi* [[EIDAS]]* [[KATAKRI]]
== Asioijan tunnistaminen Tunnistaminen ja tiedot ==
Palvelun luonteesta riippuu riittääkö pelkkä henkilön tunnistaminen koko asiointiin vai tarvitseeko tapahtuma tietoa myös tunnistetun henkilön oikeuksista eri rooleihin ja valtuuksiin sekä asiojan henkilötietoja. Suurin osa tunnistusmenetelmistä ei sisällä roolitietoa ja palvelun toteuttaminen vaatii tällöin yhteydet taustajärjestelmiin joiden tiedot on tyypilisesti suojattu lailla ja siten yhteys vaatii sopimuksen rekisterinpitäjään ja sen käyttö on maksullista ja valvottua.
* alaikäisen tai edunvalvonnan alaisen edustajan valtuutus
* yhteisöt: yhdistykset, säätiöt, kunnat, seurakunnat, valtio - ja nämä ulkomaalaisina
** edustetun yhteisön [[nimenkirjoitusoikeus ]] - toimivalta, kelpoisuus (Kaupparekisteri)
** edustetun yhteisön päätösvaltaisuus - riittävä määrä allekirjoittajia
* käsitellyn asian omistusoikeudet, panttaukset, tms ja valtakirjat
Osa näistä tiedoista saadaan nykyään Väestörekisterikeskuksen västötietojärjestelmästä ([[Tekniikka/Digivirasto|Digiviraston hakemistoista]] ja [[VTJ|västötietojärjestelmästä]]), verohallinnon rekisteriin tallennetuista [[KATSO]]-tunnusten välisisistä valtuutuksista ja Patentti- ja rekisterihallituksen [[Kaupparekisteri|Kaupparekisteristä]]. Jatkossa Palveluväylän rooli- ja valtuutuspalvelu [[RoVa]] yhdistää ja korvaa kaikki edellämainitut julkis- ja yksityissektorin yhteisöjen osalta.
=== Pankkitunnukset ===
'''Pankkitunnukset''' eli [[TUPAS|TUPAS-tunnistuspalvelu]] on Suomen laajimassa käytössä oleva lain tarkoittama vahva tunnistusväline. Siihen liittyminen vaatii sopimuksen kaikkien eri tuettavien pankkien kanssa. Sopimuksista veloitetaan perusmaksu joka kuukausi ja joka tunnistustapahtumasta noin 0,50 euroa. TUPAS:sta käyttävän palvelun tarjoajan tulee hakeutua [[Traficom]]in valvontaan josta maksetaan ensimmäisenä vuotena liittymismaksu (5000?) euroa ja vuosittain (12000?) euroa valvontamaksua. Verkkopalvelun liittäminen TUPAS-järjestelmään on myös haastavaa teknisesti koska sen dokumentaatio on salaista, avoimia liityntäkirjastoja tai julkista keskustelua ongelmanratkomisesta ei ole.
[[Palvelulle/Pankkitunnukset]]
=== Henkilökortti ===
Moni Euroopan [[Maailma|maista ]] on lisännyt henkilökortteihinsa sähköisen sirun jolla on varmenne asioijan tunnistamista varten (poikkeuksena [[Saksa]]). Verkkopalvelussa varmenteella Varmenteella tunnistaminen '''ei maksa palvelun tarjoajalle palvelulle mitään'''. Takaajien juurivarmenteet ja estettyjen tunnisteiden sulkulistat ovat ilmaiseksi saatavilla. Varmenteita käyttävä tunnistustapahtuma (''Client Side Certificate'') on tietotekniikassa laajalti tunnettu toimenpide ja siten sen lisääminen palveluun kehityskustannuksiltaan on kohtuullinen, toisiin kehysohjelmistoihin löytyy valmiit komponentit sitä varten. Henkilökortin tunnistaminen perustuu yleiseen [[PKI]]-teoriaan josta puuttuu laskutuksen mahdollistavat ominaisuudet, sen käyttöä ole siten rajoitettu mitenkään, sillä voivat tunnistaa yksityisen sektorin toimijat kuten julkinen sektori. Henkilökortti mahdollistaa myös allekirjoittamisen palvelussa ja muun käytön (VPN, lähiverkon sisäänkirjautuminen, sähköpostin salaus ym).
Suomen tapauksessa tunnistustapahtumassa palveluntarjoaja saa [[Henkilökortti|henkilökorttia]] ja [[Mobiilivarmenne|Mobiilivarmennetta]] käyttävän asioijan erittelevän [[SATU]]-tunnisteen [[HETU]]:n sijasta. [[Väestörekisterikeskus]] myy erikseen kk-laskutettua [[VTJ]]-kyselypalvelua jolla SATU-HETU sidos voidaan haluttaessa tehdä.
 
Aktiivisia henkilökortteja on Suomessa 1,46 miljoonaa kappaletta (2022-03-07).
Varmennehierarkiaa tarjoavien EU-maiden lista löytyy [[TSL]]-tilasivulta.
=== Palveluväylä ===
'''Palveluväylä''' on Virossa kehitetyn yhteiskunnan taustaväylä [[X-Road]]:n suomalainen instanssi jolla voi myös tunnistaa (?) ja jossa välittyy asioijien metatietoja joita ei lyödy tunnisteesta. Liittyminen vaatii liittymäsopimuksen, oman liityntäpalvelimen ja siitä on ?? kustannuksia kuukausittain.
* [http://beta.suomi.fi beta.suomi.fi]
* [[X-Road]]
=== PEPS eIDAS ===Euroopan Unioni toteuttaa [[eIDAS]]-direktiivin mukaista kertakirjautumispalvelua [[PEPS]]-palvelinverkostolla johon eri palveluntarjoajien on tarkoitus liittyä. Hanke Suomen valtio on monella tapaa päällekkäinen Palveluväylän kanssa, mutta keskittyy ainoastaan tunnistamiseen ja allekirjoittamiseenollut hidas tukemaan muiden maiden välineitä palvelussaan. Vaikka PEPS-palvelun tunnisteina on yleensä henkilökortti, erona suoraan PKI-tunnistukseen on asioijan metatiedot joita eri jäsenvaltioiden lainsäädännön ja toteutuksen takia ei ole tallennettu kortille, eikä enintä osaa tiedoista edes välitetä HTTPS/SSL-yhteyden mukana. Suomessa PEPS-palveluntarjoaja tulee olemaan Digivirasto [[VäestörekisterikeskusDigivirasto/Notifiointisotku|jätti notifioimatta]]Suomen kortit EU:lle jonka takia suomalaiset eivät voi myöskään tunnistautua ulkomaisiin palveluihin* [[PEPS]]* [[Väestörekisterikeskus]]
=== Muu maailma ===
* [http://avoindata.fi avoindata.fi]
* [http://data.europa.eu/euodp data.europa.eu - Euroopan Unionin avoimen datan portaali]
* [https://pelikone.eu/ pelikone.eu]
=== Kartat ===
== Katso myös ==
* [[Palvelulle/Tunnistevälinepyyntö]]
== Lähteet ==

Navigointivalikko