Tamperelainen ohjelmistotalo Haltu Oy on ottanut palveluvalikoimaansa Suomi.fi-palveluväylän liityntäpalvelimet, joita tarjotaan palveluna. Tämä uusi palvelu helpottaa liittymistä Suomi.fi-palveluväylään ja tehostaa sähköistä tiedonsiirtoa eri toimijoiden välillä.
Generatiivinen tekoäly (GenAI)
Ohjelmiston skaalautuvuus
Tekoäly ja ohjelmistokehitys - 3 suurta hyötyä, jota tekoäly tarjoaa
Tekoäly mullistaa toimialoja kaikkialla maailmassa, eikä ohjelmistokehitys ole poikkeus. Kun tekoäly kehittyy edelleen nopeaa vauhtia, sen integrointi ohjelmistokehitykseen tuo mukanaan runsaasti mahdollisuuksia ja etuja. Tässä artikkelissa syvennytään tekoälyn laaja-alaisiin vaikutuksiin ja hyötyihin ohjelmistokehityksessä.
Natiivisovellus vai verkkosovellus -vertailu
Oletko miettimässä mobiilisovelluksen tuottamista? Tässä tapauksessa eteesi on tullut varmasti seuraava kysymys: kannattaako minun tuottaa sovellus natiivisovelluksena juuri tiettyjä laitteita tai käyttöjärjestelmiä varten vai verkkosovelluksena, joka on suoraan yhteensopiva verkon välityksellä kaikkien laitteiden kanssa? Tähän kysymykseen pyrimme vastaamaan tässä artikkelissa tehden vertailua näiden kahden sovellustyypin välillä.
Apache HTTP Server 2.4.48 haavoittuvuuden vaikutukset Haltun ylläpitämiin järjestelmiin
Tammikuun 31. päivä havaitsimme, että muutamissa asiakkaidemme tuotantoympäristöissä oli hyödynnetty Apache HTTP serveriin liittyvää haavoittuvuutta. Haavoittuvuus oli tyypiltään palvelunesto, eli järjestelmät oli saatettu tilaan, jossa niitä ei voitu käyttää normaalisti. Käytännössä järjestelmä palautti käyttäjälle ikävän näköisen Error 503 sivun.
Haavoittuvuuden aiheutti ympäristöissä käytössä oleva Apache HTTP Serverin versio 2.4.48, johon ei enää tarjota tukea.
Havainto tehtiin aamulla 07:04 ja kaikki tietoomme tulleet palvelunestot korjattiin tilapäisellä ratkaisulla 07:56 mennessä. Asiakkaitamme on tiedotettu haavoittuvuudesta, sen vaikutuksista sekä suositelluista korjaustoimenpiteistä.
Lisätietoa Apachen haavoittuvuudesta: https://nvd.nist.gov/vuln/detail/CVE-2021-40438
Apache Log4j 2 haavoittuvuuden vaikutukset Haltun ylläpitämiin järjestelmiin
Perjantaina 10.12 Haltun tietoon tuli nollapäivähaavoittuvuus Log4j 2 komponentissa. Arvioimme parhaillaan haavoittuvuuden vaikutuksia ylläpitämiimme järjestelmiin. Tiedotamme asiakkaitamme tilanteen etenemisestä sähköpostitse ja tätä blogipostausta täydentäen.
Taustaa
9. Joulukuuta raportoitiin nollapäivähaavoittuvuudesta komponentissa Log4j 2.14.1 ja osassa sen vanhemmissa versioissa. Haavoittuvuus antoi hyökkääjälle mahdollisuuden ajaa mielivaltaisia komentoja hyökkäyksen kohteena olevalla sovelluspalvelimella.
Arviomme vaikutuksista Haltun ylläpitämiin järjestelmiin
Haltun toteuttamat asiakasjärjestelmät eivät ole java-pohjaisia sovelluksia, joita haavoittuvuus koskettaa.
Haltu käyttää Log4j 2 kirjastoa omassa keskitetyssä lokienhallintajärjestelmässään, joka on ollut altis hyökkäyksille. Käsityksemme mukaan haavoittuvuutta ei ole ehditty hyödyntämään ja olemme rajoittaneet ongelmaa poistamalla kyseisen kirjaston käytöstä 12. päivä sunnuntaina.
Lisätietoja aiheesta: https://log4shell.com ja https://www.kyberturvallisuuskeskus.fi/fi/haavoittuvuus_38/2021
Päivitys: 14.12.2021 kello 14:06 Olemme jatkaneet vaikutusten arviointia ja selvittäneet onko haavoittuvuudella vaikutuksia asiakkaidemme järjestelmiin. Emme ole havainneet haittoja ylläpitämissämme asiakasjärjestelmissä. Tutkimme edelleen asiaa.
Päivitys: 17.12.2021 kello 16:48 Emme ole havainneet haittoja ylläpitämissämme asiakasjärjestelmissä. Seuraamme Kyberturvallisuuden haavoittuvuustiedotteita sekä viestintää ja reagoimme tarvittaessa.
Fuzzing suomeksi
Työpöytätoteutusten teknisestä ratkaisusta.
Dream-alustaan pohjautuvat työpöytäratkaisut kuten Airo-työpöytä ja Edison-työpöytä tukeutuvat Haltun toteuttamaan ja ylläpitämään Dream-teknologiaan. Työpöydän suhteen on esitetty huolta siitä, että teknologia vanhenee ja se ei ole enää tuettu.
On totta, että työpöydissä käytetään Angular.js versiota 1.X, jolta loppuu pian yhteisön tuki kokonaan. Tätä kirjastoa ei kuitenkaan käytetä lainkaan taustajärjestelmäpuolella (Backend) vaan ainoastaan käyttöliittymäpuolella selaimessa (Frontend). Käyttöliittymäkerros käyttää taustajärjestelmiä yksityisen käyttöliittymärajapinnan (Private UI API) läpi. Tämä API-kerros on toteutettu REST-teknologialla ja käytettävä teknologia on DRF (Django Rest Framework).
Tämä API-kerros ja teknologia siitä alaspäin on ajantasaista ja pitkään tuettua teknologiaa (Django 2.X ja Python 3.X), jota päivitetään aina tarpeen mukaan ja jonka tietoturvapäivitykset pidetään palveluissa ajantasalla säännöllisesti.
Käyttöliittymäkerroksessa käytetty Angular.js on valittu siksi, että se tarjoaa työpöydässä käytettäville laatoille parhaan mahdollisen UI-toteutuksen laattojen siirtelyyn ja asetteluun liittyen sekä kirjasto on erittäin hyvin tuettu kaikilla käytössä olevilla selaimilla sekä päätelaitteilla. Angularia käytetään siis ainoastaan visuaalisten elementtien asetteluun. Minkäänlaista tietoturvariskiä Angularin käyttö tällä tasolla ei aiheuta ja Haltu arvioi jatkuvasti päivitystarvetta suhteessa muuttuviin käyttötapauksiin.
Dream-alusta on kokonaisuudessaan erittäin helposti laajennettavissa ja alustalla on myös avoimia rajapintoja, jotka on dokumentoitu osoitteessa dreamplatform.fi. Käytännössä kuitenkin ulkoiset palvelut eivät ole käyttäneet näitä rajapintoja, jotka ovat toteutettu myös DRF:lla ja joiden teknologia on ajantasalla. Lisäksi rajapinta toteutus on Backend-tasolla, jolloin mahdolliset uudet toteutukset on helppo toteuttaa ilman vaikutusta käyttöliittymäkerroksiin.
Lisäksi Dream-alustan arkkitehtuuri on rakennettu sellaiseksi, että asiakaskohtaiset räätälöinnit rakennetaan pääasiassa Dream-alustan päälle ja näin mahdollistetaan uusien asiakaskohtaisten toteutusten rakentaminen ilman muutoksia perusteknologiaan.
Djangoa kohtaan on myös esitetty huolta sen harvinaisuuden suhteen. Haltun kanta kuitenkin on, että Django on erittäin elinvoimainen ja suosittu teknologia erityisesti nuorten yritysten ja uusien kehittäjien keskuudessa. Lisäksi Django on tosiasiassa yksi suosituimmista web-kehitysalustoista ja sitä tukee, kehittää ja käyttää erittäin isot organisaatiot. Lue lisää: https://steelkiwi.medium.com/django-for-product-development-questions-answers-on-django-in-2019-72eaa8230d6b
Löytyykö äppisi Huaweista?
Long story short: Trump ja Kauppasaarto --> uusissa Huawein malleissa ei ole enää Googlen ydinpalveluja (Google Mobile Services, jatkossa GMS) käytössä, ei vaikuta vanhempiin malleihin, kuten esim. Huawei P10, P20, P30, mutta esim. P40 ja P40 Pro eivät sisällä Googlen ydinpalveluja.
Eikö kosketa sinua käyttäjänä tai sovelluksentekijänä?
Kokeillaas toista lähestymistapaa:
Puhelimestasi ei löydy enää Google Play -kauppaa!
Eikä Youtubea. Eikä Gmail-sovellusta!
Alkoiko jo kiinnostamaan?
Eli jos sinulla softan tekijänä tai julkaisijana, startuppina tai yrityksenä on Android-sovellus, niin jatkossa se on ladattava saataville myös Huawei AppGalleryyn, jotta se olisi suoraan ladattavissa Huawein puhelimiin. AppGallery on siis kuten Play-kauppa nykyisissä Android-puhelimissa (tai AppStore Apple-laitteissa.)
Tämän lisäksi tulee huomioida muutamia asioita kehityksessä:
Sovellus kannattaa alusta lähtien suunnitella siten, että se on ladattavissa sekä Huawein että Googlen kauppaan. Tämä koskee mm. seuraavia toiminnallisuuksia:
Push-notifikaatiot: Jos käytät Googlen Push -palvelua, niin Push-viestit eivät tule perille Huaweissa olevaan sovellukseen.
Ratkaisu: Toteuta erillinen Huawei variantti sovelluksesta ja käytä siinä Huawein omaa Push-palvelua.
Tämän puutteen ratkaisu ei ole mikään iso homma ja kannattaa myös miettiä, että voiko sovellusta julkaista AppGalleryyn ilman toimivia Push-ilmoituksia, koska moni käyttäjä voi olla tilanteeseen tyytyväisempi kuin sovelluksen täydelliseen puuttumiseen.
In-App -Maksutoiminnallisuudet
Google Play -palvelut eivät ole käytössä, joten maksut pitää hoitaa toisella tapaa. Tähänkin löytyy Huawein oma toteutus: https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/appgallerykit-app-iap-0000001055276890
Kartat sovelluksissa
Google Mapsista on luovuttava, mutta rehellisesti sanottuna, on olemassa paljon kauniimpiakin toteutuksia, joita voisi käyttää sekä Google että Huawei -versioissa.
Esim. Here Maps -SDK:ta voisi ymmärtääkseni käyttää molemmilla alustoilla ja välttää kahden eri version välillä kikkailua.
Huaweilta toki löytyy tähänkin oma karttatoteutus, johon siirtyminen on erittäin suoraviivaista: https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/hms-map-migrate
Lisäksi itselleni vieraampi https://www.mapbox.com/ pitäisi olla hyvä ratkaisu tarjoilemaan kartat alustariippumattomammin.
Nopea summaukseni onkin, dokumentaatioita tutkittuani, että teknisesti kyseessä ei ole valtava ponnistus seuraavista syistä:
Googlen ja Huawein -palvelujen tekniset toteutukset ovat koodin näkökulmasta lähes identtiset, joten erillinen "variantti" on helppo toteuttaa.
Voi johtaa hyvään sekä kehittäjän että käyttäjän kannalta, koska muitakin ekosysteemitaisteluja on käynnissä, mm. Googlen ja Amazonin välillä.
Johtaa parempaan arkkitehtuuriin, koska komponentit tulee suunniteltua siten, että käytettävät palvelut on helppo korvata / vaihtaa.
Suurimmat ongelmat:
Päättäjät eivät ymmärrä, että sovelluksien tulee olla molemmissa kaupoissa, koska käyttäjät alkavat jakautumaan entistä tasaisemmin eri sovelluskauppojen välille
esim. Säästöpankin tunnistussovellusta ja Säästöpankkisovellusta ei ole tällä hetkellä Huawein AppGalleryssä. Sieltä puuttuu myös EasyPark ja Parkman.
Huawei-yhteensopivuudella olisi nyt helppoa ottaa kärkipaikka sovelluskaupassa ja myös positiivinen markkinointikulma edelläkävijuudesta.
"Katellaan mitä muut tekee, ei me tehä nyt mitään"
Jos kohderyhmänä ovat nuoret, niin esim. Honor-sarjan puhelimet ovat asiakassegmentissä erittäin suosittuja. Älä siis tee päätöksiä perustuen omaan iPhone-kaveripiiriisi perustuen.
Negatiivinen käyttäjäpalaute yritystä kohtaan, koska sovellus ei ole saatavilla puhelimeen
Tämä ei sinänsä ole julkaisijan vika, mutta ei myöskään Huawein vika.
Huawei on tällä hetkellä 2. suurin Android-puhelinvalmistaja heti Samsungin jälkeen, Huhtikuun tilastoissa Huawei ohitti valmistajana Samsungin. Molemmilla n. 20% osuus. Lähde: https://www.statista.com/statistics/271496/global-market-share-held-by-smartphone-vendors-since-4th-quarter-2009 ja uudempi lähde: https://www.forbes.com/sites/zakdoffman/2020/06/15/samsung-and-apple-beaten-by-huawei-in-huge-new-smartphone-surprise/
Ylläpidettävä kehityshaara (joka ei oikeasti työllistä niin paljon)
Hieman enemmän testattavaa
Lyhyt yhteenveto: Älä stressaa liikaa, mutta ota tämä asia huomioon, ennen kuin negatiivinen palaute osuu tuulettimeen.
Jos mielestäsi kirjoitus oli hyödyllinen, niin arvostaisin sen jakamista, jotta tämä tietoa saadaan mahdollisimman monen mieliin.
Mistä saan DUNS-numeron ja mitä se maksaa?
Päivitys 13.4.2021:
Sain sähköpostiviestiä Bisnodelta, jossa kerrottiin, että DUNS-numero palvelu on muuttunut ilmaiseksi. Nyt siis DUNS-numeron saa tarkastettua suoraan palvelusta: https://www.bisnode.fi/duns/.
Jokaisella suomalaisella yrityksellä on siis DUNS-numero, ja sen voi tarkastaa tuosta palvelusta veloituksetta.
DUNS (tai D-U-N-S) -numero
käytän lyhenteenä DUNS, koska en jaksa kirjoitella väliviivojaMyöntäjä on Dun & Bradstreet (D&B) ja sitä käytetään laajasti tunnistamaan yrityksiä. Meidän liiketoiminnassa DUNS-numero tulee usein vastaan, kun asiakkaamme tarvitsevat sovelluskauppatilin Applelle, voi nykyään olla myös Googlen vaatima.Suomessa numeroa tarjotaan maksullisen palvelun kautta, mutta oikeasti numeron hakeminen on täysin ilmaista ja yksinkertainen prosessi.
DUNS-numeron hakeminen
Yleensä suomalaisilla yhtiöillä ei ole olemassa DUNS-numeroa, mutta jos on, niin se selvinnee tällä Applen työkalulla, jonka avulla voit myös hakea yrityksellesi numeroa, mikäli numeroa ei löydy. Palvelu vaatii kirjautumisen Apple-tunnuksella.https://developer.apple.com/enroll/duns-lookup/#!/searchSinulta tullaan kysymään lomakkeella ainakin seuraavat kysymykset:
Yrityksen virallinen nimi
Päätoimipaikan osoite
Postiosoite
Työyhteystietosi
Osana varmennusprosessia D&B:n yhteyshenkilö saattaa laittaa sinulle viestiä varmentaakseen hakemuksen oikeellisuuden.Ohje on vapaasti käännetty Applen ohjesivulta osoitteessa: https://developer.apple.com/support/D-U-N-S/