I was wondering if it is possible to create a web interface that will call and execute a PC/SAS program and return the ODS results back to the web. So basically the front-end would be a point and click interface and have a CGI that will interact with SAS to execute the needed program.
I know this is possible in UNIX, but I'm really not sure if this is possible on Windows using PC/SAS. Even if I were to have a CGI, how would I go about in calling a PC/SAS program? I'm using SAS 9.2.
Or would this be simpler if I use Java? I tried to research on this but I end up with SAS/INTRNET and other semi-related topics, but nothing that directly links to this issue.
I would really appreciate if you could point or guide me to the right direction.
SAS/IntrNet is directly related to your question. SAS/IntrNet is composed of several different components, such as a BROKER component that is installed on the web server and that accepts requests from a web browser and then sends those request to an Application Dispatcher server to run your SAS program.
Although you can use SAS/IntrNet on a single machine configuration, generally, a SAS/IntrNet installation is split across several machines and requests happen in the following, somewhat simplified, manner (assuming SAS/IntrNet is installed)
1) client machine calls up an HTML page, perhaps an HTML form, that requests a SAS program to run
2) the FORM action on the HTML page calls the SAS/IntrNet BROKER.EXE application on the web server and provides the name of the SAS program to run and any parameters collected from the user
3) The BROKER program starts up the Application Dispatcher server and sends it the name of the program to execute
4) The Application Dispatcher and server runs the program and, if the program is coded to use ODS, then the program results would be streamed back to the BROKER
5) The BROKER application on the web server sends the result from the Dispatcher back to the requesting client browser
This type of Common Gateway Interface (CGI) processing is commonly how SAS/IntrNet programs work.
When you ask about "returning ODS results back to the web", I am confused about what you mean. For example, if you want to write ODS results directly to a web server machine, this may be possible in a batch job. For example, you have a nightly batch job that runs reports for daily sales by manager. Those reports are created and then either FTP'd to a directory on a web server machine or the batch job writes directly to a web server file directory location. Every morning a manager comes in and goes to a web page that points to the location on the web server for his reports -- he clicks on the link to his previous day's sales report and the nightly report opens. In this instance, the ODS output would be "static" output and the only thing that would need to be coded would be the HTML page that would show him the files for his sales. These names could be simply created by appending each date to the manager name.
There is a difference between creating reports as HTML files and then uploading those files to a web server (you can do this with PC/SAS) and running programs dynamically on request -- in which case, the results are returned to the requesting client browser -- which generally requires a product suite like SAS/IntrNet or a newer configuration such as that provided by stored processes on the SAS Platform for Business Analytics.
I want to thank you for your awesome reply. I'm aware of SAS/IntrNet peice, but the place that I consult with do not have SAS/IntrNet - therefore I have to find a way around this. I'll read through the paper you have sent me and start from there.