The CreatorCon Call for Content is officially open! Get started here.

Push or Pull in an integration? How are you handling?

Suggy
Giga Sage

Hey all,

Need your help or advice on this situation. There is an external tool which has Computer data. That tool has got inbuilt discovery capabilities..

Now the requirement is to have that data loaded into ServiceNow CMDB tables on a daily basis.

 

We told them we ll share our import set API/scripted rest API and asked them to push it.

But they are denying that asking us only to do the GET/PULL operation.

 

As we all know, 

- If its a push from external tool, developer from their side needs to do some development. So both we and they need to work.

- If its a PULL from ServiceNow, we need to do all the developments and NO work from their side at all.

 

So question is - In general, how are you handling this PUSH vs PULL scenarios when it comes to such data loading?

Which of the above approaches we need to go with? Any pros and cons of either of the above methods?

 

9 REPLIES 9

Danish Bhairag2
Tera Sage

Hi @Suggy ,

 

If they are mentioning to pull the data from their end then in that scenario u can write a Scripted Rest Api in which u can create a GET method & use this method in an Scheduled Job which can run maybe on a Daily basis once or periodically after every few hours based upon your requirement. This will also allow u to validate data before loading into the CMD tables.

 

Thanks,

Danish

 

Hey @Danish Bhairag2  I am not asking for solution. I have again updated my question with proper clarity. Could you please check it again and let me know if you have any inputs. Thanks!

.

Hi @Suggy ,

 

The decision between PUSH and PULL scenarios for data loading depends on various factors and considerations. Let's discuss the pros and cons of each approach to help you make an informed decision:

 

### PULL Approach:

 

#### Pros:

1. **Control:** ServiceNow has control over when the data is pulled, providing a predictable schedule and minimizing the impact on resources.

2. **Security:** The external tool does not need to expose APIs, potentially enhancing security.

 

#### Cons:

1. **Responsibility:** ServiceNow bears the responsibility for the entire integration process, including scheduling, error handling, and data transformation.

2. **Dependency:** Any changes or issues on the external tool's side might affect the data loading process in ServiceNow.

 

### PUSH Approach:

 

#### Pros:

1. **Responsibility Sharing:** Distributes the responsibility between ServiceNow and the external tool, allowing each party to handle their part of the integration.

2. **Real-time Updates:** Allows for near real-time data updates, as the external tool can push data when changes occur.

 

#### Cons:

1. **Development Effort:** Requires development efforts from both ServiceNow and the external tool's side to implement the push mechanism.

2. **Security Concerns:** Exposing APIs for push operations may raise security concerns, and additional measures might be needed to ensure secure communication.

 

### Considerations:

 

1. **Data Volume:** Consider the volume of data being transferred. For large datasets, a PULL approach with controlled scheduling might be more efficient.

2. **Frequency of Updates:** If the data changes frequently, a PUSH approach might be preferred for near real-time updates.

3. **Security Requirements:** Evaluate the security implications and compliance requirements of both approaches.

 

### Recommendations:

 

- If the external tool is willing to do the development work and the data volume is manageable, a PUSH approach might provide more flexibility and near real-time updates.

- If simplicity, control, and minimal development effort are priorities, a PULL approach could be suitable, especially for larger datasets and periodic updates.

 

Ultimately, the choice depends on the specific requirements, collaboration agreement, and technical capabilities of both ServiceNow and the external tool. It's advisable to engage in discussions with stakeholders from both sides to align on the preferred integration method.

 

Thanks,

Danish