Home
007-2009: Visual Guide to SAS® Web Application Development
Contents
1. they must also make this transition and be effectively delivered as a web application CONTACT INFORMATION Sy Truong is President of Meta Xceed Inc They may be contacted at Sy Truong 2185 Oakland Rd San Jose CA 95131 408 955 9333 sy truong meta x com SAS and all other SAS Institute Inc product or service names are registered trademarks or trademarks of SAS Institute Inc in the USA and other countries indicates USA registration SyValidate Transdata Clinical SMS Websas Symap and all other Meta Xceed Inc product or service names are registered trademarks or trademarks of Meta Xceed Inc in the USA and other countries indicates USA registration
2. Document every detail of each user requirement deciphering each individual component Split each requirement as granular as you can before any development No Coding At this stage things can change dramatically so avoid development or even prototyping until all specifications are finalized Requirement to Functionality For every requirement there is at least one functional specification This wil detail the answer to every question that is posed by the requirement Document for the purpose of guiding development SAS Global Forum 2009 Applications Developme TASK 3 GUI PROTOTYPE DESIGN R AOR Words Prototype with HTML and CSS efficiently without lengthy backend logic coding GUI DEVELOPMENT AT INTERNET TIME HTML GUI Editor Rapidly design user interfaces that can look exactly like the end product as easily as editing with a word processor Consistent CSS Place all font and color decisions into CSS This will handle display element standards and modularize deployment Instant User Feedback Place prototype on an intranet or secured internet site so users can review instantly Comments and feedback can be updated in GUI in an expedited manner Separate GUI and Backend Database design and business rules logic are developed in conjunction but can be separated This allows for rapid GUI parallel development with distinct different skills from web designers that are not nec
3. SyValidate FRivser Contrai Panal 0 naw messagi ot awin Siwy morte taner Bunch ontott oem nete a SyValidate er CT sewroncn sear taron EE MEE Cole EE mae e 131 Opon Button Nhih 128 History Update NhiNgt J by siuong on F320 16 2008 yyh compete decus 129 Session Time Out Start by aruana en N 123 User Adminstration NghIVu by sirung on E User to User Help Moderate History Effective Forum Posts Discussion Forum allows A well moderated support It is essential to clearly label users to answer each others forum can filter out useless responses with clear answers questions creating a more posts yet retain a complete to questions This includes effective FAQ audit trail of all user screenshots text with questions This provides an organizational memory that is unmatched by other methods of support organized bullets and use of highlights which can more effectively clarify issues posed on the forum This example uses an open source phpBB forum tool SAS Global Forum 20 Applications Developme CONCLUSION The Web 2 0 is a revival for applications delivered through the internet After the dot com bust there was a perception that it would kill application delivered through the internet Rather it was just a temporary speed bump as ecommerce websites and social network technologies have
4. common usage examples of specific tasks SAS Global Forum 2009 Applications Developme TASK 15 PORTAL DEPLOYMENT Direct Traffic Similar to a website links from existing portal drives traffic toward a new application and system QO Ereren Be EM yev reas as ee Bspaisae stuart Th ram poris kewates hon the softare can be deier 1 Syladate Chenge canta are SAS Program Vat System ler Marua TM Verso ntl extemal MedDRA an WHO De Diesonaries Good Place to Start Existing Portal A home page for users can A link from within an existing be a portal within an portal is more effective than organization or department starting a new portal This Links to the system and leverages existing users and related documentation is a directs usage to the good jumping point for users application to enter the system SAS Global Forum 200 Applications Developme TASK 16 DISCUSSION FORUM SUPPORT Leverage Social Technology Implement forum discussion in connection with application deployment for support and builds the user community Meta Keer XI View forum SyYaliciate Windows Interne sam GO gt lttovinds cmcnear rund ontounchirtsead e7etees 4 5 P a ee c al Seg ermarees ne aa venteran spase pe CO Cm Meta Xceed Inc MXI PA Ii Q Board index Web Applications
5. onan Soca le reenter EXECUTIVE LEVEL DEFINITION What it is Define in concise description what is the core purpose and function of the system Limit Scope For the initial release limit the definition to the bare essentials Leave extra features for future releases Function Before Technology Focus on defining what problem is being solved first before defining how or what technology will be used to solve the problem Leverage Platform Understand communication advantages of web applications and ability to be delivered ubiquitously Take advantage of these inherent benefits during definition SAS Global Forum 200 Applications Developme TASK 2 USER REQUIREMENTS AND FUNCTIONAL SPECIFICATIONS What is Really Needed Answer this question as if you are face to face with a typical a Ta eT user and then detail haw each eee alsa item would be accomplished ae see asc ator ange Cra Doe Se SCD 4 System Renee AA eces ans Seat a iy nade naseem heagan Keen oat au seen core jr AAA open Lo sco yrs tem ir peri 141 onde cesa on Est tet sae ENUMERATE ESSENTIAL WISH LIST Your Wish is My Command Interview typical users with Genie like courtesy and document all wish list items Adherence to Definition Stay within the project definition and scope of the original set of objectives Devil in the Details
6. optimize the delivery of user friendly software applications The visual approach is also intended to be used quickly upon review rather than having to read the text in great detail as in the more traditional paper with long descriptive text The topics will be presented in this thumbnail view which functions similarly to a table of contents gt f EE Eat Task Task 2 User Taska Task 4 Usability Testing Task 5 Browser Project Defniion Requirements and GUI Prototype Design Considerations Functional Specifications i E Task 6 Design Task 7 Task 8 Server Side Task 9 Application Task 10 Middleware Considerations vavaSenpt Logie Management Pertormanco Tuning Implementation n x a e Fm ar i ies E Task 11 Clont Sido Task12 Comext Task 13 Validationand Task 14 User Task 15 Ponal Optimization Sensitive Help Testing Documentation amp Deployment Tutorials SAS Global Forum 20 Applications Developme e Task 16 Discussion Forum Support Application Mission Statement A clear and concise definition is an essential first step towards guiding all aspects of development TASK 1 PROJECT DEFINITION Tian ge cane abe 3 sytomboscrgtnn 31 Sistem Owen e s sermon a Svante taut ps ro some ino nse oan ormene 1 Dati Data pairean the ata eee re arya aaa cect Suey Bar St sel oil
7. the lexbilty for handling multiple languages to deliver full ange of applications xt javasor int aro amp ispath dajo dojo 33 serin CO mt avenor ipt 5 doje croau rel doje u idaot Dialog teraps lt er ipt lanauaae Ejapath waiting diaiog Ja gt lt script gt endeubnit call method winfo_dialog methods sct it teD iaToghar kup call aethod Yuchout_dislag methods scl Wr i teDialagitar kup call method Sworeviewdat_nethods sc1 liritelavaticr ipl 1 HTML JavaScript and BIAK The HTL and SAS Base SAS Base or JavaScript can be Foundaton SAS 1s very extersve dynamic generated on td can encompass many SAS te server where ias PROG such as tne O08 PROG accesso databases and TEMPLATE mth examples power sarver de Go can al rouines rom at SAS inthe expe tis modules to hand database generated Nom whin a Brese such as 1n PROC SOL or SAS Sc pogram rower anaes such asin SASISTAT Tne power of SAS coupled wiih power harcvare sasscu sassotcan Sahe seme makes ha scalae glue whi solution to handle any dynamic the other languages used In this example it can be used to generale other code including JavaScript Ajax SAS Base It also has direct hooks into SQL similar to PROG SQL and other engines making it the versatile foundation demand SAS Global Forum 2009 Applications Developme TASK 9 APPLICATION MANAGEMENT Managing Dynamic Se
8. SAS Global Forum 20 Applications Developme Paper 007 2009 Visual Guide to SAS Web Application Development Sy Truong Meta Xceed Inc San Jose CA ABSTRACT The browser wars have entered a new era with Google Chrome challenging Microsoft Internet Explorer s dominance One of the driving forces and strategies for Google Chrome is to have the browser function as a platform to deliver interactive applications rather than just static websites The new browser is designed from the bottom up with the purpose of optimizing performance for delivering applications SAS software has traditionally been reserved for power users performing analytics for specific vertical business intelligence needs The browser war illustrates the maturity of the delivery of web applications This presents opportunities for SAS solutions to be delivered to a wider audience with minimal user requirements outside of a web browser This paper is a visual guide describing the steps needed to efficiently develop and deploy user friendly web applications with powerful server side SAS processing INTRODUCTION A picture is worth a thousand words This paper employs this web philosophy by presenting technical concepts for web application development through the use of visual screenshots and diagrams It presents methods to optimize the delivery of information in a unique and compelling way The visual methods of this paper are analogous to the content of the paper which is to
9. essarily database or SAS programmers SAS Global Forum 2009 Applications Developme TASK 4 USABILITY TESTING It s all About the Users Usability correlates directly with effectiveness of systems Early user testing makes all the difference Representative Testing Have different types of users representing end users with slow connections and various browsers representative of real world deployments Early Testing Users can test fictitious data from HTML form GUI before backend code is Global Users Multiple peas simultaneous testing can occur easily with users testing from Testing Log User interaction can be anywhere in the world with captured by the application but also web server internet connection logs are useful Employ Social Technologies Have users comment upon testing beyond email with blogs forums and wikis SAS Global Forum 2009 Applications Developme TASK 5 BROWSER CONSIDERATIONS oc oS Be Gt ven Fouts Tok ep HB raneta Tanfom be IG TRANSDATA mee cxol eitaniretiasice 4 5 ereda nas con Target Browser Audience An evaluation of an intranet or extranet release of the software will determine the target browser ro Fanda L WEB BROWSER SELECTION User s Install Base Users may already have desired web browser installed Develop for
10. largest existing install base Intranet vs Extranet Intranet standards and software restrictions can limit to specific browser code and methodologies Release to extranet only after consideration for extra security and support are understood RESOURCING DEVELOPMENT Application Performance Processing of AJAX of JavaScript performs differently among browsers Devote additional resources for this tuning Scripting Support Some JavaScript are not supported on certain browsers Allow for additional development efforts for different scripts for each browser Development Resources Are there enough resources to support all browsers Each new browser includes a new set of coding and validation testing SAS Global Forum 2009 Applications Developme TASK 6 DESIGN CONSIDERATIONS Distinctive Web Platform Web applications operate very differently from client server or desktop applications Develop solutions to handle these differences Duplicate Object Sar ss SHEE GUI Capabilities Drag and drop Authentication Web users are and other neracie elements such Anonymous and nesa to og in Be explorer ee view are now Using unique ID and passwords Session Management Users Svaiate wih many JavaSerpt and AJAX Ieraries This was onee ony serve at any tme and kie avalible on desktop application considered stateless haut ins imitation web Ma
11. nagement of the user s siate poieatons can be implemented g when they areloggedon oder audiences ard wnat sereen hey ae ats required Client vs Server Processing Client scripts increase performance on small tasks while server side power of SAS is needed The requirement on user client machine is kept to a minimum for wider access SAS Global Forum 200 Applications Developme TASK 7 JAVASCRIPT AND AJAX IMPLEMENTATION Enhance Interactivity of Client Web applications can have greater interactivity when combined with JavaScript AJAX and XML Flor x bae Cre Ajax Tools AJAX libraries Browser Support Client Optimization can be utilzed to JavaScript can have Scripting for each client accomplish interactivity such different functions for each browser and version can be as spreadsheet view with browser Have a set of optimized for each browser cell manipulation scripts for each browser Different script logic for each that is supported This version is customized for includes different versions compatibility and of each browser performance XML Data Data can be transferred in XML format and rendered in the browser to be presented in many formats including spreadsheet view SAS Global Forum 2009 Applications Developme TASK 8 SERVER SIDE LOGIC TMandpte Language Support Server software needs
12. pioneered and continue to pave the way for web applications SAS has been a compelling analytical tool for business applications and has adapted well to the computing environments of main frame computers to desktop and now the Internet Web applications are uniquely different compared to their predecessor desktop software Developing Web applications with SAS therefore requires new approach The new methodologies incorporate new web technologies such as AJAX on the client browser Middleware and SAS on the server with XML as the data format transferred The development process and deployment can also benefit from social networking technologies such as emails blogs forum and wikis Implementing and deploying a web application has some similarities to a website such as accessing it through a website or linked through a portal However it is more sophisticated than a static website in that it has dynamic interactive objects including drag drop and videos with audio Web technologies have matured and are setting the stage for a new platform which provides a new and more efficient way of delivering applications Software is going through a fundamental shift from the likes of Microsoft delivering software in a box with a CD to a more dynamic website such as solutions from Google SAS applications are currently well entrenched in large organizations and used by niche power users for business intelligence In order for SAS applications to reach a larger audience
13. reloaded during the display added to the bottom of HTML and other form elements can be of the splash screen into files This allows for performed on the browser This cache Subsequent screens browsers to render the saves a trip back to the server for will load and display from display of the screen first immediate response to user cache much faster before loading the logic of the scripts for increased Wizards fesponsivenssa For a long sequential set of forms a step by step wizard can be applied so each form on the client does not get too large and confusing for user 12 SAS Global Forum 2009 Applications Developme TASK 12 CONTEXT SENSITIVE HELP When You Need Help Help information is useful when it is within the context of the screen that the user is in G Be ek sw prats Tk tb a A borarsan gt Enae anea rore Pe ecem eesse Siol rel re me ira re Help Access Video Tutorials Popup Help Access to help information Flash video tutorials can be An explanation of what each including user manuals and more effective than static text object is on the screen is tutorials is available on every manuals in many cases This sometimes enough to clarity screen An effective method includes audio and interactive the user s needs This can is through a menu The use examples Depending on the be accomplished with a of a quick key such as F1 is
14. rvers Each application can have multiple servers that change depending on usage Careful management is essential for optimal performance Multiple Application Manage Server Centrally Delivered Application Servers Multiple Al applications can be Application is accessed through applications can be served managed through a single one URL address named after the on the server by separate interface that is also web application for ease of access SAS sessions Each SAS based as in the example of This can also be a link from session communicates Websas The main task existing portals for expedited through a separate TCP of management includes navigation Socket port for optimal the following tasks communication The multithreading of each SAS Starting and Stopping session can fully utilize load applications servers balancing Additional dynamically machines can be added to Assign diferent handle more applications to communication socket scale to user demand ports to each appilcation Generate report detailing each application performance used for Optimization tuning 10 SAS Global Forum 2009 Applications Developme TASK 10 MIDDLEWARE PERFORMANCE TUNING Tuning Requires Monitoring Resource demands fluctuate depending on usage and size of data Monitoring and adjusting is required for optimal performance GO ereen E 42 Biorag D
15. ts of the results on a tool and apply the right a system functional are also useful in testing amount of validation specification and documenting results according to the risk requirement 14 SAS Global Forum 2009 Applications Developme TASK 14 USER DOCUMENTATION amp TUTORIALS Users Learn Differently Different users learn in diferent ways Multiple help files in different formats will reach all users fle edt FF ences SyMap 3 0 User Manual mesora Welcome ta Symap Medea Searching Spy 30 Uren Wrens me i CEE pom uea scent me L Ti Seman version 39 PDF vs HTML HTML help information is essential for quick access Additional PDF containing the entire manual is helpful for a printed version Physical printed manual can be more useful for some users Navigational Manual User manual table of contents HTML format is effective for ease of navigation This integrates well into the system which is web based Specific portions of the manual can be linked to certain pages within the application Effective Video Video help files must contain the following Flash format for optimal compression and fast delivery Interactive display of the screen Examples with drawing and pointers such as orange arrows clarity instruction Concise audio instruction clarifying
16. user and material this can mouse over pop up The also expedient prove to be most effective bubble would temporarily provide more contextual information that is not obvious 3 SAS Global Forum 20 Applications Developme TASK 13 VALIDATION AND TESTING User Friendly Testing System testing can be mundane and prone to errors User friendly instructions with screenshots are helpful Spies Sp Sie Sama Step Inaction 1 Epeen Vail at he oas a at aget Thea Sa ae EEr naan Teak Ta a ie Wo Dg aoaie Sane aaner Teteg BI Yes ON apiye ocd Sats see plage 2 Vail tal e ea tie wren ache Theiss aapaged Ye ERT he Wie Drug ato cadang a mappaig Syereg test bas been eats a emad wl be sent to adinan coen with hares of teauseedng oacetomglsted Beh oe OR bate Theo Waar B Yes eee Ve at eaer she seats The Alnor BE Yes ETN i al orem le Validate According to Risk Effective Test Plan Visual Instructions Formal validation test scripts A test plan includes test In addition to text instructions such as this are only required scripts with clear instructions on the testing screen shots for critical path applications on how to test and expected are useful for instructing how that affect many aspects of results for success All test the test should be done your work Evaluate the risk cases are developed to fulfill Screen sho
17. ynamic Server Status Historic Log Aggregate Performance An administrator needs to be A complete og can be Penine ar able to review the server viewed weekly since the averaged out by day will Status dynamically at any entire log can be lengthy prin apa den dead point An effective method is items in the log can also be Miaa tong term view This to deliver this as web reports searched to pin point errors is needed to make Al iog information can be adjustments and tune Dynamically Add Servers presented to users and Sever according hing Upon review of status the administrators through the resource demands administrator needs to be web browser P able to dynamically add or remove application servers This will allow for immediate real time control This is accomplished by adding or Subtracting servers which are SAS sessions communicating on distinct socket ports Auto Recovery The application server can restart automatically if it crashes for consistent and continuous uptime SAS Global Forum 2009 Applications Developme TASK 11 CLIENT SIDE OPTIMIZATION Client Browser The cieni bower heads recy wih te user Opinator makes the pence much more responsive GO em iainne nea se amp Bojan sa ve ee Splash Cache Load Script Bottom Load Form Error Checking All common image files are Length scripts and arrays are For valid values on text entries p
Download Pdf Manuals
Related Search
Related Contents
Desa PV35VPA User's Manual 「取扱説明書」 PDF (2.15MB) Ficha Técnica MI 3210 TeraOhm XA 10kV Linak TWINDRIVE TD1 User's Manual Manual de instalación Copyright © All rights reserved.
Failed to retrieve file