:: Celigo ::
ProductsCustomersBlogAbout
On-Demand Simplified Solutions and services tailor made for on-demand

Introducing Celigo’s ServiceManager library

It just works! There exists no better term to describe Celigo’s Service Manager.

Webservices are a whole lot of fun. They let you focus on implementing a rich feature set in your application, and then extend it using a separate set of rich functionality that was developed and perfected elsewhere. But, life isn’t easy when you have to work with a secure system over the wire; you have to worry about authentication, session management, request/response size limitations, etc.

This is where Celigo’s ServiceManager comes in. The ServiceManager or SM (as we often refer to it), is an abstraction over the ground work that needs to be implemented when dealing with the SuiteTalk API.

Here’s a look at some of the features offered:

Session Management

One of the chores you almost always have to deal with is login and relogin in the face of session timeouts. The SM handles this entirely transparently to the developer. In fact, other than having to setup the login credentials once, you as the developer can remain oblivious of the entire login/re-login process. The Service Manager will completely automate this. The SM actually goes one step further: it handles errors such as network failures, NetSuite session expirations, and automatic login retries transparently. All these features are fully configurable.

Batching & Record Limiting

For obvious reasons, SuiteTalk imposes several limitations on the size of the requests it processes. So what happens if you have thousands of records you wish to update? Well, all you have to do is drop them on to the ServiceManager the same way you would update (say) five records. The SM lets you pre-configure a request size threshold, and every mass add, update, or delete would automatically be chunked up into smaller requests and sent synchronously to NetSuite.

Other Features

The ServiceManager is also 100% thread safe. So you can safely share it among multiple threads, which is great if you want to perform any web services operations in a background thread.

In addition to the above, our SM library also includes a robust and full featured solution for connection pooling and queuing through the SessionPool interface. We will cover this topic in more detail in a future post.

Availability

Celigo has made the SM available as a free download. It’s available for Java and .NET. If you take a look at the CRM sample and the enhanced version of the same app using SM, you will get a pretty good idea as to how this abstraction works.

There’s a whole lot more we’d like to share about the ServiceManager. In addition to the details listed in our code snippet pages, we will continue to post more tidbits here on our blog. The SM is something we use across all our SuiteTalk projects, and therefore, have spirited arguments on how to continue to improve it on a daily basis. So we encourage you to give it a go, and don’t forget to get back to us on what features you like to see.

Tags: , , , , , , , ,

4 Responses to “Introducing Celigo’s ServiceManager library”

  1. Ryan Bales Says:

    Is there anyway to set the url for the netsuite webservice? I also need a help file, the one I downloaded from the website is broken…

  2. Joe Rozek Says:

    Same problem as Ryan, .NET help file is empty and I can’t seem to change the webservice url. I tried NetSuiteServicePool.remoteURL but it didn’t seem to work.

  3. sameera Says:

    Regarding the CHM Help file, please refer the Microsoft Knowledge Base article:

    @Joe:

    RemoteUrl property appearing on NetSuiteServicePool was a mistake. It was to be refactored into NetSuiteServicePoolManager. We’ll be updating the download shortly, with version 1.0.4 with this fix. If you are working with a single NetSuiteServiceManager, the RemortUrl property of this class will function as expected.

  4. sameera Says:

    Version 1.0.5 is now available at http://www.celigo.com/ns/downloads/suiteTalk/samples/net/svcMgr/SuiteTalk_Net_SvcMgr_v1_0_5.zip with the afore mentioned fix.