Along with the changes to the way in which Java is installed and used by Sage CRM 7.2, there are also changes to Tomcat and the way in which HTTP requests are redirected to the Tomcat servlet.  

In Sage CRM 7.2 the version of Tomcat has changed to Tomcat 7.   You can work with either 32 bit or 64 bits servers as previously.  One thing that you might notice is that after installing on a 64 bit server the initial memory used to load memory on start up will almost double.  This is because within a 64 bit environment all the metadata strings in memory will be twice the size.  But the amount of memory used to actually run the application, execute threads etc. should not change.

The big difference is that the way in which HTTP Rewrites are handled.

If we consider an SData request e.g.

  • http://[servername]/sdata/[installname]j/sagecrm/-/company('28')?SID=157738765046097
  • http://stl00458/sdata/crm72j/sagecrm/-/company('28')?SID=157738765046097

The request is directed at the IIS server, and then redirected to the Tomcat server.

The way in which the redirect has worked has changed with different version of Sage CRM.

  • Sage CRM 7.0 used ISAPI filters
  • Sage CRM 7.1 used Managed Fusion URL Rewriter

Sage CRM 7.2 on IIS 7.x uses the Application Request Routing extension module with the Rewriter rules set at level of the SData Application.

If you have IIS 7.5 on the machine that you install Sage CRM 7.2, like I have, you will see the Application Request Routing (ARR) configured once you've installed Sage CRM 7.2.

ARR is a proxy-based routing module that forwards HTTP requests to other servers based on HTTP headers, server variables, and load balance algorithms. ARR relies on the URL rewrite module to inspect incoming HTTP requests to make the routing decisions. Therefore, the URL rewrite module is required to enable ARR features.

You can see the URL Rewrite module under the SData application.

It is in there that the rewrite rules are defined.

Very simple checks can be made to confirm that the redirector is working

For example

  • http://[servername]/sdata/default.aspx will return

And extend the path to include the install name

  • http://[servername]/sdata/[installname]j
  • e.g  http://stl00458/sdata/crm72j

will return 'Hello World'.

And a check for the basic SData schema 

  • http://[servername]/sdata/[installname]j/sagecrm/-/$schema
  • http://stl00458/sdata/crm72j/sagecrm/-/$schema

will return the expected XML