Muutokset

Siirry navigaatioon Siirry hakuun

Palvelulle

7 345 merkkiä lisätty, 11. kesäkuuta 2021 kello 14.12
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.
Komponenttien ja arkkitehtuurin valinta perustuu usein kohderyhmän käyttöprofiilista ja siihen investoitujen kehitys- ja ylläpitokustannusten kompromissista. Jos palvelua/palvelu:
* käyetään '''satunnaisesti'''* käytetään '''toistuvasti'''* käytetään '''eri päätelaitteilta ''' kuten tietokoneelta ja mobiililaitteesta* käytetään päätelaitteeseen asennetulla '''sovelluksella'''* käsittelee tekstiä '''monimutkaisempia aineistoja ''' kuten karttoja, videota tai ääntä
=== Käytetään satunnaisesti ===
=== Käytetään toistuvasti ===
Suuri käyttöaste - suuret käyttäjämäärät tai jatkuva käyttö voi asettaa isommat vaatimukset käytettävyydelle ja siten perustella suuremmat investointikulut, ylläpitokulut ja pidemmän kehitykseen käytetyn ajan. Isoilla resursseilla tehtynä MVC mielekäs-arkkitehtuuri täyttää mainitut kriteerit parhaiten. Sovelluksen voi toteuttaa joko natiivina päätelaitteen ohjelmana tai web-sovelluksena. Typillisiä esimerkkejä ovat valtionhallinnon sovellukset, kaupalliset sovellukset kuten sähköposti, tekstinkäsittely, kirjanpito jne.
=== Käytetään eri päätelaitteilta ===
== Arkkitehtuurit ==
=== Templaattipohjaiset (MVT) ==='''Esimmäisen sukupolven''' palveluita kehitettiin enimmäkseen templaatti-järjestelmien (''Model View Template, MVT'') avulla. Yksinkertaisimmillaan kaikki tietokantakyselyt tehtiin käsin suoraan käyttöliittymän templaateista ja niiden kehittäminen ja ylläpito oli hidasta ja kallista. Teknologia ei sinänsä rajoita hyviä kehitystapoja ja kehitykseen käytetyn ajan sekä kehityskulujen hallinta on silti mahdollista. Ratkaisu voi olla sopiva pienien kehitysresurssien tarpeeseen vielä nykyäänkin.
=== Asiakas-palvelin ympäristöt (Application Server) ==='''Toisen sukupolven''' arkkiehtuuriksi voidaan kutsua asiakas-palvelin (''Application Server'') arkkiehtuuria jossa itse sovellus muodostuu palvelimessa jatkuvasti pyörivästä sovelluksesta tietokantoineen ja käyttäjän päässä on käyttöliittymä joka ladataan kerran alussa ja kommunikoi käytön edetessä kevyesti sovelluspalvelimessa pyörivän sovelluksen kanssa. Arkkitehtuurin etu on sovelluksen jatkuva käynnissäolo joka ainakin periaatteessa näkyy käyttäjälle nopeutena koska samoja käynnistyksen alussa tehtäviä rutiineja ei ajeta käyttäjän jokaisesta toimesta käyttöliittymässä. Haittana on sovelluspalvelimen tai sovelluksen kaatuminen virhetilanteessa(?) ja sen näkyminen käyttäjälle jos tilanteesta toipumista ei ole huolehdittu. Suosittu ja tyypillinen esimerkki asiakas-palvelin arkkitehtuurista on [http://tomcat.apache.org/ tomcat.apache.org - Apache Tomcat] * [https://en.wikipedia.org/wiki/Application_server wikipedia.org - Application Server]
=== 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.
Haittana kasvaneet vaatimukset selaimien yhteensopivuuksissa monimutkaistuneen asiakaspään toteutuksen takia ja kaikista raskaimmat kehitysvaatimukset taitojen ja ajankäytön kannalta joka johtaa hitaaseen aikatauluun ja korkeisiin kuluihin.
* [https://en.wikipedia.org/wiki/Model–view–controller wikipedia.org - Model View Controller]
* [https://doc.qt.io/qt-5/model-view-programming.html Qt Company - Model View Programming]
'''Java ja applikaatioserverit''', '''Frameworkit''', '''RESTful''', '''rikkaat asiakaat'''
=== Palvelimen sovelluskehykset ===
'''Drupal''' on selainpohjainen sisällönhallintajärjestelmä (CMS) sovelluskehys (''framework''), jonka avulla luot, hallitset ja julkaiset sisältöä verkkosivuille ilman teknistä osaamista verkkosivujen toteuttamisesta. Drupal soveltuu pienten verkkosivujen toteutuksesta aina laajoihin ja haastaviin verkkototeutuksiin. * [https://drupal.org drupal.org[Drupal]]
'''Wordpress''' [http://wordpress.org wordpress.org], lyhyesti WP on sisällönhallintajärjestelmä (''content management system, CMS'') joka on nykyään suosituin sovelluskehys yhteisöjen web-sivujen tai blogien alustaksi jos sisältö on pääasiassa tekstiä. Wordpress on ohjelmoitu php:llä ja käyttää MySQL RDBMS-tietokantaa. WP tukee laajaa valikoimaa vaihdettavia ulkoasuja, liitännäisiä (yli 40k), sillä julkaistuun sisältöön löytyy mobiilisovellukset.
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'''
'''Django''' on suosittu ja harvoja Python-ohjelmointikielellä tehtyjä sovelluskehyksiä. Sille löytyy mm sisällönhallintajärjestelmä django-cms. * [https://djangoproject.com djangoproject.com]* [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]
'''Apache StrutsQt WebAssembly''' on JavaEEvuonna 2018 julkaistu laajennos Qt-ohjelmointikielellä sovelluskehys kirjastoon joka kannustaa käyttämään MVCmahdollistaa Qt-arkkitehtuuriaohjelmien ajon web-selaimessa vaihtoehtona Javascriptille. * [httphttps://strutswiki.apacheqt.orgio/ strutsQt_for_WebAssembly qt.apache.orgio - Qt for WebAssembly]
=== Palvelimen sovellukset ===
Verkkokauppasovelluksia, [https://en.wikipedia.org/wiki/Comparison_of_shopping_cart_software täydellinen lista] löytyy wikipediasta. Suurimmat valintaan vaikuttavat tekijät ovat elinkaarikustannukset, paikallisten, skandinavisten maksurajapintojen tuki ja yleiset ominaisuudet.
'''Magneto''' on suosittu web-kauppa -alusta [http://magento.com magneto.com].
'''OpenCart''' avoimen lähdekoodin verkkokauppaohjelmisto [https://opencart.com opencart.com]
'''Elastic''' ([http://www.elastic.co/products/elasticsearch elasticsearch])
'''Firebird''' ([https://firebirdsql.org firebirdsql.org]) on etenkin Microsoft Windows käyttäjäyhteisössä suosittu valinta relaatiotietokannaksi. Toisaalta Windows ei ole suosittu valinta Internetin palveluiden alustaksi.
* [[Firebird]]
 
'''Vertica''' ([https://my.vertica.com/ vertica.com])
 
Tapauskohtaisesti voi olla tarpeen hallita tietojen muutoksia (''CDC, Change Data Capture'', [https://en.wikipedia.org/wiki/Change_data_capture en.wikipedia.org]) joka mahdollistaa ei haluttujen muutosten havaitsemisen ja tarvittaessa niiden peruuttamisen.
=== Käyttöliittymän Javascript ===
=== 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. Jotkut toteutukset ovat vaatineet selaimen laajennoksia joita Javascript-kieli hallitsee webiä, mutta sen ulkopuolella sitä ei ole ollut kaikkiin yleisesti käytössä oleviin selaimiin saatavilla 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 tämä kielen vaihtoa ei tarvita kun kieli on myös vaatinut käyttäjältä toimenpidettä jota ei voida pitää kohtuullisenakaikkialla yksi ja sama. Viimeisimmät toteutukset pohjautuvat Javascriptiin jolloin laajennuksen asennusvaatimusta ei ole Tämä säästää aikaa ja palvelut toimivat suoraan vaikka ne olisi ohjelmoitu Python-kielellä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 python Python toteutuksia:
* '''Brython''' ([http://brython.info brython.info])
* '''Skulpt''' ([http://skulpt.org/ skulpt.org])
* '''Pyjs''' ([http://pyjs.org pyjs.org])
* '''Transcrypt''' ([http://transcrypt.org/ transcrypt.org])
* '''PyPy.js''' ([http://pypyjs.org/ pypyjs.org])
 
Artikkeleita ja vertailuja:
* [http://stromberg.dnsalias.org/~strombrg/pybrowser/python-browser.html Stromberg - python in browser]
* [https://brythonista.wordpress.com/2015/03/28/comparing-the-speed-of-cpython-brython-skulpt-and-pypy-js/ Comparing the speed of CPython, Brython, Skulpt and pypy.js]
== Verkkotunnus ja varmenne ==
Suomalaisen .fi-päätason verkkotunnuksen (''TLD, top-level domain'') omistaa valtio ja sitä hallinnoi [[Viestintävirasto]]. Sen alta löytyviä tietoja voi tarkastella [http://domain.fi domain.fi] -verkkopalvelussa. Tunnuksen anominen on kilpailutettu EU:n laajuisesti eri verkkotunnusvälittäjille joilta tunnuksia voi rekisteröidä ja hankkia siihen liittyviä palveluita.
Tunnuksella voi olla eri haltija omistaja ja siihen liittyvän tekniikan hoitamiseen erikoistunut taho(haltija). Anottaessa tunnusta, loppukäyttäjän tulee varmistua, että rekisteriin merkitään oikea haltija omistaja eikä palveluntarjoajaa koska tällöin täysi omistus- ja määräysvalta ei ole tunnuksen käyttäjällä.
'''Ennen 5.9.2016''' anottuja verkkotunnuksia saattaa olla vieläkin Viestintäviraston rekisterissä, josta ne piti siirtää kaupalliselle välittäjälle ennen hallintakäyttöliittymän sulkemista. Verkkotunnuksen myöntämisen yhteydessä annetut valtuutusavaimet on mitätöity em päivänä eikä niitä saa enää uusia itsepalvelun kautta vaan tulee asioida Viestintäviraston kanssa uuden saamiseksi. Palvelun sulkemisen yhteydessä suljettiin myös tunnuksen voimassaolon päättymisestä muistuttavien sähköpostien lähettely, joten riski menettää oma verkkotunnus hallinnan laiminlyönnin takia on suuri ja niitä on jo tapahtunut monelle suomalaiselle tunnuksen käyttäjälle.
* [[Lista varmentajista]]
== Lait, selosteet asetukset ja sertifikaatit direktiivit ==
=== Mediakortti ===
=== Käyttöehdot ===
=== Henkilötietolaki === Tietosuoja-asetuksen mukaan vanhoja henkilötietolakien rekisteri- ja tietosuojaselostetta [http://tietosuoja.fi/fi/index/ajankohtaista/tiedotteet/on/05/tietosuoja-asetuseiedellytaentisenkaltaistarekisteri-taitietosuojaselostetta.html ei tarvitse enää jatkossa] tehdä. * [[Henkilötietolaki]] ==== Rekisteriseloste ====
[[henkilötietolaki|Henkilötietolain]] 10 §:n mukaan ''Rekisterinpitäjän on laadittava henkilörekisteristä rekisteriseloste, josta ilmenee'':
* [[Henkilötietolaki#Rekisteriseloste]]
==== Tietoturvaseloste === === Henkilötietolaki ===
* [[Henkilötietolaki]]
=== Henkilörekisterilaki ===
* [[PSD]]
 
=== Mediakortti ===
=== 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 ja tiedot ==
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]]
* [[PEPS]]
* [[Väestörekisterikeskus]]
 
=== Muu maailma ===
 
Jos on tarve tunnistaa koko maailman verkon käyttäjät, asia menee monimutkaisemmaksi.
 
* [[Maailma|Tunnistus- ja allekirjoitusjärjestelmät maailmalla]]
== Kolmannen osapuolen sisällöt / Avoin data ==
'''Woopra''' ([http://woopra.com woopra.com])
 
== Pilvipalvelut ==
'''Pilvipalvelut'''
 
* [[Pilvipalvelut]]
 
== Projektipalvelut ==
 
=== SEO palvelut ===
'''SEO''' (''Search Engine Optimization'') tarkoittaa hakukoneiden hakutulosten manipulointia, ''optimointia'' - jos sen haluaa sanoa vähemmän negatiivisessa kontekstissa. Vähän kuin kutsua ongelmia haasteiksi. Tässä vaiheessa fiksumpi lukija jo arvaa puolet tulevasta.
 
Hakukoneiden optimointi tarkoittaa esimerkiksi suositun Google-hakukoneen tulosten järjestyksen muuttamista siten, että optimonnista maksavan palvelu löytyy viidennen tulossivun sijasta ensimmäiseltä sivulta. Jos uusi juuri avattu verkkopalvelu ei tunnu saavan tarpeeksi kävijöitä, SEO-palvelun tarjous saattaa tuntua houkuttelevalta.
 
Mutta miten he tekevät sen? Suurinta osaa maksajia tämä ei kiinnosta, kunhan asiat liikkuvat eteenpäin. Vaikka ehkä pitäisi.
 
Hakukoneet toimivat roboteilla (''web crawlers'') jotka penkovat verkon sisältöä taukoamatta ja tallentavat niiden sisältöjen piirteitä tietovarastoihinsa. Hakupalvelun algoritmit indeksoivat tätä valtavaa tietomassaa, osa siitä perustuu myös ihmisten tekemään käsityöhön. Verkon hakukoneen tulokset perustuvat tähän kerättyyn ja käsiteltyyn tietoon.
 
Internetissä on paljon, jopa suurin osa sisällöstä ilmaista ja vapaata kulutettavaksi. Moni palvelu kuten Wikipedia, Youtube, sosiaalinen media, monet keskustelufoorumit ym ovat ilmaisia käyttäjilleen. Ihmisten tunnistaminen verkossa ei ole yksiselitteistä ja se usein maksaa sitä tekevälle sitä enemmän mitä varmemmin sen haluaa tehdä. Tästä johtuen suurimpaan osaan palveluista voi luoda tekaistuja käyttäjiä. Sama taho voi luoda käyttäjätunnuksensa uudestaan jos entisen käyttö estyy, koska ensitunnistusta ei tehdä eikä käyttäjää yksilöidä.
 
SEO-palveluntuottajat käyttävät hyväkseen tätä löyhää tunnistamista ja yksilöinnin puutetta, luomalla tekaistuja käyttäjiä verkon avoimiin palveluihin kuten lukuisiin wiki-sivustoihin ja keskustelufoorumihin. Syöttämällä niihin tekstimassoja ja verkon linkkejä, ne samalla syöttävät hakukoneiden roboteille niiden hakutuloksia vääristäviä - ''optimoivia'' sisältöjä. Käytännössä kyse on roskapostista joka leviää postijärjestelmän ulkopuolella.
 
Sotkeminen, töhriminen ja olemassaolevien sisältöjen pilaaminen aiheuttaa valtavasti turhaa työtä näitä palveluita käyttäville ja niiden omistajille. Moni palvelu on sosiaalisen median paineessa laittanut lopullisesti lapun luukulle kun muuten kivasta palvelusta on alkanut olemaan enemmän riesaa kuin iloa kerta toisensa jälkeen Viagra, peniksenpidennys jne törkeyksien siivoamisen jälkeen.
 
Miksi SEO-palveluntarjoajat sitten tekeävät tätä? Samasta syystä kuin roskapostittajat lähettävät roskapostia - joku maksaa siitä. Oletko se sinä? Onko se teidän palvelu? Teidän yhteisö?
== Sopimukset ==
== Katso myös ==
* [[Palvelulle/Tunnistevälinepyyntö]]
== Lähteet ==

Navigointivalikko