10 syytä miksi Common Data Service (CDS) on Microsoft Power Platform ydin

Ajankohtaista Kirjoittanut:
Power Platformista puhuttaessa huomio on usein Power Appsissa ja Power BI:ssa. Alustan suurin potentiaali piilee kuitenkin datakerroksessa, Common Data Servicessä.

Microsoft-teknologiaan perustuvasta no-code-kehittämisestä ja Power Platformista puhuttaessa huomio on usein Power Apps -sovelluksissa. Power Apps on tuonut yhtenäisen ja huomattavasti Microsoftin aikaisemmin tarjoamia UI-kehittimiä helpomman tavan rakentaa monipuolisesti erilaisiin käyttötilanteisiin soveltuvia käyttöliittymiä, tarvittaessa pikselintarkasti kuhunkin käyttötilanteeseen optimoiden. Vastaavasti Power Automate (aikaisemmin Flow) tarjoaa kansalaiskehittäjälle työkalut työnkulkujen ja prosessien automatisointiin. Kuitenkin riippuen käsiteltävän datan sijainnista ja tietolähteestä, näennäisesti ”alhaisen koodimäärän” sovellus saattaa vaatia yllättävänkin paljon koodirivejä ja perinteistä sovelluskehitystä taustajärjestelmissä, jotta kaikki esim. tietoturvaan ja riippuvuuksiin (muiden sovellusten kanssa) liittyvät vaatimukset tulevat huomioiduksi. Näin voi käydä varsinkin silloin, jos sovellukseen liittyy monimutkaisempi tietomalli ja tuettavien käyttötapausten lukumäärä ja kompleksisuus on korkea. Lisäksi pidemmällä aikavälillä siilomaisten Power Apps -sovellusten kehittäminen voi johtaa isoon määrään täysin erillisiä tietokantoja, ja sitä kautta ylläpidettävyyshaasteisiin, datan laadun heikkenemiseen ja integraatiokustannusten jatkuvaan kasvamiseen. Erityisesti SQL-kannan valinta toistuvasti sovelluksen tietolähteeksi voi johtaa edellä mainittuihin haasteisiin.

Microsoft Power Platform -arkkitehtuurin ytimessä on yhtenäisen ja jaettavan datamallin sekä rakenteellisen liiketoimintadatan hallintakerroksen tarjoava Common Data Service eli tuttavallisemmin ”CDS”. Verrattuna matalamman tason tietolähteisiin kuten SQL:ään, CDS tarjoaa hyvin kattavan valikoiman kyvykkyyksiä, jotka voidaan ottaa käyttöön ja mukauttaa ilman koodin kirjoittamista, ulottaen no-code-lähestymistavan myös back-endiin ja sovelluksen koko data-alustaan. Alla olen nostanut 10 konkreettista osa-aluetta, joilla Common Data Service -alustaan nojaava kehittäminen tuo selkeää lisäarvoa verrattuna perinteisempään sovelluskohtaista tietokantaa hyödyntävään lähestymistapaan.

 

1. Datan jaettavuus sovellusten kesken

CDS mahdollistaa sen, että useat eri sovellukset ja eri liiketoimintasovellusten kehittäjät voivat hyödyntää samaa yhteistä tietomallia ja dataa hallitusti ja tietoturvallisesti. Kun ajan myötä tulee uusia tarpeita hyödyntää liiketoiminta-dataa, joka on jo kerran mallinnettu, ei ole tarvetta kehittää joka kerta uutta pistemäistä sovellusta, jonka paikallisessa kannassa hallitaan loogisesti samaa dataa uudessa erillisessä ympäristössä. Yhteisen CDS-tietomallin käyttö usean Power Apps -sovelluksen alustana yksinkertaistaa ydintiedonhallintaa (master data management) ja vähentää integraatiotarpeita, koska samaa dataa ei tarvitse integroida eri järjestelmien välillä.

 

2. Standardoitu tietomalli: Common Data Model

CDS toteuttaa yhtenäisen ja standardoidun tietomallin (Common Data Model), jossa iso määrä projektista toiseen toistuvia perustavaa laatua olevia liiketoimintakäsitteitä (esim. yhteyshenkilö, asiakas, organisaatio, tuote ja tarjous) on jo valmiiksi mallinnettu meta-tietoineen. Näin iso osa sovelluksen edellyttämästä tietomallista tulee ”valmiina paketista” Power Platform -kehittäjälle tutussa formaatissa. Tämä vähentää sovelluksen kehittämisen edellyttämää työmäärää liittyen käsitteiden, relaatioiden ja kenttien määrittelyyn ja konfigurointiin verrattuna esimerkiksi relaatiotietokannen hyödyntämiseen. CDS:n käsitemalli perustuu Microsoftin, SAP:n ja Adoben käynnistämään Open Data Initiative -aloitteeseen, joka pyrkii yhtenäistämään tietomallia eri softatoimittajien ratkaisujen välillä. Tämä helpottaa potentiaalisesti tulevaisuudessa esim. Microsoft-pohjaisen CRM-ratkaisun ja SAP-teknologiaan perustuvan toiminnanohjausjärjestelmän välistä integraatiota.

 

3. Käyttöliittymät ”valmiina paketista”

Power Appsilla voidaan kehittää ns. tietomalliin perustuvia applikaatioita (”model-driven app”). Käytännössä tämä tarkoittaa sitä, että kun tietoalustaksi valitaan CDS, syntyvät kyseistä dataa käsittelevät koontinäyttö-, lista- ja lomake-pohjaiset käyttöliittymät lähes itsestään perustuen tietomalliin. Erityisesti Power Apps -kehittäjä voi unohtaa ison määrän käyttökokemukseen vaikuttavia osa-alueita kuten navigointilogiikan, lomakkeiden ulkoasun, taulukoiden esitystavat ja paljon muuta. Fokus käyttökokemuksen osalta voidaan pitää lomakekenttien sijoittelussa, ryhmittelyssä ja kenttien pakollisuuksissa / validaatiosäännöissä, UI-paradigman tullessa pitkälti annettuna.

 

4. Raportointi

Koska CDS ja Power BI ovat molemmat osa Power Platformia, on tiedon liitettävyys raportointikerrokseen taattu ja kattavasti tuettu Microsoftin toimesta. Niinpä kaikkiin CDS-pohjaisen sovelluksen raportointi- ja liiketoimintatiedon visualisointitarpeisiin Power BI on luonnollinen valinta ja mahdollistaa hyvin nopean ja ketterän raporttikehittämisen ilman tarvetta erilliselle tietovarastolle.

 

5. Datan validointi ja tarkistukset

Liiketoimintasovellusten kehittämiseen liittyy tyypillisesti monenlaisia liiketoimintasääntöjä, jotka asettavat vaatimuksia tiedon syöttämiselle ja sen oikeellisuuden tarkistuksille. CDS tarjoaa Business Rule -kyvykkyyden, jonka avulla no-code-periaatteella voidaan määritellä sääntöjä mm. kenttien arvojen automaattiseksi täyttämiseksi, piilottamiseksi, kenttien arvojen validointiin, virheviestien esittämiseksi jne. Perinteistä räätälisovellusta kehitettäessä vastaavat säännöt edellyttävät lähtökohtaisesti työläämpää, vaikeasti ylläpidettävän koodin kirjoittamista.

 

6. Pääsyoikeuksien hallinta

Astetta vaativammissa liiketoimintasovellusten toteutuksissa liiketoimintatiedon näkyvyyteen ja ylläpidettävyyteen liittyvät käyttöoikeusvaatimukset aiheuttavat päänvaivaa kehittäjille, ja niiden toteuttaminen saattaa edellyttää yllättävänkin paljon koodin kirjoittamista mikäli tieto makaa perinteisessä relaatiotietokannassa. Common Data Service tarjoaa erittäin tehokkaan tietoturvakehikon, jossa tiedon luku-, kirjoitus- ja päivitysoikeuksia voidaan rajata tarvittaessa hyvinkin tarkasti roolikohtaisilla asetuksilla ja perustuen mm. käyttäjän sijaintiin organisaatiorakenteessa. Kaikki nämä säännöt ovat konfiguroitavissa ilman koodin kirjoittajista ns. ”naksutellen” hallintakäyttöliittymästä.

 

7. Tietosuoja ja GDPR

Power Platform tarjoaa monipuolisia kontrolleja henkilötietojen yksityisyyden ja tietoturvan varmistamiseksi.  Kun henkilötietoja hallinnoidaan rakenteellisessa muodossa Common Data Service -kannassa, pääkäyttäjät voivat hyödyntää alustan monipuolisia tietoturvaominaisuuksia mm. pääsyoikeuksien rajaamiseen. Esimerkiksi edellä mainituilla tietoturvarooleilla voidaan määritellä minkä tyyppiseen dataan ja missä laajuudessa roolia edustavat käyttäjät voivat päästä käsiksi. Lisäksi pääsyä voidaan rajata tietue- ja kenttä-tasolla. Lue lisää Microsoft-alustojen GDPR-yhteensopivuudesta Microsoftin Trust -sivustolta.

 

8. Integroitavuus

Jaetun tietomallin laajentuessa ja tietomallin piirissä olevan tietomäärän kasvaessa kasvavat tyypillisesti myös vaatimukset tiedon hyödyntämiselle ulkopuolisten sovellusten toimesta. CDS pitää sisällään kattavasti dokumentoidun ja vuosien varrella koeponnistetut Web Services -pohjaiset kehitysrajapinnat, joiden avulla pystytään toteuttamaan tarvittavat integraatioskenaariot.

 

9. Office-yhteensopivuus

Microsoft Excel on edelleen toimiva työkalu monenlaisiin liiketoimintatiedon käsittelytarpeisiin. Microsoft tarjoaa Power Platform -käyttäjille Excel-laajennuksen, jonka avulla käyttäjä voi selata ja kirjoittaa CDS-dataa tutun Excel-käyttökokemuksen puitteissa:

Lisäksi tieto liikkuu kätevästi toiseen suuntaan eli Excel-data on helposti tuotavissa CDS-ympäristöön.

 

10. TCO ja ylläpidettävyys

Kaikki edelliset yhdeksän kohtaa tarkoittavat käytännössä sitä, että Common Data Servicen monipuolisia no-code-ominaisuuksia hyödyntämällä liiketoimintasovelluksen kehittämiseen tarvittavaa budjettia saadaan vapautettua sellaisille osa-alueille, joilla räätälikoodin kirjoitus on aidosti perusteltua. Kun CDS valitaan tietoalustaksi esim. SQL-kannan sijaan, voidaan sovelluskehittämisessä saavuttaa merkittävää kustannustehokkuutta sekä lyhyen aikavälin toteutusprojektissa että pidemmän aikavälin softan elinkaaren hallinnassa. On toki hyvä muistaa, CDS-käyttö edellyttää Power Apps -lisenssin noin 10 USD per sovellus -lisensoinnilla, mutta vähänkin vaativimpien sovellusten kehittämisessä lisenssin hinnalle tulee erittäin hyvä tuotto järjestelmän kokonaiskustannusten (TCO, Total Cost of Ownership) alenemisen ja suljetumman tietoarkkitehtuurin mahdollistamien toimittajaloukkujen purkautumisen myötä.