cancel
Showing results for 
Search instead for 
Did you mean: 

Schedule Integration w/o Adapter

Former Member
0 Kudos

I need to start a daily update by reading users from a group in active directory, then looking up those users in a SQL database. I think I have worked out the JAVA LDAP code to read the list of users. I plan to put that code in some form of UDF but I don't see how I can kick off this UDF unless I just set up some dummy file reader adapter etc. Am I wrong about how to do this, ie using a UDF for reading the users from AD? And, if I do put this code in a UDF, how will I kick it off once a day?

Accepted Solutions (1)

Accepted Solutions (1)

former_member190293
Active Contributor
0 Kudos

Hi Carlton!

As one of the possible decisions you might consider developing standalone java application which queries LDAP data and send it to PI using one of java's ws client libraries. Then you can schedule it to run as desired using OS level functionality.

Regards, Evgeniy.

former_member186851
Active Contributor
0 Kudos

Another way could be scheduling that dummy file adapter to run only once in a day using Availablity time plan.

Answers (2)

Answers (2)

Former Member
0 Kudos

I've used a file adapter to kick the first map off inside that map I have a UDF that reads AD for what I need. This seems to work though a little less than elegant.

Ryan-Crosby
Active Contributor
0 Kudos

Hi Carlton,

I think you could use a combination of both approaches suggested in some manner if you want to make the solution a bit more elegant.  I see benefits of both approaches and possibly together you get the best of both worlds.

The file adapter piece is a bit clunky with the mapping and UDF and the standalone application piece can be troublesome if it is only accessible from an OS standpoint as far as scheduling.  You could use the concept of the file adapter with time availability by saving some trigger payload that is polled once daily (in test mode) and sent to a Java standalone application.  Basically the Java standalone application could be a servlet which is triggered to execute upon receipt of the specified payload and you really could use straight HTTP or REST adapter on the receiving side.  In that way you get the monitoring so you know it executed but you split up the trigger and the application logic into two separate pieces.  Of course you could also do a File receiver with an OS command if you chose but we tend to use those as a last resort here because of the lack of visibility from a monitoring standpoint.

Regards,

Ryan Crosby

Former Member
0 Kudos

I can't use a stand alone application. Thanks.

Former Member
0 Kudos

My client isn't expecting any other program to be used, it's not out of the question but I have a c# library I use in other integrations that can do the entire integration w/o PI. So, I really prefer not having to justify yet another piece of IT to do this. Thanks Raghuraman, the dummy file adapter idea was the only way I could think of doing this and is probably what I will use. Honestly, I'm very surprised there isn't an LDAP adapter with at least some basic functionality available. And, not being experienced in writing custom adapters I wasn't going to take that on.

former_member186851
Active Contributor
0 Kudos

Hello Carlton,

I dont think there is a LDAP adapter,might be you need to create one.

Anyways lets wait for Eve confirmation as his idea is also interesting.

But ATP is simple one as it doesn;t require something new to be created.

former_member190293
Active Contributor
0 Kudos

Hi Carlton!

In case of file adapter scenario you could use adapter module which reads the LDAP contents and builds xml document of desired structure. And your "dummy" file in Test mode (without deleting after processing) would act as marker for sender adapter to start processing in given time interval.

Regards, Evgeniy.