make connections share ideas be inspired Kom i gang med SAS STPbaserede webapplikationer Lars L. Andersson Chefkonsulent
Webapplikationer Interaktion med serverbaserede data via skærmbilleder leveret gennem en webbrowser (og programmer afviklet på serveren) Hér: fokus på applikationer, hvor interaktionen er med henblik på f.eks. rettelse eller godkendelse af data Mange mulige teknologier server-side
http://support.sas.com/documentation Side 76: Web applications can be implemented using the SAS Stored Process Web Application, the Stored Process Service application programming interface (API), or a combination of both. ( ) Only SAS and HTML programming skills are required; no Java programming is required http headers CSS JavaScript encoding
Hvorfor så lave webapplikationer med SAS? Det giver mening, hvis Den teknologiske platform allerede er på plads Kvalificerede ressourcer er til rådighed Flere identificerbare brugere skal kunne interagere struktureret med vores data
Et tænkt eksempel Forslagskassen en applikation til at indsende anmodninger om udvidelser og fejlrettelser til systemer Eksemplet illustrerer gænge inputtyper, og hvordan disse håndteres på SAS -siden
<input type="text" name="overskrift"> <select name="affected_system"> <option value="1">scoring-system</option> <option value="2">data warehouse</option> <option value="3">forecast-system</option> <option value="4">anmodnings-system</option> <option value="5">xyz</option> <option value="6">...</option> </select> <textarea name="beskrivelse" cols="50" rows="5"> </textarea> <input type="radio" name="vigtighed" value="kri"> Kritisk <br> <input type="radio" name="vigtighed" value="vig"> Vigtig <br> <input type="radio" name="vigtighed" value="n2h"> <i>nice-to-have</i>
<input type="file" name="myfile"> Brug med omtanke! <input type="checkbox" name="arbtyp_ret_fejl"> Rettelse af konstaterede fejl <br><input type="checkbox" name="arbtyp_ret_uhens"> Rettelse af konstaterede uhensigtsmæssigheder <br><input type="checkbox" name="arbtyp_ny_funk"> Tilføjelse af ny funktionalitet <input type="email" name="kontakt"> En af de nye HTML5-typer. Browserafhængighed. <input type="password" name="mypassword > Relevant? <input type="reset" value="slet alle felter"> Brugervenlig? <input type="submit" value="send anmodning">
Mulig tilgang start med statisk mock-up Lokal.htm-fil giver mulighed for at lege med layout og hurtigt afprøve muligheder
Mulig tilgang start med statisk mock-up Læs mere om HTML på f.eks. w3c.org og w3schools.com Bemærk brug af get method samt tom action
Ved submit åbnes den tomme action side De indtastede værdier fremgår af URL en
Næste trin lad os ramme en storedprocess!
Næste trin lad os ramme en storedprocess! Ud over at have de rigtige parametre på plads i HTML en, skal vi: Registrere en stored process Sørge for, at der er en datastruktur, som den kan skrive i Lave noget stored process-kode, som faktisk skriver data
Registrering
Registrering Sessions Stream
Datastruktur
Programkode Overvej systematisk navngivning
Første test Antagelse: Er logget på!
Kodede værdier Bemærk æøå Synligt password
Hvad med det manglende output? Hvad forventer vi? Kvittering for indtastning? Navigation og søgning blandt tidligere indtastede anmodninger?
Flow chart (simpel applikation) Start: Liste over alle eksisterende anmodninger, inkl. mulighed for at gå ind på hver enkelt af dem samt mulighed for at tilføje en ny scr_ list Efter lagring køres liste-skærmbilledet igen. En parameter kan evt. sørge for at kommunikere, at den nye anmodning skal vises med særlig farve eller lignende Visning af en enkelt anmodning (som statisk tekst, hvis eksisterende eller som indtastningsformular, hvis ny) scr_ request act_ request Lagring af data for nyindtastet anmodning Hent evt. uploaded fil act_ getfile Er der så brug for fire STP er?
Nej! Vi kan nøjes med én stored process til vores applikation! Centrale/fælles hardcodings makrodefinitioner settings validering autorisation, fejlhåndtering m.v. Modulspecifik kode: %include
Simpel navigation
Mere omfattende skærmbillede
Alt det der ikke var tid til f.eks.: Encoding-problemer Overvejelser om brugervenlighed, performance, sikkerhed Hvad man kan gøre med uploadede filer Følg med i SAS Forum DK gruppen: http://www.linkedin.com/groups?gid=1817743&trk=myg_ugrp_ovr
make connections share ideas be inspired Dét var ordene! Er der spørgsmål?