Desktop productivity for business analysts and programmers

Client/server work flow(b/w EG and App server)

Reply
Regular Contributor
Posts: 151

Client/server work flow(b/w EG and App server)

Hi all,

I have a doubt.please can any one clarify my doubt.I would really appreciate your help alot.

When a user runs runs a code or submits a job from Enterprise guide/DI on SAS Application server where exactly the request goes first and how the entire process works till the user receives the result from the server.and what are the different servers involved in this whole process and what exactly each server do ? please can you explain this workflow, i mean the step by step process till the EG receives the reply from server.

and what exactly work space sever will do and what will the stored process server do ?

everyone is asking me these questions am not able to answer anything perfectly.If am giving book definitions they are not satisfying with my answers.please help me,it would be a big favour to me.

what are the main differences between 9.2/9.3/9.4

SAS Employee
Posts: 232

Re: Client/server work flow(b/w EG and App server)

Hi there - thank you for joining the community and posting a question!

I saw that you had duplicates of the same question in different communities - I removed the duplicates and you should get an answer soon in this community. Thanks!

Super User
Posts: 7,422

Re: Client/server work flow(b/w EG and App server)

When Enterprise Guide starts, it uses a metadata profile (credentials are stored in the profile or the user is prompted) to connect to a metadata server. It then receives a list of workspace servers that can be used. Once a WS is needed (to run a job/query or to get a list of libraries etc), EG checks if it is the same physical server that runs the metadata server (if yes, use the credentials from the metadata connection, if no, either use creds from the last session or prompt for new), then connects to an object spawner on the physical server that is in the definition of the WS. The object spawner starts a WS process and hands off connection to that.

The Query/job is sent to the WS in the form of SAS code. The WS processes this and then sends results back, which EG will display immediately or on request (depending on settings).

Workspace Servers usually (unless pooled) run under the requesting user's context.

The stored process server is a single SAS instance that runs under a special account (usually sassrv) and allows the execution of predefined SAS codes according to their definition in the metadata. It can be used by SAS clients (EG, for instance) and has a web-based frontend run by jboss that manages access to the stored processes via browser/http.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Regular Contributor
Posts: 151

Re: Client/server work flow(b/w EG and App server)

Thank you KurtBremser for your prompt reply,I really appreciate it.

but am very sorry,still its not clear to me.

from where EG will receive the list of workspace servers.there would be only one workspace server right.

my question is when a user a submits a submits a program from EG after connecting to server.

where exactly the request will go,which one will come first into picture and how the object spawner,workspace server and stored process server will be helpful in this whole process till the user receives the response.

Super User
Posts: 7,422

Re: Client/server work flow(b/w EG and App server)

As I already told you,

connect to a metadata server. It then receives a list of workspace servers that can be used.

There can be any number of workspace servers on any number of physical servers. The primary workspace server (which new project steps are automatically assigned to) is also defined in the metadata profile (Tools - Options - Administration - Connections - Server). Depending on the metadata, a user can have any number of workspace servers on any number of physical servers in his server list.

Every physical server that hosts workspace/stored process servers needs to have an Object Spawner running, so that clients can request a server for connecting to (workspace servers are ususally started on demand, other servers may already be started)

The flow looks like that:

New step in Process Flow - EG assigns primary WS (user can manually assign another one)

Step is executed - EG checks if connection to assigned server is already up, if not, contact the object spawner on the physical server to request a server instance/connection

Code is sent to server

Server executes code

Results are sent to EG

EG displays results, according to settings

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Regular Contributor
Posts: 151

Re: Client/server work flow(b/w EG and App server)

KurtBremser,


Thank you so much for your response,I really appreciate it.


according to your explanation below is what I understood


When I start EG or DI it will initially connect to thr metadata server. The metadata server knows who the users are, where the data resides, and how to connect to SAS workspace servers and SAS Stored Process servers.

When you hit the submit button in a project or job from EG or DI, the EG or DI is going to connect to an Object Spawner (daemon) to launch a SAS workspace wherein my SAS code is executed. Stored Process server is not involved. SAS metadata server is only involved in checking permissions and helping the client application find its object spawner.

but my question is in this whole process does stored process involvement will be there or it has nothing to do with this process ?

Super User
Posts: 7,422

Re: Client/server work flow(b/w EG and App server)

It is of course possible to involve the stored process server when doing work with EG. Most of the time, one will create stored process with EG, and stored processes can be added to a project from the SAS Folders.

But access to datasets, queries, user written codes or procedure steps in the EG project will usually use a workspace server.

Stored processes are most useful when used with the web interface to permit users access to SAS without actually doing any SAS work.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Regular Contributor
Posts: 168

Re: Client/server work flow(b/w EG and App server)

Where can we see the object spawner? e.g. server

As per SAS(R) 9.2 Intelligence Platform: Application Server Administration Guide, object spawner is used for for accessing the SAS Metadata Server. How it plays a role for accessing the workspace server?

Super User
Posts: 7,422

Re: Client/server work flow(b/w EG and App server)

I think you completely misinterpreted the graph, read the text.

The object spawner contacts the metadata server for information about the servers it is responsible for (IP ports, startup scripts).

The metadata server is always contacted directly by the clients.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Regular Contributor
Posts: 151

Re: Client/server work flow(b/w EG and App server)

Thank you so much for all your prompt responses,I appreciate it.

can you please answer my below questions,i would really appreciate for a quicker response from you.

1)How the performance tuning can be done,are there any different ways to do performance tuning.

2)Can you explain What is the Architecture level difference between SAS 9.3 & SAS 9.4 ?

and also features differences between 92/9/3/9.4 ?

3)Can you explain the process we need to follow to migrate from 9.3 to 9.4

can you explain how we should handle SAS environment the migration process,what are the different things we should do?

4)can you please explain me what are the activities involved before we are going for up gradation,we need to do some prerequisites for the migration activity,can you please explain what are prerequisites required for base sas 9.4.

am asking Hardware level and software level prerequisites ?

5)What are the different ways of deployment,there are two levels of deployment right,different ways of Migration ?

Super User
Posts: 3,233

Re: Client/server work flow(b/w EG and App server)

Regarding migration, your best approach is to read and investigate the SAS Support migration resources: Migration

Then if you have any questions remaining to post them. Migration is such a large topic that putting a few "sound bites" in a post isn't going to cut it.

Also your migration strategy is highly dependent on your current SAS environment and what you are planning for your new SAS 9.4 deployment. Since we know very little of either of these we can't offer you any more than a few helpful hints.

FYI, we are in the middle of our own 9.3 to 9.4 migration. Be prepared for a project lasting several months is all I can say. Since our SAS 9.3 is running mission-critical applications, we decided to build a completely separate set of servers for SAS 9.4 so we could migrate and test with both versions running separately and in parallel. If you are not running mission-critcal applications you might not want to go to this extent.

Our experience is that code changes have been necessary to cater for 9.3/9.4 differences but these are relatively minor. If it is critical that SAS 9.4 give you the same results as 9.3 then all your production applications need to be tested to see that they run cleanly and really do produce the same results. 

Valued Guide
Posts: 3,208

Re: Client/server work flow(b/w EG and App server)

Start with seeing EGuide as some thin client somewhat smarter als the old 3270 terminal emulator or browser but it is functioning similar like a front-end tool.

The real data-processing is needing some server (service) to run that.

The types of servers/services are:

1- A local on the desktop installed SAS Base/Foundation that Eguide is abel to see/recognize

2- An by an integration-technologies managed daemon (Object-spawner) dat will start users sessions that are based on Base/Foundation

  This can be seen as a workspaceserver.

3- A Metadata server controlled environment that is supporting several types of SAS servers(services), those are:

   + user based (workspace server)   running Base/Foundation

      This is almost similar to the integration-technologies approach.

   + shared group account  (stored process server) as Base/Foundation

   + web-based (Portal) controlled using a shared group account (pooled workspace servers) as Base/Foundation. It is the midtier being another central point.

   + (many more) Batch grid connect Olap

SAS Solutions are build on top of this (DI/BI) structure of metadata bases ad

Tools like DI (Data integration Studio for ETL), Information maps and more are additional ones.

The use of shared group account is one to be carefully reviewed. Shared group accounts is an approach that is to be avoided mentioned as action by a lot of regulations where auditability and traceability are important on classified data. IT tool suppliers are often ignoring this and showing the quick nice paintings as the result of their tools.

It is dependent on each situation how the identification/authentication is going and handled.

ad 1/ (local desktop) identification and authentication is not applicable.  All is done by Windows at OS level.

ad 2/ (integration-tech) identification and authentication is done by the OS of the server that is running that Base/Foundation.

ad 3/ (metadata workspace server) The Eguide users are facing manay services,

   + They are connecting to the metadataserver and being identified and authenticated on that dedicated SAS service.  When succesfull

   + An OS process is started that is needed to run by an identified users and getting authenticated (like inttech).

      The way to achieve this can differ from some technical aspects. In the most simple approach ist a login and password giving tot that OS process.

   What you will see that the user/password can be found cached on a lot places. In config-files (high prov accoutns) in user-profiles and in the SAS metadata (database)

The role of the metadata database is like a IDD Integrated Data Dictionary Metadata - Wikipedia, the free encyclopedia TalkSmiley Very Happyata dictionary - Wikipedia, the free encyclopedia

It can contain technical descritions (Servers/services), Business strcutures and logic and the whos is allowed to do what (security).

The most easy way using Eguide is connecting it to technical component like a workspace server. Adding business logic to that is making is more usefull but also more complicated to understand.     

---->-- ja karman --<-----
Regular Contributor
Posts: 151

Re: Client/server work flow(b/w EG and App server)

Thank you so much Jaap Karman for your response,I appreciate it

Valued Guide
Posts: 3,208

Re: Client/server work flow(b/w EG and App server)

This was already a long post, if you have that and could explain to others than you can go to Eguide usage in more details. Then only the focus on metadata- workspace server usage.

Are you ready for that? 

---->-- ja karman --<-----
Valued Guide
Posts: 3,208

Re: Client/server work flow(b/w EG and App server)

So we have the basics (1),  by kurt the normal processing (2), than there is an additional part data  integration (3)

Data integration is the part causing a lot of confusion as it looks to the unaware person like the tool is different as described in (1) en (2).

There is a filetransfer in the tool you can drag and drop using files from windows to the file folder tabs.

The processing as SAS code is done at the server side, but you can access odbc excel outlook and other Windows datatypes.

What is happening there?

The data readed into a SAS datastep and in-stream data using the datalines approach.this can be uploaded to the SAS server and executed there.

There are some more dedicated Windows features but the principles of (1) and (2) are kept valid.        

---->-- ja karman --<-----
Ask a Question
Discussion stats
  • 19 replies
  • 746 views
  • 1 like
  • 7 in conversation