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ă.
- 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ă.
- 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.
- 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.
- 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ă
| Operator | Utilizare |
|---|---|
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ă | Citire | Scriere |
|---|---|---|
| SQL Server | Interogări parametrizate care returnează mai multe rânduri sau un rând; proceduri stocate care returnează mai multe rânduri sau un rând | Instrucțiuni insert, update și delete; proceduri stocate fără rezultat |
| Servicii HTTP / REST | Orice verb HTTP; codul de status, corpul și headerele răspunsului | Corp JSON, form-urlencoded sau multipart, inclusiv fișiere |
| SharePoint | Înregistrări din liste, cu coloanele și filtrele alese; fișiere din librării de documente | Creare, actualizare și ștergere de înregistrări; încărcare și ștergere de fișiere |
| Alfresco | Conț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 |
| Liferay | Conținutul folderelor | Creare de foldere; încărcare, mutare și ștergere de fișiere |
| Microsoft Dynamics CRM | Înregistrări cu filtre, ordonare și paginare; valorile unui option set | Salvare și ștergere de înregistrări; setarea codurilor de stare și status |
| QuickBooks | Clienți, facturi și articole | Creare de clienți și facturi |
| Server de e-mail | Mesaje cu destinatarii, subiectul, corpul și atașamentele | Trimitere de mesaje |
| Fișiere și Excel | Fișiere din locații configurate; foi Excel citite în custom types | Salvare de fișiere și fișiere text; scriere de fișiere Excel |
| Directorul portalului | Utilizatori, grupuri și unități organizatorice | Creare ș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.







