Your SAS programs, embedded in web apps and elsewhere

Transient Package

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 75
Accepted Solution

Transient Package

Can some one explain what is mean by Transient Package interms of Stored Process. I came across this term when I was creating stored process.

Types of stored process output

1. None 

2. Streaming output

3. Transient Package

Though these terms are explained in SAS portal, I am not able to understand it. Please explain in clear terms.

Thanks in Advance

Dhanasekaran R


Accepted Solutions
Solution
‎07-19-2011 11:14 AM
SAS Super FREQ
Posts: 8,868

Transient Package

Hi:

 

  Here's an introduction to the explanation. Imagine that you have 3 files on your computer that you have to send to someone: a Word doc, a JPG file and an MP3 file. If you are going to put them in an email then your choice for attaching them is to attach the 3 files separately, as 3 separate attachments, or to put all 3 files into 1 ZIP or TAR file and then attach the single ZIP or TAR file to your mail. Since stored processes are running on a server, you have to decide ahead of time how you want the results to be handled by picking the result type that is best suited to your particular stored process.

        

  Package output is just a container, like a zip file or a tar file, for stored process results. When you run a stored process, you are sending a request to the Stored Process Server or the Workspace Server for a SAS program to run. That SAS program could build 1  type of result output (such as a single tabular report) or you might want to send a tabular HTML report and a tabular report in PDF form and a graph file and a CSV file back to the client application. If you want to send more than 1 type of content back to the client application, then you have to choose "package" as the result type for the stored process.

  A client application has a "pipeline" to the Stored Process Server or the Workspace Server and that "pipeline" can only handle one type of content at a time. So if you have a single result file -- such as a single tabular report -- then you could pick either Streaming or Package as your result type. But if you have a stored process that creates multiple output types or you want to return multiple files to the client application, then Streaming is not appropriate -- you have to pick Package as your result type.

  Streaming output is very similar to YouTube videos or NetFlix videos or streaming music -- it is a constant stream of content that your client application knows how to receive and knows how to open and render. More specifically, in the context of web applications, such as the SAS Information Delivery Portal, streaming content is delivered using the HTTP protocol (HyperText Transfer Protocol). Streaming content can only be delivered from a stored process when you use the Stored Process Server. And, streaming content is most often used in the BI Platform to deliver HTML results. Some client applications (such as PowerPoint, for example) do not receive or handle HTML results from a stored process -- so choosing streaming content for a stored process that you wanted to deliver to PowerPoint would not be appropriate. On the other hand, the SAS Information Delivery Portal is all about HTML, so choosing Streaming as a result type for a stored process that you planned to return to the Portal would probably be OK -- as long as you were using the Stored Process Server to execute the stored process.

    

  None as the result type means that you don't want streaming output and you don't want package output. That sounds sort of weird, huh? Why would you have a stored process that didn't return ANYTHING to the client application? Well, let's say that you have one person in your company who is allowed to create a special month-end file. They don't do any reporting, they are just responsible for determining when all the accounting adjustments are done and when a special month-end reporting file should be created for the report folks. In the "old days" that person probably called a programmer and said -- OK, it's time to create the month-end file -- and then the programmer submitted the code to create the month-end file. But with a stored process, you could give that one person the ability to run a stored process that would create the special month-end file -- in this case, if NO report content was being created and the only output from the stored process was going to be the creation of a SAS dataset -- then a result type of NONE is what you would choose.

By way of documentation, refer to these:

9.1.3 doc on package content http://support.sas.com/rnd/itech/doc9/dev_guide/publish/package.html

more documentation: http://support.sas.com/documentation/cdl/en/stpug/61271/HTML/default/viewer.htm#a003152755.htm

I hope this helps put the different result types in perspective.

cynthia

View solution in original post


All Replies
Solution
‎07-19-2011 11:14 AM
SAS Super FREQ
Posts: 8,868

Transient Package

Hi:

 

  Here's an introduction to the explanation. Imagine that you have 3 files on your computer that you have to send to someone: a Word doc, a JPG file and an MP3 file. If you are going to put them in an email then your choice for attaching them is to attach the 3 files separately, as 3 separate attachments, or to put all 3 files into 1 ZIP or TAR file and then attach the single ZIP or TAR file to your mail. Since stored processes are running on a server, you have to decide ahead of time how you want the results to be handled by picking the result type that is best suited to your particular stored process.

        

  Package output is just a container, like a zip file or a tar file, for stored process results. When you run a stored process, you are sending a request to the Stored Process Server or the Workspace Server for a SAS program to run. That SAS program could build 1  type of result output (such as a single tabular report) or you might want to send a tabular HTML report and a tabular report in PDF form and a graph file and a CSV file back to the client application. If you want to send more than 1 type of content back to the client application, then you have to choose "package" as the result type for the stored process.

  A client application has a "pipeline" to the Stored Process Server or the Workspace Server and that "pipeline" can only handle one type of content at a time. So if you have a single result file -- such as a single tabular report -- then you could pick either Streaming or Package as your result type. But if you have a stored process that creates multiple output types or you want to return multiple files to the client application, then Streaming is not appropriate -- you have to pick Package as your result type.

  Streaming output is very similar to YouTube videos or NetFlix videos or streaming music -- it is a constant stream of content that your client application knows how to receive and knows how to open and render. More specifically, in the context of web applications, such as the SAS Information Delivery Portal, streaming content is delivered using the HTTP protocol (HyperText Transfer Protocol). Streaming content can only be delivered from a stored process when you use the Stored Process Server. And, streaming content is most often used in the BI Platform to deliver HTML results. Some client applications (such as PowerPoint, for example) do not receive or handle HTML results from a stored process -- so choosing streaming content for a stored process that you wanted to deliver to PowerPoint would not be appropriate. On the other hand, the SAS Information Delivery Portal is all about HTML, so choosing Streaming as a result type for a stored process that you planned to return to the Portal would probably be OK -- as long as you were using the Stored Process Server to execute the stored process.

    

  None as the result type means that you don't want streaming output and you don't want package output. That sounds sort of weird, huh? Why would you have a stored process that didn't return ANYTHING to the client application? Well, let's say that you have one person in your company who is allowed to create a special month-end file. They don't do any reporting, they are just responsible for determining when all the accounting adjustments are done and when a special month-end reporting file should be created for the report folks. In the "old days" that person probably called a programmer and said -- OK, it's time to create the month-end file -- and then the programmer submitted the code to create the month-end file. But with a stored process, you could give that one person the ability to run a stored process that would create the special month-end file -- in this case, if NO report content was being created and the only output from the stored process was going to be the creation of a SAS dataset -- then a result type of NONE is what you would choose.

By way of documentation, refer to these:

9.1.3 doc on package content http://support.sas.com/rnd/itech/doc9/dev_guide/publish/package.html

more documentation: http://support.sas.com/documentation/cdl/en/stpug/61271/HTML/default/viewer.htm#a003152755.htm

I hope this helps put the different result types in perspective.

cynthia

SAS Super FREQ
Posts: 8,868

Transient Package

Posted in reply to Cynthia_sas

BTW, I really oversimplified packages in the above explanation. SAS has a whole Publishing Framework that allows you to publish content and packages to a WebDAV repository. But talking about that seemed way outside the scope of the question.

Frequent Contributor
Posts: 75

Transient Package

Thank you very much for your detailed explanation.

In between I forgot to include one more result type called permanent. Why we need to create such result type and what is the purpose of that ?

Thanks

Dhanasekaran

SAS Super FREQ
Posts: 8,868

Transient Package

Hi:

  As I said, I really oversimplified the description of packages. A TRANSIENT package will "go away" after it has been opened and, because it lives in a temporary cache file, it will disappear when the cache file is cleared. A PERMANENT package is result output that you would write to a physical location on a server or into a WebDAV repository. You really would need to read more in the doc about PERMANENT packages and the Publishing Framework.

cynthia

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 558 views
  • 0 likes
  • 2 in conversation