Vision App Maker citește și scrie date în sisteme externe la runtime. Regulile de business apelează instanțe de plugin configurate, care interoghează baze de date, apelează servicii REST sau lucrează cu depozite de documente. Rezultatele alimentează reguli, formulare, fluxuri și documente fără a fi copiate în platformă.

Cum funcționează accesul live

Accesul la o sursă externă se configurează o singură dată în App Factory Studio și este apoi reutilizat de orice regulă.

  1. O bibliotecă de plugin-uri oferă metodele pentru un tip de sistem, de exemplu acces la date SQL Server sau acces la entități SharePoint. Lista Plugin definitions arată bibliotecile instalate în platformă.
  2. Configuratorul creează o instanță de plugin care folosește o metodă. Instanța are nume, descriere, tip de cache pentru ieșire, intrări și ieșiri.
  3. Fiecare intrare este legată de o regulă, un parametru, alt plugin sau o constantă. Fiecare ieșire primește un index și un nume de parametru.
  4. O regulă de business apelează instanța după id. Plugin-ul rulează pe sistemul extern și returnează ieșirile către regulă.

Datele de conexiune sunt păstrate în configurații denumite ale platformei. Instanța de plugin se referă la configurație prin nume, astfel încât regulile nu conțin șiruri de conexiune.

Apelarea unui plugin dintr-o regulă

OperatorUtilizare
CallPlugin(id, [indecși de ieșire])Rulează o instanță care are toate intrările legate în configurație
CallPluginWithParams(id, intrări, suprascriere, [indecși de ieșire])Transmite valorile intrărilor la apel; true înlocuiește toate intrările configurate, false completează doar intrările fără valoare
RefreshPlugin(id, [toate apelurile])Reîmprospătează ieșirea unei instanțe de plugin

Unde se folosesc datele externe

  • Reguli de business: calculele, validările și deciziile folosesc valorile returnate de plugin.
  • Formulare: un control de tip select își poate lua lista de valori dintr-un plugin. Evenimentele de view, precum View entered, rulează reguli care încarcă date la deschiderea paginii.
  • Fluxuri de lucru: evenimentele de tranziție pot avea ca țintă o regulă, un parametru sau un conector. Condițiile de disponibilitate pot folosi și ele valoarea unui conector.
  • Pași automați: activitățile automate rulează printr-un serviciu, fără utilizator, iar job-urile programate automatizează activități configurate.
  • Documente: datele din sistemele externe pot fi folosite în șabloanele de documente.

Tipuri de surse suportate

Tabelul prezintă conectorii descriși în documentația platformei. Vision poate dezvolta conectori pentru alte sisteme.

SursăCitireScriere
SQL ServerInterogări parametrizate care returnează mai multe rânduri sau un rând; proceduri stocate care returnează mai multe rânduri sau un rândInstrucțiuni insert, update și delete; proceduri stocate fără rezultat
Servicii HTTP / RESTOrice verb HTTP; codul de status, corpul și headerele răspunsuluiCorp JSON, form-urlencoded sau multipart, inclusiv fișiere
SharePointÎnregistrări din liste, cu coloanele și filtrele alese; fișiere din librării de documenteCreare, actualizare și ștergere de înregistrări; încărcare și ștergere de fișiere
AlfrescoConținutul folderelor, descărcare de fișiere, utilizatorii și grupurile unui site, adresele de e-mail dintr-un grupÎncărcare, mutare și ștergere de fișiere; creare sau actualizare de foldere
LiferayConținutul folderelorCreare de foldere; încărcare, mutare și ștergere de fișiere
Microsoft Dynamics CRMÎnregistrări cu filtre, ordonare și paginare; valorile unui option setSalvare și ștergere de înregistrări; setarea codurilor de stare și status
QuickBooksClienți, facturi și articoleCreare de clienți și facturi
Server de e-mailMesaje cu destinatarii, subiectul, corpul și atașamenteleTrimitere de mesaje
Fișiere și ExcelFișiere din locații configurate; foi Excel citite în custom typesSalvare de fișiere și fișiere text; scriere de fișiere Excel
Directorul portaluluiUtilizatori, grupuri și unități organizatoriceCreare și actualizare de utilizatori și unități organizatorice

Sunt suportate și apeluri RPC, pentru comunicarea cu alte aplicații sau microservicii.

Cache

Fiecare instanță de plugin are un tip de cache pentru ieșire. Cu NoCache, fiecare apel ajunge la sistemul extern. Cu SessionCache, rezultatele sunt păstrate pe durata sesiunii utilizatorului.

Regulile pot folosi și operatorul Cache, la nivel de modul (global), sesiune sau cerere. RefreshPlugin reîmprospătează ieșirea unui plugin atunci când datele trebuie să fie actuale.

Păstrarea unei copii locale

Unele scenarii au nevoie ca valorile externe să fie stocate și în App Maker. Sunt descrise două strategii:

  • La cerere: la deschiderea unei pagini, platforma apelează API-ul extern, afișează datele și își actualizează valorile stocate.
  • Polling: un job programat apelează API-ul extern la un interval stabilit și actualizează câmpurile locale.

Ambele se construiesc din reguli și instanțe de plugin; polling-ul folosește în plus un job programat.

Entitățile și custom types din modelul de date păstrează valorile pe care o regulă le primește de la un plugin. Ele nu declară o conexiune la o sursă externă. Tot accesul extern trece prin instanțe de plugin.