BookmarkSubscribeRSS Feed
RaviK
Calcite | Level 5

Hi,

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.

Thanks,

Ravi

12 REPLIES 12
MohammadFayaz
Calcite | Level 5

Hi,

Have you read " Web Development with SAS by Example, Third Edition" book , Part 5 "Developing Web Applications with SAS and JAVA" ?

RaviK
Calcite | Level 5

Fayaz,

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.

Thanks,

Ravi

MohammadFayaz
Calcite | Level 5

I build .Net windows form that calls SAS via services for educational purpose.

But I'm not familiar with Java.

RaviK
Calcite | Level 5

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.

Thanks,

Ravi

AhmedAl_Attar
Ammonite | Level 13

Ravik,

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,

Ahmed

RaviK
Calcite | Level 5

Ahmed,

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.

Thanks,

Ravi

AhmedAl_Attar
Ammonite | Level 13

Ravik,

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,

Ahmed

RaviK
Calcite | Level 5

Ahmed,

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.

Thanks,

Ravi

AhmedAl_Attar
Ammonite | Level 13

Ravi,

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)

Check the SAS 9.4 Intelligence Platfor Overview document, within it, you'll find the following diagram, and if you look at the Middle-Tier components, you should see this diagram.

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):

  • SAS Add-In for Microsoft Office: Enables the user to select and execute Stored Processes
  • SAS Enterprise Guide: Complete SAS Developer IDE, allows you to develop & execute Stored Processes, plus many other things.

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.

Ahmed

RaviK
Calcite | Level 5

Ahmed/Fayaz,

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.

Regards,

Ravi

AhmedAl_Attar
Ammonite | Level 13

Ravik,

I don't have access to SAS 9.4 to verify this for you. Please contact SAS Technical Support for faster resolution.

Ahmed

MohammadFayaz
Calcite | Level 5

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.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 12 replies
  • 3158 views
  • 0 likes
  • 3 in conversation