12-03-2013 03:16 PM
Im a Java/JEE developer trying to create Java client to integrate with SAS(9.4 version) and is investigating on how to write a Java client to invoke SAS stored process/programs with JDBC and/or via Foundation Services. I have been reading lot of documentation but not able to get my head around on what needs to be done in order to setup an enviroment where I can do initial handshake with an IOM server. I appreciate if someone could please list step by step process to setup the environment.
Following are some of the questions/doubts I have
1. Can I develop SAS Java client on Eclipse IDE. I read somewhere there's a SAS AppDev studio plug-in. How does the plug-in help.
2. What jars are required if I were to follow the foundation service integration approach and how to get the jars.
3. What services if any at client end need to be running in order to communicate to IOM server.
Greatly appreciate your help.
12-03-2013 03:41 PM
Unfortunately I dont have the kind of time on this project to read from a book and implement but will certainly look into it. In my case it's a non-web based client. It's going to be a Java class/component. What Im looking is if someone could put me in the right direction for a quick start on how to develop Java client with all SAS required jars/setup.
12-03-2013 03:58 PM
Irrespective of client side technology, could you please help me understand what kind of jars or setup needs to be taken care of before you can wirte a client. I want to understand minimun set of requirements before I can invoke a call to the
SAS process/program hosted on IOM server.
12-03-2013 04:01 PM
You'll need to read SAS 9.4 Integration Technologies - Java Client Developer's Guide,
It has the information you are looking for.
In terms adding the required Jar files to your Eclipse Project's Build Path, you can find them under
[SAS Root Directory]\SASVersionedJarRepository\9.x\eclipse\plugins (at least that's where they resided under 9.2)
I would recommend reaching out to SAS Technical Support in case supplied documentation were not enough.
Hope this helps,
12-03-2013 04:10 PM
I did read the Java client developers guide which mentions to install Foundation Service but doesnt tell where to find. Do you know where to find. I did read the Foundation Service installation document which confused me a bit. Do we need SAS management console
before installing Foundation Service. Please help me with the steps on setting up Foundation Service. Your help is much appreciated. Meanwhile I will reach out to technical support.
12-03-2013 04:19 PM
For cleaner and decoupled approach, I would recommend following MohammadFayaz's SOA approach.
The SAS StoredProcess can be converted into a SOAP Web Service that can be consumed via a WZDL file, Or you can use the Stored Process Web Application for Restful Web Services via HTTP Request.
Using this SOA paradigm, isolates you from knowing deep low level code hacking, and instead, you'll only be concerned with providing the correct parameters to the stored process(es).
Just a thought,
12-03-2013 07:29 PM
I can propose that to the SAS programmer but given his limited expertise I doubt he can convert the StoredProcess into a Webservice. Right now my focus is to develop a standalone Java client which can invoke SAS stored process.
If you have any experience/knowledge with that please share the details. Especially using Foundation Service, which in my understanding, needs to be installed on the client side which comes bundled with jars required to develop the client.
Correct me if my understanding is wrong.
12-04-2013 05:07 AM
From reading all threads on this issue, I'm sensing that you guys have somewhat limited knowledge of the SAS 9.4 Intelligence Platform.
Please allow me to highlight few things about it, so it may give you better direction.
Typically, an organization would the have the multi-tier SAS 9.4 Intelligence Platform installed on a single/multiple machine(s)
Having said that, part of the software bundle that get with the SAS 9.4 Intelligence Platform, you get the following software on the Client side (Windows Desktops):
These two client applications already have built-in the required Authentication & Authorization flows, therefore you would not need to re-create them in you custom built Java application. So if your original objective was to re-use the stored processes developed by your SAS developer(s), here is your quick start out of the box.
Regarding - Converting Stored Process to Web Service, have a look at the SAS 9.4 BI Web Services Developer's Guide, you should find there all the information related to creating & invoking SAS Web Services (SOAP / RESTful)
Now, getting back to your question regarding Foundation Services, the answer is NO. You don't need it to be installed on the client side, you can simply download/copy the required jar files from your Server Installation location. You'll need the help of your SAS Platform Administrator, as he/she solely have access to the software installation location on the server.
Hope this gives better understanding and direction.
12-04-2013 09:45 PM
I could finally figure out the required API to use ConnectionFactory interface to run SAS stored process. While developing the client I was using SocketListener class which extends BaseSocketListener which are part of sas.core.jar. Apparently
the jar I have does not include BaseSocketListener(parent of SocketListener) resulting compilation error. I wonder how it ever got shipped. Is there a place I can download sas.core.jar ? Kindly please advise.
12-04-2013 01:44 AM
Thank you Ahmed,
For SAS / .Net applications, there is a very good step by step paper in Savian website http://www.savian.net/utilities.html
There are also some papers from SAS conferences about this topic. Tell me if they may help you.
Chris Hemedinger weblog :The SAS Dummy - A SAS® blog for the rest of us will may help you for calling StoredProcess via .Net application especially in Enterprise Guide. I make form applications in .Net and then add it in SAS EG and call them when I need.