Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
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