Integrating ServiceNow with SharePoint 2013

UNIt goes without saying that every part of an enterprise relies on technology. With more and more technology providers coming to the fore, it is not uncommon to find a variety of technology platforms across the units of an enterprise. To keep the pieces of the enterprise moving together there is often a need for integrating the platforms, which are built by different providers. This blog provides a brief overview of ServiceNow, and what is involved in integrating ServiceNow and SharePoint 2013.

What is ServiceNow?
ServiceNow is a software platform that supports IT Service Management and automates common business processes. It’s a software as a service (SaaS) platform that offers targeted solutions for various units of an enterprise like IT, HR, Operations and IT Business Management. More than two thousand enterprises around the world use the ServiceNow platform extensively for their daily operations. ServiceNow brings the following key benefits for an enterprise:
• Improves service experience for end users
• Maintains service records in a structured model that allows audits
• Automates processes that reduce costs and increase efficiency
• Enables reporting and analytics for company executives

ServiceNow Integration Technologies
ServiceNow integrates with third-party applications and data sources using a variety of techniques, some of which are listed below.

• Single Sign-On
• Web Services—SOAP, REST
• Database Connectivity—ODBC, JDBC
• Import Sets—Excel, CSV, XML
• Email

Integrating with SharePoint 2013
SharePoint 2013 has proved to be a great platform for building enterprise solutions and is widely used by organizations worldwide. Due to the huge popularity of both ServiceNow and SharePoint 2013, the need of their integration becomes almost inevitable. There are two ServiceNow integration techniques that can be utilized to integrate with SharePoint 2013.
• Call ServiceNow REST API to read, create, update and delete service objects
• Send emails to ServiceNow-administered email ID to manage service objects

Let’s see how we can implement both the above techniques using SharePoint 2013 Workflows.

Calling ServiceNow REST API using SharePoint 2013 Workflows
1. Open SharePoint Designer 2013.
2. Add a new site workflow.
3. From the Actions dropdown menu on the ribbon select “Call HTTP Web Service” action.

Call-HTTP-Web-Service

  1. Specify the web service URI corresponding to the ServiceNow table that you want to query or update along with the HTTP method—GET, POST, PUT—depending on your requirement. In the below example the web service call will fetch a list of incidents on the ServiceNow instance.

Call-HTTP-Web-Service1

  1. Specify the request and response parameters so that you can handle them later in the workflow. An example could be where you call the web service to create an incident in ServiceNow and capture the Incident ID in response.

Sending email using SharePoint 2013 Workflows
1. In SharePoint Designer 2013, from the Actions dropdown menu select the “Send an Email” action.

Call-HTTP-Web-Service2

  1. Populate the fields of the email template according to the template that is configured on ServiceNow instance. The placeholders, like the ones shown in the below screenshot, are dynamic.

Call-HTTP-Web-Service3

  1. In the above example, the template could be used to communicate to the ServiceNow instance that user’s task has been completed. The subject would read something like “Task 1234 has been Completed”. When the email is received by ServiceNow it will update the task as completed based on the pre-configured inbound email action.
Advertisements

How to Fix SharePoint 2013 Slow Performance

You may have noticed that the hardware requirements for SharePoint 2013 Server are quite hefty. Many SharePoint 2013 performance issues have been attributed to lack of resources.  Although meeting the minimum performance specs is highly recommended, you can tweak SharePoint 2013 to work with less resources.

The following tips are some that I have collected while looking for ways to improve SharePoint 2013 performance. Some of these will help SharePoint’s performance however, my experience has been that unless you have a server that meets the minimum SharePoint 2013 requirements, the Search function will still bring your SharePoint server to a crawl.

The only way that I have been able to run SharePoint efficiently on a less than ideal server is to completely disable the search feature.

If however, you want to try and tweak SharePoint before completely turning off the search service, be aware that performance results will vary depending on your server’s RAM and CPU speed.

Before You Begin: Stop/Disable the SharePoint 2013 Search Service

If your SharePoint 2013 is running like a 3 legged turtle, temporarily disable the Search Host Controller and the Search Server. This will render your SharePoint Server usable until you complete these tasks. Note: The SharePoint Timer Service will re-start both the Search Host Controller and the Server Search service, so you may want to temporarily disable the Timer Service as well.

The services to disable are SharePoint Search Host Controller and SharePoint Server Search 15. You can find these services by running services.msc from a command prompt. Once you have finished, don’t forget to enable them again.

Here are the steps to fix SharePoint 2013 performance issues

1. Update SharePoint 2013 March patch update

2. Reduce the search crawl time interval and properly configure SharePoint 2013 Search

3. Reduce Noderunner’s RAM utilization

4. Clear the search database and re-initialize the SharePoint 2013 search crawler

Update SharePoint with March 2013 Patch Update KB2767999

Updating SharePoint with the March 2013 Patches fixes search-related performance problems. Note that you should disable the SharePoint Timer Service first, then SharePoint Search Host Controller and the SharePoint Server Search before installing the updates. (Detailed instructions here)

· SharePoint Server 2013: http://support.microsoft.com/kb/2767999

· SharePoint Foundation 2013: http://support.microsoft.com/kb/2768000

How to Reduce the Search Feature Crawl Time Interval and Configure SharePoint 2013 Search

By default, the search feature is set to crawl every 20 minutes. This is nice if you have a monster server, but if you are not so lucky, reducing the crawl rate will yield much better performance. If the SharePoint server hosts a large content database, it may take more than 20 minutes to index. By the time the crawler is finished, it’s time to start again! This leaves you with a perpetually crawling indexing function.

To reduce the search index time interval:

Open Central Administration > General Application Settings > Farm Search Administration

Click on Search Service Application and then on the Content Sources menu link.

1 

2

Locate your site, click on the drop down menu and then select edit. In the start address, make sure that you have entries for your FQDN, your default Web as well as the SPS3 Protocol Handler. For example: if your SharePoint server’s NetBIOS name is SP01, then you should have an entry for http://SP01 and SPS3://SP01 in addition to your Web site FQDN. This is necessary for the search feature to properly work. If the search index does not properly work, continual searches will damper performance. Once search is working properly, server performance will greatly increase.

3

Next, set a full and incremental crawl schedule so that the crawl takes place during off-peak usage times. The older your server, the less frequent you may want to make the crawls.

4

Once you have finished, click OK to save the changes.

How to Reduce noderunner.exe’s RAM Utilization

On the SharePoint 2013 server, open Server Manager -> Tools -> Windows PowerShell ISE

5

Click File -> Open and navigate to

C:Program FilesMicrosoft Office Servers15.0SearchRuntime1.0

Open noderunner.exe.config

If you cannot see noderunne.exe.config, click on the drop down next to file name and select All Files (.)

6

Modify the following line:


7

Noderunner.exe is set to “0” by default, which means unlimited memory usage. Change the “0” to a number in megabytes to limit the total amount of ram that it can use.

For example:

Click save and exit. Restart the SharePoint server.

You can greatly increase SharePoint 2013 server performance by stopping the following services:

· SharePoint Search Host Controller

· SharePoint Search Server 15

Of course, this should be done if you are not using the search service. If you are, this may not be an option.

If that’s the case, your best option may be to increase your server’s available RAM to meet or exceed the minimum requirements. You can also mitigate the performance effects caused by the search service if you reduce the amount of Ram available to noderunner.exe however this is less desirable than stopping the search services.

Reset the Search Index and Initialize a Full Crawl

Finally, re-initialize the search index to clear out the database and re-initialize the crawl. To do this, go to Central administration –> General Application Settings –> Farm Search Administration –> Search Service Application. Select Index Reset from the crawling menu and then click on the reset now button.

Once you have reset the index, click on content sources and select start all crawls.

8

detach database

Migrate SQL Server to another SQL Server (same or new version) sharepoint

This is a step by step guide on how you migrate your SharePoint’s (I used 2010 version in this instance) SQL Server to an new SQL Server host.  In this exercise I tried migrating it in a new version of SQL server which is 2012 from 2008 R2, also had tried it in the same […]

This is a step by step guide on how you migrate your SharePoint’s (I used 2010 version in this instance) SQL Server to an new SQL Server host.  In this exercise I tried migrating it in a new version of SQL server which is 2012 from 2008 R2, also had tried it in the same version.  There are only 9 steps to perform this task but it takes into consideration you already have a new SQL Server provisioned.

Lets start

1. Stop all SharePoint and IIS Related Services

  • SharePoint 2010 Administration
  • SharePoint 2010 Timer
  • SharePoint 2010 Tracing
  • SharePoint 2010 User Code Host
  • SharePoint 2010 VSS Writer
  • SharePoint Foundation Search V4
  • World Wide Web Publishing Service
  • SharePoint Server Search 14
  • Web Analytics Data Processing Service
  • Web Analytics Web Service
Stop SharePoint Admin Service

Stop SharePoint Admin Service

2.Stop IIS

At the command prompt under admin context, type iisreset /stop

3.Detach all related SQL Server databases

  • Configuration database
  • Central Administration content database
  • Content databases
  • Service application databases

i.e.
Bdc_Service_DB_xxxxxxxxxxxxxx
SharePoint_AdminContent_xxxxxxxxxxxxx
SharePoint_Config
WSS_Content
WSS_Logging
WSS_Search_xxxxxxxxxxxxxx

detach database

detach database

4.Move all database files (.mdf, .ldf, and .ndf) to the new server.

Place it in the data folder of the SQL Server instance of the new host.

database files

database files

5.Set up same user permissions on the new SQL server

best way to do this is when you use AD accounts is by scripting the users on the old server and running that script on the new server. If you are not using AD accounts then you will have issues with passwords so best way to do that is to follow this -> http://support.microsoft.com/kb/918992

6.Attach your databases to the new SQL Server

attach database

attach database

attach database

attach database

7. Verify what ports your New SQL is using

If it’s using a dynamic port change it to static. To do this go to SQL Server Configuration Manager and into theSQL Server Network Configuration Section choose the instance you will be using. Go to the TCP/IP section and if TCP Dynamic Ports are set to 0 (zero) then remove that and assign a static port into the TCP Port Section on all IP’s. For this sample we will be using 14330 <- notice I just added 0 at the end from the default port. Note that as we will need that on the next section also if you changed the port number from dynamic to static you will need to restart your SQL Server before it can take effect.

port allocation

port allocation

8. Go to your SharePoint server and create your SQL Server Alias

If SQL Configuration Manager is installed just head over to the SQL Native Client 10.0 configuration then intoAliases. Create a new alias that points to your new SQL Server by right clicking on the Alias. You need to do this on both 32 and 64 bit instances.

alias configuration

alias configuration

  • On the Alias name put your old SQL Server IP or Name
  • On the Port the port you indicated on step 7, in this case 14330
  • Protocol should be TCP/IP
  • And on Server the new SQL Server IP or Name together with its instance name if there is any. In our case it’s SQL2012
alias configuration

alias configuration

If you don’t have SQL Configuration Manager in your SharePoint Server then run the CLICONFIG again on both 32 and 64 bit instances. For 32 bit go to run command and execute this “%SystemRoot%/SysWow64/CliConfg.exe” and for 64 just this “CLICONFG” all without quotes of course. Add the same info as above.

alias configuration

alias configuration

9.Start all your SharePoint services, now you have successfully migrated your database.  

  • SharePoint 2010 Administration
  • SharePoint 2010 Timer
  • SharePoint 2010 Tracing
  • SharePoint 2010 User Code Host
  • SharePoint 2010 VSS Writer
  • SharePoint Foundation Search V4
  • World Wide Web Publishing Service
  • SharePoint Server Search 14
  • Web Analytics Data Processing Service
  • Web Analytics Web Service

At the command prompt under admin context, type iisreset /start.

Deployment error web.config is invalid IIS Web Site

Error :

Deployment error “The web.config is invalid on this IIS Web Site”

I’ve developed a web part that deploys and works properly in my DEV environment. When I attempt to deploy to PROD I get the following error:

SOMESERVER : https://sharepointtechnicalsupport.com/ : SharePoint – 41981 :
Error: The web.config is invalid on this IIS Web Site:

C:\Inetpub\wwwroot\wss\VirtualDirectories\41981\web.config.

SOMESERVER : https://sharepointtechnicalsupport.com/ : SharePoint – 41981 : Error: The web.config is invalid on this IIS Web Site:

C:\Inetpub\wwwroot\wss\VirtualDirectories\41981\web.config.

SOMESERVER1 : https://sharepointtechnicalsupport.com/ : SharePoint – 23994 : Error: The web.config is invalid on this IIS Web Site:

C:\Inetpub\wwwroot\wss\VirtualDirectories\23994\web.config.

None of these virtual directories exist.

Solution :

In Central Administration-> Operation-> Services on Server, please stop the Windows SharePoint Services Web Application service, SharePoint will remove the sites in IIS. And then start the Windows SharePoint Services Web Application service again, SharePoint will recreate the sites in IIS based on information stored in configuration database.

A SharePoint web application can have several zones, each zone will have a separate site in IIS. You will not see all the zones in Central Administration->Application Management->Web Application List. You can find the information in Central Administration->Operation->Alternate Access Mapping.

SharePoint sites not opening locally IIS Error

I am having this strange problem . All of a sudden all of the new sites created in the SharePoint are not opening locally. And even iis is failing to pick up the ip binding with a site. All my existing sites when browsed from IIS manager are giving certificate error and ultimately showing connection problem error. Only thing that was done was the patching this week. I have no idea why all this is happening. Has any one faced similar problems before.

Solution :

  • try stopping the Foundation Web service on the affected farm member and re-starting it.

  • If you were adding SSL certs to the IIS sites, it may be a case of attempting to use the same IP with different SSL certificates across IIS web sites.  IIS 7.5 and below do not support SNI, so you have to have a unique IP:SSL Cert combination, or get a Wildcard or SAN certificate instead.