Het Parsware-platform
Eén product dat een interne applicatie helemaal afdekt: het datamodel, de schermen, het proces, de rapporten, de beveiliging en de weg waarlangs een wijziging van de omgeving van een ontwikkelaar naar productie gaat zonder dat iemand iets met de hand kopieert.
Het platform in één oogopslag
Alles wat een interne applicatie nodig heeft, in één product
Twaalf onderdelen die zijn gebouwd om samen te werken, met onder allemaal één datamodel, één beveiligingsmodel, één scripttaal en één pakketformaat — geen verzameling producten die je nog moet integreren.
Modelgestuurde apps
Tabellen, formulieren en weergaven, gebouwd uit één datamodel.
Studio-apps
Schermen getekend op een canvas, voor desktop en telefoon.
Processen
Goedkeuringen getekend in swimlanes en uitgevoerd door een engine.
Rapporten
Documenten ontworpen op papierformaat en precies zo afgedrukt.
Grafische designer
Het canvas waarop elk rapport en elk Studio-scherm wordt getekend.
BS Lang
Eén scripttaal voor regels, processen, API’s en functies.
Functies
Geplande en langlopende taken, buiten het opslaan van een record om.
Eigen API’s
HTTP-endpoints die je zelf definieert, zodat andere systemen ze kunnen aanroepen.
Portalen
Websites voor klanten en partners, op je eigen gegevens.
Oplossingen en omgevingen
Ontwikkeling, test en productie, gescheiden door de database; werk verhuist via import.
Beveiliging en audit
Rollen, teams en regels op rijniveau, en een audittrail die de database zelf schrijft.
Je eigen code
React-apps en eigen besturingselementen die binnen het platform draaien.
Modelgestuurde apps
Declareer een tabel één keer, en de app volgt
Kolommen, relaties en keuzelijsten worden echte databasetabellen. Formulieren, weergaven en opzoekvelden lezen allemaal die ene definitie, dus een kolom die verandert, verandert op elk scherm dat hem gebruikt.
- Formulieren met tabbladen, secties, opzoekvelden en gerelateerde records
- Weergaven met filters, sortering, opgeslagen weergaven en import uit een spreadsheet
- Agenda’s, tijdlijnen en grafieken op dezelfde tabellen
Studio-apps
Teken het scherm, en zeg dan wat elk onderdeel is
De Application Studio is voor de schermen die een formulier niet kan uitdrukken. Teken ze op een canvas, markeer een vorm als lijst, formulier of knop, koppel hem aan je tabellen, bekijk een voorbeeld en publiceer.
- Lijsten, formulieren, bestandskiezers en grafieken gekoppeld aan echte records
- Navigatie, modale vensters en lades, en schermen die zichzelf bijwerken
- Een telefoonapp op dezelfde gegevens, of een scherm binnen een modelgestuurde app
Processen
Teken de goedkeuring, en zie haar dan draaien
Een swimlane-designer met een engine erachter. Taken komen bij de juiste persoon in de app die die al gebruikt, en elke run heeft een live diagram dat laat zien waar hij is.
- Lanes voor rollen, teams en personen, met werk toegewezen volgens regels
- Timers, deadlines, parallelle goedkeuring en vertakkingen op voorwaarden
- Een geschiedenis van elke stap: wie wat deed, en wanneer
Rapporten
Rapporten die precies zo afdrukken als ze zijn ontworpen
Zet een document op papierformaat op en koppel het aan een tabel of een opgeslagen query. Wat de designer toont, verschijnt op het scherm, in een pdf en uit de printer.
- Banden, groepen, totalen en opgemaakte expressies
- Grafieken, barcodes en QR-codes
- Rechts-naar-links-opmaak voor Perzisch en Arabisch
Grafische designer
Eén canvas achter elke tekening
Rapporten en Studio-schermen worden in dezelfde vectordesigner getekend, dus wat je één keer leert, werkt in beide. Elke tekening wordt opgeslagen als een gewoon document met een gepubliceerd schema, zodat je haar kunt reviewen, genereren en importeren als code.
- Frames, automatische opmaak en schaalbeperkingen
- Gedeelde stijlen, designtokens en een componentenbibliotheek
- Componenten die één keer getekend en op elk scherm geplaatst worden dat ze nodig heeft
BS Lang
Eén taal voor elke regel
Formulierlogica, validatie op de server, procesvoorwaarden, eigen API’s en functies worden allemaal geschreven in BS Lang — een kleine getypeerde taal die in de browser en op de server met dezelfde resultaten draait.
- Records opvragen, een externe dienst aanroepen, een e-mail versturen
- Gedeelde scripts, geïmporteerd waar dezelfde logica nodig is
- Een editor met fouten tijdens het typen, aanvulling en hulp bij signaturen
Functies
Lang werk, weg van het opslaan
Een functie is een BS Lang-script dat in een eigen service draait: met de hand, volgens een schema of gestart vanuit een ander script. Een batch van veertig minuten vertraagt nooit iemand die een record opslaat.
- Nu uitvoeren, of elke zoveel minuten, uren of dagen, op een tijdstip naar keuze
- Een maximale looptijd, en een logboek van elke uitvoering en wat die schreef
- Bestanden in objectopslag, en een callback als een uitvoering klaar is
Eigen API’s
Endpoints die je zelf definieert, geen database die je aan een integratie overhandigt
Een eigen API is een HTTP-contract met versies en een BS Lang-script erachter. Een ander systeem roept precies de bewerkingen aan die jij noemt, als app die je hebt geregistreerd, en niets anders.
- Een script dat zijn invoer leest, records opvraagt en de status en uitvoer bepaalt
- Versies naast elkaar, zodat een wijziging nooit een aanroeper breekt die nog op de oude zit
- Aangeroepen met de client-id en het geheim van een app-registratie
Portalen
Een site voor je klanten, op dezelfde tabellen
Publiceer een Studio-app als portal en mensen buiten je bedrijf krijgen hun eigen aanmelding en hun eigen adres — en zien alleen de records die volgens een beleid van hen zijn.
- Bezoekers die zich registreren, aanmelden en aanmelden in twee stappen gebruiken
- Regels op rijniveau: een bezoeker ziet de records van het eigen bedrijf en verder niets
- Je eigen domein, met een CNAME naar de portal
Oplossingen en omgevingen
Omgevingen die echt gescheiden zijn, en één weg ertussen
Elke omgeving krijgt een eigen databaseschema, geen filterkolom. Werk gaat als oplossing met een versie van ontwikkeling naar test naar productie — geëxporteerd, geïmporteerd en ter plekke bijgewerkt, nooit met de hand gekopieerd.
- Een query op de verkeerde omgeving mislukt in plaats van de verkeerde rijen terug te geven
- Onderdelen in lagen, zodat het verwijderen van een oplossing terugzet wat er eerst was
- Startgegevens en omgevingsvariabelen die met de oplossing meereizen
Beveiliging en audit
Wie een record mag zien, beslist de server
Beveiligingsrollen geven per tabel recht op maken, lezen, bijwerken en verwijderen — voor alle records, die van een team of alleen iemands eigen. Geen scherm beslist wat iemand ziet; de server geeft alleen terug wat diegene mag zien.
- Rollen die rechtstreeks of via een team worden toegekend
- Recordeigendom, delen en regels op rijniveau
- Een auditlogboek, door de database geschreven: wie wat wanneer heeft gewijzigd
Je eigen code
Je eigen React, binnen het platform
Als een ontwerper niet genoeg is, bouw je met de Runtime SDK een React-app of een eigen besturingselement, pak je het in één archief in en upload je het. Het draait in de shell van het platform zelf en reist net als al het andere mee in de oplossing.
- Eigen besturingselementen die de plaats van een veld op een formulier innemen
- Volledige React-apps, naast modelgestuurde apps en Studio-apps
- Hot reload tegen een ontwikkelomgeving terwijl je bouwt
Vertel ons wat je bouwt
Jouw tabellen, jouw proces, jouw vragen. Wie antwoordt, heeft gebouwd waar je naar vraagt.
