Apps ontwikkelen met een intelligente database-assistent

Oplossingen die gebruikmaken van data, zoals databases en bedrijfsapplicaties, zijn afhankelijk van een verbinding met en interactie met backend-databases. Backend-relationele databases slaan data op in tabellen die complexe datarelations weergeven. Dit biedt tal van voordelen voor effectief gegevensbeheer en dataintegriteit, maar kan het moeilijk maken om op nieuwe manieren toegang te krijgen tot en te werken met de opgeslagen gegevens. App-ontwikkelaars moeten een grondig begrip hebben van database-ontwerpprincipes en de SQL-querytaal, zelfs om maar een begin te kunnen maken.

In tegenstelling tot dat, vertegenwoordigen relaties in echte data vaak ouder-kindrelaties, of zelfs een diepere hiërarchische structuur. Het werken met hiërarchische data, waarbij relaties visueel weergegeven kunnen worden in een boomstructuur, kan daardoor veel eenvoudiger en flexibeler zijn, wat leidt tot een snellere ontwikkeling. Deze aanpak is ook toegankelijker voor ontwikkelaars zonder uitgebreide SQL-kennis.

Om het ontwikkelen van apps die verbinding maken met de relationele databases die tegenwoordig veel voorkomen in bedrijven, eenvoudiger, sneller en toegankelijker te maken voor een breder scala aan ontwikkelaars, hanteert Altova MobileTogether een volledig unieke aanpak. De visuele Database Wizard stelt ontwikkelaars in staat om eenvoudig een query te bouwen die hiërarchische gegevens ophaalt, met die gegevens te werken in de app en vervolgens de gegevens eenvoudig in hiërarchische vorm op te slaan. MobileTogether zorgt er dan voor dat de gegevens worden genormaliseerd en teruggeschreven naar de bijbehorende gekoppelde tabellen. Laten we eens kijken hoe dit werkt.

Werken met hiërarchische data

Relationele databases organiseren gegevens in rijen en kolommen, die samen een tabel vormen. De gegevens zijn doorgaans gestructureerd over meerdere tabellen, en de relaties tussen de gegevens worden aangegeven via primaire en externe sleutels, die uniciteit waarborgen en tegelijkertijd complexe verbindingen mogelijk maken. Hoewel het relationele model veel efficiëntie en voordelen biedt, is het niet geschikt voor bepaalde toepassingen. Zo vereist het bijvoorbeeld om gegevens uit twee tabellen in één formulier weer te geven – en die gegevens bewerkbaar te houden – twee afzonderlijke databasequery's en behoorlijk wat handgeschreven SQL-code. Het opslaan van gegevens van zo'n formulier terug naar de database is nog complexer. Naast het feit dat dit tijdrovend is, moeten app-ontwikkelaars naast hun andere kwalificaties ook goed op de hoogte zijn van SQL, wat een aanzienlijke uitdaging vormt en de huidige tekort aan gekwalificeerde software- en app-ontwikkelaars nog verder vergroot.

Visuele, low-code tools zoals MobileTogether werken achter de schermen om het bouwen van apps die verbinding maken met backend-data zo eenvoudig mogelijk te maken. Hierdoor kunnen ontwikkelaars zich concentreren op de vorm en functionaliteit van hun apps, en vooral op de gebruikerservaring, in plaats van zich te verdiepen in het schrijven van complexe SQL-statements. (Een korte opmerking: hoewel dit artikel zich richt op apps die gebruikmaken van databases, kan MobileTogether ook verbinding maken met bronnen in andere formaten, zoals XML, JSON, HTML, SOAP en REST, enz. Oudere databronnen (Excel, EDI, tekst, enz.) kunnen eenvoudig worden verbonden via de MapForce Server integratie.)

Onafhankelijk van de bron van de data, presenteert MobileTogether backend-data in een hiërarchische boomstructuur, waardoor ontwikkelaars direct de relaties kunnen begrijpen en met de elementen kunnen werken zoals nodig is – ongeacht hoe ze zijn opgeslagen in de backend-database – terwijl ze de functies en acties van de app definiëren.

Database Wizard: Het importeren van de databasehiërarchie

Wanneer u voor het eerst verbinding maakt met de datastore voor uw app in MobileTogether, kunt u kiezen uit een breed scala aan ondersteunde relationele databases en verbindingsopties.

De verbindingswizard begeleidt u stap voor stap door het proces.

Zodra de verbinding is gemaakt, toont het dialoogvenster "Pagina bron toevoegen" een lijst met beschikbare tabellen. Hier wordt een relatief eenvoudige backend-database gebruikt om een app voor een boekencatalogus te maken.

Om de kolommen te selecteren die nodig zijn voor de app, maakt de visuele SQL-statementbouwer in de Database Wizard het eenvoudig om een SELECT-statement te maken met behulp van klikken en slepen, wat veel sneller is dan het handmatig schrijven van SQL-statements. Nadat de tabel "Authors" is geselecteerd, bevat het dialoogvenster in eerste instantie standaard een SQL-statement om alle kolommen te selecteren, maar dit kan worden aangepast. In dit geval behouden we alle kolommen, maar we passen het statement aan om de gegevens te sorteren op "AuthorName" in alfabetische volgorde. Het resulterende SQL-statement wordt volledig opgebouwd met klikken en slepen, met behulp van contextgevoelige, interactieve knoppen in de werkbalk, comboboxen en dropdownmenu's.

Een van de grootste voordelen van het gebruik van MobileTogether voor het werken met databases is dat u de gehele databasehiërarchie in één keer kunt importeren. U kunt daarbij eerder gedefinieerde tabelrelaties activeren, of zelfs nieuwe tabelrelaties direct aanmaken via het dialoogvenster "Relaties toevoegen/bewerken".

Als er aanvullende databasetabellen zijn die gerelateerd zijn aan de hoofdtafel, kunt u de tabellen selecteren waarvoor u de relatie wilt behouden. (De relaties worden opgebouwd met behulp van primaire en externe sleutels.) Zo heeft de tabel "Boeken" bijvoorbeeld een externe sleutel "AuthorID" die elk boekrecord relateert aan een auteur in de tabel "Auteurs". We kunnen het vakje naast de tabel "Boeken" aanvinken om die relatie te behouden, en de paginabroncode wordt zo aangemaakt dat "Boeken" hiërarchisch gerelateerd is aan "Auteurs" als een onderliggend element. Alle kolommen van de tabel "Boeken" worden automatisch geselecteerd.

Dit maakt de gehele database structuur beschikbaar in een boomstructuur, die te zien is in het paneel "Pagina-bron".

Elke kolom is nu beschikbaar om de gebruikersinterface en functionaliteit van de app te ontwikkelen.

Het belangrijkste is dat MobileTogether het proces van het opslaan van de door de gebruiker gewijzigde gegevens terug naar de database buitengewoon eenvoudig maakt. Voor elk niveau van de relationele tabellen, weergegeven in de hiërarchische boomstructuur, kunnen we bepalen of we alle rijen van de tabel willen vervangen bij het opslaan, of alleen de wijzigingen die zijn aangebracht. En deze instelling kan verschillend worden toegepast op elk niveau van de hiërarchie.

De Database Wizard is nuttig gedurende het hele proces van app-ontwikkeling. Zo kunnen we deze gebruiken om data te filteren die we willen gebruiken als bron voor verschillende subpagina's in ons applicatieontwerp. Hier, bij het definiëren van de subpagina voor het bekijken en bewerken van auteurgegevens, hebben we visueel een filter ingesteld om de data te selecteren en alleen de auteur met de huidige auteur-ID weer te geven.

Of u nu werkt met slechts één tabel of met meerdere onderling verbonden tabellen, de database-assistent maakt het eenvoudig om queries te definiëren die de juiste gegevens uit de database ophalen. Dankzij de ingebouwde functionaliteit van MobileTogether kan het terugschrijven van gegevens naar de database zo eenvoudig zijn als het geven van een "Opslaan"-commando en het instrueren van MobileTogether om alleen de wijzigingen op te slaan in een volledige hiërarchische structuur.

Natuurlijk, voor ontwikkelaars die liever direct met SQL-commando's werken, biedt MobileTogether de mogelijkheid om dit te doen: u kunt een zeer gedetailleerde controle uitoefenen, inclusief transacties, bulk-inserts, en het direct uitvoeren van elke SQL-statement

Lees meer en probeer het nu

Om dit allemaal in de praktijk te zien, bekijk onze instructievideo over app-ontwikkeling waarin wordt getoond hoe de app voor een boekencatalogus, die gebruikmaakt van een database, van begin tot eind is ontwikkeld.

Om te beginnen met het ontwikkelen van een app die verbinding maakt met een backend-database, kunt u de gratis MobileTogether Designer downloaden.