Bevezetés a Power Apps model-driven alkalmazásokba

A Power Apps model-driven alkalmazás azaz az ún. „modell-vezérelt” alkalmazásokkal gyakorlatilag gyorsan és könnyen jól testreszabható no-code eszközökkel egy böngészőből elérhető üzleti alkalmazást fejleszthetünk. Az alkalmazás fő funkcióinak alapját maga a Dataverse-zel kapott funkciók és az ott táblákban táblázat szerűen tárolt adatok adják. Az ilyen típusú alkalmazás szerencsére jól tovább fejleszthető, ha esetleg a beépített no-code alapú funkciók kevésnek bizonyulnának. Több módon is lehetőségünk van, hogy kódolással megvalósítsuk a speciálisabb üzleti igényeket. De mielőtt tovább mennénk a kódolás irányába, előbb tömören tekintsük át hogyan is néz ki egy ilyen alkalmazás, milyen biztonsági és integrációs lehetőségeket tartalmaz.

A model-driven alkalmazás felhasználói felülete

A model-driven alkalmazások mind egy kaptafára épülnek, gyakorlatilag kapunk egy keretet, amibe összeállíthatjuk a saját üzleti alkalmazásunkat. Ennek nagy előnye, hogy a felhasználói felülettel csak nagyon magas szinten kell foglalkoznunk és fogd és vidd módszerrel összeállítható.

Az alkalmazás bal oldalán minden esetben egy oldal térkép (1. kép 1-es) fogad az egyes menüpontokkal. Ide rakhatjuk ki többek között a tábláinkat vagy például linkeket vagy irányítópultokat grafikonokkal, feldolgozási sorokkal, amiket aztán csoportosíthatunk vagy területekre rendezhetünk.

model-driven-app-example
1. kép: 1-essel az oldaltérkép (sitemap), 2-essel a nézet (view), 3-assal pedig a menüszalag (ribbon) látható

Ha egy táblát választunk ki, akkor minden esetben egy lista nézetben (1. kép 2-es) kerülnek a rekordjaink megjelenítésre, ami felett egy menüszalag (1. kép 3-as) kap helyet. A nézeten az adataink oszlopokban jeleníthetők meg egy Excel táblázathoz hasonlóan. Ha egy sort kiválasztunk és megnyitunk, akkor még több adat és funkció tárulhat elénk, mert a rekordunk egy űrlapon nyílik meg.

model-driven_form-example
2. kép: Ez egy gyári partner űrlap a főbb információkkal és egy idővonallal

Nézetek

A nézetek táblázat szerűen jelenítik meg az adatainkat: oszlopokban és sorokban. Fontos megjegyezni, hogy ezek a nézetek testreszabhatók, magunk állíthatjuk össze, hogy mely oszlopokat milyen sorrendben és szélességben szeretnénk látni. Itt fontos megemlíteni, hogy több nézetünk is lehet, akár különböző szűrési feltételekkel. Nem csak mindenki számára elérhető ún. rendszer nézeteink lehetnek, hanem saját nézeteket is készíthetünk, ha vannak speciális igényeink. Van lehetőség csak olvasható vagy Excel táblázathoz hasonlóan szerkeszthető módban is megjeleníteni.

Űrlapok

Az űrlapokon az adott táblánkból megnyitott rekordunk adatait tudjuk megtekinteni vagy módosítani. Ez az exceles hasonlattal élve annyit jelent, hogy van egy táblázatunk, amiből egy sort kiválasztva a sorban lévő cellák adatait egy űrlapon megjelenítve látjuk.

A rekordunk értékei mezőkben vannak megjelenítve, amiket szekciókba vagy akár külön lapokra is csoportosíthatunk. Ezen kívül listázhatunk részrácsban (subgrid) kapcsolódó rekordokat is más táblákból. A részrácsok hasonlóak a nézetekhez olyannyira, hogy ott ugyanazokat a nézeteket használhatjuk a megjelenítésre.

De ez nem minden: egyéb vezérlők is rendelkezésünkre állnak, így például az adatokhoz kapcsolódóan végezhetünk egyéb műveleteket is: ha van idővonalunk és engedélyezve vannak az aktivitások, akkor és a jegyzetek, akkor tudunk létrehozni és nyomon követni feladatokat, e-maileket, telefonhívásokat vagy akár írhatunk jegyzeteket is.

Adatok

Fentebb már említésre került, hogy az adatok a Dataverse nevezetű helyen vannak tárolva, ami az adatbázisunk, de mit is ad a Dataverse?

A Dataverse segítségével biztonságosan tárolhatók és kezelhetők az üzleti alkalmazások által használt adatok. A Dataverse az adatait táblákban tárolja. A tábla sorok (korábbi nevén rekordok) és oszlopok (korábban mezők/attribútumok) összessége. A tábla minden oszlopa bizonyos típusú adatok tárolására szolgál, például név, kor, fizetés stb. Tehát a különböző adatoknak különböző típusú mezőket/oszlopokat definiálhatunk Exceles hasonlattal élve: megadhatjuk a cella típusát is, mint szöveg, dátum stb. A Dataverse alapértelmezetten rendelkezésünkre bocsát egyes általánosságban használt táblákat, amelyek gyakoriak az üzleti világban, mint például a „kapcsolattartók”, a „partnerek” (cégek), feladatok vagy az e-mailek. Ezeket az ún. Common Data Model (CDM) adja, ami gyakorlatilag egy szabványosított folyamatosan bővülő adatmodell, amelyet szabadon bővíthetünk.

Az adatbázisunk adatokkal feltöltésre több módon is lehetőségünk van: felvihetjük soronként, de tudunk importálni Excel táblázatokat is. Emellett tudunk szinkronizálni más rendszerekből is könnyedén a Dataflows vagy a Power Automate cloud flow-k segítségével, amire most nem térnék külön ki, ami majd talán egy későbbi bejegyzés témája lehet.

Hozzáférés, biztonság

Az adataink hozzáférhetősége

A Dataverse-zel kapott funkciók közé tartozik a rekord szintű és a mező szintű jogosultság kezelés. A rekord szintű hozzáférést jogosultsági szerepkörökkel tudjuk szabályozni, míg a mező szintű hozzáférést az ún. mező biztonsági profilokkal állíthatjuk be. Fontos megemlíteni, hogy a rekord szintű hozzáférés mindig erősebb, ezért önmagában mező biztonsági profillal rendelkezve nem tudunk hozzáférni egy adott sor oszlopaihoz.

Hozzáférés az alkalmazáshoz

A felhasználókat a környezetünkhöz az Azure Active Directory-ból tudjuk hozzáadni első sorban egy biztonsági csoporttal, amit a környezethez kell rendelnünk. Az alkalmazáshoz szintén rögzíteni lehet, hogy milyen biztonsági szerepkörökkel rendelkező felhasználók és csoportok férhetnek hozzá. Viszont a felhasználók megfelelő licenc nélkül egyáltalán nem lesznek képes használni.

Integrációk model-driven alkalmazásokban

Az integrációk kapcsán csak néhány gyakrabban használtat említenék csak meg, de alapvetően a Microsoft törekszik arra, hogy minden integrálódjon mindennel, így egy funkciókkal folyamatosan bővülő platformot biztosít minden felhasználó számára.

MS Teams

Lehetőség van az alkalmazásunk megnyitására és használatára a Microsoft Teams-en belül. Ez nagy előny azok számára, akik szeretnek mindent lehetőleg egy helyen használni. Szintén csak említés szintjén, de a Microsoft Teams-ben is tudunk létrehozni Power Apps alkalmazást, amely esetén szintén kapunk egy Microsoft Teams típusú környezetet egy Dataverse-zel, amin ülő alkalmazásunkat megoszthatjuk például a Teams csoportunkkal.

Egy másik integrációs lehetőség az üzleti alkalmazásunkon belül is engedélyezhető a Teams integráció, így egyes rekordokkal kapcsolatban tudunk csevegni az ügyféllel vagy kollégákkal. Ez jelenleg csak a Dynamics 365 model-driven alkalmazásaiban érhető el, egyéb egyedileg létrehozott alkalmazásokban nem.

SharePoint

A model-driven alkalmazásunkon belül van lehetőség a SharePoint integrációra. Ez azt jelenti, hogy megadhatjuk, hogy mely táblánkkal kapcsolatban szeretnénk fájlokat tárolni. Tudunk fel- és letölteni dokumentumokat az egyes rekordunkat megnyitva a dokumentumok fülön. Nagy előnye, hogy Power Apps licenccel nem rendelkező felhasználók is elérhetik a feltöltött fájlokat közvetlenül SharePointból. Másik előnye az integrációnak, hogy a OneDrive segítségével könnyedén leszinkronizálhatjuk a fájlokat a számítógépünkre, így az offline használat is megoldott lehet.

Power Automate

Ha valaki hallott már a Power Automate-ről, akkor tudhatja, hogy ezzel folyamatokat és műveletek sorát tudjuk automatizálni a legkülönfélébb adatforrásokból dolgozva. Szerencsére a model-driven alkalmazásokból is indíthatók ilyen folyamatok kézzel, de akár automatikusan is a Dataverse tábláinkban történő módosítások, események hatására.

Jelentés, riportálás

A model-driven alkalmazás lehetőséget biztosít számunkra, hogy Word vagy PDF dokumentumként lementhető jelentéseket készítsünk. Emellett ún. irányítópultokon megjeleníthetünk egyedi listákat, feldolgozási sorokat és diagramokat is, amik szintén segítenek napra késznek lenni.

PowerBI

Lehetőségünk van a gyári irányítópultok mellett Power BI irányítópultokat is beágyazni, amik sokkal modernebb hatást keltenek és több lehetőséget rejt magában. Viszont sajnos ehhez külön licenc szükséges.

Mobil alkalmazás

Alapvetően a teljes felület reszponzív, nagyon jól jelenik meg különböző képernyőkön. Viszont több mobil alkalmazást is közzé tett a Microsoft az idő folyamán. Szerencsére ezekben már egységesen ugyanaz a model-driven alkalmazás fogad. Van lehetőség az offline módra is, ehhez előrelátóan kézzel kell leszinkronizálnunk az adatokat és kézzel kell bekapcsolnunk az offline módot.

Végszó

Gyakorlatilag minden fejezet és alfejezet megérhet egy külön posztot. Igyekeztem bemutatni tömören a laikusoknak számára is remélem érthetően és elképzelhetően, hogy mit takarhat egy model-driven alkalmazás és milyen lehetőségeket is rejt magában. Remélhetőleg, aki erről most hallott és látott először, annak lesz most egy elképzelése, amire lehet építeni a továbbiakban.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük