2006 Shane Gibson

233 views
211 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
233
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

2006 Shane Gibson

  1. 1. SAS Users New Zealand Proudly sponsored by…
  2. 2. How to disperse the smoke and smash the mirrors SAS Stored Processes
  3. 3. Stored Process in SAS9 <ul><li>Before Stored Processes: </li></ul><ul><ul><li>Difficult to share or re-use SAS programs </li></ul></ul><ul><ul><li>Limited ability to publish dynamic content </li></ul></ul><ul><ul><li>Often limited to the SAS user community </li></ul></ul><ul><li>After Stored Processes: </li></ul><ul><ul><li>Dynamic SAS content accessible to the enterprise </li></ul></ul><ul><ul><li>Authors can focus on the problem, not the processes or the tools </li></ul></ul><ul><ul><li>Authors are not just publishing content; they are creating tools to empower decision makers </li></ul></ul>
  4. 4. What Can Stored Processes Do? <ul><li>Create business reports </li></ul><ul><li>Perform analysis </li></ul><ul><li>Data Integration processes </li></ul><ul><li>Provide services to other applications </li></ul><ul><li>Anything a SAS program can do </li></ul>
  5. 5. What Is a SAS Stored Process? <ul><li>A SAS program described by metadata </li></ul><ul><ul><li>Data steps, Procs, Macro </li></ul></ul><ul><li>A standard for reusable SAS programs </li></ul><ul><ul><li>Multiple clients – Web, Java, MS Office, Web Services </li></ul></ul><ul><ul><li>Multiple output formats and delivery options </li></ul></ul><ul><ul><li>Multiple platforms </li></ul></ul><ul><li>A core technology for many SAS products </li></ul>
  6. 6. A Simple Stored Process %stpbegin; title &quot;Shoe Sales by Region and Product&quot;; footnote; proc report data=webdata.shoes; column region product sales; define region / group; define product / group; define sales / analysis sum; break after region / ol summarize suppress skip; run; %stpend;
  7. 7. Stored Process Authoring Clients <ul><li>Enterprise Guide </li></ul><ul><ul><li>General purpose development environment </li></ul></ul><ul><li>SAS Management Console (SMC) Stored Process Manager </li></ul><ul><ul><li>Register programs from other sources </li></ul></ul><ul><ul><li>Manage stored process metadata </li></ul></ul><ul><li>DI Studio </li></ul><ul><ul><li>Export DI process flows as stored processes </li></ul></ul><ul><li>Other SAS Code Generators ( e.g. Enterprise Miner ) </li></ul><ul><ul><li>Manual process, but simple to do </li></ul></ul>
  8. 8. Demonstration - Stored Process Creation
  9. 9. Stored Process Inputs <ul><li>Data sources </li></ul><ul><ul><li>SAS data sets </li></ul></ul><ul><ul><li>External tables (SAS/ACCESS) </li></ul></ul><ul><ul><li>XML (XML Library Engine) </li></ul></ul><ul><li>Parameters </li></ul><ul><li>Other </li></ul><ul><ul><li>External files </li></ul></ul><ul><ul><li>Client data streams </li></ul></ul><ul><ul><li>SAS catalogs </li></ul></ul>
  10. 10. Stored Process Outputs <ul><li>Data targets </li></ul><ul><ul><li>SAS data sets </li></ul></ul><ul><ul><li>External tables (SAS/ACCESS) </li></ul></ul><ul><ul><li>XML (XML Library Engine) </li></ul></ul><ul><ul><li>Information Maps </li></ul></ul><ul><li>Generated content (Output Delivery System) </li></ul><ul><ul><li>HTML, XML, PDF, etc. </li></ul></ul><ul><ul><li>GIF, PNG, ActiveX, Java graphics </li></ul></ul>
  11. 11. Stored Process Metadata <ul><li>Metadata describes the stored process </li></ul><ul><ul><li>Name, Description, Keywords, etc. </li></ul></ul><ul><ul><li>Location of source code </li></ul></ul><ul><ul><li>Server </li></ul></ul><ul><ul><li>Inputs – Streams, Parameters </li></ul></ul><ul><ul><li>Outputs – Streams, Packages </li></ul></ul><ul><ul><li>Access control </li></ul></ul>
  12. 12. Stored Process Consumption Clients <ul><li>Web </li></ul><ul><ul><li>Information Delivery Portal </li></ul></ul><ul><ul><li>Stored Process Web Application </li></ul></ul><ul><ul><li>Custom JSPs or Servlets </li></ul></ul><ul><li>Microsoft Office </li></ul><ul><li>Enterprise Guide </li></ul><ul><li>Information Maps </li></ul><ul><li>Web Report Studio Reports </li></ul><ul><li>Web Services </li></ul>
  13. 13. Demonstration - Stored Process Consumption
  14. 14. SAS Metadata Architecture <ul><li>Central to stored processes </li></ul><ul><li>Metadata documents an interface contract </li></ul><ul><ul><li>Allows any consumer to use stored processes created by any author. </li></ul></ul><ul><li>Metadata describes behavior </li></ul><ul><ul><li>Input parameters </li></ul></ul><ul><ul><li>Input data sources </li></ul></ul><ul><ul><li>Output data, content, delivery options </li></ul></ul><ul><ul><li>Execution environment, security rules, etc. </li></ul></ul>
  15. 15. Input Parameters <ul><li>Defined by metadata </li></ul><ul><li>Values specified at run-time </li></ul><ul><ul><li>Property sheet interface (JSP, Java App, or Windows) </li></ul></ul><ul><ul><li>Custom input form </li></ul></ul><ul><ul><li>Fixed – in a URL, script or program </li></ul></ul><ul><li>Default values </li></ul><ul><li>Constraints – ranges, enumerated values </li></ul>
  16. 16. Adding Parameters <ul><li>%global region; </li></ul><ul><li>%stpbegin; </li></ul><ul><li>title &quot;Shoe Sales for &region &quot; ; </li></ul><ul><li>Title &quot;By Subsidiary and Product&quot;; </li></ul><ul><li>footnote; </li></ul><ul><li>proc report data=webdata.shoes; </li></ul><ul><li>where region eq &quot; &region &quot;; </li></ul><ul><li>column subsidiary product sales; </li></ul><ul><li>define subsidiary / group; </li></ul><ul><li>define product / group; </li></ul><ul><li>define sales / analysis sum; </li></ul><ul><li>break after subsidiary / ol summarize suppress skip; </li></ul><ul><li>run; </li></ul><ul><li>%stpend; </li></ul>
  17. 17. Demonstration - Stored Process Business Rules
  18. 18. Security <ul><li>Integrated security model </li></ul><ul><ul><li>Provided by the SAS Metadata Architecture </li></ul></ul><ul><ul><li>Single sign-on across all SAS servers </li></ul></ul><ul><li>Integrated Web server security </li></ul><ul><li>Access control on each stored process, data source and output target </li></ul><ul><li>Administered with SAS Management Console. </li></ul>
  19. 19. Stored Process Server <ul><li>Dedicated to executing stored processes </li></ul><ul><li>Multi-user server designed for scalability </li></ul><ul><li>Server logic implemented with Threaded Kernel </li></ul><ul><li>Same SAS execution engine as batch SAS or the Workspace server </li></ul><ul><li>Configured with SAS Management Console Server Manager </li></ul>
  20. 20. Scalability <ul><li>Many configuration options </li></ul><ul><li>Start on demand, reusable servers </li></ul><ul><li>Load balanced clusters </li></ul><ul><li>Pre-started servers </li></ul><ul><li>Easy to configure multiple servers for different performance classes </li></ul>
  21. 21. Summary <ul><li>A standard for reusable SAS logic </li></ul><ul><li>Stored processes can be authored and executed in a wide variety of SAS tools </li></ul><ul><li>Stored processes make the power of SAS accessible to everyone </li></ul><ul><li>SAS 9 implements stored processes on a secure, scalable and maintainable platform </li></ul><ul><li>SAS users already know how to write stored processes! </li></ul>
  22. 22. Copyright © 2006, SAS Institute Inc. All rights reserved.

×