Download presentation

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CGI2SAS
When A Penguin Met SAS
Alastair Nicol
What is CGI2SAS
•
•
Adds CGI support to SAS
 Axom
 SAS/IntrNet
Open Source
 GNU Public License (GPL)
History of CGI2SAS
•
•
•
•
Proof of concept 4hrs / 100 lines of code
 Python CGI script -> SAS
Requirement for experience of Open Source
First public release
 March 2002
Version 1 release
 January 2003
Requirements
•
•
•
SAS v8
 AF Optional
Python 2.2
 Broker supports Python > 1.5
Web Server with Python CGI Support
 Apache 1.3, 2.0
Features
•
•
•
•
•
Multi-Host
Multi Service / Session Load Manager
CGI Variables via macro variables / SCL Lists
Form methods “GET” and “POST”
Log Viewer
Demo
<a href=“http://localhost/cgi-bin/broker.exe?
_service=demo&_program=myfn.hello.sas>
Hello World
</a>
/* hello.sas */
data _null_;
file _webout noprint notitles;
put "Content-type: text/html";
put ;
put "<html><body>";
put "<h1>hello world from &_service</h1>";
put "</body></html>";
run;
The Log Viewer
•
•
•
Development tool
Per Transaction Listing
 SAS Log
 _webout
 CGI Variables
SAS Logs, traffic lights.
 Note, Warning, Error
Host Configuration
Broker
(Python CGI)
Broker
(Python CGI)
Host A : Load Manager
Host B : Load Manager
Service: ACCOUNTS
Service: MARKETING
SAS
SAS
SAS
Service: SALES
SAS
SAS
SAS
SAS
SAS
Service: REPORTS
SAS
SAS
SAS
Technical Overview
WEB Server
Load Manager
Incoming
Transaction
URL request
Are
Transactio
ns being
queued?
Transaction Queue
Yes
Transactio
n in queue
> timeout?
No
Yes
SAS Session
Broker
Application
Code
No
No
HTML page
HTML
_webout
Any free
SAS
Sessions?
Yes
Cancel
Transaction
Virtual Services
•
•
•
•
•
Run the same application code under different
service names
Only with Apache Virtual Hosts
Application code
Broker.exe?_service=sales&_program=rep
Broker renames sales to sales01
Load manager runs transaction under sales01
service
Problems
•
•
•
•
Windows services difficult to implement
SAS TCP/IP socket services not stable
Python process management not consistent
across platforms
User installation
What is Open Source?
•
•
•
•
Provides freedom
 Software libré!
 Free as in “free speech”
 NOT free as in “free beer”
Software is an idea, not a commodity
New development methodology
Community Driven
Open Source Support
•
•
•
Support via Web
 Check forum / Project page / FAQ’s
 www.google.com
 Contact project team last
Enterprise support can usually be purchased
You have the source!
Open Source – Social Contract
•
•
•
Feedback to project
 Bug reports
 Good features / Bad features
Donations
 Man time / Materials / Sponsorship
Software patches / enhancement
Open Source URL’s
•
•
•
http://www.catb.org/~esr/writings/cathedral-bazaar/
 The definitive guide
www.opensource.org
 Official web site
http://wp.netscape.com/browsers/future/whitepaper.html
 Why Netscape went open source
Lessons about Open Source
•
•
•
•
Its not just cutting code…
Documentation
Web Site
Install Routines
Future enhancements
•
•
•
•
Email notification of application errors
Parse _webout thru W3C HTML validator
GUI Config Panel
GUI Administration Panel
The Future….
•
•
•
CGI2SAS works well now…….
Continued new development…….
Your help is needed……
Many thanks
•
•
Adrian Jones
Craig Wilson
http://cgi2sas.sourceforge.net
[email protected]
Coming Soon…….. DataZillaIx
Related documents