Cloud of Windows: Kunnen we Web applicaties even snel bouwen en onderhouden als Client Server applicaties?

De vragen die applicatie ontwikkelaars en architecten altijd bezighouden zijn: “Met welke technologie kan ik het het snelst mijn applicatie bouwen en op welke manier kan ik mijn applicatie veilig en 24x7 in productie nemen?. “

Opmerkelijk is dat begin jaren ’90 dezelfde vragen gesteld werden bij de overgang van de “green screen” applicaties naar Client Server applicaties. De introductie van Windows betekende dat ontwikkelaars zich naast de basis functionaliteit ook bezig moesten gaan houden met gebruiksvriendelijkheid van de applicatie en dat de data die applicaties nodig hebben op allerlei verschillende systemen kan staan. Door de nieuwe functionaliteit van Client Server applicaties en de Windows technologie zelf, nam de applicatie ontwikkeling steeds meer tijd in beslag.
 
Om sneller te kunnen bouwen werd de stap gemaakt naar een ontwikkelmethodiek met een hoger abstractie niveau. De ontwikkelaar modelleert de gevraagde applicatie functionaliteit en de ontwikkelomgeving creëert een applicatie op basis van dit model en de technologische mogelijkheden van het systeem waarop de applicatie draait.
 
Model Driven Development (MDD) Tools zoals Uniface verbeteren aantoonbaar de productiviteit van het bouwen en het onderhouden van een applicatie. Het overgrote deel van de applicatie wordt daarbij gecreëerd uit het model. Functionaliteit die zich niet of moeilijk laat modelleren, zoals complexe business rules en specifieke batch afhandeling, wordt gebouwd met een “event driven” scripting taal of een 3GL als dat nodig is.
Natuurlijk is de huidige situatie anders dan 20 jaar geleden. De (web) technologie is complexer geworden en “time to market” is veranderd van zo’n 2 jaar naar 2 maanden om een nieuwe applicatie op te leveren.
 
De huidige generatie Web applicaties leunt zwaar op het gebruik van scripting talen als Javascript. Voor veel webapplicaties zorgt Javascript voor het dynamische gedrag en de user interface aan de browserkant. De meeste Web-applicatie ontwikkelaars hebben dan ook ervaring met het gebruik van Javascript.
 
Maar hoe zit het nu met de rest van de Web applicatie? Naast de user interface moet het front-end deel van de web applicatie kunnen communiceren met het back-end deel, moeten er validaties plaats vinden en business rules uitgevoerd kunnen worden. 
Hoe kunnen MDD tools gebruikt worden om er Web applicaties mee te schrijven? Het antwoord is: door juist gebruik te maken van de kracht van talen als Javascript. Een typisch voorbeeld hiervan is de keuze om een bepaalde data validatie te laten uitvoeren aan de Server kant of aan de Client kant in de browser. Validatie in de browser maakt de applicatie veel beter schaalbaar dus als we die keuze willen maken moet de validatie kunnen worden uitgevoerd in Javascript.

In de nieuwste Uniface versie (9.5) hebben we er dan ook voor gekozen om naast de bestaande Proc-scripting taal ook Javascript te kunnen gebruiken in weboperaties en webtriggers. Op deze manier kan de ontwikkelaar kiezen om events server-side of client-side te laten uitvoeren.
  
Het gebruik van Javascript wordt ondersteund met een bijbehorende API die alle applicatie data zoals gespecificeerd in het model, kan benaderen voor verdere verwerking en validatie, maar die ook gebruikt kan worden om andere diensten zoals Twitter, Facebook en Google maps te integreren(Zie SDN 110, Social Media koppelingen in Uniface Enterprise systemen) in de Web applicatie.
 
 
Afbeelding: Uniface integratie met Google Maps
 
Bijkomend voordeel van het gebruik van Javascript in de Uniface MDD omgeving is dat Javascript ontwikkelaars onmiddelijk kunnen profiteren van de door Uniface gebouwde applicatie bestaande uit Uniface Dynamische Server pagina’s.
 
 
Afbeelding: Uniface Dynamic Server Pagina
 
De Uniface Dynamic Server pagina, het component dat gebruikt wordt om rijke Web applicaties te bouwen, bestaat uit een deel dat wordt uitgevoerd op de browser en een deel dat wordt uitgevoerd op de server. Daartussen zit de Uniface engine die de client en de server-side verbindt, waardoor gegevens in de browser getoond en bewerkt kunnen worden met Javascript terwijl de server kant gegevens kan ophalen en opslaan in een DBMS met behulp van krachtige Proc-scripting instructies. De Uniface engine neemt al het werk voor zijn rekening met betrekking tot het regelen van communicatie, data (de)serialization, declaratieve syntax controle, bewaken van non-editable velden en partiële pagina updates. Bij ontwikkelomgevingen die alleen gebruik maken van Javascript en PHP zijn dit allemaal zaken die de ontwikkelaar moet regelen. Ontwikkelaars die gebruik van MDD tools als Uniface hoeven zich alleen te concentreren op de business logica. 
 

Afbeelding: Een on-line muziekinstrumenten winkel gebouwd met Dynamische Server Pagina’s

Conclusie

In plaats van alles te willen vastleggen in het model kiest Uniface ervoor om specifieke functionaliteit te bouwen in de taal die daarvoor het meest geschikt is. Hierdoor ontstaat een applicatie die door zijn geringe aantal regels code, zeer efficiënt is te onderhouden en waar hetzelfde model gebruikt wordt om zowel Client Server applicaties te implementeren als rijke Web Applicaties.
Geef feedback:

CAPTCHA image
Vul de bovenstaande code hieronder in
Verzend Commentaar