Integrating external data with ServiceNow
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-11-2016 06:48 AM
We have some external data that contains, among other data, usernames and computer serial numbers. For example, the external data shows what computers a user has logged into (and when). This information can help our users locate assets when the lease is about to expire and must be returned. We want to 'join' this data with asset data for reporting. This data currently resides in a SQL Server database and is updated every time a user logs into a computer via a logon script (PowerShell).
To creates these reports now, we must export data from SN to manually combine it with the external data. We would like for our users to run the reports directly from SN.
Ideally, we would only store the external data in one location.
There is no need to update the data once it is in SN, other than a scheduled task to purge old data.
Our SN environment includes a Windows-based MID server.
We are not licensed to use SN Discovery or Orchestration.
We have not identified any workflows that would use the external data.
We would like to keep the complexity and potential points of failure of the interface to a minimum.
We are operating on these assumptions:
- We cannot create SN reports that utilize external data. If this assumption is incorrect, we may be approaching this problem all wrong.
- The external data needs to reside in SN for best performance.
- The external data cannot (or should not) be written directly to SN; therefore, we need a way to "move" the data from SQL Server to SN. It would also be possible for us to write this data to a MySQL database.
- Since there are likely to be other external sources of data that we want to get into SN in the future, we need a consistent architecture for doing this.
- There is no need to create a SN "application" for this data.
What is the best way to get the external data into SN and, in this case, out of the internal repository once it has successfully been written to SN?
Can this data get to SN in real-time or should it be done via some type of batch processing? In this case, real-time updates would be preferred, but not required.
Possible future requirements
In the future, it might be useful to have this data appear as "related items" on users and assets.
- Labels:
-
Service Mapping
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-11-2016 07:27 AM
If you can export the data and put it on an FTP site, you can create a scheduled import in SN that will pull the file from the FTP site and perform an import/transform. This would not be realtime. I've used this method for periodic updates - its simple and relatively error free.
You could have an application extract and push the data directly to SN via web services, either in bulk or on a listener/transaction basis (depending on load).
Depending on your tool sets, either could be scripted and would not require complex application development.
I don't know if you can use the mid server for transport via workflow or ECC queue if you've not licensed orchestration. You can use the mid server system to do the extracts and push.
Quick thoughts while drinking coffee ...
Paul
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2016 01:08 AM
Have you considered the System Import application?
You can connect to many types of different databases, even with a custom SQL script, and import what you need into an import set table of ServiceNow. Once you have the data in an import set, you can create transform maps and populate any tables you want (be it custom tables or cmdb/asset tables).
In any case, the data will not be real-time, there is no listener. What you have to do is a scheduled import.
Note that these database imports can be done via a direct connection, if your network and the datacenter of your instance are connected via a Lan2Lan peer.
But you can also use a MID server, which is the easiest and also recommended method.
Kind regards,
Michel Conter