This is a short intro into SAS applications development, providing some background/history and summarizing current SAS appdev options. A list of resources provides links to much more detail on this topic.
SAS applications development
The first real application development product for SAS was SAS/AF (Application Facility). Released in the 80's, SAS/AF could create both graphical and character-based UIs (the latter necessary because SAS ran in environments like mainframes and VAX's). In its early years SAS created the UIs for most of its own products using SAS/AF.Eventually SAS/AF developed into an OOP app development environment with a rich component set, a Java-like language (SCL) and an excellent IDE. SAS/AF had seamless integration with all SAS products largely because its apps executed within a SAS session (i.e., the user had to be able to run Base SAS in order to execute a SAS/AF app).
With the rise of the web SAS began adding products for web-based app development. First was SAS/IntrNet, essentially a CGI interface that let a developer surface SAS programs and data to HTTP requests. Another early product was Eclipse-based Web/AF, later rolled into AppDev Studio, which allows creation of JSP's and Java applets.
In the mid-2000's SAS shifted its focus from SAS/AF to Java. Several products were developed in Java, such as Enterprise Miner and Information Map Studio, though SAS has developed a few MS-Win apps such as Enterprise Guide. Around this time SAS ceased using SAS/AF for its own products, and in fact suspended development of SAS/AF for a time (it is once again an active product, but with minimal ongoing development).
At the same time, SAS increased support for industry standard APIs such as Com and .NET. These APIs opened the SAS system to apps written in languages such as Java, C#, VB, etc. SAS Integration Technologies consolidated support for APIs into one product, and SAS 9 also brought better support for web services.
For more info on SAS Integration Technologies and SAS support for distributed processing see my post SAS and RIAs. |
With its Business Intelligence products SAS has begun introducing Flash into its own products. The SAS Business Intelligence Dashboard, a plug-in to the SAS Information Delivery Portal, currently makes use of Flash. Using its dashboard builder you can create Flash dashboard elements that consume SAS stored processes.
For more info on SAS BI see the links below, will probably create a page dedicated to this topic soon... |
For more info on SAS use of RIAs see my page SAS and RIAs.
Some References
- SAS site - home page
- SAS site - app development page
- SAS site - SAS/AF page
- SAS Global Froum 2010 papers on App Dev
- SGF and SUGI papers archive
Here are some SGF papers on SAS BI. See the SGF archives (Application Development section) for many similar papers.
- Building Your First Dashboard Using the SAS 9 Business Intelligence Platform: A Tutorial
- SAS EBI: What is it, what will it do for me and does it really work?
- 2010 SGF: Interactive Dashboards: Powered by Flash and the SAS Programmer
SAS BI for 9.2 has numerous enhancements over 9.1.3. This is especially true for SAS BI Dashboard 4.3. Here is a summary of changes.
And here is SAS doc on BI with focus on creating portlets for the Dashboard.
- SAS Information Delivery Portal 4.3: Introduction
- SAS BI Dashboard 4.3 User's Guide
- Developing JSR-168-Compliant Portlets for the SAS Information Delivery Portal 4.3
About
JavaScript
JavaScript appdev primers
General JavaScript
SPA Demo Application
Backbone Demo Application
Recommended sites
- Addy Osmani's blog
- Derick Bailey's Backbone posts
- Murphey's JQuery Fundamentals (original)
- Crockford's JS videos
- MSDN Project Silk
Flex/AIR
Flex/AIR primers
- Primer on Flex/AIR Multiscreen Development
- Primer on Mobile App Development w/Flex 4.5
- Primer on Flex 3 Component Lifecycle
- Primer on Flexlib MDI
Flex demo apps
all require Flash Player!
AIR mobile dev
- AIR mobile dev Tips
- AIR and Android Back key
- AIR, StageWebView, displaying local content
- AIR for Android memory issue w/large images