Object Spawner spawns processes:
Object Spawner comes into picture when a user submits a SAS
code or a scheduled code is submitted. It is part of SAS server, located in
host machine. It literally checks for any user is submitting SAS code
(including scheduled jobs). If they do it will call Workspace Server or Pooled
Workspace Server or SAS Stored Process Server depending on the user request. As
SAS is a Java based application the process of calling these servers is named
as instantiate. So whenever Object Spawner gets a new request, it instantiates
the server. As a SAS Admin whenever a user reports that they are not able to
run a code you first suspect should be Object Spawner.
Note: In this article server means Workspace server, Pooled
Workspace server and SAS Stored Process.
SAS jobs run in server and Object Spawner is responsible:
SAS jobs run in any of these servers Workspace Server and
SAS Stored Process. We can deduce Workspace server as Standard Workspace Server
and Pooled Workspace server. To make it simple small processes run in Pooled
Workspace and large process run in Standard Workspace Server. Pooled Workspace
Server is most suitable for SAS web applications like SAS Web Report Studio.
For now we don’t need to know deeper about these servers. All we need to know
is how Object Spawner launches these servers.
To instantiate a server, Object Spawner first access SAS
Metadata Server. It doesn’t know which servers (Workspace Server) it is responsible
for. It will look up in Metadata to get those detail. Reading Metadata is a two-step
process.
- It reads a configuration file which will have information about Metadata like Login Name, User ID, Hostname, Port etc. The configuration file name is metadataConfig.xml.
- Then using the above configuration file it will connect to Metadata Server. Metadata Server will return the list of servers the requested Object Spawner is responsible for.
How many Object Spawner a SAS Platform has?
By default, SAS installation provides one Object Spawner,
one Workspace Server, one Pooled Workspace server and Stored Process server. Later
business demands more Workspace Servers and other servers. In that case you
need to create an Object Spawner to handle them. It is better to have separate
Object Spawner for each new Server (Workspace Server and SAS Stored Process)
you create. Later in my Blog I will explain how to create new Object Spawner,
so you will understand it is just another Metadata Object just like users and
group.
Object Spawner do authentication:
You might wonder that Metadata Server is used for authentication.
Yes, you are right but it authenticates to access Metadata. To access Workspace
Server, Object Spawner will do the authentication. For example if user submits
a code using SAS Enterprise Guide, the following steps take place:
- First client access Metadata in order to get the details about Workspace Server. Metadata Server will returns connection information of Object Spawner. Connection information will be the host machine and the port where Object Spawner is listening.
- Using the connection information, SAS Enterprise Guide will connect to Object Spawner. Object Spawner will first do authentication and then it spawn a process in Workspace Server.
Note: By default for Workspace Server it will be host based
authentication and for Stored Process & Pooled workspace server authentication
is done by Metadata Server.
Comments
Post a Comment